Gentoo_Pingvinus
Простая и быстрая установка Gentoo Linux
Взято: - https://pingvinus.ru/note/gentoo-linux-install
Gentoo Handbook: - https://wiki.gentoo.org/wiki/Handbook:Main_Page
Поехали!
Немного о процессе установки.
В качестве Live-образа можно использовать как официальный Live-CD, так и любую другую систему такого типа.
Лично я рекомендую использовать Linux Mint: загрузился и сразу начинаешь устанавливать ОС.
Однако никто не мешает использовать что-то иное, тут уже на ваш выбор.
- Узнаем название тома и откроем разметчик диска.
Для примера я буду использовать /dev/sda/
-
sudo su # не забываем про рут
-
lsblk
-
cfdisk /dev/sda
или
- cfdisk /dev/sda -z
Отлично. Теперь разобьём диск на нужные разделы. Лично я всегда использую следующую разметку:
/dev/sda1 (512MB) — /boot/efi
/dev/sda2 (1GB) — swap
/dev/sda3 (всё остальное) — /
Как вариант можно разделить root и home, однако тут уже по желанию.
- Создаём файловые системы на нашем диске.
-
mkfs.fat -F 32 /dev/sda1 # раздел для Grub
-
mkswap /dev/sda2 # swap-раздел
-
mkfs.ext4 /dev/sda3 # раздел для корня в ext4
- Монтируем!
Разработчики Gentoo рекомендуют монтировать разделы не в /mnt (как происходит, например, в Arch Linux), а именно в /mnt/gentoo. Не будем сильно противиться и сделаем по их рекомендации.
-
mkdir /mnt/gentoo # создаём общую директорию монтирования
-
mkdir -p /mnt/gentoo/boot/efi # создаём директорию для раздела загрузки
-
mount /dev/sda1 /mnt/gentoo/boot/efi
-
swapon /dev/sda2
-
mount /dev/sda3 /mnt/gentoo
- Хватаем stage3 архив и скачиваем к нам в папку.
Виды Stage3 архивов
На сайте с загрузкой мы видим следующие виды архивов:
Stage 3 (openrc) — базовая система с системой инициализации OpenRC.
Stage3 (systemd | merged usr) — базовая система с systemd и объединенными /usr и /bin, /sbin, /lib, /lib64.
Stage 3 (desktop profile | openrc) — система уже с собранным desktop-профилем и OpenRC (о профилях расскажу чуть позднее).
Stage 3 (desktop profile | systemd | merged usr) — тут думаю понятно, что к чему.
Я лично использую Stage3 с OpenRC и готовым desktop профилем, однако вы можете выбрать любой архив под ваши задачи и нужды. Нажмём ПКМ по профилю и скопируем ссылку для скачивания.
Загрузим архив в /mnt/gentoo.
-
cd /mnt/gentoo
-
wget -c https://distfiles.gentoo.org/releases/amd64/autobuilds/20240204T134829Z/stage3-amd64-desktop-openrc-20240204T134829Z.tar.xz # OpenRC + Desktop Profile
Распакуем архив.
- tar xpvf stage3-.tar.xz –xattrs-include=’.*’ –numeric-owner
- Конфигурируем portage.
Думаю, я не буду затрагивать тему CFLAGS и CXXFLAGS, так как на таком раннем этапе это не очень актуально.
После установки ОС вы сможете ознакомиться со всем с помощью отличной документации самого дистрибутива.
Зададим MAKEOPTS.
Тут всё зависит от ресурсов вашего компьютера. Одна задача занимает около 2 гигабайт оперативной памяти. Следовательно, флаг “-j2” будет занимать 4 ГБ ОЗУ и так далее. В моем случае я возьму “-j6” как самый средний вариант.
- nano /mnt/gentoo/etc/portage/make.conf
MAKEOPTS="-j6"
Сразу зададим зеркало для репозиториев.
Для быстрой загрузки исходного кода рекомендуется выбрать быстрое, географически находящееся рядом зеркало. Portage будет искать в файле make.conf переменную GENTOO_MIRRORS и использовать перечисленные в ней зеркала. Можно просмотреть список зеркал Gentoo и найти зеркало (или несколько зеркал), наиболее близко расположенное к месту физического расположения (чаще всего они и есть самые быстрые).
Инструмент под названием Mirrorselect предоставляет красивый текстовый интерфейс для более быстрого запроса и выбора подходящих зеркал. Просто перейдите к выбранным зеркалам и нажмите Spacebar для выбора одного или нескольких зеркал.
-
emerge –ask –verbose –oneshot app-portage/mirrorselect
-
mirrorselect -i -o » /etc/portage/make.conf
Альтернативно зеркала можно посмотреть здесь:
https://www.gentoo.org/downloads/mirrors/
По аналогии с прошлым - скопируем ссылку и добавим в /mnt/gentoo/etc/portage/make.conf следующее:
GENTOO_MIRRORS="ваше зеркало"
Примем необходимые лицензии. Я принимаю все, потому пропишу:
ACCEPT_LICENSE="*"
- “Чрутнемся” в нашу Gentoo.
Для начала скопируем информацию про DNS, чтобы сеть продолжала работать внутри новой системы:
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
Также в Debian-based дистрибутивах можно установить пакет “arch-install-scripts”, который поможет нам сделать действие в одну команду.
Установите сценарии Arch-Install с помощью apt
Обновите базу данных apt с помощью apt используя следующую команду.
- sudo apt update
После обновления базы данных apt мы можем установить arch-install-scripts с использованием apt выполнив следующую команду:
-
sudo apt -y install arch-install-scripts
-
cp –dereference /etc/resolv.conf /mnt/gentoo/etc/
-
arch-chroot /mnt/gentoo
Если возможности использовать арчевские скрипты нет, то сделаем всё вручную.
mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
mount --bind /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run
Обязательно! Если используете не LiveCD от Gentoo, то проверим отсутствие симлинка с /dev/shm на /run/shm и сделаем /dev/shm временной файловой системой.
-
test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
-
mount –types tmpfs –options nosuid,nodev,noexec shm /dev/shm
-
chmod 1777 /dev/shm /run/shm
Если вы не использовали arch-chroot, то зайдем в нашу систему.
-
chroot /mnt/gentoo /bin/bash
-
source /etc/profile
-
export PS1=”(chroot) ${PS1}”
- Обновляем репозитории.
- emerge-webrsync
- Выбираем профиль.
Профиль - это как набор пакетов, собранных для определенных целей или задач. Например, Desktop Profile представляет собой набор программного обеспечения, нацеленный на использование системы в качестве десктопа. Desktop Gnome предназначен для удобства работы с окружением GNOME на операционной системе и так далее. Такие профили помогают быстро настроить систему под определенные нужды пользователя.
Давайте посмотрим, какие профили вообще есть.
- eselect profile list
Available profile symlink targets:
[1] default/linux/amd64/17.1 (stable)
[2] default/linux/amd64/17.1/selinux (stable)
[3] default/linux/amd64/17.1/hardened (stable)
[4] default/linux/amd64/17.1/hardened/selinux (stable)
[5] default/linux/amd64/17.1/desktop (stable) *
[6] default/linux/amd64/17.1/desktop/gnome (stable)
[7] default/linux/amd64/17.1/desktop/gnome/systemd (stable)
[8] default/linux/amd64/17.1/desktop/gnome/systemd/merged-usr (stable)
[9] default/linux/amd64/17.1/desktop/plasma (stable)
[10] default/linux/amd64/17.1/desktop/plasma/systemd (stable)
[11] default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr (stable)
[12] default/linux/amd64/17.1/desktop/systemd (stable)
[13] default/linux/amd64/17.1/desktop/systemd/merged-usr (stable)
........
Здесь мы можем увидеть, какие профили есть в нашей системе.
Если вы собираетесь использовать оконные менеджеры, или там Xfce или Mate, я советую выбрать профиль “default/linux/amd64/17.1/desktop (stable)”.
Если же вы планируете использовать Plasma или GNOME, то следует выбрать соответствующие профили.
В моем случае я выберу 5-й профиль.
- eselect profile set 5
- USE-флаги и обновление “миров”.
Маленькая справочка:
USE-флаги позволяют очень гибко конфигурировать ПО, включая или выключая те или иные возможности.
Приведу пример.
Вы хотите установить KDE Plasma, но не хотите тащить с ней GTK.
В USE-флагах вы просто выставляете значение “-gtk”, тем самым отключая поддержку GTK для всего ПО.
Тут всё очень индивидуально, но в целом для базовой установки их можно не настраивать.
Пора обновить “миры”, грубо говоря, установить пакеты из профиля и обновить систему.
- emerge –ask –verbose –update –deep –newuse @world
Если вы взяли Stage3 без десктоп-профиля, но выбрали его позднее - ждите, просто ждите. У меня это заняло порядка 4 часов, и это ещё не так много. В общем, не стоит бояться, мы собираем Gentoo.
- Настраиваем время и локали.
Если вы используйте OpenRC, то пропишите данную команду.
-
echo “Europe/Moscow” > /etc/timezone
-
echo “Asia/Kamchatka” > /etc/timezone
Europe/Moscow это стандартное юниксовое время.
Вы можете изменить его на своё, например, Europe/Saint Petersburg и так далее.
Если же у вас systemd, то всё так же как и в Arch Linux.
- ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Локали, как и в арче, находятся в /etc/locale.gen. Однако вместо списка там надо будет написать свои.
- nano /etc/locale.gen
en_US.UTF-8 UTF-8 # английский
ru_RU.UTF-8 UTF-8 # русский
- locale-gen
- Ставим ядро.
Первое что рекомендую, так это установить linux-firmware.
- emerge –ask sys-kernel/linux-firmware
Теперь, для установки ядра, установим пакет installkernel (не ядро). Однако перед установкой, добавим поддержку Dracut (без него у меня не завелось, по крайней мере).
- nano /etc/portage/package.use/installkernel
sys-kernel/installkernel dracut
Давайте установим сам пакет.
- emerge –ask sys-kernel/installkernel
Классно! Выбираем ядро.
Gentoo предлагает два варианта - gentoo-kernel и gentoo-kernel-bin. Если вы хотите сами собрать ядро, сконфигурировать его под своё железо и получить этот бесценный опыт сборки ядер, то берите стандартный gentoo-kernel.
- emerge –ask sys-kernel/gentoo-kernel
Я же возьму бинарное, так как с ним куда меньше возни.
- emerge –ask sys-kernel/gentoo-kernel-bin
- Заполняем fstab.
Если вы установили пакет arch-install-scripts, то просто выполните следующее.
- genfstab -U /mnt/gentoo > /mnt/gentoo/etc/fstab
Если нет, то можно взять скрипт с гитхаба: https://github.com/glacion/genfstab
или вручную:
Редактирование файла fstab
- nano /etc/fstab
UUID можно узнать с помощью blkid
для большего удобства можно сделать так:
blkid /dev/sda1 >> /etc/fstab
blkid /dev/sda2 >> /etc/fstab
blkid /dev/sda3 >> /etc/fstab
blkid /dev/sda4 >> /etc/fstab
- Зададим hostname.
- echo gentoo > /etc/hostname
Вместо “gentoo” можно брать любое, какое душе угодно, естественно.
- Заполняем /etc/hosts.
К уже существующим строкам добавим:
127.0.0.1 gentoo
- Ставим важный дополнительный софт.
Думаю, что без DHCP и Grub будет тяжеловато, поэтому установим их командой ниже.
- emerge –ask net-misc/dhcpcd sys-boot/grub sys-boot/efibootmgr
- Конфигурируем GRUB.
GRUB можно установить данными командами:
-
grub-install –target=x86_64-efi –efi-directory=/boot/efi –bootloader-id=gentoo
-
grub-mkconfig -o /boot/grub/grub.cfg
- Задаём пароль и делаем юзера.
-
passwd # пароль для рута
-
useradd -m vantiki # добавляем пользователя
-
passwd vantiki # даём пароль пользователю
- Перезагружаемся и получаем нашу Gentoo!
-
exit # выходим из chroot
-
umount -R /mnt/gentoo # отмонтируем все диски
-
reboot # перезагружаемся