Handbook.Quick Installation.

Handbook.Quick Installation.


Варианты установки Gentoo

Gentoo можно установить разными способами. Вы можно загрузить и установить Gentoo с помощью официальных установочных носителей - LiveGui USB Image.

Установочный носитель можно записать на USB-носитель или предоставить к нему доступ из загруженного с сети окружения. Gentoo также можно установить с неофициального носителя, например, из уже установленного дистрибутива или не-Gentoo загрузочного диска.

Диск разбивал не по хэндбуку (fdisk), а консольной программой cfdisk.

Также можно и графической программой с LiveCD - gparted.

Создание разделов на диске с GPT для UEFI

dev/sda1 /efi vfat - Данные системного раздела EFI (ESP).

/dev/sda2 н/д. swap - Данные раздела подкачки.

/dev/sda3 / ext4 - Данные корневого раздела.

Устанавливал по Handbook, что то пропускал, что можно установить позже. У меня все “завелось”.


Format_Mount_Parted

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

Предупреждение

При использовании SSD или NVMe диска, пожалуйста, проверьте наличие обновлений для прошивки. В частности, некоторые SSD от Intel (600p и 6000p) нуждаются в обновлении прошивки для исправления критических ошибок , чтобы не допустить повреждение данных из-за особенностей использования I/O в XFS (не по вине самой файловой системы). Программа smartctl умеет отображать модель и версию прошивки

Введение

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

В следующем разделе описаны различные поддерживаемые в Linux файловые системы. Стоит продолжить чтение, чтобы узнать о доступных вариантах…

Файловые системы

Linux поддерживает несколько десятков файловых систем, хотя для большинства из них необходимы достаточно веские причины их использовать. Лишь только некоторые из них можно считать стабильными на архитектуре amd64.

XFS - рекомендуемая стабильная файловая система общего применения для всех платформ. Ниже представлен неполный список файловых систем:

btrfs

Файловая система нового поколения. Предоставляет множество продвинутых функций, таких как мгновенные снимки, самовосстановление с помощью контрольных сумм, поддержка прозрачного сжатия, подтомов и интегрированный RAID. Ядра старше ветки 5.4 не обеспечивают безопасную работу btrfs, так как исправления наиболее серьёзных проблем стабильности появились только в более поздних ветках долговременной поддержки (LTS) ядра. RAID 5/6 и quota groups небезопасны на всех версиях btrfs.

ext4

Ext4 является стабильной файловой системой общего применения для всех платформ, хотя в ней отсутствуют современные возможности по типу «reflinks».

f2fs

Файловая система (Flash-Friendly File System) была создана Samsung для использования на NAND-накопителях. Она может быть достойным выбором при установке на microSD карту, USB-накопитель или другие накопители.

XFS

Файловая система с журналированием метаданных, которая поставляется с мощным набором функций и оптимизирована для масштабируемости. Она непрерывно обновляется, обрастая новым возможностями. Единственным недостатком является то, что разделы с XFS пока нельзя уменьшать (хотя и над этим ведётся работа). Примечательно, что XFS поддерживает «reflinks» и механизм «копирование при записи» (Copy-on-Write, CoW), что весьма полезно для Gentoo систем из-за частых и/или больших компиляций, которые совершает пользователь. XFS является рекомендуемой современной файловой системой общего назначения для всех платформ. Для неё требуется раздел размером не менее 300 МБ.

vfat

Так же известная как FAT32, поддерживается Linux, но не имеет поддержку стандартных файловых разрешений UNIX. В основном используется для взаимодействия или взаимозаменяемости с другими операционными системами (в основном Microsoft Windows и Apple macOS), но также необходима при использовании некоторых системных прошивок загрузчика (например, UEFI). Пользователям систем с UEFI должны использовать эту файловую систему для EFI System Partition , чтобы иметь возможность загружаться.

NTFS

New Technology Filesystem является основной файловой системой для Microsoft Windows начиная с NT 3.5. Как и VFAT, она не сохраняет настройки UNIX разрешений и расширенные атрибуты, необходимые для нормальной работы BSD или Linux, поэтому в большинстве случаев её не следует использоваться в качестве файловой системы для корневого раздела. Её следует использовать только для взаимодействия или обмена данными с системами Microsoft Windows (обратите внимание на акцент слова только ).

Создание файловой системы на разделе

Заметка

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

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

Файловая_система 	 Команда_для_создания 	Присутствует в «живом» окружении? 	   Пакет

btrfs 	                mkfs.btrfs 	          Да                                     sys-fs/btrfs-прогс

ext4 	                mkfs.ext4 	          Да                                     sys-fs/e2fsprogs

f2fs 	                mkfs.f2fs 	          Да                                     sys-fs/f2fs-инструменты

xfs 	                mkfs.xfs 	          Да                                     sys-fs/xfsprogs

vfat 	                mkfs.vfat 	          Да                                     sys-fs/dosfstools

NTFS 	                mkfs.ntfs 	          Да                                     sys-fs/ntfs3g

Важно

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

Файловая система системного раздела EFI

Системный раздел EFI ( /dev/sda1 ) должен быть отформатирован как FAT32:

  • root # mkfs.vfat -F 32 /dev/sda1

Устаревшая файловая система загрузочного раздела BIOS

Системы, загружающиеся через устаревший BIOS с меткой диска MBR/DOS, могут использовать любой формат файловой системы, поддерживаемый загрузчиком.

Например, для форматирования с помощью XFS:

  • root # mkfs.xfs /dev/sda1

Форматировать корневой раздел (/dev/sda3) в ext4:

  • root # mkfs.ext4 /dev/sda3

Активация раздела подкачки

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

  • root # mkswap /dev/sda2

Чтобы активировать раздел подкачки, используйте swapon :

  • root # swapon /dev/sda2

Этот шаг «активации» необходим только потому, что раздел подкачки создается заново в рабочей среде.

После перезагрузки системы, если раздел подкачки правильно определен в fstab или другом механизме монтирования, пространство подкачки активируется автоматически.

Монтирование корневого раздела

Заметка

Установки, которые ранее были начаты, но не завершили процесс установки, могут возобновить установку с этого места в руководстве. Используйте эту ссылку в качестве постоянной: Возобновленные установки начинаются здесь

Совет

Если в качестве установочного носителя используется *не Gentoo-образ, необходимо дополнительно создать точку монтирования:*

root # mkdir --parents /mnt/gentoo

Только для установок EFI ESP следует монтировать в корневом разделе:

  • root # mkdir --parents /mnt/gentoo/efi

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

Теперь, когда созданы разделы и размещённые на них файловые системы, настало время их смонтировать. Используйте команду mount , только не забудьте предварительно создать каталоги для монтирования каждого созданного раздела. В качестве примера мы смонтируем корневой раздела:

Смонтируйте корневой раздел:

  • root # mount /dev/sda3 /mnt/gentoo

При необходимости продолжайте монтировать дополнительные (настраиваемые) разделы с помощью команды монтирования.


Make Stage

Скачивание архива stage

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

  • root #cd /mnt/gentoo

Установка даты и времени

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

Текущую дату и время можно проверить с помощью команды date:

  • root # date

Пн, 3 октября 13:16:22 по тихоокеанскому времени 2021 г.

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

Автоматическая настройка

Использование NTP для исправления перекоса часов обычно проще и надежнее, чем настройка системных часов вручную.

chronyd часть net-misc/chrony можно использовать для обновления системных часов до UTC с помощью:

  • root # chronyd -q

Важно

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

Установка файла stage

Далее распакуйте загруженный stage-архив в систему, Для этого используйте утилиту tar в такой же форме:

  • root # tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner

Перед распаковкой ознакомьтесь с ее параметрами:

  • x - extract tar дает команду извлечь содержимое архива.

  • p - резервные разрешения.

  • v - подробный вывод.

  • f - файл , предоставляет tar имя входного архива.

  • --xattrs-include='*.*' - Сохраняет расширенные атрибуты во всех пространствах имен, хранящихся в архиве.

  • --numeric-owner - Убедитесь, что идентификаторы пользователей и групп файлов, извлекаемых из архива, остаются такими же, как предполагала команда разработчиков выпуска Gentoo (даже если предприимчивые пользователи не используют официальную живую среду Gentoo для процесса установки).

Теперь, когда stage распакован, перейдём к настройке параметров компиляции

Настройка параметров компиляции

Введение

Для оптимизации системы можно установить переменные, которые влияют на поведение Portage, официально поддерживаемого менеджера пакетов Gentoo. Все эти переменные могут быть установлены как переменные окружения (с помощью export ), но установка через export не будет постоянной.

Заметка

Технически, переменные можно экспортировать через профиль shell или файлы rc, однако это не лучшая практика для базового администрирования системы.

При запуске Portage читает файл make.conf , который изменяет поведение во время выполнения в зависимости от значений, записанных в этом файле. make.conf можно считать основным конфигурационным файлом для Portage, поэтому будьте внимательнее с его содержимым.

Совет

Cписок всех возможных переменных с комментариями можно найти в:

  • /mnt/gentoo/usr/share/portage/config/make.conf.example.

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

Запустите редактор (в этом руководстве мы используем nano ) для изменения параметров оптимизации, о которых написано далее.

  • root # nano /mnt/gentoo/etc/portage/make.conf

В файле make.conf.example показано, как файл должен быть структурирован:

строки комментариев начинаются с #, другие строки описывают переменные вида ПЕРЕМЕННАЯ=”содержание”.

Некоторые из этих переменных мы обсудим в следующем разделе.

CFLAGS и CXXFLAGS

Переменные CFLAGS и CXXFLAGS определяют параметры оптимизации для компиляторов GCC C и C++ соответственно. Хотя они и указаны здесь, для достижения максимальной производительности можно было бы указать флаги оптимизации для каждой программы отдельно. Причина этого в том, что все программы различны. Но этим тяжело управлять, следовательно, запишем эти переменные в make.conf файл.

В make.conf следует указывать параметры оптимизации, которые сделают систему наиболее отзывчивой в целом. Не нужно использовать экспериментальные настройки; излишняя оптимизация может привести к непредсказуемому поведению программ (аварийному завершению, или ещё хуже, к неправильной работе).

Руководство пользователя не описывает все возможные параметры оптимизации. За более подробной информацией обратитесь к Документации GNU или к инфо-странице gcc ( info gcc ). Сам файл make.conf.example тоже содержит множество примеров и информации, так что не забудьте прочитать его.

Первым параметром обычно является флаг -march= или -mtune=, который указывает имя целевой архитектуры. Возможные варианты описаны в файле make.conf.example (в комментариях). Обычно используется значение native , который сообщает компилятору, чтобы он использовал целевую архитектуру существующей системы (той, на которую будет установлена Gentoo).

Второй параметр оптимизации — это флаг -О (это заглавная буква О, а не ноль), который определяет класс оптимизации для gcc. Возможные классы: s (оптимизация по размеру), 0 (ноль — без оптимизации), 1, 2 или даже 3 для более лучшей оптимизация по скорости (в каждый класс входят все флаги предыдущего, и некоторые дополнительные). -O2 является рекомендованным значением по умолчанию. -O3 может вызывать проблемы при глобальном использовании на уровне системы, так что мы рекомендуем придерживаться -O2.

Ещё одним популярным флагом оптимизации является -pipe (использование конвейера вместо временных файлов для взаимодействия между различными стадиями компиляции). Это не имеет никакого влияния на сгенерированный код, при этом использует больше памяти. В системах с небольшим объемом памяти gcc может аварийно завершиться из-за нехватки памяти. В этом случае не используйте этот флаг.

Использование -fomit-frame-pointer (не хранить указатель фрейма в регистре для функций, которым он не нужен) может привести к серьезным последствиям во время отладки приложений.

Определение переменных CFLAGS и CXXFLAGS позволяет комбинировать несколько флагов оптимизации в одной строке. Значений по умолчанию, содержащихся в архиве stage3, обычно более чем достаточно. Ниже приведён пример конфигурации:

Пример для переменных CFLAGS и CXXFLAGS

# Флаги компилятора, используемые для всех языков
COMMON_FLAGS = "-march=native -O2 -pipe"
# Используйте те же настройки для обеих переменных
CFLAGS = " ${ COMMON_FLAGS } "
CXXFLAGS = " ${ COMMON_FLAGS } "

MAKEOPTS

Переменная MAKEOPTS определяет, сколько параллельных процессов компиляции должно запускаться при установке пакета. На момент Portage версии 3.0.31 [1] , если переменная не определена, Portage выставит параметр jobs в MAKEOPTS на то же количество потоков, которое возвращает nproc .

Кроме того, начиная с Portage версии 3.0.53 [2] , если переменная не определена, Portage по такой же логике (используя вывод nproc ) выставит параметр load-average в MAKEOPTS .

Лучше всего выбрать наименьшее из следующих значений: количество потоков у процессора или общий объем ОЗУ системы, разделённый на 2 ГиБ.

Предупреждение

Использование большого количества процессов может значительно повлиять на потребление памяти. Хорошая рекомендация — имейте не менее 2 Гб свободной оперативной памяти на каждый поток (так, например, для -j6 потребуется не менее 12 ГиБ). Чтобы избежать нехватки памяти, уменьшите количество процессов.

Совет

Когда вы используете параллельный emerge ( –jobs), количество потоков может вырасти в разы (до количества make потоков, помноженное на количество emerge потоков). Это можно обойти, запустив distcc только для localhost, с конфигурацией, которая ограничит количество экземпляров компилятора на хосте.

/etc/portage/make.conf

Пример объявления переменной MAKEOPTS:

# Если переменная не определена, то по умолчанию Portage:
# - устанавливает значение параметра jobs в переменной MAKEOPTS равным количеству потоков, получая информацию от `nproc`
# - устанавливает значение параметра load-average в переменной MAKEOPTS равным количеству потоков, получая информацию от `nproc`
# Пожалуйста, замените число '4' на соответствующее характеристикам системы (руководствуясь формулой min(ОЗУ/2ГиБ, кол-во потоков)),
# или оставьте не-заданным.
MAKEOPTS = "-j4 -l4"
  • nano -w /etc/portage/make.conf

Пример:

COMMON_FLAGS="-march=native -O2 -pipe"

CFLAGS="${COMMON_FLAGS}"

CXXFLAGS="${COMMON_FLAGS}"

FCFLAGS="${COMMON_FLAGS}"

FFLAGS="${COMMON_FLAGS}"

# NOTE: This stage was built with the bindist Use flag enabled

PORTDIR="/var/db/repos/gentoo"

DISTDIR="/var/cache/distfiles"

PKGDIR="/var/cache/binpkgs"

# This sets the language of build output to English.

# Please keep this setting intact when reporting bugs.

LC_MESSAGES=C

MAKEOPTS=" -j5 "

USE="X -bluetooth -gpm alsa unicode ABI_X86=64 dbus amd64 abi_x86_32 -qt4 -qt5 gtk -gnome -kde -dvd -cdr pulseaudio -i3wm xinerama -telemetry -phonehome"

VIDEO_CARDS="intel" # для драйвера video карты

ACCEPT_LICENSE="*" # принимаем все условия лицензионного согдашения

LANGUAS="ru"

L10N="ru»


Installing_basic_system

Переход в изолированную среду

Копирование информации о DNS

Единственное, что ещё осталось сделать перед входом в новое окружение, это скопировать информацию о DNS из файла /etc/resolv.conf .

Это нужно сделать, чтобы сеть всё ещё будет работать даже после входа в новое окружение.

Файл /etc/resolv.conf содержит сервера имён.

Чтобы скопировать эту информацию, рекомендуется ввести ключ –dereference для команды cp . Благодаря этому /etc/resolv.conf будет скопирован как файл, если является символьной ссылкой. В противном случае в новом окружении символическая ссылка будет ссылаться на несуществующий файл (так как цель ссылки, скорее всего, будет недоступна внутри нового окружения) .

  • root # cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

Монтирование необходимых файловых систем

Через несколько мгновений корневая система Linux будет перемещена в новое место.

Файловые системы, которые должны быть доступны:

  • /proc/ — псевдофайловая система. Она выглядит как обычные файлы, но на самом деле генерируется на лету ядром Linux

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

  • /dev/ — это обычная файловая система, которая содержит все файлы устройств. Она частично управляемется менеджером устройств Linux (обычно udev )

  • /run/ — временная файловая система, которая содержит генерируемые на лету файлы по типу файлов PID или файлов блокировки (locks)

Каталог /proc/ монтируется в /mnt/gentoo/proc/ , остальные — через перепривязку точки монтирования. Это означает, что, например, /mnt/gentoo/sys/ на самом деле будет /sys/ (это просто вторая точка входа в ту же файловую систему), тогда как /mnt/gentoo/proc/ является новой точкой монтирования (так сказать, экземпляром) файловой системы.

Совет

При использовании установочного носителя Gentoo этот шаг можно заменить простой командой:

  • arch-chroot /mnt/gentoo
    root #mount --types proc /proc /mnt/gentoo/proc
    root #mount --rbind /sys /mnt/gentoo/sys
    root #mount --make-rslave /mnt/gentoo/sys
    root #mount --rbind /dev /mnt/gentoo/dev
    root #mount --make-rslave /mnt/gentoo/dev
    root #mount --bind /run /mnt/gentoo/run
    root #mount --make-slave /mnt/gentoo/run
    

    Заметка

Параметр –make-rslave необходим только для дальнейшей поддержки systemd в ходе установки.

Предупреждение

Если при установке используется не дистрибутив Gentoo, то этого может быть недостаточно. Некоторые дистрибутивы делают /dev/shm символьной ссылкой на /run/shm/ , которая после перехода в изолированную среду станет недействительной.

Создание правильного подключения /dev/shm/ в tmpfs поможет избежать этой проблемы:

  • root # test -L /dev/shm && rm /dev/shm && mkdir /dev/shm

  • root # mount –types tmpfs –options nosuid,nodev,noexec shm /dev/shm

Также проверьте, что права доступа установлены в 1777:

  • root # chmod 1777 /dev/shm /run/shm

Переход в новое окружение

Теперь, когда все разделы инициализированы и базовое окружение установлено, настало время войти в новое установочное окружение (выполнить chroot).

Это означает, что сессия изменит свой корневой каталог (наивысший каталог, в который можно перейти) из текущей установочного окружения (CD или другого установочного носителя) в систему установки (где находятся размеченные разделы).

Переход в изолированное окружение делается в три шага:

  1. Изменение корневого каталога с / (который находится на установочном носителе) в /mnt/gentoo/ (на разделах диска) с помощью команды chroot или arch-chroot если доступно.

  2. Загрузка в память некоторых параметров из /etc/profile с помощью команды source

  3. Изменение приглашения командной строки, чтобы не забыть, что эта сессия находится в изолированном окружении.

  • root # chroot /mnt/gentoo /bin/bash

  • root # source /etc/profile

  • root # export PS1="(chroot) ${PS1}"

С этого момента все действия выполняются непосредственно в новом окружении Gentoo Linux.

Совет

Если установка Gentoo будет прервана где-то после этой точки, можно «продолжить» установку с последнего состояния. Не нужно разбивать диск снова! Просто смонтируйте корневой раздел снова и проделайте предыдущие шаги, начиная с копирования информации о DNS , для повторного входа в рабочее окружение. Эти шаги подойдут и для решения проблем с загрузчиком. Больше информации можно найти в статье chroot . Подготовка к загрузчику

Теперь, когда новая среда введена, необходимо подготовить новую среду для загрузчика. Когда придет время устанавливать загрузчик, важно смонтировать правильный раздел.

Системы UEFI

Для систем UEFI /dev/sda1 был отформатирован в файловой системе FAT32 и будет использоваться в качестве системного раздела EFI (ESP).

Создайте новый каталог /efi (если он еще не создан), а затем смонтируйте туда ESP:

  • root # mkdir /efi

  • root # mount /dev/sda1 /efi

Системы DOS/Legacy BIOS

В системах DOS/Legacy BIOS загрузчик будет установлен в каталог /boot, поэтому монтируйте его следующим образом:

  • root # mount /dev/sda1 /boot

Настройка Portage

Установка снимка Gentoo репозитория ebuild-файлов

Следующим шагом будет установка снимка репозитория ebuild-файлов Gentoo. Этот снимок содержит коллекцию файлов, которая сообщает Portage о доступных программах (для установки), какой профиль может выбрать системный администратор, о новостях о конкретных пакетах или профилях и так далее.

emerge-webrsync рекомендуется использовать в случаях, когда система находится за межсетевым экраном (для загрузки снимка используется только протоколы HTTP/HTTPS), а также когда необходимо снизить нагрузку канал сети. У кого нет ограничений с сетью или шириной канала, могут счастливо перейти к следующему разделу.

Команда ниже загрузит последний снимок (которые выпускаются каждый день), с одного из зеркал Gentoo, и распакует его в системе:

  • root # emerge-webrsync

Заметка

Во время этой операции, emerge-webrsync может жаловаться на отсутствие /var/db/repos/gentoo/. В этом нет ничего страшного — инструмент сам создаст этот каталог.

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

некоторые системные пакеты, установленные из архива stage, могут иметь новые доступные версии. Пакетному менеджеру теперь известно о новых пакетах благодаря снимку репозитория. Обновление пакетов можно проигнорировать, этот процесс можно отложить до завершения установки Gentoo.

Выбор зеркала

Для быстрой загрузки исходного кода рекомендуется выбрать быстрое, географически находящееся рядом зеркало. Portage будет искать в файле make.conf переменную GENTOO_MIRRORS и использовать перечисленные в ней зеркала. Можно просмотреть список зеркал Gentoo и найти зеркало (или несколько зеркал), наиболее близко расположенное к месту физического расположения (чаще всего они и есть самые быстрые).

Инструмент под названием Mirrorselect предоставляет красивый текстовый интерфейс для более быстрого запроса и выбора подходящих зеркал. Просто перейдите к выбранным зеркалам и нажмите Spacebar для выбора одного или нескольких зеркал.

  • root # emerge --ask --verbose --oneshot app-portage/mirrorselect

  • root # mirrorselect -i -o >> /etc/portage/make.conf

Альтернативно список активных зеркал доступен онлайн:

https://www.gentoo.org/downloads/mirrors/

Выбор подходящего профиля

Совет

Профили desktop (для настольных систем) можно использовать не только со средами рабочего стола . Они также подходят и для минимальных менеджеров окон, таких как i3 или sway.

Профиль — это важная часть любой системы Gentoo. Он не только определяет такие важные переменные, как USE , CFLAGS и многие другие, а также фиксирует версии для определённых пакетов. Все эти нюансы поддерживаются разработчиками Portage в Gentoo.

Для того, чтобы увидеть, какой профиль использует система на данный момент, запустите eselect с модулем profile:

  • root # eselect profile list

Доступные цели символических ссылок профиля:

[1] по умолчанию/linux/amd64/23.0 *

[2] по умолчанию/linux/amd64/23.0/рабочий стол

[3] по умолчанию/linux/amd64/23.0/desktop/gnome

[4] по умолчанию/linux/amd64/23.0/desktop/kde

Заметка

Вывод команды является только примером и может меняться время от времени.

Заметка

Для использования systemd выберите профиль, в котором содержится слово «systemd» (или его отсутствие в обратном случае).

Для некоторых архитектур есть субпрофиль для настольных систем.

Предупреждение

Не стоит халатно относиться к обновлениям профиля. Выбирая изначальный профиль, используйте тот, что соответствует той же версии , которая была использована в stage3 (к примеру, 23.0). Каждая новая версия профиля объявляется через элемент новостей с инструкциями по миграции. Следуйте им, прежде чем перейти на новый профиль.

После просмотра доступных профилей для архитектуры amd64, пользователи могут выбрать другой системный профиль:

  • root # eselect profile set 23

Установка бинарных пакетов

По умолчанию Portage скомпилирует пакеты из исходного кода. Ему можно поручить использовать бинарные пакеты следующими способами:

The –getbinpkg Опцию можно передать при вызове команды Ergo . Этот метод установки двоичного пакета полезен для установки только определенного двоичного пакета.

Изменение системных настроек по умолчанию с помощью переменной FEATURES Portage , которая доступна в файле /etc/portage/make.conf . Применение этого изменения конфигурации приведет к тому, что Portage запросит у хоста двоичных пакетов запрошенные пакеты и вернется к локальной компиляции, если результаты не будут найдены.

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

  • nano /etc/portage/make.conf

Настройте Portage для использования бинарных пакетов по умолчанию:

# Добавление getbinpkg к списку значений переменной FEATURES
 FEATURES  =  "  ${  FEATURES  }  getbinpkg"
 # Требование подписей
 FEATURES  =  "  ${  FEATURES  }  binpkg-request-signature"

Также запустите getuto для Portage, чтобы настроить необходимый набор ключей для проверки:

  • root #getuto

Обновление набора @world

Это действие необходимо , чтобы система могла применить какие-либо обновления с момента сборки stage3 и обновления профиля: выполняющие «быструю установку Gentoo», могут безопасно пропускать обновления @world set до тех пор, пока их система не перезагрузится в новую среду Gentoo.

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

  • root # emerge --ask --verbose --update --deep --newuse @world

Удаление устаревших пакетов

Важно всегда выполнять очистку после обновления системы, чтобы удалить устаревшие пакеты. Внимательно просмотрите выходные данные с помощью команды escape –depclean –pretend , чтобы узнать, следует ли сохранять какой-либо из пакетов, подлежащих очистке, если вы используете их лично. Чтобы сохранить пакет, который в противном случае был бы очищен, используйте expire –noreplace foo

  • root # emerge –ask –pretend –depclean

Если все устраивает, приступайте к настоящей очистке:

  • root # emerge –ask –depclean

Совет

Если до этого был выбран профиль для полноценной графической оболочки, процесс установки может занять значительное время. Оценить время установки очень просто: чем короче имя профиля, тем меньше будет набор @world ; чем меньше набор @world, тем меньше пакетов системе потребуется. Другими словами:

При выборе default/linux/amd64/23.0 потребует обновления небольшого количества пакетов

При выборе default/linux/amd64/23.0/desktop/gnome/systemd потребует обновления гораздо большего числа пакетов, так как система инициализации поменяется с OpenRC на systemd, и будут установлены пакеты рабочего стола GNOME.

Часовой пояс

Заметка

Этот раздел неприменим к пользователям стандартной библиотеки C musl. Если вы не знаете, что это такое, то к вам это не относится и вы должны следовать этому разделу. Предупреждение Старайтесь не использовать часовые пояса, начинающиеся с /usr/share/zoneinfo/Etc/GMT* , так как их названия не отражают настоящий часовой пояс. Например, GMT-8 на самом деле является GMT+8 .

Выберите часовой пояс для системы. Просмотрите список всех доступных часовых поясов в каталоге /usr/share/zoneinfo/ :

  • root # ls -l /usr/share/zoneinfo

  • root # ls -l /usr/share/zoneinfo/Europe/

Предположим, что необходимо установить часовой пояс /Asia/Kamchatka :

OpenRC

Мы записываем название часового пояса в файл /etc/timezone .

  • root # echo “Asia/Kamchatka” > /etc/timezone

Далее перенастроим пакет sys-libs/timezone-data , что обновит файл /etc/localtime , основываясь на записи в /etc/timezone

Файл /etc/localtime используется системной библиотекой C, чтобы узнать, в каком часовом поясе находится система:

  • root # emerge –config sys-libs/timezone-data

Заметка

Файл /etc/localtime используется системной библиотекой C для определения часового пояса, в котором находится система.

Systemd

При использовании systemd процесс немного отличается. Мы создаём символьную ссылку:

  • root #ln -sf ../usr/share/zoneinfo/Europe/Brussels /etc/localtime

Впоследствии, вы можете настроить часовой пояс и связанные настройки с помощью команды timedatectl

Настройка локалей

Заметка

Этот раздел неприменим к пользователям musl libc.

Если вы не знаете, что это такое, то к вам это не относится и вы должны следовать этому разделу.

Генерация локалей

Большинству пользователей достаточно иметь одну или две локали на своих системах.

Локаль указывает не только язык, который использует пользователь при взаимодействии с системой, но и правила для сортировки строк, формат вывода даты и времени, и так далее. Локали являются регистрозависимыми и должны использоваться так, как они описаны.

Полный список доступных локалей можно найти в файле /usr/share/i18n/SUPPORTED .

Локали, поддерживаемые системой, должны быть указаны в /etc/locale.gen

  • root # nano /etc/locale.gen

Следующие локали являются примером для создания английской (США) и русской (Россия) локалей с поддержкой формата символов (например, UTF-8)

ФАЙЛ /etc/locale.gen

Включение US и RU локалей с поддержкой формата символов

  • en_US ISO-8859-1

  • en_US.UTF-8 UTF-8

  • ru_RU.UTF-8 UTF-8

Предупреждение

Для сборки многих приложений наличие хотя бы одной локали с поддержкой UTF-8 является обязательным требованием.

Далее, запустим команду locale-gen , которая создаст все перечисленные в файле /etc/locale.gen локали.

  • root # locale-gen

Чтобы убедится, что выбранные локали теперь доступны, запустите команду locale -a .

На установках с systemd можно использовать localectl , т.е. команды localectl set-locale … или localectl list-locales . Выбор локали

Теперь настало время установить локаль для всей системы. И снова используется eselect для этого, только теперь с модулем locale.

Команда eselect locale list выведет список доступных локалей:

  • root # eselect locale list

Доступные цели для переменной LANG:

  [1] С
  [2] C.utf8
  [3] en_US
  [4] en_US.iso88591
  [5] en_US.utf8
  [6] de_DE
  [7] de_DE.iso88591
  [8] de_DE.utf8
  [9] ПОСИКС
  [ ] (свободная форма)

Команда eselect locale set установит необходимую локаль:

  • root # eselect locale set 2

Это всё ещё можно сделать вручную с помощью файла /etc/env.d/02locale (для systemd с помощью файла /etc/locale.conf )

далее добавим поддержку кириллицы в консоли:

nano /etc/conf.d/consolefont

и добавим cyr-san16

consolefon-"cyr-san16"

далее включим службу consolefont

добавим:

rc-update add consolefont boot

rc-service consolefont start

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

env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

ФАЙЛ /etc/env.d/02locale

Ручная настройка системной локали:

  • LANG = “ru_RU.UTF-8”

  • LC_COLLATE = “C.UTF-8”

Установка локали предотвратит появление предупреждений и ошибок в процессе компиляции ядра и программ.

Заново перезагрузите окружение:

root # env-update && source /etc/profile && export PS1="(chroot) ${PS1}"


Kernel_Install

Рекомендуется установить пакет sys-kernel/linux-firmware перед первоначальной перезагрузкой системы, чтобы прошивка была доступна в случае необходимости:

  • root # emerge --ask sys-kernel/linux-firmware

SOF-прошивка

Sound Open Firmware (SOF) — это новый аудиодрайвер с открытым исходным кодом, предназначенный для замены проприетарного аудиодрайвера Smart Sound Technology (SST) от Intel. Для процессоров Intel 10-го поколения+ и Apollo Lake (Atom E3900, Celeron N3350 и Pentium N4200) требуется эта прошивка для определенных функций, а некоторые APU AMD также поддерживают эту прошивку. Матрицу поддерживаемых SOF платформ можно найти здесь для получения дополнительной информации.

  • root # emerge --ask sys-firmware/sof-firmware

Конфигурация и компиляция ядра

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

От наименьшего вмешательства к наибольшему:

Полностью автоматический подход: Distribution-ядра

Проект Distribution Kernel используется для конфигурации, автоматической сборки и установки ядра Linux, связанных с ним модулей и (опционально, но по умолчанию включено) файла initramfs. Новые обновления ядра полностью автоматизированы, поскольку они обрабатываются через менеджер пакетов, как и любой другой системный пакет. В случае необходимости можно предоставить пользовательский конфигурационный файл ядра . Это наименее сложный процесс и идеально подходит для новых пользователей Gentoo, так как работает "из коробки" и требует минимального участия системного администратора.

Гибридный подход: Genkernel

Новые обновления ядра устанавливаются через системный менеджер пакетов. Системные администраторы могут использовать инструмент Gentoo genkernel для общей конфигурации, автоматической сборки и установки ядра Linux, связанных с ним модулей и (опционально, но не включено по умолчанию) файла initramfs. Можно предоставить пользовательский файл конфигурации ядра, если необходима кастомизация. Будущая конфигурация, сборка и установка ядра требуют участия системного администратора в виде выполнения eselect kernel , genkernel и, возможно, других команд для каждого обновления.

Полностью ручная настройка

Новые исходные тексты ядра устанавливаются с помощью системного менеджера пакетов. Ядро конфигурируется, собирается и устанавливается вручную с помощью команды eselect kernel и множества команд make . С новыми обновлениями ядра повторяется ручной процесс конфигурирования, сборки и установки файлов ядра. Это самый сложный процесс, но он обеспечивает максимальный контроль над процессом обновления ядра.

Distribution-ядра

Distribution-ядра — это ebuild-файлы, которые охватывают полный процесс распаковки, конфигурирования, компиляции и установки ядра. Основным преимуществом этого метода является то, что ядра обновляются до новых версий менеджером пакетов во время обновления @world. Для этого используется только команда emerge . Distribution-ядра по умолчанию сконфигурированы для поддержки большинства оборудования, для более тонкой настройки предлагаются два механизма: saveconfig и сниппеты конфигурации.

Установка distribution-ядра

Перед установкой пакета ядра dracut необходимо добавить USE-флаг для пакета sys-kernel/installkernel в /etc/portage/package.use :

  • nano /etc/portage/package.use/installkernel

Включить поддержку dracut

  • sys-kernel/installkernel dracut

Чтобы собрать ядро из исходного кода с патчами Gentoo, введите:

root # emerge --ask sys-kernel/gentoo-kernel

Администраторы систем, которые хотят избежать сборки ядра из исходных текстов на компьютере, могут вместо этого использовать предварительно скомпилированные образы ядра:

  • root # emerge --ask sys-kernel/gentoo-kernel-bin

Обновление и очистка

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

Чтобы освободить место на диске, устаревшие пакеты можно удалить, периодически запуская emerge с опцией –depclean:

  • root # emerge --depclean

Также можно удалить именно устаревшие ядра:

  • root # emerge --prune sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin

Информация о файловой системе

Метки файловых систем и UUID

И MBR (BIOS), и GPT поддерживают как метки (labels), так и UUID файловой системы. Эти свойства могут быть определены в /etc/fstab в качестве альтернативы для команды mount для определения блочного устройства. Такие свойства используются при попытке найти и примонтировать блочные устройства. Метки и UUID файловой системы определяются через префиксы LABEL и UUID. Их можно посмотреть командой blkid:

  • root #blkid

О файле fstab

В Linux все разделы, используемые системой, должны быть записаны в файле /etc/fstab . Этот файл содержит информацию о точках монтирования разделов (где они должны быть видны в структуре файловой системы), как они должны быть подключены, а также специальные параметры (автоматическое подключение или нет, может ли пользователь их подключать или нет и так далее)

Создание файла fstab

Заметка:

Если используется система инициализации systemd, UUID разделов соответствуют спецификации обнаруживаемых разделов, как указано в разделе «Подготовка дисков» , и система использует UEFI, то создание fstab можно пропустить, поскольку systemd автоматически монтирует разделы, соответствующие спецификации.

В файле /etc/fstab используется синтаксис, напоминающий таблицу. Каждая строка состоит из шести полей, которые разделены пропусками (пробелами, отступами или смесь этого). Каждое поле имеет своё значение:

Первое поле содержит блочное устройство (или удалённую файловую систему), которое следует примонтировать. Для экземпляров блочных устройств возможно использование различных идентификаторов, включая путь к устройству, метки файловой системы, метки раздела и UUID

Второе поле содержит точку монтирования, к которой следует монтировать раздел.

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

Четвёртое поле содержит параметры, используемые командой mount во время монтирования. Так как у каждой файловой системы могут быть собственные уникальные параметры, рекомендуется прочитать man-страницу команды mount ( man mount ), чтобы получить полный список всех возможных параметров. Параметры монтирования разделяются запятыми.

Пятое поле используется командой dump для определения того, нуждается ли раздел в дампе или нет. Обычно это поле содержит 0 (ноль).

Шестое поле используется командой fsck для определения порядка проведения проверки ошибок файловой системы, если система была отключена некорректно. Для корневой файловой системы необходимо указывать 1, для остальных — 2 (или 0, если проверка не требуется вовсе).

При использовании auto в третьем поле команда mount попытается автоматически определить тип файловой системы. Это рекомендуется для отсоединяемых устройств, которые могут использовать разные файловые системы. Параметр user в четвертом поле позволяет монтировать компакт-диски обычными пользователями.

Чтобы повысить производительность, большинство пользователей хотели бы добавить noatime опция монтирования, которая приводит к более быстрой работе системы, поскольку время доступа не регистрируется (в любом случае они обычно не нужны). Это также рекомендуется для систем с твердотельными накопителями (SSD). Пользователи могут пожелать рассмотреть lazytime вместо.

Совет:

Из–за ухудшения производительности, не рекомендуется устанавливать опцию монтирования discard в /etc/fstab . Вместо этого планируйте удаление блоков на периодической основе с помощью планировщика заданий, такого, как cron , или с помощью таймера (systemd). Смотрите статью Periodic fstrim jobs для более подробной информации.

Дважды проверьте файл /etc/fstab , сохраните его и выйдите из редактора, чтобы продолжить дальше

Важно

Файл /etc/fstab , который предоставляется в файлах stage Gentoo по умолчанию, не является валидным файлом fstab , а представлен в качестве шаблона, который может быть использован для ввода актуальных значений.

root # nano /etc/fstab

Редактирование файла fstab

  • nano /etc/fstab

пример файла:

Заполняем fstab

Если вы установили пакет arch-install-scripts, то просто выполните следующее:

genfstab -U /mnt/gentoo > /mnt/gentoo/etc/fstab

Если нет, то можно взять скрипт с гитхаба:

https://github.com/glacion/genfstab

Install:

Установите сценарии Arch-Install с помощью apt

Обновите базу данных apt с помощью apt используя следующую команду.

  • sudo apt update

После обновления базы данных apt мы можем установить arch-install-scripts с использованием apt выполнив следующую команду:

  • sudo apt -y install arch-install-scripts

или вручную:

UUID можно узнать с помощью blkid

для большего удобства можно сделать так

  • blkid /dev/sda1 » /etc/fstab

  • blkid /dev/sda2 » /etc/fstab

  • blkid /dev/sda3 » /etc/fstab

  • blkid /dev/sda4 » /etc/fstab

Информация о сети

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

Для более конкретной настройки сети systemd, пожалуйста, обратитесь к разделу Сеть статьи systemd.

Имя хоста

Первое решение, которое предстоит принять администратору системы, это как назвать его/её компьютер. Кажется, что это является довольно лёгким решением, но многие пользователи испытывают трудности с поиском подходящего имени для своего компьютера. Чтобы не мешкать слишком долго, выберите любое имя — его можно будет сменить позже. Например, в приведённом ниже примере используется имя хоста tux.

Установка имени хоста OpenRC

  • root # echo tux > /etc/hostname

systemd

Чтобы установить имя хоста для системы с уже запущенным systemd, можно воспользоваться утилитой hostnamectl.

Например, чтобы установить имя хоста на “tux”, необходимо запустить:

  • root # hostnamectl hostname tux

Просмотрите помощь, используя команду hostnamectl –help или man 1 hostnamectl

Файл hosts

Следующим шагом мы дадим Linux сведения о сетевом окружении. Это делается с помощью /etc/hosts, который помогает разрешать имя узла в IP-адреса для узлов, которых нет в сервере имён.

  • root # nano /etc/hosts - # Внесение сетевой информации:

Это обязательные настройки для текущей системы

127.0.0.1 tux.homenetwork tux localhost

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

192.168.0.5 jenny.homenetwork jenny

192.168.0.6 benny.homenetwork benny

Сохраните и закройте текстовый редактор для продолжения

Системная информация

Пароль суперпользователя

Изменить пароль суперпользователя (с именем root) можно с помощью команды passwd.

  • root # passwd

Позже будет создан обычный пользователь для повседневных задач

Настройка инициализации и загрузки

OpenRC

Если вы используете OpenRC, эта система инициализации использует /etc/rc.conf для настройки сервисов, запуска и остановки системы.

Откройте /etc/rc.conf и прочтите комментарии в файле.

Проверьте настройки и измените их при необходимости:

  • root # nano /etc/rc.conf

Далее, откройте /etc/conf.d/keymaps для настройки раскладки клавиатуры.

Отредактируйте файл и выберите нужную раскладку:

  • root # nano /etc/conf.d/keymaps

Соблюдайте особую осторожность с переменной keymap. Если выбрать неправильный раскладку, то может получится странный результат при печати текста

Наконец, отредактируйте /etc/conf.d/hwclock чтобы установить параметры часов:

  • root # nano /etc/conf.d/hwclock

Если аппаратные часы не настроены на время UTC, то в файле необходимо установить:

clock="local"

В противном случае система может отображать неправильное время.

systemd

Сначала рекомендуется запустить systemd-machine-id-setup, а затем systemd-firstboot, которые подготовят различные компоненты системы к первой загрузке в новой среде systemd.

При передаче следующих опций пользователю будет предложено установить локаль, часовой пояс, имя хоста, пароль от root и пользовательскую оболочку для root.

После этого, установке будет присвоен случайный идентификатор машины:

  • root # systemd-machine-id-setup

  • root # systemd-firstboot –prompt

Затем пользователи должны запустить systemctl, чтобы сбросить все установленные файлы устройств на предустановленные значения правил:

  • root # systemctl preset-all –preset-mode=enable-only

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

  • root #systemctl preset-all

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


Setting_up_system

Системный журнал

OpenRC

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

app-admin/sysklogd — предоставляет традиционный набор возможностей. Настройки по умолчанию работают хорошо из коробки, что делает этот пакет хорошим вариантом для начинающих.
app-admin/syslog-ng — расширенные возможности ведения системного журнала. Требуются дополнительные настройки для того, чтобы журналировать что-либо в один большой файл. Некоторые продвинутые пользователи могут выбрать этот пакет за его потенциал; имейте ввиду, что дополнительные настройки необходимы для любого вида умного журналирования.
app-admin/metalog — гибко настраиваемая система журналирования.

Установите выбранный пакет для ведения системного журнала. Для OpenRC, добавьте его в уровень запуска по умолчанию (default runlevel), используя rc-update. Следующий пример устанавливает и активирует app-admin/sysklogd в качестве системной утилиты для ведения системного журнала:

-root # emerge --ask app-admin/sysklogd

-root # rc-update add sysklogd default

systemd

Хотя для систем на базе OpenRC представлен ряд способов ведения журналов, systemd включает в себя встроенную службу под названием systemd-journald. Служба systemd-journald способна обрабатывать большинство функций ведения журнала, описанных в предыдущем разделе об журналировании. Иными словами, большинство установок, в которых будет использоваться systemd, могут спокойно пропустить установку этих дополнительных утилит.

Смотрите man journalctl для более подробной информации об использовании journalctl для запроса и просмотра системных журналов.

Планировщик задач

OpenRC

Хотя планировщик задач (cron, от греч. χρόνος — время) является необязательной для системы программой, всё-таки рекомендуется его установить.

Демон cron выполняет команды через заданные интервалы времени. Интервалы могут быть ежедневными, еженедельными или ежемесячными, раз в вторник, раз в две недели и т.д. Знающий системный администратор может использовать сron-демон для автоматизации рутинных задач по обслуживанию системы.

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

Gentoo предлагает для выбора несколько возможных демонов cron, включая:

sys-process/cronie — cronie основан на оригинальном cron и содержит улучшения безопасности и конфигурации, такие как возможность использования PAM и SELinux.
sys-process/dcron — Этот лёгкий демон cron стремится быть простым и безопасным, с достаточным количеством функций, чтобы оставаться полезным.
sys-process/fcron — Планировщик команд с расширенными возможностями по сравнению с cron и anacron.
sys-process/bcron — Более современная система cron, разработанная с учетом безопасности операций. Для этого система разделена на несколько отдельных программ, каждая из которых отвечает за отдельную задачу, со жёстко контролируемыми сообщениями между частями.

cronie

Следующий пример использует sys-process/cronie:

  • root # emerge --ask sys-process/cronie

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

  • root # rc-update add cronie default

systemd

Подобно вышеупомянутому системному журналу, системы на базе systemd включают поддержку запланированных задач из коробки в виде таймеров. Таймеры systemd могут работать на уровне системы или на уровне пользователя и включают ту же функциональность, что и традиционный демон cron. Если нет необходимости в избыточных возможностях, установка дополнительного планировщика задач обычно не нужна и может быть пропущена.

Индексирование файлов

Индексирование файлов поможет искать файлы в системе гораздо быстрее. Для этого установите sys-apps/mlocate.

  • root # emerge --ask sys-apps/mlocate

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

Bash

Bash — это оболочка по умолчанию для систем Gentoo, поэтому установка расширений завершения может повысить эффективность и удобство управления системой. Пакет app-shells/bash-completion установит дополнения, доступные для конкретных команд Gentoo, а также многих других распространенных команд и утилит:

  • root # emerge --ask app-shells/bash-completion

Синхронизация времени

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

Например, чтобы настроить Chrony:

  • root # emerge --ask net-misc/chrony

OpenRC

Для OpenRC, запустите:

  • root # rc-update add chronyd default

systemd

Для systemd, запустите:

  • root #systemctl enable chronyd.service

Утилиты для файловых систем

В зависимости от используемых файловых систем может понадобиться установка соответствующих утилит для их обслуживания (проверки целостности, (пере-)форматирования файловых систем и так далее). Обратите внимание, что пользовательские утилиты для ext4 (sys-fs/e2fsprogs) уже установлены как часть набора @system.

Так же рекомендуется установить пакет sys-block/io-scheduler-udev-rules для правильного поведения планировщика ввода/вывода с, к примеру, NVMe устройствами:

  • root # emerge --ask sys-block/io-scheduler-udev-rules

Сетевые утилиты

Если сеть была уже настроена в разделе Настройка системы и настройка сети завершена, то данный раздел «Сетевые утилиты» можно пропустить. В этом случае, переходите к разделу Настройка загрузчика.

Установка DHCP-клиента

Важно

Большинству пользователей понадобится DHCP-клиент для подключения к собственной сети. Если не установить никакой клиент, то впоследствии система не сможет настроить подключение к сети, что сделает невозможным скачивание DHCP-клиента.

DHCP-клиент автоматически получает IP-адрес для одного или нескольких сетевых интерфейсов во время работы сценария netifrc. Мы рекомендуем использовать net-misc/dhcpcd (смотрите также dhcpcd):

  • root # emerge --ask net-misc/dhcpcd

Установка клиента PPPoE

Если для подключения к Интернету требуется PPP, установите пакет net-dialup/ppp:

  • root # emerge --ask net-dialup/ppp

Установка утилит для беспроводной сети

Если система будет подключатся к беспроводной сети, установите пакет net-wireless/iw (в случае подключения к открытым сетям или защищённым протоколом WEP), и/или пакет net-wireless/wpa_supplicant (в случае подключения к сетям, защищённым WPA или WPA2). iw также является полезной утилитой для сканирования беспроводных сетей.

  • root # emerge --ask net-wireless/iw net-wireless/wpa_supplicant

Теперь продолжайте с раздела Настройка начального загрузчика.


Grub_Install

Заметка для пользователей UEFI:

запущенная команда выведет включенные значения в переменной GRUB_PLATFORMS, перед компиляцией.

Если используется более новая UEFI-совместимая материнская плата, пользователям сперва нужно убедиться, что GRUB_PLATFORMS=”efi-64” включено (обычно это уже сделано по умолчанию).

Если это не так, добавьте GRUB_PLATFORMS=”efi-64” в файл /etc/portage/make.conf до компиляции GRUB, что позволит собрать пакет с поддержкой EFI:

  • root # echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf

  • root # emerge --ask sys-boot/grub

Если GRUB был каким-то образом был установлен до включения GRUB_PLATFORMS=”efi-64”, то добавьте строку (из примера выше) в make.conf, после чего повторно переопределите зависимости для для набора пакетов world с помощью emerge –update –newuse:

  • root # emerge --ask --update --newuse --verbose sys-boot/grub

GRUB теперь установлен в системе, но еще не активирован.

Установка

При использовании UEFI

For UEFI systems:

root #grub-install --efi-directory=/efi

Installing for x86_64-efi platform.

Installation finished. No error reported.

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

Настройка

Далее, нужно сгенерировать конфигурационный файл GRUB на основе настроек пользователя, указанных в файле /etc/default/grub и сценариях /etc/grub.d . В большинстве случаев ничего не нужно настраивать, так как GRUB автоматически определяет, какое ядро есть для загрузки (самый высокий приоритет у /boot/ ) и какая файловая система у rootfs. Здесь также можно добавить параметры ядра в /etc/default/grub , используя переменную GRUB_CMDLINE_LINUX .

Для создания окончательной конфигурации GRUB, запустите команду grub-mkconfig :

root #grub-mkconfig -o /boot/grub/grub.cfg

Generating grub.cfg ...

Found linux image: /boot/vmlinuz-6.6.21-gentoo

Found initrd image: /boot/initramfs-genkernel-amd64-6.6.21-gentoo

done

Вывод команды должен содержать по крайней мере один образ Linux, так как он необходим для загрузки системы. Если используется initramfs или ядро создавалось с помощью genkernel , также должен быть указан правильный образ initrd. Если это не так, перейдите в /boot/ и проверьте содержимое, используя команду ls . Если файлы действительно отсутствуют, вернитесь к инструкции по настройке и установке ядра.


Account Management Users

Добавление учётной записи для повседневной работы

Работа под учётной записью root (суперпользователя) в системе Unix/Linux опасна, и этого следует всячески избегать. Поэтому для повседневной работы настоятельно рекомендуется добавить учётную запись обычного пользователя.

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

Группа Описание

audio Возможность доступа к аудиоустройствам.

cdrom Возможность прямого доступа к оптическим накопителям.

floppy Возможность прямого доступа к гибким дискам.

games Возможность играть в игры.

portage Возможность получать доступ к ограниченным ресурсам Portage.

usb Возможность доступа к устройствам USB.

video Возможность доступа к средствам видеозахвата и аппаратному ускорению видео.

wheel Возможность использования команды su.

Например, для создания учетной записи пользователя по имени larry, входящего в группы wheel, users и audio, сначала войдите в систему как root (только root может создавать учетные записи пользователей), а затем запустите useradd:

  • Login:root

  • Password: (Enter the root password)

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

Авторы справочника рекомендовали использовать пароль длиной не менее 16 символов, причем значение должно быть полностью уникальным для каждого другого пользователя в системе.

  • root # useradd -m -G users,wheel,audio -s /bin/bash larry

  • root # passwd larry

  • Password: (Enter the password for larry)

  • Re-enter password: (Re-enter the password to verify)

Временное повышение привилегий

Если пользователю потребуется выполнить задачу от имени root, для временного получения привилегий root можно использовать su - .

Другой способ - пользоваться пакетом sudo ( app-admin/sudo ) или doas ( app-admin/doas ), которые, при правильной настройке, очень безопасны.

Отключение учетной записи root

Чтобы предотвратить вход потенциальных злоумышленников в систему с правами root, удаление пароля root и/или отключение входа в систему root может помочь повысить безопасность.

Чтобы отключить root-вход:

  • root # passwd -l root

Чтобы удалить пароль root и отключить вход в систему:

  • root # passwd -dl root

Удаление архивов

Теперь, когда установка Gentoo закончена и система была благополучно перезагружена, можно удалить скачанный архив stage3 с жёсткого диска.

Помните, что он был скачан в каталог / .

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

  • root #rm /stage3-.tar.

DE_DW_DM

Установка графической оболочки

emerge --ask x11-base/xorg-server установка xorg

emerge --ask x11-base/xorg-drivers

emerge --ask gui-libs/display-manager-init

rc-update add display-manager default

rc-service display-manager start


====> XFCE + lightdm

emerge --ask xfce-base/xfce4-meta xfce-extra/xfce4-notifyd - это xfce4

emerge --ask x11-misc/lightdm-gtk-greeter - это lightdm


=====> KDE + SDDM

emerge --ask kde-plasma/plasma-meta

emerge --ask x11-misc/sddm

emerge --ask kde-apps/kdeadmin-meta

emerge --ask kde-apps/kdecore-meta

emerge --ask kde-apps/kdeutils-meta

emerge --ask pulsaudio - звуковой пакет

emerge --ask plasma-pa


Вносим наш дисплейменеджер

nano -w /etc/conf.d/display-manager

Пример:

DISPLAYMANAGER="sddm"

или

DISPLAYMANAGER="lightdm"


=====> Fluxbox

Fluxbox — просто программа, запускающаяся на X11

emerge --ask x11-wm/fluxbox

По желанию можно запустить X11, выполнив startx и потом в xterm набрать fluxbox.

Однако это как минимум скучно делать при каждом запуске. Если вы желаете запускать X11 вручную, то можно добавить Fluxbox в автозагрузку X11, выполнив следующую команду от обычного пользователя.

user $echo "exec startfluxbox" > ~/.xinitrc


USE-флаги

USE flags for [x11-wm/fluxbox](https://packages.gentoo.org/packages/x11-wm/fluxbox) X11 window manager featuring tabs and an iconbar

Установите необходимые USE-флаги в файле /etc/portage/package.use.

Например, следующая команда настроит Fluxbox для использования truetype и vim-syntax:

echo "x11-wm/fluxbox truetype vim-syntax imlib systray toolbar bidi nls test xinerama" >> /etc/portage/package.use


firefox

Бинарный пакет (firefox-bin)

имеется предварительно скомпилированная (двоичная) версия Создание исходной версии Firefox может оказаться длительным процессом, поэтому в репозитории Gentoo ebuild .

Чтобы открыть двоичный файл Firefox:

root # emerge --ask www-client/firefox-bin

Важно

Использование предварительно скомпилированного пакета www-client/firefox-bin означает, что почти все USE-флаги не могут быть установлены: установка этих флагов при использовании этого пакета не приведет к изменению двоичного файла. При использовании готового пакета обратите внимание на это сообщение.

Firefox из исходного кода:

root # emerge --ask www-client/firefox

USE-флаги firefox(исходный код)

/etc/portage/packages.use:

www-client/firefox +X +clang +gmp-autoupdate +jumbo-build +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp -telemetry dbus debug eme-free geckodriver -gnome-shell hardened hwaccel jack libproxy lto openh264 pgo +pulseaudio -screencast selinux sndio system-png system-python-libs valgrind -wayland


urxvt

Install x11-terms/rxvt-unicode:

emerge --ask rxvt-unicode

USE flags

USE flags for x11-terms/rxvt-unicode

rxvt clone with xft and unicode support

root # echo "x11-terms/rxvt-unicode font-styles mousewheel 24-bit-color 256-color blink fading-colors gdk-pixbuf iso14755 startup-notification unicode3 xft" >> /etc/portage/package.use


Выходим из CHROOT

exit

cd

umount -l /mnt/gentoo/dev{/shm,/pts,}

umount -R /mnt/gentoo

reboot