Эту статью (кстати, первую, так что строго не судите:)) дебют, все-таки) я решил посвятить своему любимому дистрибутиву Slackware Linux. В этой статье я попытаюсь объяснить, что Slackware не так страшен, как его малюют:)
Статья написана про Slackware Linux 9.0.
Мы рассмотрим:
1. Установка
2. Русификация
3. Базовая настройка
Итак, приступим-с…
Что нужно для того, чтобы нормально установить Слаку?
1. Сносно уметь читать по англ. (т.е. уметь понимать англ.:))
2. Знать хотя бы азы *nix`овых систем…
Ну вот вроде бы и все:)
Начнем.
1. Установка
Сначала нам нужно создать разделы под линух, не так ли?:) Это легко делается с помощью Partition Magic. Сейчас трудно найти дистрибутив линуха, который не находился бы на загрузочном диске, так что именно этот способ мы и рассмотрим. Итак, запускается… нажимаем Enter, пока не появится командная строка, затем пишем setup и опять Enter:) Запускается псевдо-графический инсталлятор (очень похожий на sysinstall FreeBSD). Здесь нам нужен, в принципе, только 1 пункт:) Add Swap, добавляем swap, нажимаем yes после форматирования swap раздела, затем надо указать корневую систему — это пробем не составит. Потом инсталлятор спросит, хотим ли мы видеть виндовые разделы при загрузке системы, мы конечно же хотим:) он спросит, куда монтировать, у меня это /mnt/winc и /mnt/wind для дисков C и D соответственно. Далее он спросит, какие группы программ мы хотим проинсталоить, выбирай все.
Потом он спросит, в каком режиме проводить инсталляцию: для тех, кто совсем не понимает, какие программы ему нужны, а какие нет, выбирают full, а те, которые хоть как-то шарят, рекомендую expert, поверь: в слове expert нет ничего страшного:) Потом он спросит, откуда инсталлить, мы выбираем CD и вперед, установка пошла…
После установки он проведет некоторые настройки. Затем он будет задавать разные вопросы. Ну на эти, я думаю, ты ответишь. Единственное, советую выбрать протокол для мыши ps/2, а не другой (IMPS/2 например).
В конце установки он спросит какой Window Manager загружать по умолчанию. И затем спросит, хочешь ли ты установить пароль на root`а, на что, конечно же, отвечаем да.
Итак… установка завершена. Перезагружаемся и видим приглашение "localhost login:", вводим root и пароль. А вот и консоль ненаглядная:) вводим startx и попадаем в X-ы:)
Для начала создадим обычного юзера — негоже сидеть в системе под root`ом. Вводим adduser, он задает разные вопросы, главное, здесь введи логин и пасс, на остальное можешь нажимать просто Enter.
Настройку системы можно производить из одного окошка xterm и другого эмулятора терминала. Сначала надо все-таки зарегиться root`ом командой su, а отдельные команды можно выполнять командой su -c "command" (с кавычками). Это те команды, которые подвластны только root`у.
Итак… плавненько перетекаем в пункт
2. Русификация
Заходим в /etc/rc.d и переименовываем rc.font.sample в rc.font командой # mv rc.font.sample rc.font. А затем прописываем там:
setfont Cyr_a8x16
mapscrn koi2alt
for n in 1 2 3 4 5 6; do
echo -ne "\033(K" > /dev/tty$n
done
Далее создаем файл rc.keymap командой "# touch rc.keymap" и пишем туда:
loadkeys ru-ms.map
Затем переходим в /etc/profile.d и редактируем файл lang.sh:
export LC_ALL=
export LANG=ru_RU.KOI8-R
export LC_NUMERIC=C
export LC_TIME=ru_RU.KOI8-R
export LC_COLLATE=ru_RU.KOI8-R
export LC_MONETARY=ru_RU.KOI8-R
export LC_MESSAGES=ru_RU.KOI8-R
export LC_PAPER=ru_RU.KOI8-R
export LC_NAME=ru_RU.KOI8-R
export LC_ADDRESS=ru_RU.KOI8-R
export LC_TELEPHONE=ru_RU.KOI8-R
export LC_MEASUREMENT=ru_RU.KOI8-R
export LC_IDENTIFICATION=ru_RU.KOI8-R
Вообще-то здесь главные только 2 первые строки, но береженного Бог бережет:)
Потом идем в /usr/share/locale и редактируем файл locale.alias:
russian ru
ru ru_RU
ru_RU ru_RU.KOI8-R
Так… теперь раскладка клавиатуры. Идем в /etc/X11 и редактируем XF86Config в области клавы, естественно:)
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "AutoRepeat" "500 30"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
EndSection
Это установит переключение раскладки по alt-shift, а лампа scroll будет индикатором… где такое в Wind`е?:)) В /etc/X11/XF86Config прописываем путь к cyrillic и trueType шрифтам:
/usr/X11R6/lib/X11/fonts/cyrillic
/usr/X11R6/lib/X11/fonts/TTF
Вот вроде и все:)
Переходим дальше:
3. Базовая настройка
У меня была проблема с читабельностью виндовых дисков из-под обычного пользователя, исправилось это так:
Заходим под root`ом в /etc и редактируем fstab, вместо defaults пишем:
iocharset=koi8-r,codepage=866,rw,umask=222
Здесь все дело в umask, можете поиграться с этим параметром и оставить то, что лучше…
Далее идем в inittab и удаляем строки типа:
c6:12345:respawn:/sbin/agetty 38400 tty6 linux
Только (!!!) смотри не удали все, оставь 2-3 (т.е. 1, 2 и 3) — ну, сколько тебе там виртуальных терминалов надо?
Далее зайди в /etc/rc.d и посмотри rc.modules. Тут располагаются команды к загрузке модулей. Они все закомментированы, т.е. перед ними стоят знаки # — посмотри, может, там есть те устройства, которые тебе нужны, звукаха, например, или APM (кстати, советую включить этот модуль — ты же хочешь, чтобы комп сам выключался, если у тебя АТХ-питание). Потом можешь полазить в других конфигах, только предупреждаю (!), что эти изменения могут повлечь за собой иногда серьезные ошибки: лучше 300 раз проконсультироваться или прочитать доки, прежде чем что-то менять!
Затем можешь изменить переменную PS1 — это то, что выводится при загрузке системы (правильнее: в консоли, а не при загрузке системы — прим. ред.), примерно такое:
[root@localhost /]
Итак, идем в домашнюю директорию и создаем файл .bashrc командой "# touch .bashrc" и пишем туда:
PS1=`[$(date +%H:%M)][\u@\h: \W]
export PS1
И потом посмотри, что получится.
Есть еще команда xwmconfig, попробуй и выбери то, что больше нравится:)
Настраиваем колесико для мыши: в /etc/XF86Config в секции Input Device (там, где описана мыша) пишем:
Option "ZAxisMapping" "4 5"
Затем отмечаем, что нам не нужна эмуляция 3-х кнопочной мыши, т.е. комментируем те строки, где написано: Emulate3Button. Далее:
Option "Protocol" "IMPS/2"
и
Option "Device" "/dev/psaux"
Итак, вроде все, вроде закончил:)
Советую почитать книгу Slackware Essential, правда, она написана для slackware 8.0, но там очень много интересных вещей.
Буду рад дополнениям, подсказкам и другим прочим замечаниям.
Пишите, буду рад: harry@sgaice.ru.
Примечания от yurii the hobbit:
Если сделать mount /mnt/cdrom (после проведения русификации локали) для cd-rom`а с русскими именами файлов на борту, то в результате все равно получаем вопросы или, в лучшем случае, белиберду. Даже если в /etc/fstab в настройках mount CD-привода прописано: iocharset=koi8-r,codepage=866. Хотя если сделать mount -t iso9660 /dev/cdrom /mnt/cdrom, то все проходит нормально и русские имена файлов видны. Это скорее не ошибка Slackware, a особенность mount`а iso9660: опции codepage нет для него. Вот fstab и игнорирует ее. (См. man 8 mount.)
Решение проблемы. Берем рабочее ядро:
cd /где/находятся/исходники/рабочего/ядра
make menuconfig
File Systems -> Native Language Support
Убираем все, кроме своей, локали и codepage, а иx мы и встраиваем в ядро, т.е. локаль NLS KOI8-R и codepage cp866 ставим , в default прописываем cp866.
Перекомпилируем ядро, ставим его и получаем при mount /mnt/cdrom русские буквы.
При этом все упоминания о локали и codepage из /etc/fstab можно убрать спокойно.
Дополнение к статье
(автор: Xwine, bernulli hotbox ru.)
После всех проделок русификации, описанных в статье, остается проблема xmms, а именно с меню приложения: в лучшем случае каракули . в худшем — квадратики вместо букв. Идем в /etc/gtk/ и удаляем все ссылки на /etc/gtk/gtkrc.ru, создаем новый симлинк на gtkrc.ru:
ln -s /etc/gtk/gtkrc.ru /etc/gtk/gtkrc.ru_RU.KOI8-R
И изменяем его так, чтобы он выглядел следующим образом:
#-------------------начало /etc/gtk/gtkrc.ru-----------------------------
style "gtk-default-ru" {
fontset = "-adobe-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-r,\
-*-arial-medium-r-normal--12-*-*-*-*-*-koi8-r,\
-cronyx-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-r,\
-*-arial-medium-r-normal--12-*-*-*-*-*-koi8-r,*-r-*"
}
class "GtkWidget" style "gtk-default-ru"
#-------------------конец /etc/gtk/gtkrc.ru-----------------------------
Теперь откроем /etc/fonts/fonts.conf и просто добавим к:
/usr/share/fonts
/usr/X11R6/lib/X11/fonts/TTF
/usr/X11R6/lib/X11/fonts/Type1
~/.fonts
строку:
/usr/X11R6/lib/X11/fonts/cyrillic
В результате получается примерно следующее:
/usr/share/fonts
/usr/X11R6/lib/X11/fonts/cyrillic
/usr/X11R6/lib/X11/fonts/TTF
/usr/X11R6/lib/X11/fonts/Type1
~/.fonts
Вот и все: перезапускаем X-сервер и получаем нормальный XMMS.
P.S. Вся статья и дополнение к ней работает как в Slackware 9.0, так и в 9.1 и 10.0.