В данной статье рассматривается установка с минимального диска install-amd64-minimal-.iso и использованием архива stage3 — stage3-amd64-*.tar.gz.
Скачать ISO-образ минимального диска install-amd64-minimal-*.iso можно из зеркало репозитариев Яндекса: https://mirror.yandex.ru/gentoo-distfiles/releases/amd64/autobuilds/current-install-amd64-minimal/
Загружаем систему.
Выясним, как в системе определяется сетевой интерфейс. Для этого вводим команду:
# ifconfig -a
Результат показал enp0s3
Теперь запустим настройку сетевого интерфейса командой net-setup:
# net-setup enp0s3
В появившемся диалоговом окне спрашивает, действительно ли этот интерфейс необходимо настроить
Отвечаем Yes.
Следующее окно — типы сети (проводная или беспроводная)
Выбираем нужную.
Затем появится окно для выбора способа конфигурирования: автоматический (с помощью DHCP-сервера в сети) или ручной
Выбираем ручной (пункт 2).
В следующем окне спрашивает, какую утилиту использовать для конфигурирования сети: ifconfig или iproute2
Выбираем ifconfig (пункт 1).
Следующее окно — вводим IP-адрес
широковещательный адрес
маску сети
шлюз
IP-адрес DNS-сервера
DNS-суффикс оставляем пустым
и выходим из утилиты.
В консоли вводим команду
# ifconfig
и проверяем, чтобы изменения вступили в силу
Теперь, если есть необходимость продолжить установку через другой компьютер в сети, можно запустить SSH-сервер
# rc-service sshd start
и через SSH подключиться и продолжить установку.
Переходим к разметке диска.
Запускаем утилиту cfdisk
# cfdisk
выбираем тип разметки dos
Первый раздел sda1 размечаем под загрузку (примерно 256M) с меткой Boot, второй sda2 — для подкачки (можно 2G) и третий sda3 — под корень «/» (остальное свободное место).
При необходимости, если требуется, можно также отдельно разметить под /home, /var, /usr или /tmp.
Переходим на пункт Write, вводим yes (то есть соглашаемся с вносимыми изменениями)
записываем разметку на диск и возвращаемся обратно в консоль.
Теперь отформатируем созданные разделы:
sda1 — в файловую систему ext2
# mkfs.ext2 /dev/sda1
sda3 — в ext4
# mkfs.ext4 /dev/sda3
sda2 — в swap
# mkswap /dev/sda2
Теперь для инсталляции необходимо примонтировать созданные разделы.
Сначала монтируем корневой раздел в каталог /mnt/gentoo
# mount /dev/sda3 /mnt/gentoo
затем создадим каталог /mnt/gentoo/boot и примонтируем к ней раздел загрузки sda1
# mkdir /mnt/gentoo/boot # mount /dev/sda1 /mnt/gentoo/boot
и после этого включаем подкачку
# swapon /dev/sda2
Переходим в каталог /mnt/gentoo
# cd /mnt/gentoo
и с помощью links загрузим страницу зеркала Яндекса
# links https://mirror.yandex.ru/gentoo-distfiles/releases/amd64/autobuilds/current-install-amd64-minimal/
Отсюда нам необходимо загрузить архив stage3-amd64-*.tar.xz.
Переходим курсором на него и жмём Enter. Появится окно с предложением сохранить или показать файл
Отвечаем Save и он начнёт скачиваться
После скачивания выходим из links (буквой q) и возвращаемся в консоль.
Затем распакуем полученный архив командой
# tar -xpvf stage3-amd64-20210207T214503Z.tar.xz
Таким образом, мы распакуем окружение системы и сможем продолжить установку.
Теперь необходимо выбрать зеркало для синхронизации портажей. Для этого запустим утилиту mirrorselect
# mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Здесь пометим звёздочками https://mirror.yandex.ru/gentoo-distfiles и http://mirror.yandex.ru/gentoo-distfiles
Жмём OK и возвращаемся в консоль.
Затем скопируем файл resolv.conf на диск
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
После этого примонтируем /proc, /dev и /sys к жёсткому диску
# mount -t proc none /mnt/gentoo/proc # mount -o bind /dev /mnt/gentoo/dev # mount -t sysfs none /mnt/gentoo/sys
и изменяем корень в режиме chroot
# chroot /mnt/gentoo /bin/bash
Затем создадим каталог /var/db/repos/gentoo
# mkdir /var/db/repos/gentoo
Обновим окружение
# env-update # source /etc/profile # export PS1="(chroot) $PS1"
Затем создадим каталог для портажей и синхронизируем их
# mkdir /usr/portage # emerge --sync
Теперь настроим поддержку русского языка в консоли. Открываем файл /etc/locale.gen
# nano /etc/locale.gen
и в конце файла добавим строчки
en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8
Перезапускаем локаль
# locale-gen
Настроим московское время
# cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Теперь установим и настроим ядро. Качаем исходники
# USE="-doc symlink" emerge gentoo-sources
Открываем файл /etc/portage/make.conf
# nano /etc/portage/make.conf
и в самый низ добавим строчку
ACCEPT_LICENSE="*"
После этого устанавливаем утилиту автоматической сборки ядра
# emerge genkernel
и запустим команду
# genkernel all
Этот процесс займёт некоторое время.
Затем устанавливаем утилиту автоматического распознавания устройств udev, службу журналирования syslog-ng, dcron, и, если необходимо, чтобы машина получала IP-адрес от DHCP-сервера, службу DHCP-клиента
# emerge udev syslog-ng dcron dhcpcd
Добавим всё это в автозагрузку
# rc-update add udev boot # rc-update add syslog-ng default # rc-update add dcron default # rc-update add dhcpcd default
Также, если необходимо будет работать с машиной через SSH, включаем в автозагрузку и SSH-сервер
# rc-update add sshd default
Чтобы подключиться через SSH с правами root, необходимо открыть конфиг /etc/ssh/sshd_config
# nano /etc/ssh/sshd_config
и добавить строчку
PermitRootLogin yes
Затем перезапустить SSH-сервер
# rc-service sshd restart
После этого открываем файл для автоматического монтирования разделов диска
# nano /etc/fstab
и пропишем в него следующие строки:
/dev/sda1 /boot ext2 noatime 1 2 /dev/sda3 / ext4 noatime 0 1 /dev/sda2 none swap sw 0 0 /dev/cdrom /mnt/cdrom auto noauto,ro 0 0 /dev/fd0 /mnt/floppy auto noauto 0 0
Теперь поправим имя хоста. Для этого открываем файл hostname
# nano /etc/conf.d/hostname
и вписываем свой.
Затем настроим сеть. Для этого создадим файл /etc/conf.d/net
# touch /etc/conf.d/net
открываем его
# nano /etc/conf.d/net
и впишем свои настройки сетевого интерфейса
config_enp0s3="192.168.1.55 netmask 255.255.255.0" routes_enp0s3="default via 192.168.1.1" dns_servers_enp0s3="8.8.8.8 8.8.4.4"
Если машина должна получить сетевые настройки через DHCP-сервер, то тогда впишем так:
config_enp0s3="dhcp"
После этого создадим символьную ссылку на net.enp0s3
# cd /etc/init.d # ln -s net.lo net.enp0s3 # cd /
и добавим сетевой интерфейс в автозагрузку
# rc-update add net.enp0s3 default
Теперь запаролим суперпользователя
# passwd
Настроим раскладку клавиатуры. Для этого откроем файл keymaps
# nano /etc/conf.d/keymaps
и исправим строчку
keymap="us"
на
keymap="ru"
Настроим часы
# nano /etc/conf.d/hwclock
и исправим строчку
clock="UTC"
на
clock="local"
Теперь установим и сконфигурируем загрузчик grub и os-prober
# emerge grub
Размаскировываем и устанавливаем
# emerge --autounmask-write os-prober grub:2
Запускаем dispatch-conf
# dispatch-conf
и жмём кнопки u, u чтобы размаскировать grub
Теперь устанавливаем
# emerge os-prober grub:2 # grub-install /dev/sda # grub-mkconfig -o /boot/grub/grub.cfg
Если не запустить dispatch-conf, может возникнуть такая ошибка:
Выходим из режима chroot
# exit
Размонтируем все подключённые разделы и файловые системы
# umount /mnt/gentoo/{proc,dev,sys} # umount /mnt/gentoo/boot
и перезагружаем машину
# reboot
Больше LiveCD нам не понадобится
После перезагрузки настроим русификацию консоли
Установим утилиты terminus-font, intlfonts, freefonts, cronyx-fonts, corefonts, kbd
# emerge terminus-font intlfonts freefonts cronyx-fonts corefonts kbd
Затем создадим файл /etc/env.d/02locale
# touch /etc/env.d/02locale
и внесём в него следующие строчки:
LC_ALL="" LANG="ru_RU.UTF-8"
После этого откроем файл /etc/conf.d/keymaps
# nano /etc/conf.d/keymaps
и исправим следующие строчки:
keymap="ru"
на
# Alt + Shift keymap="ruwin_alt_sh-UTF-8"
или
# Ctrl + Shift keymap="ruwin_ct_sh-UTF-8"
и
windowkeys="YES"
на
windowkeys="NO"
Остальные строчки должны быть такими:
extended_keymaps="" dumpkeys_charset="" fix_euro="NO"
Теперь откроем файл /etc/conf.d/consolefont
# nano /etc/conf.d/consolefont
в нём исправим следующие строки:
consolefont="default8x16"
на
consolefont="UniCyr_8x16"
раскомментируем и исправим
#consoletranslation="8859-1_to_uni"
на
consoletranslation=""
Добавим consolefont в автозагрузку:
# rc-update add consolefont boot
С настройкой русификации всё.
Теперь настроим файл hosts
# nano /etc/hosts
исправим
127.0.0.1 localhost
на свой, например
127.0.0.1 gentoo-test.homenet gentoo-test localhost
Для удобства установим файловый менеджер Midnight Commander
# emerge app-misc/mc
Запускаем его при необходимости
# mc
Теперь можно и перезагрузиться. Первоначальная настройка системы готова.