1 Введение
Здесь я шаг за шагом рассажу, какие действия я произвёл, чтобы настроить на своём компьютере Slackware 8.0. Несколько раз меня попросили описать процесс обновления системы Slackware 7.1 версией 8.0. Должен признаться, что на 100% я не уверен, но основываясь на собственном опыте работы со Slackware и принимая во внимание то, что я знаю о его последней версии, я считаю такой процесс невозможным (если под процессом обновления понимать установку новой системы поверх старой с сохранением всех персональных настроек). Единственное, что я могу вам посоветовать, это создать архивы ваших домашних каталогов, и прочих личных документов (web страничек,...), произвести полную установку "с нуля" новой системы, и далее создать пользователей с такими же id какие были ранее в вашей системе (можно просто скопировать старые файлы /etc/passwd и /etc/group) и развернуть их домашние каталоги там, где положено. Основная проблема обновления в том, что огромное число программ, библиотек и конфигурационных файлов поменяли своё местоположение.
Сам процесс установки, я думаю, не вызовет у вас затруднений. Тем не менее, вот основные моменты, на которые я бы рекомендовал обратить внимание:
1.Если вы хотите использовать ReiserFS (это журналируемая файловая система, разработанная SuSE и ещё кем-то. Что в ней здорово, так это то, что все действия производимые системой над файловой системой записываются в специально отведённые "карманы" жёсткого диска. Так что если вы случайно нажали Reset, это не должно вызвать никаких проблем. После пере-загрузки компьютер "вспомнит", что он делал с файлами и продолжит с того самого места, на котором остановился. Правда при действиях с большими файлами это очень здорово нагружает систему. В общем выбирать вам, но вот что делать, если вы всё же решились); вам придётся создать загрузочные диски. Так как на CD по умолчанию используется ядро, не поддерживающее ReiserFS. Вам понадобятся образы /bootdsks.144/2.4.5/bare.i и /rootdsks/color.gz (если вы не знаете, как создать загрузочные диски, прочитайте перевод книги Slackware Linux Essentials, доступный в сети по адресу
2.При установке вы можете выбрать, скажем, раскладку ru.map, но тогда в процессе установки клавиша BackSpace перестанет функционировать(она может понадобится вам, скажем, при настройке сети, когда необходимо вводить ip адреса). Я сумел вручную на другой консоли включить эту клавишу, но принимая во внимание возникшие при этом неудобства, вам не советую делать это.
2 Каталог /etc
Скорее всего для вас не будет новостью тот факт, что в этом каталоге хранится большинство настроечных файлов системы. Именно сюда мы и заглянем в первую очередь.
inetd.conf | Выключил сервисы: time, comstat, shell, login, ntalk, auth, netbios-ssn, netbios-ns. Лучше оставить только действительно необходимые сетевые сервисы открытыми. |
profile | Изменил раздел # Set default POSIX locale на: export LC_ALL= export LANG=ru_RU.KOI8-R |
ftpusers | Закомментировал ftp, чтобы включить анонимный доступ через ftp к каталогу /home/ftp |
fstab | Добавил строки для CD-ROM и FDD: /dev/cdrom /cdrom iso9660 user,ro,noauto,noexec 0 0 /dev/fd0 /floppy auto noauto,user 0 0создал каталог /floppy |
vga/libvga.config | выбрал свой чипсет |
apache/httpd.conf | Нашёл строку "Allow None" после шапки: # # This controls which options the .htaccess files in directories can # override. Can also be "All", or any combination of "Options", "FileInfo", # "AuthConfig", and "Limit" #И поменял её на: AllowOverride FileInfo При этом в корневой каталог web сервера (в моём случае /home/www) положил файл .htaccess такого содержания: AddDefaultCharset koi8-r AddLanguage ru .html .txtПосле чего в шапке каждого из документов достаточно прописать "html LANG=ru". И никаких проблем с русскими кодировками... Удалил каталог /var/www/htdocs и создал вместо него симлинк на /home/www. (Разумеется, все документы там в koi8-r кодировке:). |
2.1/etc/rc.d
Весьма важный (по крайней мере при загрузке системы) обитатель каталога /etc - это /etc/rc.d/. Давайте пройдёмся по его содержимому:
rc.font | Этот файл определяет какой из шрифтов используется для вывода текста в консоли. Так же сюда полезно добавить цикл, выводящий магическую последовательность (чтобы научить систему отображать русские буквы) на все виртуальные экраны. Вот содержимое файла: setfont -v koi8u_8x16.psfu.gz for i in 1 2 3 4 5 6;do echo -ne "\033(K" >/dev/tty$i done |
rc.M | Этот файл фактически запускает все программы, для многопользовательского режима (буква M в названии взята от multiusers). Особых изменений никаких не вносил, за исключением уменьшения времени гашения экрана: |
rc.inet1 | Этот файл "поднимает" сетевые интерфейсы. В моём случае выполнения скрипта netconfig оказалось достаточно, чтобы настроить сетевое оборудование. |
rc.inet2 | Этот файл запускает различные сетевые сервисы. Ввиду того, что я практически не пользуюсь ни NFS, ни Samba на этом компьютере, я отключил все эти сервисы. Для этого необходимо вставить символ # в начале строки, которую вы хотите выключить, или выражаясь на народном наречии, закомментировать её. Итак, я закомментировал такие строки: запуск NFS, SAMBA, RPC portmapper; так же закомментировал монтирование разделов NFS и SAMBA. Закомментировал запуск nfsd. # Start the syslogd and klogd daemons: if [ -x /usr/sbin/syslogd ]; then echo -n "Starting sysklogd daemons: " echo -n " /usr/sbin/syslogd" /usr/sbin/syslogd -m 0 sleep 1 # prevent syslogd/klogd race condition on SMP kernels echo " /usr/sbin/klogd -c 3" # '-c 3' = display level 'error' or higher messages on console /usr/sbin/klogd -c 3 fi # Done starting the syslogd and klogd daemons. |
rc.keymap | Этот файл указывает, какую из раскладок клавиатуры пакета kbd использовать в консоли. Поменял раскладку на свою собственную |
rc.modules | Этот файл используется для загрузки модулей ядра. Для того, чтобы включить свою звуковую карту, я добавил такие строки в этот файл: #Added by dolphin: /sbin/modprobe cs46xx /sbin/modprobe soundДля того, чтобы позволить пользователю "dolphin" работать со звуком, добавьте его в группу "sys". Для этого добавьте этого пользователя в соответствующую строку файла /etc/group: sys::3:root,bin,adm,dolphin Более старый метод подразумевал открытие файлов /dev/dsp и /dev/mixer для записи всеми пользователями. Но из соображений безопасности (вы же не хотите чтобы КГБ через микрофон в компьютере вас слушало, и тратило на это своё драгоценное время:) лучше добавлять пользователей в группу "sys" (можно так же добавить продвинутых пользователей в группу "disk". Тогда они смогут извлекать cd диск по команде eject:).). Убрал весь раздел "Load PPP by default" (на этом компьютере у меня не используется ppp, так как он подключён к сети через ethernet) и отключил "/sbin/modprobe ppp_deflate", "/sbin/modprobe slip" и раздел "lp" (принтер у меня сетевой) |
rc.nfsd | chmod 644 /etc/rc.d/rc.nfsd так как я им не пользуюсь. |
rc.local | Этот файл предоставлен целиком для творчества местного администратора. То есть вас:). В свой файл я добавил: set daemon 600 defaults poll metten.fenk.wau.nl with protocol POP3: no dns, user tolpyekin password tpsfsdf is vladimir here; poll mail.od.ua with protocol POP3: no dns, user dolphin77 password 'd;dkjgh' is vladimir here; Пароли я здесь естественно указал настоящие :). Вас не раздражает, когда скажем, при проигрывании музыки, привод CD-ROM начинает гудеть, как паровоз? Меня раздражает. Поэтому я решил его немного усмирить: /usr/sbin/hdparm -E 8 /dev/cdrom После чего он работает как 8-ми скоростной cd. Вы можете в последствии ускорить или замедлить cd, выполнением аналогичной команды. |
Важное замечание по поводу безопасности. Если вы используете ядро 2.4.5, то во избежании получения обычным пользователем прав root пользователя(
cd /sbin
mv initscript.sample initscript
Это установит правильные права для файлов в каталоге /var/run. А так же проверьте права для файлов в каталоге /lib/modules/2.4.5/. Выполните там chmod 644 modules.*.
3 XFree86 4.1
По умолчанию X сервер настроен на использование Frame-buffer устройства. Что не очень здорово. Поэтому от имени root я проделал следующее XFree86 -configure. После чего появился файл /root/XF86Config.new. Добавим в Section "Modules" строки:
Load "speedo" Load "type1" Load "freetype"
в раздел Section "Files":
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/"
И теперь скопируем файл куда следует: cat XF86Config.new > /etc/X11/XF86Config.
Если вы хотите запускать Gnome программы из-под KDE, скопируйте содержимое файла /etc/opt/gnome/gtk/gtkrc.ru в файл .gtkrc и положите его в ваш домашний каталог:
cp /etc/opt/gnome/gtk/gtkrc.ru ~/.gtkrc
Либо создайте такой симлинк: cd /etc; ln -s opt/gnome/gtk gtk. Иначе вместо кириллицы в меню программ будет какое-то безобразие. Так же полезно скопировать его в /etc/skel. Если вы знаете, почему игнорируется файл /opt/gnome/gtk/gtkrc.ru, расскажите. Мне будет интересно. Я пытался разобраться, в чём ошибка, но не успел:).
3.1 TrueType шрифты
Метод номер один - вручную Скопируйте шрифты в каталог /usr/X11R6/lib/X11/fonts/truetype. Далее нам необходимо создать фалы описания шрифтов. Для этого удобно воспользоваться программой ttmkfdir. Вы можете взять её здесь:
ttmkfdir -o fonts.scale mkfontdir mkfontdir -e /usr/X11R6/lib/X11/fonts/encodings
Ну и теперь, всё что вам остаётся сделать, это добавить такую строку в Section "Files" файла /etc/X11/XF86Config:
FontPath "/usr/X11R6/lib/X11/fonts/truetype/"
Метод номер два. Готовый пакет со шрифтами Arial, Times, Courier и Comic Sans Seriff. Возьмите его тут:
FontPath "/usr/X11R6/lib/X11/fonts/truetype/"
Метод номер три. kfontinst. Появилась программа KFontInstall. Сам я её не пробовал. Вот URL домашней страницы программы
3.2 Настройка DRI для Matrox
Одним из достопримечательностей новой версии XFree86 является новое поколение2.0 DRI. Этот механизм позволяет программам напрямую выводить графику через видеокарту, минуя X сервер. Что может быть полезно для игрушек, просмотра видео или просто для красивой графики. К сожалению, этот режим пока поддерживается лишь для некоторых видеочипов. Мне случилось оказаться счастливым обладателем старенького Matrox G200 8Mb. Итак, к делу. Первым делом, в /etc/X11/XF86Config в разделе Section "Module" добавьте строки (скорее всего они там уже есть)
Load "dri" Load "glx"
Так же создайте такой раздел:
Section "DRI" Mode 0666 EndSection
Что позволит всем пользователям выводить графику через DRI. Если вы хотите разрешить данное действие лишь привелигированным особам, создайте группу "xdri" и пропишите такой текст:
Section "DRI" Group "xdri" Mode 0660 EndSection
А в группу добавьте привелигированных особ.
Вот какую секцию "Device" я использую для своего Matrox-а:
Section "Device" Option "MGASDRAM" Option "OverclockMem" Option "AGPMode" "1" Option "DRI" Identifier "Card0" Driver "mga" VendorName "Matrox" BoardName "MGA G200 AGP" BusID "PCI:1:0:0" EndSection
На этом мы оставим в покое файл /etc/X11/XF86Config. Далее ввиду того, что со Slackware 8.0 поставляются non-SMP модули ядра, нам понадобятся более новые модули. Вы можете их взять тут:
3.3 Включаем старую добрую (ну не очень:) S3 Trio64
Ну вот. Есть у меня дома старенький компьютер с видеокартой Diamond Stealth 64 DRAM with S3 Trio64. Я вот подумал, а почему не настроить на нём XFree86 4.1.0? Итак за дело. Поверх XFree86 4.1.x установите с диска extra.iso пакеты:
/pasture/XFree86-3.3.6-servers/xs3.tgz
/pasture/XFree86-3.3.6-servers/xset.tgz
После чего, если у вас нет старого рабочего /etc/XF86Config файла, запустите XF86Setup. У меня что-то сработало не так как должно и пришлось вручную создать симлинк:
cd /usr/X11R6/bin rm X ln -s XF86_S3 X
В файле /etc/XF86Config в разделе Section "Device" подправил Chipset:
Identifier "Primary Card" VendorName "Unknown" BoardName "Diamond Stealth 64 DRAM with S3 Trio64" Chipset "s3_generic" EndSection
Ну и не забудьте suid серверу дать.
chmod a+s /usr/X11R6/bin/XF86_S3 Оно конечно не очень быстро, но быстрее, чем vesa драйвер от XFree86 4.1.0.
4 Работаем в графической консоли, или Matrox Framebuffer
Вам понадобится откомпилировать ядро.
cd /usr/src/linux-2.4.5
make menuconfig
В разделе "Console drivers" включите "VGA text console". В подразделе "Frame-buffer support" включите "Matrox acceleration" и убедитесь, что параметр "VESA VGA graphics console" выключен.
Для переключения консоли в графический режим укажите такой параметр в командной строке lilo:
video=matrox:vesa:0x18A
(для режима 960х720х16bpp). Если вы хотите, чтобы при загрузке консоль автоматически загружалась в графическом режиме. укажите в /etc/lilo.conf такую строку:
append = "video=matrox:vesa:394"
Так как Lilo передаёт целые числа ядру в десятичном формате. Вот таблицы с различными режимами (из /usr/linux/Documentation/fb/matroxfb.txt):
[Graphic modes] bpp | 640x400 640x480 768x576 800x600 960x720 ----+-------------------------------------------- 4 | 0x12 0x102 8 | 0x100 0x101 0x180 0x103 0x188 15 | 0x110 0x181 0x113 0x189 16 | 0x111 0x182 0x114 0x18A 24 | 0x1B2 0x184 0x1B5 0x18C 32 | 0x112 0x183 0x115 0x18B [Graphic modes (continued)] bpp | 1024x768 1152x864 1280x1024 1408x1056 1600x1200 ----+------------------------------------------------ 4 | 0x104 0x106 8 | 0x105 0x190 0x107 0x198 0x11C 15 | 0x116 0x191 0x119 0x199 0x11D 16 | 0x117 0x192 0x11A 0x19A 0x11E 24 | 0x1B8 0x194 0x1BB 0x19C 0x1BF 32 | 0x118 0x193 0x11B 0x19B
И соосоответствующие десятичные значения:
[Graphic modes] bpp | 640x400 640x480 768x576 800x600 960x720 ----+-------------------------------------------- 4 | 18 258 8 | 256 257 384 259 392 15 | 272 385 275 393 16 | 273 386 276 394 24 | 269 388 389 396 32 | 274 387 279 395 [Graphic modes (continued)] bpp | 1024x768 1152x864 1280x1024 1408x1056 1600x1200 ----+------------------------------------------------ 4 | 260 262 8 | 261 400 263 408 284 15 | 278 401 281 409 285 16 | 279 402 282 410 286 24 | 435 404 437 412 287 32 | 280 403 283 411
6 Итог
Ну вот, вроде бы и всё. У вас теперь есть рабочий Slackware 8.0. Удачного вам Slacking-а:)