Краткое руководство по установке Gentoo Linux x86 Xavier Neys Sven Vermeulen Steven Wagner Михаил Ярмиш Юрий Русинов В руководстве кратко описывается процесс установки Gentoo. Цель данного руководства описать установку с этапа stage3 при нехватке времени. Чтобы следовать этому руководству, нужен предшествующий опыт установки Gentoo Linux. 19 2007-07-02 Введение

Данное руководство содержит все команды для полной инсталляции Gentoo со stage3. Для этой цели Вам необходимо соединение с Internet, чтобы скачать stage3 и снапшоты Portage.

Вывод всех команд, выполнение которых длится достаточно продолжительное время, содержит время выполнения. Тестирование производилось на AMD 2000 1.66 Ghz PC с 512 Mb RAM и двумя SATA-дисками, подсоединёнными к контроллеру hardware.

(Соответствующие спецификации и время дают приблизительную оценку времени, необходимого для
установки)

# grep bogo /proc/cpuinfo
bogomips       : 3337.81

# hdparm -tT /dev/sda
/dev/sda:
 Timing cached reads:   1100 MB in  2.00 seconds = 549.97 MB/sec
 Timing buffered disk reads:  224 MB in  3.01 seconds =  74.36 MB/sec

# grep MemTotal /proc/meminfo
MemTotal:       509248 kB
Краткое руководство по установке
Установочный диск

Скачайте компакт-диск с одного из наших зеркал. ISO-образы находятся в каталогах: releases/<архитектура>/<выпуск>/установочный-диск. Минимальный установочный диск подходит только для установки из интернета; с универсального диска также возможна установка без обращения к сети, см.2007.0 x86 installation handbook. Для установки рекомендуется минимальный установочный CD.

Запишите компакт-диск, затем загрузитесь с него. В загрузочном окне нажмите F2, чтобы выяснить, какие варианты загрузки предлагаются. Вы можете стартовать как с gentoo, так и с gentoo-nofb, последний вариант выключает фреймбуфер. При загрузке с LiveCD следует включить опцию nox, для предотвращения загрузки графической оболочки Xов. Некоторые опции включают/выключают различные особенности загрузки. Если все работает без ошибок, то все Ваши устройства будут отображены и модули загружены. Если при загрузке падает ядро или подвисает компьютер, то следует поэкспериментировать с другими конфигурациями. Наиболее безопасный путь состоит в опции nodetect и явной загрузки требуемых модулей.

Gentoo Linux Installation LiveCD                     http://www.gentoo.org
Enter to Boot; F1 for kernels  F2 for options.
boot: gentoo-nofb
  (в случае проблем)
boot: gentoo-nofb nodetect
Опционально: загрузка модулей

Если Вы при загрузке используете опцию nodetect, то Вам требуется подгрузка модулей ядра. Для этого необходима сеть и доступ к дискам. Команда lspci поможет идентифицировать устройства.

livecd root # lspci
(Вывод lspci для идентификации требуемых модулей)

(В качестве примера, адаптируйте к своим устройствам)
livecd root # modprobe 3w-9xxx
livecd root # modprobe r8169
Настройка сети

Если ваша сеть еще не работает, для ее настройки можно использовать net-setup. Перед настройкой вам может потребоваться загрузить поддержку своей сетевой платы с помощью modprobe. Если у вас ADSL, используйте pppoe-setup и pppoe-start. Для поддержки PPTP, сначала отредактируйте /etc/ppp/chap-secrets и /etc/ppp/options.pptp, а затем запустите pptp <ip сервера>.

При беспроводном доступе для установки параметров соединения используйте iwconfig, а затем либо опять net-setup, либо запустите вручную ifconfig, dhcpcd и/или route.

Если вы находитесь за прокси-сервером, не забудьте инициализировать систему с помощью export http_proxy, ftp_proxy и RSYNC_PROXY.

livecd root # net-setup eth0

В качестве альтернативы Вы можете запустить сеть вручную. Приведенный пример устанавливает IP адрес 192.168.1.10 на PC и определяет 192.168.1.1 в качестве роутера и dns.

livecd root # ifconfig eth0 192.168.1.10/24
livecd root # route add default gw 192.168.1.1
livecd root # echo nameserver 192.168.1.1 > /etc/resolv.conf

Установочный CD позволяет стартовать сервер sshd, добавлять пользователей, запускать чат-клиент irssi и ходить по web с помощью lynx или links.

Опционально: соединение с новой системой по ssh

Наиболее интересной особенностью конечно является sshd. Вы можете стартовать сервис, подсоединиться с другой машины и копировать/вставлят команды в соответствии с руководством.

livecd root # time /etc/init.d/sshd start
 * Generating hostkey ...
(sshd генерирует ключ и отображает вывод более подробно)
 * starting sshd ...                            [ok]

real   0m13.688s
user   0m9.420s
sys    0m0.090s

После выполнения всех действий необходимо установить пароль суперпользователя liveCD, чтобы можно было осуществлять соединение с другой машины. Следует заметить, что разрешение суперпользователю соединяться по ssh не рекомендуется в нормальной системе. Если Вы не доверяете локальной сети, используйте длинный и сложный пароль, так как он будет уничтожен после первой перезагрузки.

livecd root # passwd
New UNIX password: type_a_password
Retype new UNIX password: type_a_password
passwd: password updated successfully

Сейчас, когда Вы можете стартовать терминальное соединение на другой PC и подсоединяться к новой системе, откройте данное руководство в другом окне и копируйте и вставляйте команды

(Используйте IP адрес новой системы)
$ ssh root@192.168.1.10
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
Password: type_the_password
Подготовка дисков

Для организации разделов запустите fdisk или cfdisk. Вам нужен хотя бы раздел подкачки (тип 82) и один раздел Linux (тип 83). Приведенный сценарий создает разделы /boot, корневой раздел и swap, как это описано в handbook. Имя диска будет /dev/sda для диска SATA или SCSI, или /dev/hda для IDE.

livecd ~ # fdisk /dev/sda

(The rest of this guide uses the following partitioning scheme)
livecd ~ # fdisk -l /dev/sda

Disk /dev/sda: 599.9 GB, 599978409984 bytes
255 heads, 63 sectors/track, 72943 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          12       96358+  83  Linux
/dev/sda2              13         110      787185   82  Linux swap / Solaris
/dev/sda3             111       72943   585031072+  83  Linux

Для создания файловых систем на своих Linux-разделах используйте mke2fs, mke2fs -j, mkreiserfs, mkfs.xfs mkfs.jfs. Подготовьте свой раздел подкачки командами mkswap и swapon.

(ext2 is all you need on the /boot partition)
livecd ~ # mke2fs /dev/sda1

(Let's use ext3 on the main partition)
livecd ~ # mke2fs -j /dev/sda3

(Create and activate swap)
livecd ~ # mkswap /dev/sda2 && swapon /dev/sda2

Смонтируйте свежесозданные файловые системы в /mnt/gentoo. Создайте каталоги для других точек монтирования (например, /mnt/gentoo/boot), если они вам нужны.

livecd ~ # mount /dev/sda3 /mnt/gentoo
livecd ~ # mkdir /mnt/gentoo/boot
livecd ~ # mount /dev/sda1 /mnt/gentoo/boot
Установка стадии

Прежде всего, установите верную дату командой date MMDDhhmmYYYY.

(Check the clock)
livecd ~ # date
Mon Mar  6 00:14:13 UTC 2006

(Set the current date and time if required)
livecd ~ # date 030600162006 (Format is MMDDhhmmYYYY)
Mon Mar  6 00:16:00 UTC 2006

Далее скачайте файл стадии с одного из наших зеркал или используйте находящийся на установочном диске (в /mnt/cdrom/stages). Перейдите в /mnt/gentoo и распакуйте стадию командой tar -xvjpf <архив стадии>.

livecd ~ # cd /mnt/gentoo
livecd gentoo # links http://www.gentoo.org/main/en/mirrors.xml
(Выберите зеркало, move to the releases/x86/current/stages directory highlight the
stage3 of your choice, probably the i686 stage3 and press D to download it)

(или скачайте напрямую wget'ом)
livecd ~ # cd /mnt/gentoo
livecd gentoo # wget ftp://gentoo.osuosl.org/pub/gentoo/releases/x86/current/stages/stage3-i686*tar.bz2
livecd gentoo # time tar xjpf stage3*

real  1m13.157s
user  1m2.920s
sys   0m7.230s

Установите последний снимок портежей по образу архива stage3. Скачайте с выбранного из списка зеркала последний снимок и распакуйте его.

livecd gentoo # cd /mnt/gentoo/usr
livecd usr # links http://www.gentoo.org/main/en/mirrors.xml
(Pick a mirror, move to the snapshots/ directory,
highlight portage-latest.tar.bz2 and press D to download it)

(Or download it directly with wget without choosing a nearby mirror)
livecd gentoo # cd /mnt/gentoo/usr
livecd usr # wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.bz2
livecd usr # time tar xjf portage*

real  0m51.523s
user  0m28.680s
sys   0m12.840s
Изменение корневого каталога

Подмонтируйте файловую систему /proc, скопируйте файл /etc/resolv.conf и переходите в Ваше окружение Gentoo.

livecd usr # cd /
livecd / # mount -t proc proc /mnt/gentoo/proc
livecd / # cp -L /etc/resolv.conf /mnt/gentoo/etc/
livecd / # chroot /mnt/gentoo /bin/bash
livecd / # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...
Установка временной зоны
Установка базовой системы Gentoo

Сначала смонтируйте файловую систему /proc, скопируйте файл /etc/resolv.conf поверх существующего, а затем смените корневой каталог (chroot) на свою среду Gentoo.

livecd usr # cd /
livecd / # mount -t proc proc /mnt/gentoo/proc
livecd / # cp -L /etc/resolv.conf /mnt/gentoo/etc/
livecd / # chroot /mnt/gentoo /bin/bash
livecd / # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...

Если вы не выполняете бессетевую установку, командой emerge --sync обновите свое дерево портежей.

Далее убедитесь, что /etc/make.profile указывает на верный профиль. Профиль по умолчанию должен подойти большинству пользователей; имеются подпрофили для различных ядер (например, 2.4/ для профилей, основанных на ядре 2.4). Изменяйте профиль командой ln -sfn.

  • Самогенерация системы (не выполняется при бессетевой установке) запускается сценарием scripts/bootstrap.sh в каталоге /usr/portage.
  • Установка системы (не выполняется при бессетевой установке) запускается командой emerge -e system (или -N, если вы не меняли значения CFLAGS/CXXFLAGS по умолчанию).
Настройка ядра

Установите Ваш временной пояс используя подходящий файл из /usr/share/zoneinfo.

livecd / # ls /usr/share/zoneinfo
(В примере используется Московское время)
livecd / # cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

livecd / # date
Wed Mar  8 00:46:05 CET 2006

Установите имя хоста в /etc/conf.d/hostname и /etc/hosts. В приведенном примере используется имя хоста mybox и имя домена at.myplace, устанавливаемые через текстовый редактор nano или следующие команды:

livecd / # cd /etc
livecd etc # echo "127.0.0.1 mybox.at.myplace mybox localhost" > hosts
livecd etc # sed -i -e 's/HOSTNAME.*/HOSTNAME="mybox"/' conf.d/hostname
(Use defined host name and check)
livecd etc # hostname mybox
livecd etc # hostname -f
mybox.at.myplace

Установите исходный код ядра (при установке без сети доступны gentoo-sources и vanilla-sources) и настройте его с помощью make menuconfig, затем make && make modules_install внутри каталога /usr/src/linux. Скопируйте файл arch/i386/boot/bzImage в /boot, заменяя существующий. Также можно выполнить emerge genkernel и genkernel all.

livecd etc # time emerge gentoo-sources

real  2m51.435s
user  0m58.220s
sys   0m29.890s
livecd etc # cd /usr/src/linux
livecd linux # make menuconfig
(Configure your kernel)
livecd linux # time make -j2

(Elapsed time depends highly on the options you selected)
real  3m51.962s
user  3m27.060s
sys   0m24.310s

livecd linux # make modules_install
livecd linux # cp arch/i386/boot/bzImage /boot/kernel

Пользователям, использующим Genkernel, потребуется выполнить emerge coldplug и rc-update add coldplug default.

Настройка системы

Отредактируйте свой /etc/fstab; пример показан ниже.

/dev/hda1   /boot     ext2    defaults,noatime     1 2
/dev/hda2   none      swap    sw                   0 0
/dev/hda3   /         ext3    noatime              0 1
none        /proc     proc    defaults             0 0
none        /dev/shm  tmpfs   nodev,nosuid,noexec  0 0
/dev/cdroms/cdrom0    /mnt/cdrom    auto      noauto,user    0 0

Для настройки своей сети отредактируйте /etc/conf.d/hostname и /etc/conf.d/domainname, запустите rc-update add domainname default, затем отредактируйте /etc/conf.d/net. Добавьте сценарий инициализации net.eth0 к уровню запуска по умолчанию (default run level). Если у вас несколько сетевых карт (NIC), поместите символьные ссылки на них в сценарий инициализации net.eth0, и также добавьте их в уровень запуска по умолчанию.

Отредактируйте /etc/hosts; примеры приведены ниже:

livecd etc # cd conf.d
livecd conf.d # echo 'config_eth0=( "192.168.1.10/24" )' >> net
livecd conf.d # echo 'routes_eth0=( "default via 192.168.1.1" )' >> net
livecd conf.d # rc-update add net.eth0 default
(If you compiled your network card driver as a module,
add it to /etc/modules.autoload.d/kernel-2.6)
livecd conf.d # echo r8169 >> /etc/modules.autoload.d/kernel-2.6
(If you want to reconnect via ssh after you have rebooted your new box:)
livecd conf.d # rc-update add sshd default

При необходимости установите (emerge) pcmcia-cs и добавьте его в уровень запуска по умолчанию.

Установите пароль root с помощью passwd.

livecd conf.d # passwd
New UNIX password: type_the_password
Retype new UNIX password: type_the_password_again
passwd: password updated successfully

Выполните необходимую настройку в файлах: /etc/rc.conf, /etc/conf.d/rc, /etc/conf.d/keymaps, /etc/conf.d/clock.

livecd conf.d # nano -w /etc/conf.d/clock
TIMEZONE="Europe/Moscow"
livecd conf.d # nano -w /etc/rc.conf
livecd conf.d # nano -w /etc/conf.d/rc
livecd conf.d # nano -w /etc/conf.d/keymaps
Установка системных утилит

Установите системный журнал, например syslog-ng, и добавьте его в уровень запуска по умолчанию. Сделайте то же самое для демона cron, например, vixie-cron (необязательный шаг).

Демоны cron зависят от MTA. mail-mta/ssmtp будет установлен в качестве зависимости. Если Вы желаете установить более продвинутый MTA, такое возможно. В случае нехватки времени оставьте установленным ssmtp и удалите его позднее при установке удобного Вам MTA.
livecd conf.d # time emerge syslog-ng vixie-cron

real  1m52.699s
user  1m1.630s
sys   0m35.220s
livecd conf.d # rc-update add syslog-ng default
livecd conf.d # rc-update add vixie-cron default

Установите необходимые средства для файловых систем (xfsprogs, reiserfsprogs или jfsutils), а также для сети (dhcpcd или ppp).

livecd conf.d # emerge xfsprogs       (If you use the XFS file system)
livecd conf.d # emerge jfsutils       (If you use the JFS file system)
livecd conf.d # emerge reiserfsprogs  (If you use the Reiser file system)
livecd conf.d # emerge dhcpcd         (If you need a DHCP client)
livecd conf.d # emerge ppp            (If you need PPPoE ADSL connectivity)
Настройка загрузчика

Установите (emerge) grub или lilo. Отредактируйте /boot/grub/grub.conf или /etc/lilo.conf, соответственно.

1. Использование grub

livecd conf.d # time emerge grub

real  1m8.634s
user  0m39.460s
sys   0m15.280s
livecd conf.d # nano -w /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz

# для пользователей genkernel
title=Gentoo Linux 2.6.11-r3
root (hd0,0)
kernel /kernel-genkernel-x86-2.6.11-gentoo-r3 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /initramfs-genkernel-x86-2.6.11-gentoo-r3

# для остальных пользователей (без initrd)
title=Gentoo Linux 2.6.11 r3
root (hd0,0)
kernel /kernel-2.6.11-gentoo-r3 root=/dev/hda3

# только если вам нужна двойная загрузка
title=Windows XP
root (hd0,5)
makeactive
chainloader +1
boot=/dev/hda
prompt
timeout=50
default=gentoo

# для пользователей, не использующих genkernel
image=/boot/kernel-2.6.11-gentoo-r3
  label=gentoo
  read-only
  root=/dev/hda3

# для пользователей genkernel
image=/boot/kernel-genkernel-x86-2.6.11-gentoo-r3
  label=gentoo
  read-only
  root=/dev/ram0
  append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev"
  initrd=/boot/initramfs-genkernel-x86-2.6.11-gentoo-r3

# Для двойной загрузки
other=/dev/hda6
  label=windows
livecd conf.d # grub
Probing devices to guess BIOS drives. This may take a long time.

grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  16 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/
grub/menu.lst"... succeeded
Done.

grub> quit

И продолжайте в секции Окончание.

2. Использование lilo

livecd conf.d # time emerge lilo

real  0m47.016s
user  0m22.770s
sys   0m5.980s
livecd conf.d # nano -w /etc/lilo.conf
boot=/dev/sda
prompt
timeout=50
default=gentoo

image=/boot/kernel
  label=Gentoo
  read-only
  root=/dev/sda3
livecd conf.d # lilo
Added Gentoo *

Выйдите из изолированной среды, размонтируйте все файловые системы и перезагрузитесь.

Окончание установки

Зайдите как root, затем добавьте одного или нескольких пользователей для повседневного использования командой useradd -m -G <группа> <имя пользователя>.

Если вы выполняли установку без сети, смонтируйте компакт-диск с пакетами в /mnt/cdrom и выполните export PKGDIR="/mnt/cdrom", после чего вы сможете устанавливать дополнительное ПО, например, kde, командой emerge -k <имя пакета>. для .

Спасибо за установку Gentoo!