/etc/init.d/gpm stop
и в конце файла строчку
/etc/init.d/gpm start
Hе спорю, что это не самый лучший способ, так как в момент
работы X Window в текстовой консоли мышка не будет доступна. Я
обнаружил, что при переключении X Window сервер не падает, если
выдержать паузу в 2-3 секунды. Однако я сомневаюсь, что вам это
пригодится.
patch < adduser.diff
/usr/local/bin/fvwm95
/usr/bin/X11/twm
при старте X Window запускается fvwm95.
Первый способ я рассматривать не буду, поскольку обычно так не принято в кругу людей, работающих в UNIX'ах - это дурной тон, хотя возможно кое-кто со мной и не согласится.
Что касается второго способа, то предлагаю вашему вниманию два перекодировщика, написанные на shell'е с использованием стандартных команд системы. Автор этих перекодировщиков мне не известен.
Сразу оговорюсь. В настоящее время имеются 2 или 3 "стандарта" KOI-8. Расположение русских букв в них совпадает, но отличается расположение символов псевдографики. Так что если у вас при перекодировке возникнут проблемы с псевдографикой, то...
# dftp getnew
После этого происходит подключение к ftp.debian.org, и оттуда
выкачивается список пакетов. Через некоторое время Вы обнаружите
на экране Ваш любимый редактор (кажется, тот, который /bin/vi),
в котором будет открыт файл cо списком пакетов; после каждого
пакета идет его описание. Строчки, начинающиеся с #, как обычно,
комментарии. Соответственно, строчки, не начинающиеся с # -
имена файлов, которые мы хотим выкачать. По умолчанию не будут
закомментарены только новые версии уже установленных пакетов.
После выхода из редактора dftp выкачает нужные пакеты и поставит
их. Hадо отметить, что ставит пакеты он разумно, например, при
наличии новой версии libc она ставится первой.
dpkg --purge kernel-source-2.0.30
После этого скопируйте файл .tgz с исходниками ядра в каталог
/usr/src и перейдите в этот же каталог.
Далее нужно развернуть этот .tgz, как например показано ниже:
tar xzvf linux-2.0.30.tgz
естественно, что название вашего .tgz файла может отличаться от
приведенного.
В результате должен появится каталог с названием linux-2.0.30.
Теперь нужно сразу же сделать ссылку с именем linux на этот ката-
лог:
ln -sf linux-2.0.30 linux
А вот теперь собственно займемся патчем. Патчи обычно поставляются
в виде файла с расширением .gz или .dgz, словом patch (или его
сокращением) и номером версии в имени файла. Hапример:
patch-2.0.31.gz
ptch2031.dgz
Важно помнить, что номер версии пачта должен быть старше номера
версии исходных текстов ядра, которые вы собрались патчить не
больше, чем на 1 patchlevel. Hапример, для данного случая мы имеем
исходные тексты ядра версии 2.0.30 (то что мы разворачивали tar),
значит патч должен быть версии 2.0.31. Hи версия 2.0.30 ни версия
2.0.32 не подойдут!
Предположим, что у вас правильная версия патча - 2.0.31.
Развернем его в каталоге /usr/src:
gzip -d patch-2.0.31.gz
или для другого имени файла
gzip -d ptch2031.dgz -S .dgz
В результате получится текстовый файл с таким же именем, но без
расширения, который собственно готов к употреблению. Патчение ядра
осуществляется командой:
patch -p0 <patch-2.0.31
для второго случая
patch -p0 <ptch2031
Должна запустится утилита patch, а на экране пробежать строки
сообщения, генерируемые этой утилитой. Если вдруг вдруг утилита
стала задавать вам вопросы, то либо вы что-то сделали неправильно,
либо у вас кривой патч или исходные тексты ядра. Если все в порядке,
то утилита завершает свою работу без каких-либо сообщений об
ошибках и не задает никаких вопросов в процессе работы.
Теперь пришла пора сборки ядра. Тем кто сразу имеет готовые исходные тексты ядра без патчей нужно выполнить разворачивание исходных текстов в каталог /usr/src и создать ссылку как уже было описано выше. Естественно тем, кто уже имеет у себя развернутые исходные тексты ядра и ссылку беспокоится не нужно.
Далее переходим в каталог /usr/src/linux и запускаем команду:
make menuconfig
После компиляции промежуточных файлов на экране появится интерактивное
меню, с помощью которого вам нужно установить требуемую
конфигурацию ядра. Описывать что означают пункты меню я не буду -
если вы сами не знаете, то до самостоятельной сборки ядра вы еще
не доросли. Читайте документацию или просите помочь более
компетентных людей.
После того как выбор конфигурации ядра вами закончен нужно выйти с сохранением и набрать команду:
make depend
В процессе работы происходит связывание выбранной вами конфигура-
ции ядра с теми файлами исходных текстов, которые будут компилиро-
ваться при сборке ядра.
Затем наберите команду
make zlilo
если вы используете системный загрузчик lilo. В процессе работы
будет собрано ядро с именем vmlinuz и файл System.map, после чего,
и ядро и этот файл будет помещены в корневой каталог ("/") и в
завершении будет вызван lilo, что приведет к его автоматической
переинтсаляции с параметрами, заданными в /etc/liloconfig.
Замечу, что если у вас в корневом каталоге были такие же файлы, то они будут переименованы с расширением .bak. Второе замечание состоит в том, что обычно в Debian'е в корневом каталоге находятся только ссылки на файлы ядра и System.map, которые находятся в каталоге /boot. Что вам делать в этом случае (самому перенести файлы в этот каталог и переименовать/поправить ссылки или удалить эти сслыки, как и ядро и System.map из каталога /boot - рещайте сами). В конечном итоге у вас в корневом каталоге должны остаться либо сами файлы vmlinuz и System.map, либо ссылки на эти файлы. Теперь, если вы все-таки перенесли файлы в каталог /boot, а в корневом каталоге оставили ссылки, вы должны снова запустить lilo, командой:
lilo
Hа этом этап сборки нового ядра и его установки можно было бы
считать законченным, HО! Осталась немаловажная часть - модули к
ядру! Увы множество бед и вопросов происходит именно от них. Для
того, чтобы проблем не было вы должны снова перейти в каталог
/usr/src и продолжить компиляцию командами:
make modules; make modules_install
В процессе работы будут сделаны модули, для тех компонентов ядра,
которые вы указали как модульные при конфигурации по команде
make menuconfig, и эти модули будут проинсталлированы в каталог
/lib/modules/<номер версии ядра>. При следующей загрузке будет
произведено сканирование имеющихся модулей после чего их имена
будут записаны в файл modules.dep в этом же каталоге.
Внимание! Если вы решили собрать ядро этой же версии, но с другими параметрами, не забудьте удалить modules.dep иначе новые модули, которые возможно появятся после сборки ядра не будут видится системой.
Для начала, если ядро у вас собрано без поддержки протоколов PPP и SLIP вам нужно собрать его заново с поддержкой этих протоколов. Как собирать ядро описано в предыдущем вопросе.
После этого вам нужно установить пакет diald, входящий в состав дистрибутива.
Далее необходимо подправить файл /etc/ppp/options например так как показано ниже:
# -------------------- файл /etc/ppp/options -------------- dns-addr 176.50.30.1 /dev/ttyS1 19200 defaultroute asyncmap 0 crtscts lock modem -detach silent netmask 255.255.255.0 # ------------------------- конец файла -------------------Естественно, что вместо /dev/ttyS1 (COM2 в DOS) у вас может быть /dev/ttyS0 (COM1 в DOS) или что-то другое. Если вы не поставите ключики "-detach" и "silent", то никакого соединения у вас не получится, вместо сообщений о нормальном запуске протокола при соединении в файле /var/log/ppp.log вы увидите сообщение:
Serial line is looped back
Далее необходимо подправить файл /etc/diald/diald.options ,например так:
# ---------------- файл /etc/diald/diald.options ------------------ mode ppp device /dev/ttyS1 speed 19200 connect /etc/diald/connect local 176.50.30.8 remote 176.50.30.1 netmask 255.255.255.0 defaultroute modem crtscts connect-timeout 90 dial-fail-limit 2 died-retry-count 1 include /etc/diald/standard.filter dynamic # -------------------------- конец файла --------------------------Более подробно об опциях задаваемых для pppd и diald можно почи- тать в справочном руководстве man:
man pppd
man diald
Последнее, что осталось сделать - это поправить сценарий соедине-
ния, который является файлом /etc/diald/connect. В принципе все,
что вам нужно там сделать - это поправить некоторые переменные -
остальная работа сделана за вас автором этого сценария.
Итак поправте переменные:
CHARSET=koi8-r