В начало → Gentoo Linux: установка и настройка → И всё же — суперфинал |
Настройкой загрузчика можно считать завершенной официальную часть инсталляции. Однако для полного счастья не хватает еще некоторых
штрихов. Так, руководство рекомендует (и это — более чем резонно) оптимизировать режим работы жесткого диска на предмет использования
DMA — что весьма способствует его быстродействию. Для такого рода штук предназначен файл /etc/conf.d/local.start
. Открываем его в редакторе и после комментария (по умолчанию там больше ничего нет) приписываем строку
hdparm -d 1 /dev/hda
Если физических дисков больше одного — повторяем ее для каждого устройства. А затем, воспользовавшись случаем, обеспечим здесь же и загрузку консольной мыши при старте системы:
gpm -t imps2 -m /dev/psaux
Теперь обратимся к локализации. Не смотря на свое исходно американское происхождение, Gentoo — дистрибутив интернациональный (это ясно из состава команды его разработчиков). И потому в нем есть все базовые средства для работы с языками, отличными от американского. Нужно только немного потрудиться для их активизации.
Достигается это можно редактированием файла /etc/rc.conf
. Что может показаться необычным для пользователей Linux. Но мы помним, что в Gentoo принят порядок начальной загрузки в стиле
BSD (а не в стиле System V, как в большинстве распространенных дистрибутивов Linux, за исключением Slackware и его сородичей).
Впрочем, вдаваться в подробности пока не буду — это тема для отдельной беседы. Пока же — голая практика: все, что мы хотим
видеть загруженным при старте машины, должно быть явным образом указано в файле /etc/rc.conf
. И именно в том порядке, в каком требуется.
Так что открываем этот универсальный файл
$
nano -w /etc/rc.conf
отыскиваем в начале его строку
KEYMAP="us"
и заменяем чуждую нам Америку на что-нибудь родное, от братчиков Кирилла и Мефодия. Что именно — определяем в какой-либо из иных виртуальных консолей командой
$
ls /usr/share/keymaps/i386/qwerty/ru*
В ответ она выведет на экран такой список:
/usr/share/keymaps/i386/qwerty/ru1.map.gz /usr/share/keymaps/i386/qwerty/ru2.map.gz /usr/share/keymaps/i386/qwerty/ru3.map.gz /usr/share/keymaps/i386/qwerty/ru4.map.gz /usr/share/keymaps/i386/qwerty/ru-cp1251.map.gz /usr/share/keymaps/i386/qwerty/ru.map.gz /usr/share/keymaps/i386/qwerty/ru-ms.map.gz /usr/share/keymaps/i386/qwerty/ru_win.map.gz /usr/share/keymaps/i386/qwerty/ru-yawerty.map.gz
Можно видеть, что в нем присутствуют кириллические раскладки на все случаи жизни (а пути к ним, хотя и взяты с Live CD, соответствуют тем, что будут в инсталлированной системе). Дело, конечно, сугубо личное (я бы даже сказал, интимное), но по мне предпочтительна ru4: это раскладка для кодировки KOI8-R с Windows-маркировкой клавиш (не путать с собственно раскладкой для Windows-кодировки — ее, как видно из списка, тоже можно использовать) и переключением с латиницы на кириллицу по нажатию CapsLock. Так что вписываем
KEYMAP="ru4"
и переходим к следующей строке, определяющей экранный шрифт консоли — CONSOLEFONT
. Очевидно, что умолчальное ее значение описывает шрифт без символов кириллицы. Но — их у нас есть, в чем легко убедиться,
просмотрев каталог /usr/share/consolefonts
. Шрифтов там немерянно, и среди них легко отыскиваются семейства alt-*.psf.gz
и cp866-*.psf.gz
. И то, и другое нам (почти) подходит — это экранные шрифты с символами кириллицы в кодировке CP866 (она же — альтернативная,
кодировка DOS или IBM). Почему так — ведь мы только что установили раскладку KOI8-R для клавиатуры, да и шрифты (семейства
koi8r-*.gz
), имеются? Распространяться не буду, ограничившись словами: это лучше, Леня.
А слово "почти" я добавил потому, что все имеющиеся стандартно кириллические шрифты далеки от совершенства как эстетически, так и медицински. Так что в дальнейшем лучше будет воспользоваться шрифтами из пакета Виктора Вагнера console-tools-cyrillic — там есть очень симпатичные экземпляры, но об этом — как-нибудь в другой раз. Пока же просто вписываем, например,
CONSOLEFONT="cp866-8x16"
И начинаем рассуждать логически: как же так, раскладка клавиатуры KOI8, а кодировка экранного шрифта — CP866. Ясно, что без
загрузки карты трансформации одного в другое не обойтись. И такая карта у нас есть тоже — в каталоге /usr/share/consoletrans
обнаруживаем файл koi2alt. Имя которого и вписываем в строку
CONSOLETRASLATION="koi2alt"
сняв с нее предварительно стоящий по умолчанию комментарий. Откладываем в уме, что таким образом карта соответствия будет
загружена только на одной, первой, из виртуальных консолей (она же — консоль системная) — к этому мы еще вернемся. А пока,
дабы покончить с файлом /etc/rc.conf, вспоминаем, что системные часы нашей машины установлены по местному часовому поясу (скорее
всего — хотя в последнее время я осознал преимущества времени гринвичского) — тому самому, который мы определили через файл-ссылку
/etc/localtime
. И обращаем внимание, что строка
CLOCK="UTC"
указывает у нас, напротив, именно на время по Гринвичу (UTC=GMT). Заменяем UTC на localtime — и файл /etc/rc.conf
можно закрывать (прочие его строки можно оставить без изменений, если вам лично не известны веские причины их сделать).
А вот теперь пора довести до конца дело с картами соответствия. Открываем файл /etc/init.d/local
: как явствует из названия, он предназначен для всякой всячины местного значения (и исполняется после всех остальных конфигурационных
файлов). И вставляем в его конец с помощью редактора (или перетаскиваем мышью из данного руководства) простенький скрипт (оператор
цикла):
for i in 1 2 3 4 5 6 do echo -ne '' > /dev/vc/$i done
В первой его строке определяется значение переменной i
(ее можно обозвать любым другим образом) как диапазона цифр от 1 до 6 (по умолчанию у нас именно шесть виртуальных консолей),
вторая — указывает, что следующей строкой будет тело цикла. А тело цикла — вывод "магической последовательности" ESC-(K (именно
она и обеспечивает активизацию карты соответствия) и ее перенаправление на виртуальные консоли, номера которых заданы переменной
i
, то есть /dev/vc/1
— /dev/vc6
. Это — если используется файловая система устройств (devfs), в противном случае (если не был снят комментарий со строки tmpfs
в файле /etc/fstab
) имена консолей будут обычными — /dev/tty0
- /dev/tty5
.
Отступление для любовников (или невольников) кодировки CP1251. Все сказанное о русификации применимо и к ней. Нужно только
определить в файле /etc/fstab
загрузку соответствующих раскладки клавиатуры (они, как уже говорилось, имеются) и карты соответствия CP1251->CP866. А вот
ее придется поискать (где — за ненадобностью не помню) или просто слямзить из любого отечественного дистрибутива — Altlinux
или ASPLinux.
Все же открою секрет — почему в консоли в любом случае предпочтительны экранные шрифты в кодировке DOS. Так уж исторически сложилось: вследствие аппаратных особенностей VGA-адаптеров (а в консоли мы имеем дело именно с режимом VGA, сколь бы крутой GeForce не стоял в машине) только они обеспечивают нормальный вывод на экран символов псевдографики. Кроме того, их просто больше, и некоторые среди них, как я говорил, лучше. Так что есть резон загружать именно их, даже если программы с псевдографикой не используются совсем. В том числе и Midnight Commander — но какой же русский не любит детей командира Нортона!
Мы же пока завершим русификацию. Для чего установим собственно локаль последней строкой в файле /etc/init.d/local
(опять прекрасный каламбур, господа!):
export LANG="ru_RU.KOI8-R"
Она обеспечит установку всех локально-зависимых переменных (не только страны, языка, набора символов, но и формата даты, времени, денежной единицы, и так далее) в значения, принятые для нашей многострадальной Отчизны. Тем не менее, для представления чисел я сделал бы исключение, добавив строку
export LC_NUMERIC="POSIX"
Ведь в любых программах, связанных со счетом, удобнее оперировать с десятичной точкой, а не запятой (а говорят, что некоторые такие программы этого просто требуют).
В итоге, выполнив несложную последовательность действий, мы получили корректно русифицированную систему — русифицированную ничуть не хуже, чем те дистрибутивы, кириллической поддержкой в которых гордятся (и — справедливо гордятся) именитые отечественные разработчики — Altlinux и ASPLinux. А поскольку мы сделали все это своими руками и с полным пониманием сути действий, у нас тоже есть основание для гордости. Правда, "лобовым" способом, без учета специфики дистрибутива — но зато работающим всегда и везде. А к "идеологически правильному" (для Gentoo) методу локализации можно будет вернуться позднее.
Можно, конечно, активизировав внесенные в конфигурацию изменения командой etc-update, продолжать устанавливать программы (Иксы, например). Или даже начинать обычную работу — установленная система, внутри которой мы находимся, это вполне уже позволяет. Однако для полной проверки лучше все-таки сначала перезагрузиться.
Итак, временно расстаемся с нашим новым Gentoo командой exit, после чего вновь оказываемся в системе Live CD, той же командой зарываем все виртуальные консоли, кроме первой (а у нас их могло расплодиться немало) и готовимся к выходу.
Хотя — стоп. А собирали ли мы при установке ядро системы. Если да — все в порядке, тотальный unmount:
$
umount /mnt/gentoo/boot
$
umount /mnt/gentoo
и что было смонтировано руками, а затем — reboot (или halt, если есть желание прерваться — при первой загрузке хорошо бы внимательно следить за ее ходом по сообщениям на экране).
Если же ядро не собиралось (за отсутствием каких-то исходников — другого оправдания такому разгильдяйству нет), то совершаем последнее установочное действие: просто тупо копируем ядро с Live CD (оно, как мы уже убедились, не только работоспособно, но и поддерживает большинство жизненно необходимых функций):
$
cp /cdroot/boot/linux /mnt/gentoo/boot/
Правда, у нас не собиралось не только ядро, но и модули. И это не беда, их тоже копируем с CD:
$
cp -R /cdroot/lib/modules /mnt/gentoo/lib/modules
А далее — все то же, размонтирование и перезагрузка. Конечно, в ходе ее мы рискуем получить кое-какие сообщения об ошибках, но, по моему опыту — ни одна из них не критична. И загрузившаяся система будет вполне пригодной к использования. По крайней мере, до тех пор, пока не разживемся всеми необходимыми архивами и все-таки ядро не пересоберем — от этого все равно не уйти.
В начало → Gentoo Linux: установка и настройка → И всё же — суперфинал |