Handbook:Alpha/Installation/Base

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:Alpha/Installation/Base and the translation is 100% complete.
Alpha Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система сценариев инициализации
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети OpenRC
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

Необязательно: Выбор зеркала

Распределение файлов

Совет
Можно пропустить этот шаг при использовании установочных носителей, отличных от Gentoo. Пакет app-portage/mirrorselect может быть установлен позже, вместе с stage3 (после шага Переход в новое окружение) и действия, определённые в этом разделе, могут быть выполнены в этот момент.

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

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

Gentoo репозиторий ebuild-файлов

Вторым важным шагом в выборе зеркала является настройка репозитория ebuild-файлов Gentoo в /etc/portage/repos.conf/gentoo.conf. Этот файл содержит информацию, необходимую для обновления репозитория пакетов (коллекции ebuild и связанных с ними файлов, содержащих всю необходимую Portage информацию для загрузки и установки пакетов программного обеспечения).

Настройка репозитория выполняется простыми действиями. Сперва создайте каталог repos.conf (если он ещё не существует):

root #mkdir --parents /mnt/gentoo/etc/portage/repos.conf

Далее, скопируйте файл конфигурации репозитория Gentoo, предоставляемый Portage, в (только что созданный) каталог repos.conf:

root #cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Просмотрите его с помощью текстового редактора или команды cat. Содержание в формате .ini должно выглядеть следующим образом:

ФАЙЛ /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[DEFAULT]
main-repo = gentoo
 
[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4
sync-webrsync-verify-signature = yes
sync-git-verify-commit-signature = yes

Значение переменной sync-uri по умолчанию будет определять местоположение зеркала на основе ротации. Это позволяет ослабить сетевую нагрузку на инфраструктуру Gentoo и повышает отказоустойчивость в случаях, когда конкретное зеркало недоступно. Рекомендуется придерживаться URI по умолчанию, если не используется локальное или частное зеркало Portage.

Совет
Спецификации API плагинов синхронизации Portage можно найти в статье Portage Sync.

Копирование информации о 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
  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.

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

После входа в новое окружение необходимо смонтировать раздел 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.

Необязательно: Обновление Gentoo репозитория ebuild-файлов

Также можно обновить репозиторий ebuild-файлов Gentoo до текущего состояния. Предыдущая команда emerge-webrsync устанавливает относительно недавний снимок (обычно не старше суток), поэтому этот шаг совершенно необязателен.

Если необходимо установить последние обновления пакетов (выпущенных не более 1 часа назад), то используйте emerge --sync. Эта команда использует rsync-протокол для обновления репозитория ebuild-файлов Gentoo (которое было получено ранее с помощью emerge-webrsync) до самой свежей версии.

root #emerge --sync

На медленных терминалах (с медленным кадровым буфером или через последовательный порт), рекомендуется использовать параметр --quiet для ускорения процесса:

root #emerge --sync --quiet

Чтение новостей

После обновления репозитория ebuild-файлов Gentoo, Portage может вывести похожие сообщения:

* IMPORTANT: 2 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.

Новостные сообщения были созданы для обеспечения коммуникационного канала и оповещения пользователей о важных событиях через репозиторий ebuild-файлов Gentoo. Для управления оповещениями используйте команду eselect news. Приложение eselect предоставляет общий интерфейс для системного администрирования. В данном случае eselect используется совместно с модулем news.

Для модуля news есть три наиболее распространенных операций:

  • list отображает общий список новостей.
  • с помощью read можно прочитать какую-либо новость.
  • purge удалит прочитанные новости, поэтому перечитать новость снова уже будет нельзя.
root #eselect news list
root #eselect news read

Более подробную информацию о чтении новостей можно найти на странице man:

root #man news.eselect

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

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

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

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

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/alpha/ *
  [2]   default/linux/alpha//desktop
  [3]   default/linux/alpha//desktop/gnome
  [4]   default/linux/alpha//desktop/kde
Заметка
Вывод команды является только примером и может меняться время от времени.
Заметка
Для использования systemd выберите профиль, в котором содержится слово «systemd» (или его отсутствие в обратном случае).

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

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

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

root #eselect profile set 2



Заметка
Подпрофиль developer сделан специально для разработки Gentoo Linux и не предназначен для использования обычными пользователями.

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

На данный момент разумно будет обновить @world, чтобы базовая часть системы изменилась.

Это действие необходимо, чтобы система могла применить какие-либо обновления с момента сборки stage3 и обновления профиля:

root #emerge --ask --verbose --update --deep --newuse @world
Совет
Если до этого был выбран профиль для полноценной графической оболочки, процесс установки может занять значительное время. Оценить время установки очень просто: чем короче имя профиля, тем меньше будет набор @world; чем меньше набор @world, тем меньше пакетов системе потребуется. Другими словами:
  • При выборе default/linux/amd64/ потребует обновления небольшого количества пакетов, когда как
  • При выборе default/linux/amd64//desktop/gnome/systemd потребует обновления гораздо большего числа пакетов, так как система инициализации поменяется с OpenRC на systemd, и будут установлены пакеты рабочего стола GNOME.

Настройка переменной USE

USE — это одна из самых мощных переменных Gentoo, доступная пользователям. Разные программы могут быть скомпилированы с или без поддержки некоторых элементов. Например, некоторые программы могут быть собраны с поддержкой GTK+ или Qt. Другие могут быть собраны с или без поддержки SSL. Некоторые программы можно даже собрать с поддержкой кадрового буфера (svgalib) вместо X11 (X-сервера).

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

В переменной USE пользователи могут определить ключевые слова, которые сказываются на параметрах сборки. Например, ssl компилирует SSL-поддержку в программах, которые её поддерживают. -X уберёт поддержку X-сервера (обратите внимание на знак минус перед X). gnome gtk -kde -qt5 скомпилирует программы с поддержкой GNOME (и GTK+), но без поддержки KDE (и Qt), что делает систему более оптимальной для использования GNOME (если архитектура поддерживает его).

Настройки по умолчанию для USE находятся в файле make.defaults профиля Gentoo, который используется на данный момент системой. Gentoo использует сложную систему наследования для своих профилей, которая не будет подробно рассматриваться во время установки. Простой способ проверить, какие настройки используются для USE — запустить emerge --info и просмотреть строку, начинающуюся с USE:

root #emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
Заметка
В приведённом выше примере список укорочен. Настоящий список USE флагов намного больше.

Полное описание всех доступных USE-флагов можно найти в файле /var/db/repos/gentoo/profiles/use.desc.

root #less /var/db/repos/gentoo/profiles/use.desc

При использовании команды less можно использовать прокрутку с помощью клавиш и , для выхода нажмите клавишу q.

В качестве примера мы покажем настройки USE для системы ориентированной для использования KDE с поддержкой DVD, ALSA и записи CD:

root #nano /etc/portage/make.conf
ФАЙЛ /etc/portage/make.confНастройки переменной USE для системы, ориентированной на использование KDE/Plasma с поддержкой DVD, ALSA и записи CD
USE="-gtk -gnome qt5 kde dvd alsa cdr"

Если USE-флаг определён в /etc/portage/make.conf, он будет добавлен (или удалён, если перед USE-флагом написан знак -) в список по умолчанию. USE флаги могут быть удалены добавлением знака - перед флагом. Например, чтобы выключить поддержку для графических окружений X, нужно задать -X:

ФАЙЛ /etc/portage/make.confИгнорирование USE-флагов по умолчанию
USE="-X acl alsa"
Предупреждение
Пусть это и возможно, но установка -* (что уберёт все USE флаги, кроме указанных в make.conf) не одобряется. Писатели ebuild'ов подбирают нужные флаги по умолчанию, для того, чтобы избежать конфликтов, улучшить безопасность, и по другим причинам. Удаление всех USE флагов нарушит поведение по умолчанию и может вызвать серьезные проблемы.

CPU_FLAGS_*

Некоторые архитектуры (включая AMD64/X86, ARM, PPC) имеют переменную USE_EXPAND под названием CPU_FLAGS_<ARCH> (где <ARCH> заменяется на соответствующую архитектуру системы).

Важно
Не перепутайте! Системы AMD64 и X86 имеют общую архитектуру, поэтому для систем AMD64 правильной переменной является CPU_FLAGS_X86.

Это используется для настройки сборки на компиляцию в определённый ассемблерный код или другие интринсики, обычно написанные вручную или каким-нибудь другим дополнительным способом, и это не то же самое, что попросить компилятор вывести оптимизированный код для определенной характеристики процессора (как, например, -march=).

Пользователям рекомендуется установить эту переменную, по желанию одновременно с настройкой COMMON_FLAGS.

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

root #emerge --ask app-portage/cpuid2cpuflags

Если интересно, проверьте вывод вручную:

root #cpuid2cpuflags

Затем скопируйте вывод в package.use:

root #echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags

VIDEO_CARDS

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

Необязательно: Настройка переменной ACCEPT_LICENSE

Лицензии пакета Gentoo хранятся в переменной LICENSE в ebuild-файле. Разрешенные лицензии или группы лицензий для системы определяются в следующих файлах:

  • Для всей системы в выбранном профиле.
  • Для всей системы в файле /etc/portage/make.conf.
  • По-пакетно в файле /etc/portage/package.license.
  • По-пакетно в каталоге /etc/portage/package.license/ с файлами.

Portage просматривает в ACCEPT_LICENSE, пакеты с какими лицензияи разрешены для установки. Чтобы вывести текущее системное значение, выполните команду:

user $portageq envvar ACCEPT_LICENSE
@FREE

По желанию переопределите принятое в системе значение по умолчанию в профилях, изменив /etc/portage/make.conf. /etc/portage/make.conf.

ФАЙЛ /etc/portage/make.confПример разрешения лицензий с помощью ACCEPT_LICENSE в масштабах всей системы
ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE"

По желанию системные администраторы могут также определить разрешаемые лицензии по-пакетно, как показано в следующем примере для каталога с файлами. Обратите внимание, что каталог package.license должен быть создан, если он ещё не существует:

root #mkdir /etc/portage/package.license
ФАЙЛ /etc/portage/package.license/kernelПример по-пакетного разрешения лицензии
app-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
Важно
Переменная LICENSE в ebuild-файле является только ориентиром для разработчиков и пользователей Gentoo. Она не является юридически значимым заявлением и не гарантирует, что условия использования соответствуют действительности. Не стоит доверять ей безоговорочно и при необходимости следует проводить полный аудит всех файлов, которые были установлены на системе.

Группы лицензий, определённые в Gentoo репозитории проектом Gentoo Licenses:

Название группы Описание
@GPL-COMPATIBLE Совместимые с GPL лицензии, одобренные Free Software Foundation [a_license 1]
@FSF-APPROVED Лицензии свободного ПО, одобренные FSF (включает @GPL-COMPATIBLE)
@OSI-APPROVED Лицензии, одобренные Open Source Initiative [a_license 2]
@MISC-FREE Различные лицензии, которые, вероятнее всего, тоже относятся к свободному ПО, то есть следуют Определению Свободного ПО [a_license 3], но не одобрены ни FSF, ни OSI
@FREE-SOFTWARE Сочетание @FSF-APPROVED, @OSI-APPROVED и @MISC-FREE
@FSF-APPROVED-OTHER Одобренные FSF лицензии для «свободной документации» и «работ для практического применения, не являющихся ПО или документацией» (включая шрифты)
@MISC-FREE-DOCS Различные лицензии для свободных документов и прочих работ (включая шрифты), следующие определению свободного произведения [a_license 4], но НЕ включены в @FSF-APPROVED-OTHER
@FREE-DOCUMENTS Сочетание @FSF-APPROVED-OTHER и @MISC-FREE-DOCS
@FREE Надмножество всех лицензий, обладающих свободой использования, распространения, изменения и распространения изменений. Сочетание @FREE-SOFTWARE и @FREE-DOCUMENTS
@BINARY-REDISTRIBUTABLE Лицензии, разрешающие по крайней мере свободное распространение ПО в двоичной форме. Включает в себя @FREE
@EULA Лицензионные соглашения, которые пытаются отобрать ваши права. Они более строги, чем «все права защищены», или могут требовать явного согласия.



Часовой пояс

Заметка
Этот раздел неприменим к пользователям стандартной библиотеки C musl. Если вы не знаете, что это такое, то к вам это не относится и вы должны следовать этому разделу.

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

root #ls /usr/share/zoneinfo

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

OpenRC

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

root #echo "Europe/Brussels" > /etc/timezone

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

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

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

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
Available targets for the LANG variable:
  [1]  C
  [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] POSIX
  [ ]  (free form)

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

root #eselect locale set 8

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

ФАЙЛ /etc/env.d/02localeРучная настройка системной локали
LANG="ru_RU.UTF-8"
LC_COLLATE="C.UTF-8"

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

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

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

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