Быстрое развертывание

Алексей Федорчук
[email protected]

Содержание

Введение

Настоящий документ не является исчерпывающим руководством по установке Gentoo Linux. Он призван осветить лишь один из методов инсталляции - быстрое развертывание системы с одного из дисков серии Gentoo-RV1, предназначенных для процессоров i586 (от Pentium и выше, включая AMD K6-X), i686 (от PentiumPro и выше, включая клоны и Pentium-4), Pentium-III (включая Celeron на его ядре), Athlon (все вариации на тему Athlon и Duron) и Athlon-XP (старшие модели Athlon и Duron). Особенность этого метода в том, что он не требует никакого (даже модемного) подключения к Сети во время инсталляции.

Данное руководство составлено в жанре поваренной книги и рассчитано на пользователей с любым (в том числе и минимальным) уровнем предварительной подготовки: требуется только знать о существовании дисковых разделов, файловых систем и уметь вводить команды с клавиатуры. Пользователи с опытом работы в Unix-системах могут смело пропустить большую часть первых разделов.

С другой стороны, опытным пользователям может потребоваться информация об использовании многочисленных дополнительных возможностей при инсталляции Gentoo Linux, не включенная в данное руководство. Материалы такого рода в изобилии представлены на сайте проекта Gentoo и регулярно появляются на сайте Unix4All, куда и следует обращаться для разрешения возникающих вопросов.

Отмазка: все сказанное ниже дано в предположении, что Gentoo Linux устанавливается на пользовательскую машину универсального настольного назначения - ни в коем случае не на сервер или специализированную рабочую станцию. Ну и, конечно, автор не берет на себя ответственность за потерю данных и тому подобный ущерб, понесенный вследствие применения этого документа

Стадия 1. Загрузка

Все диски серии Gentoo-RV1 являются загрузочными, поэтому для начала установки достаточно поместить выбранный в соответствие с типом процессора диск в CD-привод, установить соответствующие опции в BIOS Setup и перезагрузить машину. В процессе загрузки запрашивается выбор клавиатурной раскладки - оснований отказываться от умолчальной американской нет. После этого пользователь оказывается в среде полноценной командной оболочки bash (с поддержкой истории команд, автодополнения и тому подобных интерактивных возможностей), автоматически авторизовавшись как root.

После загрузки с CD в оперативной памяти формируется "живая" (Live) файловая система, допускающая полноценную работу в среде Linux. Содержимое установочного диска доступно в каталоге /mnt/cdrom.

В процессе установки доступны, кроме системной консоли (первой), также виртуальные консоли 2-6. Для активизации любой из них следует предварительно задать пароль суперпользователя командой

$ passwd root

после чего перейти в любую из консолей нажатием клавишной комбинации Alt+F# и авторизоваться там как root обычным образом (со вводом новозаданного пароля).

Рекомендация: на одну из виртуальных консолей желательно вывести оригинальную (англоязычную) инструкцию по установке:

$ less /usr/share/doc/install.txt

Можно также воспользоваться русскоязычной инструкцией (настоящий документ):

$ lynx /mnt/cdrom/quickinstall.html

Предупреждение: перед использованием русскоязычной документации в той де виртуальной консоли необходимо подгрузить какой-либо из кириллических шрифтов и таблице перекодировки командой

$ setfont /mnt/cdrom/usr/share/consolefonts/cp866-8x16.gz
-m /mnt/cdrom/usr/share/consoletrans/koi2alt

Рекомендация: при наборе длинных команд и их аргументов в любой из консолей в ходе установки можно пользоваться клавишей табуляции для автодополнения команд и путей к файлам.

После этого можно (при необходимости) загрузить модули ядра, руководствуясь указаниями документа less /usr/share/doc/install.txt. Поскольку настоящая инструкция описывает установку на автономную машину стандартной современной конфигурации, предполагается, что необходимости загрузки модулей не возникнет.

Стадия 2. Создание дисковых разделов

Для создания дисковых разделов можно воспользоваться программами fdisk, cfdisk или parted. Ниже процесс разбиения рассмотрен на примере первой программы, в допущении, что Gentoo Linux устанавливается на первый диск на первом IDE-канале "чистой" (то есть не несущей какой-либо предустановленной ОС) машины.

Первый шаг - вызов программы fdisk с указанием дискового устройства в качестве аргумента:

$ fdisk /dev/hda

В ответ на появившееся приглашение вида

Command (m for help):

следует ввести команду n (от new) для создания нового раздела, из предложенных вариантов типов раздела

Command action
   e   extended
   p   primary partition (1-4)

выбрать primary, указать номер создаваемого раздела

Partition number (1-4): 1

нажатием клавиши Enter принять по умолчанию предложенный номер первого цилиндра

First cylinder (1-2482, default 1):

и задать (в мегабайтах) размер раздела:

Last cylinder or +size or +sizeM or +sizeK (1-2482, default 2482):+30M

причем указание символа + перед размером и символа M (или m) после являются обязательными.

Повторить процедуру еще три раза, создав следующие разделы:

Закончив, нужно дать команду t (предназначенной для смены идентификатора файловой системы), выбрать для этого 2-й раздел

Selected partition: 2

и в ответ на предложение

Hex code (type L to list codes):

ввести идентификатор типа раздела Linux Swap (82). Прочие разделы автоматически получают идентификатор 83 (Linux native).

После этого с помощью команды p следует просмотреть результаты разбиения во избежание ошибок. Они будут выглядеть примерно следующим образом:

Command (m for help): p

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System
   /dev/hda1             1         4     32098+  83  Linux
   /dev/hda2             5       259   2048287+  82  Linux swap
   /dev/hda3           260      1534  10241437+  83  Linux
   /dev/hda4          1535      9729  65826337+  83  Linux

Что хорошо бы зафиксировать (в памяти или на бумаге), после чего командой w выйти из программы fdisk с записью изменений в таблице разделов диска.

Напоминание: пока изменения не были записаны командой w, созданные разделы можно безбоязненно удалять и создавать заново. Из программы fdisk в любой момент можно выйти командой q (без сохранения изменений) и начать все заново.

Предложенная схема разбиения очень проста, но подойдет для большинства настольных машин (не серверов). Нередко также создаются отдельные разделы для файловых систем /usr, /tmp и (или) /var. Очевидно, что в этом случае размер корневого раздела может быть уменьшен до 300-500 Мбайт (возможно, и менее). Однако следует помнить, что при этом (по понятным причинам) 4-й раздел должен быть определен как расширенный (extended), и разделы эти (также, как и раздел /home) будут логическими разделами в его составе.

Напоминание: столь дробное разбиение требует точной оценки размера разделов, поэтому к нему следует прибегать только при наличии веских оснований.

Предупреждение: настоятельно НЕ рекомендуется определять как логические корневой и особенно загрузочный разделы.

Установочный диск Gentoo содержит инструменты для весьма изощренного разбиения диска (дисков, если их в системе более одного). В частности, разделы могут быть размещены на программном RAID-массиве, на логических томах (Linux LVM), при разбиении можно воспользоваться универсальным комплексом утилит EVMS, и т.д. За деталями следует обратиться к документации проекта или материалам сайта Unix4All.

Стадия 3. Создание файловых систем

После создания дисковых разделов на них размещаются файловые системы. В случае, если диск ранее нес какие-либо ФС, процесс этот можно предварить командой

# dd if=/dev/zero of=/dev/hd#

для каждого из вновь созданных разделов (кроме раздела подкачки), дав ей проработать 5-10 секунд, после чего прервать комбинацией клавиш Control+C. Это обнулит начальные сектора диска, содержавшие служебную информацию ранее существовавших файловых систем.

Предупреждение: указанная выше команда практически обязательна, если на диске ранее размещались какие-либо из продвинутых файловых систем (ReiserFS, XFS, JFS), потому что иначе в дальнейшем возможны ошибки при монтировании новообразованных файловых систем (например, XFS может быть принята за дефектную ReiserFS, и так далее). Впрочем, вреда от этой процедуры не будет в любом случае.

В первую очередь - чтобы не забыть:-) - определяется раздел подкачки, собственно файловой системы не несущий:

$ mkswap /dev/hda2

Затем на первом разделе создается классическая файловая система Linux, ext2fs:

$ mke2fs /dev/hda1

В отношении файловых систем разделов hda3 и hda4 возможны варианты: та же ext2fs, ее журналируемый вариант ext3fs, продвинутые журналируемые файловые системы ReiserFS, XFS или JFS. Каждая из них имеет свои многочисленные достоинства и немногочисленные недостатки, и потому выбор тут диктуется задачами и личными предпочтениями. Для настольного применения начинающими пользователями можно рекомендовать ext3fs, объективно лучшей (ИМХО) является на сегодняшний момент XFS, наиболее прогрессивной идеологически - ReiserFS.

Для разделов разного назначения можно определить разные файловые системы. Так, на корневом разделе целесообразно создать файловую систему ext3fs, как наиболее надежную (особенно в режиме полного журналирования), хотя и самую медленную. Для раздела /home оправдан выбор между ReiserFS и XFS, в зависимости от характера преобладающих данных: первая эффективна при операциях с большим количеством маленьких файлов, вторая отличается максимальным быстродействием при манипулировании большими (и очень большими) файлами.

Предупреждение: выбор файловой системы накладывает некоторые ограничения на предстоящий в дальнейшем выбор ядра системы. Так, файловая система XFS не поддерживается большинством стандартных ядер (в частности, каноническим ядром Линуса с www.kernel.org), в некоторых версиях ядра gentoo-src возможны ошибки при совместном использовании XFS и JFS, и т.д., поэтому:

Рекомендация: перед окончательным выбором файловых систем желательно ознакомиться с разделом о выборе ядра системы.

Напоминание: выбор любой из файловых систем, отличных от ext2fs и ext3fs потребует в дальнейшем установки дополнительных программ для работы с ними. При наличии подключения к Сети это не критично, но в комплекте Gentoo-RV включены только утилиты для работы с файловыми системами ReiserFS и XFS.

Определившись с выбором, создаем файловые системы командами

$ mke2fs -j /dev/hda#

для ext3fs,

$ mkfs.xfs -d agcount=# -l size=32m /dev/hda#

для XFS, причем величина agcount определяется из расчета: размер раздела (в гигабайтах), деленный на 4, а 32 Мбайт - рекомендованный размер файла журнала. Наконец, команда

$ mkreiserfs /dev/hda

создаст файловую систему ReiserFS.

Стадия 4. Монтирование файловых систем

Монтирование файловых систем, то есть включение их в структуру каталогов созданной при загрузке "живой" (Live) файловой системы, начинаем (опять же - чтобы не забыть) с активизации раздела подкачки:

$ swapon /dev/hda2

Затем создается точка монтирования для будущей корневой файловой системы Gentoo:

$ mkdir /mnt/gentoo

куда и монтируется третий из созданных разделов:

$ mount /dev/hda3 /mnt/gentoo

Далее создаются точки монтирования для прочих разделов:

$ mkdir /mnt/gentoo{/boot,/home}

и выполняется их монтирование:

$ mount /dev/hda1 /mnt/gentoo/boot
$ mount /dev/hda4 /mnt/gentoo/home

Стадия 5. Развертывание базовой системы

После монтирования всех разделов следует перейти в будущий корневой каталог

$ cd /mnt/gentoo

и приступить к развертыванию базовой системы из тарбаллов. В случае использования дисков Gentoo-RV можно ограничиться одним из них - тарбаллом stage3:

$ tar -xjpvf /mnt/cdrom/gentoo/stage3-тип_процессора-1.4_rc2.tbz2

Внимание: следует обязательно указать опцию -p к командной строке - она обеспечит сохранение оригинальных прав доступа извлекаемых из архива файлов.

Теперь следует смонтировать в будущий корень Gentoo файловую систему процессов:

$ mount -o bind /proc /mnt/gentoo/proc

Внимание: опция -o bind при этом обязательна - она обеспечивает доступ к одной и той же файловой системе через разные точки монтирования.

Стадия 6. Развертывание системы портежей

При хорошем подключении к Сети описанных выше подготовительных манипуляций было бы достаточно - по завершении монтирования можно переходить к смене корневого каталога. Однако, как уже говорилось, диски Gentoo-RV предусматривают возможность установки системы на полностью автономной машине. Что, однако, потребует предварительного развертывания системы портежей.

Первый шаг в этом направлении - распаковка снапшота дерева портежей в каталоге /mnt/gentoo/usr. Для чего делаем его текущим:

$ cd /mnt/gentoo/usr

или, если мы не покидали каталога /mnt/gentoo

$ cd usr

Далее разворачиваем дерево портежей с первого установочного диска:

$ tar -xjpvf /mnt/cdrom/gentoo/portage-grp-snap-x86.tbz2

Внимание: на диске Gentoo-RV2 можно найти еще два снапшота дерева портежей, в том числе и более свежий. Однако при первичной установке следует пользоваться именно указанным снапшотом с диска Gentoo-RV1, так как бинарные пакеты собирались именно из него, и установка их из другого дерева может вызвать ошибки.

Теперь в дереве портежей создаем два необходимых каталога:

$ mkdir /mnt/gentoo/usr/portage{/packages,/distfiles}

которые будут выступать как точки монтирования для соответствующих каталогов установочного CD, благо опция -o bind позволяет монтировать ветви файловой системы точно также, как и сами файловые системы. Для этого выполняются следующие команды:

$ mount -o bind /mnt/cdrom/gentoo/packages /mnt/gentoo/usr/portage/packages
$ mount -o bind /mnt/cdrom/gentoo/distfiles /mnt/gentoo/usr/portage/distfiles

Однако, если нет дефицита дискового пространства, содержимое каталога distfiles с установочного диска лучше скопировать в дерево портежей:

$ cp /mnt/cdrom/gentoo/distfiles/* /mnt/gentoo/usr/portage/distfiles

Если машина имеет два привода CD ROM, можно сразу смонтировать диск Gentoo-RV2 (например, в новый каталог типа /mnt/rv2) и перенести содержимое его каталога distfiles в /mnt/gentoo/usr/portage/distfiles.

Стадия 7. Смена корневого каталога

После монтирования всех требуемых ветвей подготовка к смене корневого каталога завершена. Собственно смена корня осуществляется командой

$ chroot /mnt/gentoo /bin/bash

Затем следует глобально определить переменные окружения

$ env-update
Regenerating /etc/ld.so.cache...

и пересчитать их в среду командной оболочки:

$ source /etc/profile

Теперь пользователь находится внутри новоустановленной системы Gentoo, в которой и проходят завершающие стадии установки.

Стадии эти могут быть различными, в зависимости от выбора пользователя. При хорошем подключении к Сети можно, отредактировав предварительно файл /etc/make.conf (напомним, что в качестве корневого каталога, /, теперь выступает бывший каталог /mnt/gentoo, а не корень "живой", Live, файловой системы), с помощью исполнения сценария

$ /usr/portage/scripts/bootstrap.sh

и, по завершении (что может занять час и более, в зависимости от мощности машины), команды

$ emerge system

полностью пересобрать базовые компоненты системы (от системной библиотеки glibc и компилятора gcc до библиотеки ncurses. Это же доступно при наличии второго диска и копирования содержимого его каталога distfiles в /mnt/gentoo/usr/portage/distfiles.

Однако, если установочный диск Gentoo-RV1 соответствует типу имеющегося процессора, необходимости в этом нет - базовые компоненты и так были установлены уже в отпимизированном виде. Так что продолжим быстрое развертывание системы.

Стадия 8. Установка пакетов

Для установки пакетов используется GRP-система, пакеты которой ранее были смонтированы в каталог /mnt/gentoo/usr/portage/packages. Остается только установить их. Это делается последовательностью команд

$ emerge --usepkg xfree

для установки оконной системы X,

$ emerge --usepkg kde

или

$ emerge --usepkg gnome

для установки интегрированных рабочих сред KDE или GNOME, соответственно. Затем устанавливаются браузер и офисный пакет

$ emerge --usepkg mozilla
$ emerge --usepkg openoffice-bin

После чего не более чем через полчаса в распоряжении пользователя окажется полностью работоспособная система с набором приложений общего назначения.

Стадия 9. Выбор и установка исходников ядра

Однако совсем без компиляции обойтись не удастся - необходимо сконфигурировать и собрать ядро системы. Однако прежде перед пользователем опять встает проблема выбора. Дело в том, что в систему портежей Gentoo включены, кроме канонического ядра с Kernel.org (т.н. vanilla), также многочисленные модифицированные ядра, предоставляющие некоторые дополнительные возможности: ядро xfs с патчами от SGI для поддержки файловой системы XFS, серия ядер от Алана Кокса (ac), собственное ядро gentoo, ряд ядер специального назначения, например, с поддержкой кластеров (open-mosix), или User Mode Linux, и многие другие.

Полный список ядре можно получить просмотром соответствующего каталога в дереве портежей:

$ ls sys-kernel

Причем следует учесть, что большинство из этих ядер доступно минимум в двух версиях - 2.4.19 и 2.4.20 (ядра разрабатываемой ветки 2.5.X выделены в отдельный каталог). При выборе ядра следует руководствоваться следующими соображениями:

Исходя из вышесказанного, в поставку Gentoo-RV1 включены архивы исходников для канонического ядра версий 2.4.19 и 2.4.20 и дополнительные патчи, необходимые для установки последних ревизий gentoo-ядра (2.4.19-r10) и ядра xfs (2.4.19-r2 и 2.4.20_pre3).

Установка исходников ядра vanilla-sources-2.4.20:

$ emerge sys-kernel/vanilla-sources/

Установка исходников ядра gentoo-sources-2.4.19-r10:

$ emerge sys-kernel/gentoo-sources/

Установка исходников ядра xfs-sources-2.4.19-r2:

$ emerge sys-kernel/xfs-sources/

Установка исходников ядра xfs-sources-2.4.20_pre3:

$ emerge sys-kernel/xfs-sources/xfs-sources-2.4.20_pre3.ebuild

Внимание: аргументы команды emerge следует давать именно в той форме, какая дана выше. Аргумент вида sys-kernel/имя_ядра приводит к установке умолчальной для данного снапшота дерева портежей версии. При выборе версии, отличной от умолчальной, в аргументе необходимо указать полный путь к конкретному ebuild-файлу.

После выполнения какой-либо из приведенных команд в файловой системе Gentoo будет создан каталог /usr/src/linux-версия-[имя]-[ревизия], содержащий полное дерево исходных текстов ядра, и символическая ссылка на него - каталог /usr/src/linux.

Предупреждение: никто не запрещает установить исходники сразу нескольких ядер (и даже в дальнейшем собрать их и использовать совместно). Однако нужно помнить, что каталог /usr/src/linux будет ссылаться на дерево, установленное первым. Переопределить эту ссылку можно вручную, командой

$ ln -sf /usr/src/linux-версия-[имя]-[ревизия] /usr/src/linux

Стадия 10. Конфигурирование, сборка и установка ядра

Для конфигурирования ядра следует перейти в каталог его исходников

$ cd /usr/src/linux

помня о предыдущем предупреждении, если устанавливались исходники более чем одного ядра, и дать команду

$ make menuconfig

для генерации меню выбора опций. Следующие опции подлежат обязательному включению:

Во всех неясных случаях следует обращаться к системе помощи (пункт < Help >) в нижней части панели, если имеющихся в ней сведений недостаточно - к документации по ядру (/usr/src/linux/Documentation), хотя информация там и не легка для понимания начинающим пользователем. Существуют также многочисленные варианты Kernel-HOWTO, однако большая часть русских их переводов несколько устарела (как и сведения из толстых книжек про Linux).

Замечание: для возможности записи CD-R/RW на распространенных ныне ATAPI-приводах необходимо в секции ATA/IDE/MFM/RLL support включить поддержку эмуляции SCSI (SCSI emulation support), а в секции SCSI support - общую поддержку SCSI-устройств (SCSI support), поддержку SCSI generic support и SCSI CD-ROM support; обычно все эти пункты помечаются как модули, что потребует в дальнейшем передачи параметров ядру на Стадии 12; однако при единственном приводе CD-R/RW поддержку всех этих опций можно встроить в ядро непосредственно - при этом необходимости в параметрах ядра не будет.

Предупреждение: связанные между собой опции (как в примере с эмуляцией SCSI или в случае поддержки звука вообще и конкретной звуковой карты) должны все либо встраиваться в ядро, либо включаться как модули, смешение того и другого может вызвать ошибки.

По завершении конфигурирования - собственно сборка ядра и модулей:

$ make dep && make clean bzImage modules modules_install

Если процесс сборки оборвался с выдачей сообщения об ошибке, следует внимательно изучить экранный вывод. В большинстве случаев из этого можно понять, какие опции конфигурации ядра потребуется изменить.

После безошибочного завершения сборки новое ядро следует скопировать в загрузочный раздел диска:

$ cp /usr/src/linux/arch/i386/boot/bzImage /boot

Стадия 11. Настройка монтирования файловых систем

Файловые системы, которые должны автоматически монтироваться при загрузке системы, определяются в файле /etc/fstab, для чего он должен быть подвергнут ручному редактированию. На стадии установки Gentoo доступен простой текстовый редактор nano (клон известного редактора pine), элементарные действия в котором можно легко выполнять, руководствуясь экранной подсказкой. Открываем файл

nano -w /etc/fstab

обращая внимание на опцию -w, запрещающую перенос слов на границе экрана (это - общее правило при редактировании всех конфигурационных файлов). По умолчанию /etc/fstab имеет следующий вид:

#                            

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/BOOT           /boot       ext2     noauto,noatime  1 2
/dev/ROOT           /           ext3     noatime         0 1
/dev/SWAP           none        swap     sw              0 0
/dev/cdroms/cdrom0  /mnt/cdrom  iso9660  noauto,ro       0 0
proc                /proc       proc     defaults        0 0
tmpfs               /dev/shm    tmpfs    defaults		  0 0

В именах устройств части их, данные в верхнем регистре, следует заменить на свои реалии, например: discs/disc0/part1 для точки загрузочного каталога (/boot) и discs/disc0/part3 для корневого каталога, дописать недостающие строки, например, для домашнего каталога:

/dev/discs/disc0/part4 /home     xfs     noatime          0 0

и проверить соответствие типов файловых систем реальности.

Внимание: в колонке опций монтирования для загрузочного раздела указана опция noauto, запрещающая автоматическое его монтирование при старте системы. Это - рекомендация разработчиков загрузчика GRUB (см. следующую стадию), для которого данный раздел и предназначен. В дальнейшем при необходимости внесения изменений в /boot (например, при редактировании меню GRUB или установке нового ядра), его предварительно потребуется смонтировать вручную командой

$ mount /boot

Напоминание: для файловых систем, внесенных в /etc/fstab, при монтировании не нужно указывать имени файла устройства - достаточно точки монтирования.

Рекомендация: все файловые системы на дисковых разделах лучше монтировать с опцией noatime для повышения быстродействия. Для ReiserFS можно с той же целью дополнительно указать опцию notail.

Стадия 12. Настройка загрузчика

В Gentoo в качестве загрузчика рекомендуется GRUB - именно под него создавался раздел /boot. И именно его настройка будет рассмотрена ниже. При желании ничто не запрещает и использование загрузчика LILO или какого-либо иного менеджера загрузки (например, Acronis OSS), однако эти варианты здесь не описываются.

Для установки GRUB его следует запустить командой

$ grub

и после появления его приглашения командной строки вида

grub>

ввести имя корневого (для GRUB - не для Linux) устройства. В случае первого раздела первого диска это будет

grub> root (hd0,0)

Внимание: в GRUB нумерация дисков и разделов на них начинается с нуля.

После этого следует установить GRUB командой

grub> setup (hd0)

и выйти из программы:

grub> quit

Теперь GRUB установлен, но не настроен. Для чего следует создать в текстовом редакторе пустой файл

$ nano -w /boot/grub/grub.conf

и вписать в него строки, определяющие общие свойства загрузчика - пункт меню по умолчанию, время задержки для выбора из меню, фоновую картинку:

default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

А затем в отдельных секциях определить параметры для каждой загружаемой ОС (в нашем примере - единственной, Gentoo Linux):

title=Gentoo Linux
root (hd0,0)
kernel /boot/bzImage root=/dev/hda3

Внимание: вторая строка root определяет корневое устройство загрузчика (первый раздел первого диска), почему значение ее и дается в номенклатуре GRUB (hd0,0). В третьей же строке, после указания имени образа ядра, под root понимается уже корневой раздел Linux-системы, поэтому значение его - в номенклатуре этой ОС (root=/dev/hda3).

Рекомендация: если требуется передать ядру какие-либо параметры, это следует сделать в третьей строке данной секции. Например, для обеспечения эмуляции SCSI через IDE (о чем говорилось в описании Стадии 10) после указания root-устройства следует добавить hd#=ide-scsi, где hd# - имя файла устройства CD-R/RW (например, hdc).

Стадия 13. Завершающие настройки

Теперь необходимо выполнить завершающие настройки системы. В первую очередь - определить часовой пояс. Для этого дается команда

$ ln -sf /usr/share/zoneinfo/path/to/timezonefile /etc/localtime

Например, для московского часового пояса она будет иметь вид

$ ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Этого достаточно, если системные часы в BIOS машины установлены на время по Гринвичу (UTC). Если же, как это обычно бывает на персоналках, в BIOS выставлено местное время, нужно открыть в редакторе файл /etc/rc.conf

$ nano -w /etc/rc.conf

и заменить строку

CLOCK="UTC"

на

CLOCK="local"

Далее следует задать корректное имя хост-машины. В случае автономного, не подключенного к сети компьютера это делается так:

$ echo localhost > /etc/hostname

Напоминание: пароль, заданный для суперпользователя на стадии установки, будет потерян после перезапуска машины. Поэтому мелательно заново задать пароль для root'а в среде Gentoo - именно его нужно будет ввести при первой авторизации после рестарта.

На этой же стадии можно выполнить еще многие настройки, но к ним можно вернуться впоследствии - сделанного по минимуму достаточно.

Стадия 14. Русификация и локализация

На последней стадии установки можно настроить систему для работы в кириллическом окружении. Для этого требуется обеспечить вывод символов кириллицы на экран, ввод их с клавиатуры, загрузку таблицы перекодировки, а также установить соответствующую локаль (русскую). Все эти действия рассмотрим на примере наиболее употребимой в Unix-системах кодировки KOI8-R, хотя в Gentoo возможна работа и с кодировками cp1251 (Windows) или cp866 (DOS).

Для начала открывается тот же файл /etc/rc.conf

$ nano -w /etc/rc.conf

в котором подлежат изменению строки KEYMAP, CONSOLEFONT и CONSOLETRANSLATION. В первой умолчальное значение заменяется на имя одной из кириллических клавиатурных раскладок, имеющихся в каталоге /usr/share/keymaps/i386/qwerty/ (ru1-ru4 для кодировки KOI8), например,

KEYMAP="ru4"

в результате чего мы получаем раскладку для клавиатуры с Win-маркировкой (не путать с Win-кодировкой) клавиш (к коим принадлежат все, ныне имеющиеся в продаже). Переключение кириллица/латиница в ней - по нажатию CapsLock, собственно же функция этой клавиши (переход на верхний регистр символов) осуществляется комбинацией Shift+CapsLock.

В строку CONSOLEFONT вносится имя одного из кириллических экранных шрифтов в кодировке cp866 (по ряду причин, на которых здесь останавливаться неуместно, в Unix-системах именно DOS-кодировка единственно приемлема для экранного вывода в консоли).

В каталоге /usr/share/consolefonts имеется довольно много шрифтовых файлов с поддержкой кириллицы (cp866) для консоли. Они имеют вид alt-8x16.gz, cp866-8x16.gz, Cyr-8x16.gz и так далее. Однако качество всех их далеко от идеала. Поэтому можно воспользоваться шрифтами из пакета console-tools-cyrillic Виктора Вагнера, помещенными на Gentoo-RV1. Для этого их нужно скопировать в файловую систему Gentoo, воспользовавшись одной из виртуальных консолей (поскольку после chroot установочный CD диск будет не виден:

$ cp /mnt/cdrom/gentoo/russian/consolefonts/* /mnt/gentoo/usr/share/consolefonts

Внимание: в данной строке в качестве / выступает корневой каталог "живой" файловой системы, а не корень файловой системы Gentoo.

А затем прописать выбранный шрифт, например, вот этот:

CONSOLEFONT="UniCyr-sans-8x16"

Строка CONSOLETRANSLATION обеспечивает перевод клавиатурного ввода, осуществляемого в кодировке KOI8, в DOS-кодировку экранного вывода (то есть загрузку таблицы соответствия, т.н. mapscrn). Подсмотрев имя соответствующего файла в каталоге /usr/share/consoletrans, записываем:

CONSOLETRANSLATION="koi2alt"

Теперь остается обеспечить активизацию загруженной таблицы соответствия на всех виртуальных консолях, для чего следует прибегнуть к механизму конфигурирования сценариев начальной загрузки Gentoo. Скрипт, ее активизирующий (для виртуальных консолей с 1-й по 6-ю - именно столько их обычно в Linux-системах по умолчанию) помещен на Gentoo-RV1 в каталоге gentoo/russian/etc/init.d. Опять переключившись в одну из виртуальных консолей, копируем его в подобающее место:

$ cp /mnt/cdrom/gentoo/russian/etc/init.d/consoletrans /mnt/gentoo/etc/init.d/

где как / снова фигурирует корень Live файловой системы. После этого включаем этот скрипт в уровень начальной загрузки по умолчанию:

$ rc-update add consoletrans default

В результате после перезапуска машины мы будем иметь возможность ввода и вывода символов кириллицы в консоли. Теперь остается только выполнить локализацию, то есть установку переменных окружения, специфичных для языка, страны и набора символов. Делаем это опять же в одной из виртуальных консолей:

$ cat /mnt/cdrom/gentoo/russian/etc/env.d/locale >> /mnt/gentoo/etc/env.d/00basic

после чего, вернувшись в первую консоль, выполняем команду

$ env-update

и пересчитываем переменные окружения, как это делалось ранее при смене корневого каталога:

$ source /etc/profile

Для проверки результатов локализации даем команду

$ locale

вывод которой должен будет иметь следующий вид:

LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_PAPER="ru_RU.KOI8-R"
LC_NAME="ru_RU.KOI8-R"
LC_ADDRESS="ru_RU.KOI8-R"
LC_TELEPHONE="ru_RU.KOI8-R"
LC_MEASUREMENT="ru_RU.KOI8-R"
LC_IDENTIFICATION="ru_RU.KOI8-R"
LC_ALL=

На этом кириллизация консоли закончена. Обеспечение ввода и вывода символов кириллицы в графическом режиме осуществляется в ходе настройки системы X Window (например, программой xf86config). Вопрос этот широко освещен в источниках и здесь не рассматривается. Заметим лишь, что в комплект диска Gentoo-RV1 входят прекрасные (и лицензионно чистые, в отличие от большинства аналогов) TTF-шрифты Валентина Филиппова для кодировок KOI8-R и cp1251. Остается только скопировать их (обратно же в виртуальной консоли):

$ cp -R /mnt/cdrom/gentoo/russian/rusttf /mnt/gentoo/usr/X11R6/lib/X11/fonts

вернуться в первую консоль, создать символическую ссылку

ln -s /usr/X11R6/lib/X11/fonts/rusttf/fonts.dir /usr/X11R6/lib/X11/fonts/rusttf/fonts.scale

и внести в файла в секцию Section "Files" файла /etc/X11/XF86Config строку

    FontPath   "/usr/X11R6/lib/X11/fonts/rusttf"

желательно перед всеми остальными путями к шрифтовым файлам.

Стадия 15. Подготовка к рестарту

На этом установка и начальная настройка Gentoo Linux закончена. Осталось только обеспечить корректный перезапуск системы. Для чего выходим из среды Gentoo обратно в Live-систему

$ exit

и последовательно размонтируем все, смонтированное вручную ранее:

$ umount /mnt/gentoo/usr/portage/distfiles;
$ umount /mnt/gentoo/usr/portage/packages;
$ umount /mnt/gentoo/proc;
$ umount /mnt/gentoo/home;
$ umount /mnt/gentoo/boot;
$ umount /mnt/gentoo/

Все, после перезапуска машины, например, командой

$ reboot

можно приступать к работе в свежеустановленной системе Gentoo Linux.

Предупреждение: если в ходе установки использовались файловые системы, отличные от ext2fs и ext3fs, в первую очередь после перезапуска машины необходимо установить инструментарий для работы с ними. Для этого следует прибегнуть к диску Gentoo-RV2, скопировав содержимое каталога distfiles в /usr/portage/distfiles и выполнить команды

$ emerge reiserfsprogs

и (или)

$ emerge xfsprogs

для установки пакетов дисковых утилит обслуживания ReoserFS и XFS, соответственно.

Рекомендация: для установки и активизации службы консольной мыши следует сначала установить пакет gmp командой

$ emerge gmp

затем отредактировать файл /etc/conf.d/gpm, сняв комментарии со строк, соответствующих протоколу и имени файла устройства в соответствие с реалиями, например:

MOUSE=ps2
MOUSEDEV=/dev/psaux

для обычной мыши с разъемом PS/2 или

MOUSE=imps2
MOUSEDEV=/dev/input/mice

для мыши с колесиком и USB-разъемом, после чего выполнить команду

$ rc-update add gpm default

и перезагрузить машину (или реинициализировать систему каким-либо иным образом).