Gentoo Linux sparc Handbook: Установка Gentoo

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:SPARC/Full/Installation and the translation is 100% complete.



Введение

Добро пожаловать

Прежде всего, добро пожаловать в Gentoo! Вы на пороге мира возможностей и высокой производительности. Gentoo всегда даёт свободу выбора. При установке Gentoo вы не раз убедитесь в этом: пользователи могут выбрать объём самостоятельной компиляции, способ установки Gentoo, какую выбрать службу журналирования и прочее.

Gentoo — это быстрый, современный, простой и гибкий метадистрибутив. Он основан на свободном программном обеспечении, и не скрывает от пользователя, «что под капотом». Portage, система управления пакетами Gentoo, написана на языке Python, что позволяет легко просматривать и изменять исходный код. Пакетный менеджер Gentoo использует исходный код (хотя есть и поддержка бинарных пакетов), а настройка Gentoo выполняется с помощью обычных текстовых файлов. Другими словами — везде сплошная открытость.

Важно понимать, что Gentoo развивается именно благодаря свободе выбора. Мы стараемся ничего не навязывать. А если кому-то покажется обратное — пожалуйста, сообщите нам об этом.

Как организована установка?

Установка Gentoo рассматривается как последовательность из 10 шагов, которым соответствуют следующий набор глав. Каждый шаг приводит к определенному состоянию:

Шаг Результат
1 Пользователь находится в рабочей среде, готовой к установке Gentoo.
2 Подключение к Интернету готово для установки Gentoo.
3 Жёсткие диски готовы к установке Gentoo.
4 Подготовлена установочная среда, и пользователь готов переключиться (chroot) в новую среду.
5 Развернуты основные пакеты, общие для всех систем Gentoo.
6 Установлено ядро Linux.
7 Создана основная часть конфигурационных файлов системы.
8 Установлены необходимые системные средства.
9 Установлен и настроен выбранный начальный загрузчик.
10 Только что установленное окружение Gentoo готово к изучению.

Каждый раз, когда будет предоставлен выбор, в Руководстве будут приведены все плюсы и минусы каждого варианта. Хотя текст будет продолжаться с использованием выбора по умолчанию (он помечен как «По умолчанию:» в заголовке), другие возможности также документированы (они документированы как «Альтернатива:» в заголовке). Не думайте, что выбор по умолчанию является рекомендацией Gentoo. Это всего лишь тот вариант, который, по мнению Gentoo, будет использовать наибольшее число пользователей.

Иногда есть возможность выполнить необязательный шаг. Такие шаги помечены как «Необязательно:» и не требуются для установки Gentoo. Однако, некоторые из них будут зависеть от ранее принятого решения. Мы будем сообщать об этом, как в момент выбора, так и непосредственно перед описанием необязательных шагов.

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

Gentoo можно установить разными способами. Вы можно загрузить и установить Gentoo с помощью официальных установочных носителей, таких как наши загрузочные ISO-образы. Установочный носитель можно записать на USB-носитель или предоставить к нему доступ из загруженного с сети окружения. Gentoo также можно установить с неофициального носителя, например, из уже установленного дистрибутива или не-Gentoo загрузочного диска (например, Knoppix).

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

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

Также существует статья Полезные советы по установке Gentoo, которая в некоторых случаях может быть полезна.

Проблемы

Если при установке вы столкнулись с проблемой (или с ошибкой в документации по установке), посетите нашу систему распределения запросов (англ.) и проверьте, возможно об этой ошибке уже известно. Если это не так, то создайте отчет об ошибке, чтобы мы о ней позаботились. Не бойтесь разработчиков, которым выпадает работа над вашими ошибками — людей они (обычно) не едят.

Хотя этот документ посвящён определенной архитектуре, в нём могут упоминаться и другие архитектуры, так как значительная часть Руководства Gentoo использует общий текст для всех архитектур (чтобы не дублировать работу). Во избежание путаницы, такие упоминания сокращены до минимума.

Если есть неуверенность, пользовательская ли ошибка (сделана какая-то погрешность, хотя внимательно прочитали документацию), или программная (какую-то ошибку совершили мы, несмотря тщательное тестирование установки/документации), то не стесняйтесь, заходите на канал #gentoo (webchat) сервера irc.libera.chat. Разумеется, мы будем рады пообщаться и по любым другим вопросам, так как наш канал освещает всё, что связано с Gentoo.

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





Аппаратные требования

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


Система Sparc Проверьте Gentoo Linux/SPARC64 список совместимостей, или UltraLinux FAQ
Центральный процессор В настоящий момент поддерживаются только процессоры SPARC64
Память 64 Мб
Дисковое пространство 1.5 Гб (исключая пространство подкачки)
Пространство подкачки Не менее 256 Мб

Метод установки

Ниже мы описываем, как установить Gentoo Linux на системе Sparc, используя минимальный установочный компакт-диск. Gentoo также поддерживает установку с образа TFTP. Для более подробной информации о настройке сервера netboot просмотрите статью Sparc/Netboot. Образы TFTPBoot можно найти на зеркалах Gentoo в каталоге experimental/sparc/tftpboot/sparc64/.


Установочный носитель Gentoo Linux

Минимальный установочный компакт-диск Gentoo

Минимальный установочный CD — это загрузочный образ: самодостаточная среда Gentoo. Он позволяет загружать Linux прямо с компакт-диска или других установочных носителей. При запуске определяются устройства и загружаются соответствующие драйверы. Этот образ сопровождается разработчиками Gentoo и позволяет установить Gentoo при наличии активного Интернет-соединения.

Минимальный установочный диск называется install-sparc-minimal-<release>.iso.

Нерегулярный Gentoo LiveDVD

Иногда создается специальный образ DVD, который можно использовать для установки Gentoo. Инструкции в этой главе предназначены для минимального установочного CD, поэтому при загрузке с LiveDVD что-то может отличаться в деталях. Однако LiveDVD (или любое другое загружаемое окружение Linux) поддерживает выход в командую строку просто командой sudo su - или sudo -i в терминале.

Что такое stage?

Архив stage3 — это архив, содержащий минимальное окружение Gentoo. Архивы stage3 предназначены для продолжения установки Gentoo в соответствии с инструкциями данного руководства. Когда-то в Руководстве Gentoo описывались варианты установки с использованием любого из трех существующих архивов stage. Gentoo больше не предлагает для загрузки архивы stage1 и stage2, поскольку они предназначены (в основном) для внутреннего использования и для начального развёртывания Gentoo на новые архитектуры.

Архивы stage3 можно загрузить из releases/sparc/autobuilds/ или с любого из официальных зеркал Gentoo. Файлы stage часто обновляются и не поставляются в официальном установочном образе.

Скачивание

Получение образа

Основной установочный образ, используемый Gentoo Linux — это минимальный установочный CD, на котором находится загружаемое, очень маленькое окружение Gentoo Linux. Это окружение содержит все необходимые утилиты для установки Gentoo Linux. Сами образы CD можно скачать со страницы загрузки (рекомендуется) или самостоятельно найдя образ ISO, доступном на одном из множества зеркал.

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

  1. Перейдите в каталог releases/
  2. Выберите подходящую архитектуру (как архитектуру sparc/)
  3. Выберите каталог autobuilds/
  4. Для архитектур amd64 и x86 выберите либо каталог current-install-amd64-minimal/, либо каталог current-install-x86-minimal/ (соответственно). Для всех других архитектур выберите каталог current-iso/.
Заметка
У некоторых архитектур, таких как arm, mips и s390, нет минимального установочного компакт-диска. На данный момент Gentoo Release Engineering project не создает .iso файлы для этих архитектур.

В этом каталоге находится файл установочного образа, который оканчивается на .iso. Например, посмотрите на следующий список:

Код Примерный список скачиваемых файлов в каталоге releases/sparc/autobuilds/current-iso/
[DIR] hardened/                                          05-Dec-2014 01:42    -   
[   ] install-sparc-minimal-20141204.iso                 04-Dec-2014 21:04  208M  
[   ] install-sparc-minimal-20141204.iso.CONTENTS        04-Dec-2014 21:04  3.0K  
[   ] install-sparc-minimal-20141204.iso.DIGESTS         04-Dec-2014 21:04  740   
[TXT] install-sparc-minimal-20141204.iso.DIGESTS.asc     05-Dec-2014 01:42  1.6K  
[   ] stage3-sparc-20141204.tar.bz2                      04-Dec-2014 21:04  198M  
[   ] stage3-sparc-20141204.tar.bz2.CONTENTS             04-Dec-2014 21:04  4.6M  
[   ] stage3-sparc-20141204.tar.bz2.DIGESTS              04-Dec-2014 21:04  720   
[TXT] stage3-sparc-20141204.tar.bz2.DIGESTS.asc          05-Dec-2014 01:42  1.5K

В приведённом примере файл install-sparc-minimal-20141204.iso и есть минимальный установочный компакт-диск. Но как можно увидеть, существуют и другие связанные с ним файлы:

  • Текстовый файл .CONTENTS, содержащий список всех файлов на установочном образе. Данный файл может использоваться для проверки того, существует ли конкретная прошивка или конкретный драйвер на установочном образе без его загрузки.
  • Файл .DIGESTS, содержащий контрольные суммы файла ISO, с использованием различных форматов/алгоритмов хэширования. Данный файл можно использовать для проверки, поврежден ли скачанный файл ISO.
  • Файл .DIGESTS.asc, содержащий не только хэши файла ISO (как файл .DIGESTS), но и криптографическую цифровую подпись данного файла. Это может использоваться как для проверки того, поврежден ли скачанный файл ISO, так и для проверки того, что данная закачка действительно предоставлена командой Gentoo Release Engineering, и не была подделана.

Пока не обращайте внимания на остальные файлы, находящиеся в данном каталоге — про них мы поговорим по мере установки системы. Скачайте файл .iso, и, если нужна проверка скачанных файлов, также соответствующий ему файл .DIGESTS.asc. Файл .CONTENTS скачивать необязательно, так как инструкции по установке не описывают его использования, а файл .DIGESTS должен содержать ту же информацию, что и файл .DIGESTS.asc кроме того, что последний также содержит в себе цифровую подпись.

Проверка скачанных файлов

Заметка
Это необязательный шаг и не требуется для установки Gentoo Linux. Однако его рекомендуется выполнить, чтобы удостовериться, что скачанный файл не поврежден и действительно был предоставлен командой Gentoo Infrastructure.

При наличии файлов .DIGESTS и .DIGESTS.asc можно проверить целостность файла ISO с использованием различных программ. Данная проверка обычно делается в два шага:

  1. Сначала проверяется криптографическая подпись, чтобы удостовериться, что данный установочный файл предоставлен командой Gentoo Release Engineering
  2. Если криптографическая подпись верна, то проверяется контрольная сумма, чтобы удостовериться, что сам скачанный файл не поврежден

Проверка на Microsoft Windows

На системе Microsoft Windows вероятнее всего, не будет подходящих инструментов для проверки контрольных сумм и криптографических подписей.

Чтобы вначале проверить криптографическую подпись, можно использовать такие программы, как GPG4Win. После установки необходимо импортировать открытые ключи команды Gentoo Release Engineering. Список ключей находится на странице сигнатур. После импорта пользователь может проверить подпись, указанную в файле .DIGESTS.asc.

Важно
Это не удостоверяет, что файл .DIGESTS является верным, только файл .DIGESTS.asc. Это также значит, что контрольную сумму необходимо проверять со значениями, взятыми из файла .DIGESTS.asc. Именно поэтому инструкции, данные выше, просят скачать только файл .DIGESTS.asc.

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

Проверка на Linux

На системе с Linux самым распространённым способом проверки криптографической подписи является использование программы app-crypt/gnupg. После установки данного пакета, можно использовать следующие команды для проверки криптографической подписи, указанной в файле .DIGESTS.asc.

Сначала скачайте правильный набор ключей со страницы сигнатур:

user $gpg --keyserver hkps://keys.gentoo.org --recv-keys 0xBB572E0E2D182910
gpg: requesting key 0xBB572E0E2D182910 from hkp server pool.sks-keyservers.net
gpg: key 0xBB572E0E2D182910: "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" 1 new signature
gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model
gpg: depth: 0  valid:   3  signed:  20  trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: depth: 1  valid:  20  signed:  12  trust: 9-, 0q, 0n, 9m, 2f, 0u
gpg: next trustdb check due at 2018-09-15
gpg: Total number processed: 1
gpg:         new signatures: 1

Либо вы можете использовать WKD для загрузки ключа:

--2019-04-19 20:46:32--  https://gentoo.org/.well-known/openpgpkey/hu/wtktzo4gyuhzu8a4z5fdj3fgmr1u6tob?l=releng
Resolving gentoo.org (gentoo.org)... 89.16.167.134
Connecting to gentoo.org (gentoo.org)|89.16.167.134|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 35444 (35K) [application/octet-stream]
Saving to: 'STDOUT'
 
     0K .......... .......... .......... ....                 100% 11.9M=0.003s
 
2019-04-19 20:46:32 (11.9 MB/s) - written to stdout [35444/35444]
 
gpg: key 9E6438C817072058: 84 signatures not checked due to missing keys
gpg: /tmp/test2/trustdb.gpg: trustdb created
gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported
gpg: key BB572E0E2D182910: 12 signatures not checked due to missing keys
gpg: key BB572E0E2D182910: 1 bad signature
gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported
gpg: Total number processed: 2
gpg:               imported: 2
gpg: no ultimately trusted keys found

Далее проверьте криптографическую подпись файла .DIGESTS.asc:

user $gpg --verify install-sparc-minimal-20141204.iso.DIGESTS.asc
gpg: Signature made Fri 05 Dec 2014 02:42:44 AM CET
gpg:                using RSA key 0xBB572E0E2D182910
gpg: Good signature from "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD  B1BA BB57 2E0E 2D18 2910

Чтобы быть абсолютно уверенным в том, что всё верно, проверьте указанные отпечатки с отпечатками на странице сигнатур Gentoo.

После проверки сигнатуры проверите контрольную сумму, чтобы убедиться, что загруженный ISO-файл не повреждён. Файл .DIGESTS.asc содержит несколько алгоритмов хеширования, проверять можно по любому из приглянувшихся вам. Например, чтобы получить контрольную сумму SHA512:

user $grep -A 1 -i sha512 install-sparc-minimal-20141204.iso.DIGESTS.asc
# SHA512 HASH
364d32c4f8420605f8a9fa3a0fc55864d5b0d1af11aa62b7a4d4699a427e5144b2d918225dfb7c5dec8d3f0fe2cddb7cc306da6f0cef4f01abec33eec74f3024  install-sparc-minimal-20141204.iso
--
# SHA512 HASH
0719a8954dc7432750de2e3076c8b843a2c79f5e60defe43fcca8c32ab26681dfb9898b102e211174a895ff4c8c41ddd9e9a00ad6434d36c68d74bd02f19b57f  install-sparc-minimal-20141204.iso.CONTENTS

В выводе выше показаны две контрольные суммы SHA512 — одна для файла install-sparc-minimal-20141204.iso и одна для сопровождающего его файла .CONTENTS. Нас интересует только первая контрольная сумма, так как её надо сравнить с рассчитываемой контрольной суммой SHA512, которую можно получить так:

user $sha512sum install-sparc-minimal-20141204.iso
364d32c4f8420605f8a9fa3a0fc55864d5b0d1af11aa62b7a4d4699a427e5144b2d918225dfb7c5dec8d3f0fe2cddb7cc306da6f0cef4f01abec33eec74f3024  install-sparc-minimal-20141204.iso

Если контрольные суммы совпадают, то файл не повреждён, и установку можно продолжать.

Запись диска

Конечно, запустить установку Gentoo Linux загруженного ISO-файла просто так не получится. Файл ISO необходимо записать на компакт-диск для загрузки с него, но таким образом, чтобы записать содержимое файла, а не как файл сам по себе. Ниже есть несколько распространенных способов, более подробные инструкции можно найти в FAQ по записи файлов ISO.

Прожиг в Microsoft Windows 7 и выше

Microsoft Windows версии 7 и выше могут как монтировать, так и записывать ISO-образы на оптические носители без использования стороннего программного обеспечения. Просто вставьте записываемый диск, перейдите к загруженным файлам ISO, щелкните правой кнопкой мыши файл по файлу и выберите "Записать образ диска".

Прожиг в Linux

В Linux ISO-образы можно записать командой cdrecord из пакета app-cdr/cdrtools.

Чтобы прожечь файл ISO на CD в устройстве /dev/sr0 (это первое устройство для CD в системе — замените его на правильное, если необходимо):

user $cdrecord dev=/dev/sr0 install-sparc-minimal-20141204.iso

Пользователи, которые предпочитают графический интерфейс, могут использовать K3B из пакета kde-apps/k3b. В K3B перейдите в раздел Tools и выберите Burn CD Image.

Загрузка

Загрузка с установочного компакт-диска

Вставьте установочный компакт-диск Gentoo в CD-ROM, и загрузите вашу систему. При старте нажмите Stop+A, чтобы войти в OpenBootPROM (OBP). Как только попали в OBP, загрузитесь с CD-ROM:

okboot cdrom

Запустится менеджер загрузки SILO (на установочном компакт-диске). Нажмите Enter для получения помощи. Введите gentoo, и нажмите Enter для продолжения процесса загрузки системы:

boot:gentoo

Как только установочный компакт-диск будет загружен, будет отображена приглашение root ("#") на текущей консоли. Также будет присутствовать приглашение root на последовательной консоли (ttyS0).


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

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

В следующем примере загружается модуль 8139too (который поддерживает определенные виды сетевых интерфейсов):

root #modprobe 8139too

Дополнительно: Учетные записи пользователей

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

Для изменения пароля root используйте утилиту passwd:

root #passwd
New password: (Enter the new password)
Re-enter password: (Re-enter the password)

Для создания учётной записи пользователя сначала введите учетные данные, следом задайте пароль аккаунту. Для этой задачи используйте команды useradd и passwd.

В следующем примере создаем пользователя с именем john:

root #useradd -m -G users john
root #passwd john
New password: (Enter john's password)
Re-enter password: (Re-enter john's password)

Для переключения с (текущего) пользователя root на вновь созданный аккаунт пользователя используйте команду su:

root #su - john

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

TTY

Для просмотра Gentoo Handbook во время установки, необходимо сначала создать учётную запись пользователя, как описано выше. Нажмите Alt+F2 для перехода в новое окно терминала.

Во время установки можно использовать команду links для просмотра Руководства Gentoo — конечно, только с того момента, как заработает подключение к Интернет.

user $links https://wiki.gentoo.org/wiki/Handbook:SPARC/ru

Чтобы вернуться к первоначальному терминалу, нажмите Alt+F1.

GNU Screen

Утилита Screen по умолчанию установлена на официальном установочном носителе Gentoo. Для опытных пользователей Linux просмотр инструкций по установке будет более удобен в разных панелях screen, а в разных консолях TTY, как это было описано выше.

Дополнительно: Запуск демона SSH

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

Чтобы запустить демон SSH, при использовании системы инициализации OpenRC, выполните следующую команду:

root #rc-service sshd start
Заметка
При входе пользователь увидит сообщение о необходимости подтвердить ключ узла этой системы (называемый отпечатком). Такое поведение вполне обычно и происходит при первом подключении к SSH-серверу. Однако позднее, когда когда система будет уже установлена, пользователь, ранее входивший в систему, при повторной попытке получит предупреждение о том, что ключ узла изменился. Это происходит потому, что с точки зрения SSH пользователь теперь входит в другой сервер (а именно в новую систему, а не в живое окружение, использованное при установке). Чтобы заменить ключ узла на клиентской системе, следуйте следующим инструкциям.

Для возможности использования sshd необходимо, чтобы сеть работала должным образом. Для этого перейдите к главе «Настройка сети».





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

Может быть, всё уже работает?

Если система подключена к сети Ethernet, в которой есть DHCP-сервер, весьма вероятно, что конфигурация сетевых настроек уже была выполнена автоматически. Если это так, то различные сетевые команды с установочного носителя (например: ssh, scp, ping, irssi, wget, links и многие другие) сразу же будут работать.

Определение имен сетевых интерфейсов

Команда ifconfig

Если сеть была настроена, команда ifconfig должна отобразить один или несколько сетевых интерфейсов (кроме lo). В примере ниже показан eth0:

root #ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:BA:8F:61:7A
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
          collisions:1984 txqueuelen:100
          RX bytes:485691215 (463.1 Mb)  TX bytes:123951388 (118.2 Mb)
          Interrupt:11 Base address:0xe800 

В результате перехода на предсказуемые имена для сетевых интерфейсов название интерфейса может отличаться от старого соглашения о именовании (eth0). В последних установочных носителях сетевые интерфейсы могут отображаться по-другому, например eno0, ens1 или enp5s0. Поищите интерфейс в выводе команды ifconfig IP-адрес которого связан с локальной сетью.

Совет
Если в выводе ifconfig нет интерфейсов, попробуйте использовать ту же команду с параметром -a. Это параметр выводит все обнаруженные системой сетевые интерфейсы, независимо от их состояния. Если ifconfig -a не даёт никаких результатов, значит либо аппаратное обеспечение неисправно, либо драйвер для сетевого интерфейса не был загружен в ядро. Обе ситуации не рассматриваются данным Руководством. Обратитесь в #gentoo (webchat) для поддержки.

Команда ip

Взамен ifconfig для определения сетевых интерфейсов можно использовать ip. В следующем примере показан вывод ip addr (вывод с другой системы, так что показанная информация отличается от предыдущего примера):

root #ip addr
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff
    inet 10.0.20.77/22 brd 10.0.23.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::ea40:f2ff:feac:257a/64 scope link 
       valid_lft forever preferred_lft forever

Вывод команды может быть немного сложнее для восприятия, чем вывод других команд. В приведённом выше примере имя интерфейса следует непосредственно после номера: это eno1.

В оставшейся части данного документа будет считаться, что рабочий сетевой интерфейс называется eth0.

Дополнительно: настройка прокси

Если доступ к Интернету осуществляется через прокси-сервер, необходимо указать настройки прокси во время установки. Указать прокси очень просто: определите переменную, содержащую информацию о прокси-сервере.

В большинстве случаев, достаточно указать переменные с использованием имени сервера. В этом примере мы предположим, что прокси-сервером является proxy.gentoo.org, доступным на порту 8080.

Настройка HTTP-прокси (для HTTP- и HTTPS-трафика):

root #export http_proxy="http://proxy.gentoo.org:8080"

Настройка FTP-прокси:

root #export ftp_proxy="ftp://proxy.gentoo.org:8080"

Настройка RSYNC-прокси:

root #export RSYNC_PROXY="proxy.gentoo.org:8080"

Если для прокси требуется имя пользователя и пароль, используйте следующий синтаксис в переменной:

Код Добавление имени пользователя/пароля в переменную прокси
http://username:password@proxy.gentoo.org:8080

Проверка сети

Попробуйте проверить DNS-сервер своего провайдера (его адрес можно найти в /etc/resolv.conf) и любой веб-сайт. Эта проверка покажет, что сеть функционирует в полном объёме, и сетевые пакеты достигают сети, разрешение имён работает правильно и так далее.

root #ping -c 3 www.gentoo.org

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

Автоматическая конфигурация сети

Если сеть не работает с первого раза, то в некоторых установочных носителях есть утилиты net-setup (для обычных и беспроводных сетей), pppoe-setup (для пользователей ADSL) или pptp (для пользователей PPTP).

Если же в установочном носителе нет этих утилит, продолжайте чтение с раздела Ручная конфигурация сети.

По умолчанию: использование net-setup

Простейшим способом настроить сеть (если она не была настроена автоматически) является запуск сценария net-setup:

root #net-setup eth0

net-setup задаст несколько вопросов о сетевом окружении. Когда всё будет готово, сетевое подключение должно заработать. Проверьте подключение, как это было показано выше. Если все проверки успешны, поздравляем! Пропустите оставшуюся часть раздела и продолжите с раздела Подготовка дисков.

Если сеть всё равно не работает, продолжайте чтение с раздела Ручная конфигурация сети.

Альтернатива: использование PPP

На случай, когда для подключения к Интернету требуется PPPoE, для упрощения настройки в установочный CD любой версии были добавлены программы, включая ppp. Для настройки подключения воспользуйтесь сценарием pppoe-setup. Во время настройки будут запрошены устройство Ethernet, к которому подключен ADSL-модем, имя и пароль, IP-адреса DNS-серверов и, если требуется, базовая настройка брандмауэра.

root #pppoe-setup
root #pppoe-start

Если что-то пошло не так, то повторно проверьте правильность имени и пароля в файлах etc/ppp/pap-secrets или /etc/ppp/chap-secrets и убедитесь, что используется правильное устройство Ethernet. Если устройство Ethernet не существует, проверьте, загружены ли необходимые сетевые модули. В этом случае перейдите к разделу Ручная конфигурация сети, в котором описан процесс загрузки подходящих модулей.

Если всё работает, то продолжайте чтение с раздела Подготовка дисков.

Альтернатива: использование PPTP

Для обеспечения работы PPTP на установочном CD присутствует сценарий pptpclient. Но сначала убедитесь, что конфигурация правильная. Отредактируйте /etc/ppp/pap-secrets или /etc/ppp/chap-secrets так, что бы в них была правильная комбинация имени и пароля:

root #nano -w /etc/ppp/chap-secrets

При необходимости проверьте /etc/ppp/options.pptp:

root #nano -w /etc/ppp/options.pptp

Когда всё будет сделано, запустите pptp (вместе с параметрами, которые могут быть установлены в options.pptp) для подключения к серверу:

root #pptp <server ipv4 address>

Продолжайте чтение с раздела Подготовка дисков.

Ручная конфигурация сети

Загрузка сетевых модулей ядра

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

Если net-setup или pppoe-setup завершились ошибкой, возможно, что сетевая карта не была найдена. Это означает, что может понадобиться загрузить соответствующие модули ядра вручную.

Чтобы узнать, какие есть модули ядра для сетей, используйте команду ls:

root #ls /lib/modules/`uname -r`/kernel/drivers/net

Если драйвер сетевого устройства присутствует, то для его загрузки используйте modprobe. Например, для загрузки модуля pcnet32:

root #modprobe pcnet32

Чтобы проверить, определилась ли сетевая карта, наберите ifconfig. Если сетевая карта определилась, то результат будет выглядеть так (опять же, eth0 это только пример):

root #ifconfig eth0
eth0      Link encap:Ethernet  HWaddr FE:FD:00:00:00:00  
          BROADCAST NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Если показано сообщение об ошибке, то сетевая карта не определена:

root #ifconfig eth0
eth0: error fetching interface information: Device not found

Имена доступных сетевых интерфейсов в системе можно увидеть через файловую систему /sys:

root #ls /sys/class/net
dummy0  eth0  lo  sit0  tap0  wlan0

В примере выше найдено 6 интерфейсов. eth0, скорее всего, проводной Ethernet-адаптер, а wlan0 — беспроводной.

Исходя из того, что сетевая карта была обнаружена, повторите net-setup или pppoe-setup снова (скорее всего они будут работать), но, для тех, кто хочет сделать всё самостоятельно, мы опишем, как настроить сеть вручную.

Выберите один из следующих разделов, в зависимости от настроек сети:

Использование DHCP

DHCP (Dynamic Host Configuration Protocol) позволяет автоматически получать данные о сети (IP-адрес, маску подсети, широковещательный адрес, шлюз, сервера имен и прочее). Данный сценарий возможен только в том случае, если в сети присутствует DHCP-сервер (или если Интернет-провайдер предоставляет службу DHCP). Чтобы сетевой интерфейс получал эти сведения автоматически, используйте dhcpcd:

root #dhcpcd eth0

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

root #dhcpcd -HD eth0

Если это сработало (попробуйте опросить командой ping какой-нибудь сервер в Интернете, например, 8.8.8.8 компании Google или 1.1.1.1 Cloudflare), то всё установлено, и можно продолжать. Пропустите оставшуюся часть раздела и приступайте к Подготовке дисков.

Подготовка беспроводного доступа

Заметка
Поддержка команды iw может быть архитектурно-зависимой. Если команда недоступна, проверьте, доступен ли пакет net-wireless/iw для данной архитектуры. Команда iw будет не доступна, если пакет net-wireless/iw не был установлен.

Беспроводные карты (стандарта 802.11) перед использованием необходимо предварительно настроить. Для отображения текущих настроек можно воспользоваться командой iw, вывод которой может быть таким:

root #iw dev wlp9s0 info
Interface wlp9s0
	ifindex 3
	wdev 0x1
	addr 00:00:00:00:00:00
	type managed
	wiphy 0
	channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz
	txpower 30.00 dBm

Чтобы проверить текущее подключение:

root #iw dev wlp9s0 link
Not connected.

или

root #iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0)
	SSID: GentooNode
	freq: 2462
	RX: 3279 bytes (25 packets)
	TX: 1049 bytes (7 packets)
	signal: -23 dBm
	tx bitrate: 1.0 MBit/s
Заметка
Некоторые беспроводные карты могут иметь имена wlan0 или ra0 вместо wlp9s0. Запустите ip link, чтобы определить правильное имя устройства.

В большинстве случаев, для подключения необходимо только два параметра: ESSID (название беспроводной сети) и ключ WEP (необязательно).

  • Сперва удостоверьтесь, что интерфейс включён:
root #ip link set dev wlp9s0 up
  • Чтобы подключиться к открытой сети с именем GentooNode:
root #iw dev wlp9s0 connect -w GentooNode
  • Чтобы подключиться с шестнадцатеричным ключом WEP, добавьте к нему префикс d::
root #iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
  • Чтобы подключиться с ключом ASCII WEP:
root #iw dev wlp9s0 connect -w GentooNode key 0:some-password
Заметка
Если в беспроводной сети применяются протоколы WPA или WPA2, то необходимо использовать wpa_supplicant. Больше информации по настройке беспроводной сети в Gentoo Linux можно прочитать в разделе Беспроводная сеть Руководства Gentoo.

Для подтверждения беспроводных настроек используйте iw dev wlp9s0 link. Как только беспроводная сеть заработает, продолжите настройку сетевых параметров, как описано в следующем разделе (Сетевая терминология) или с помощью инструмента net-setup, как описано ранее.

Сетевая терминология

Заметка
Если IP-адрес, широковещательный адрес, сетевая маска и сервера имён известны, то пропустите этот раздел и продолжайте с Использование ifconfig и route.

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

В сети узлы идентифицируются по их IP-адресам (Internet Protocol адрес). Такой адрес воспринимается как сочетание четырех чисел от 0 до 255 (по крайней мере, при при использовании IP версии 4). В действительности IPv4-адрес состоит из 32 бит (единиц и нулей). Давайте рассмотрим пример:

Код Пример IPv4 адреса
IP-адрес (числа):     192.168.0.2
IP-адрес (биты):      11000000 10101000 00000000 00000010
                      -------- -------- -------- --------
                         192      168       0        2
Заметка
В IPv6, преемнике IPv4, используется 128 бит (единиц и нулей). Данный раздел посвящён исключительно адресам IPv4.

Такой IP-адрес уникален для узла в рамках всех доступных сетей (то есть каждый доступный узел в сети должен иметь уникальный IP-адрес). Для того, чтобы различать узлы, находящиеся внутри и извне сети, IP-адрес состоит из двух частей: сетевой части и части узла.

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

Код Пример разделения сети/узла
IP-адрес:    192      168      0         2
           11000000 10101000 00000000 00000010
Маска:     11111111 11111111 11111111 00000000
             255      255     255        0
          +--------------------------+--------+
                      Сеть              Узел

Другими словами, 192.168.0.14 является частью сети, а 192.168.1.2 таковым не является.

Широковещательный адрес — это IP-адрес, у которого сетевая часть такая же, как у сети, а в часть узла записаны единицы. Каждый узел в сети прослушает этот IP-адрес. Он предназначен для широковещательной рассылки пакетов.

Код Широковещательный адрес
IP-адрес:                    192      168      0         2
                          11000000 10101000 00000000 00000010
Широковещательный адрес:  11000000 10101000 00000000 11111111
                             192      168      0        255
                         +--------------------------+--------+
                                      Сеть             Узел

Чтобы иметь возможность выходить в глобальную сеть, каждый компьютер в сети должен знать, через какой узел происходит подключение к Интернету. Этот узел называется шлюзом. Так как это обычный узел, у него есть обычный IP-адрес (например, 192.168.0.1).

Ранее мы говорили, что каждый узел имеет свой собственный IP-адрес. Для того, чтобы связываться с узлом по имени (вместо IP-адреса) нам нужен сервис, который переводит имя (например, dev.gentoo.org) в IP-адрес (например, 64.5.62.82). Такой сервис называется службой имён. Чтобы использовать этот сервис, необходимо определить сервера имён в файле /etc/resolv.conf.

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

Соберём всю информацию, которая нам понадобится далее:

Сетевой параметр Пример
IP-адрес системы 192.168.0.2
Маска подсети 255.255.255.0
Широковещательный адрес 192.168.0.255
Шлюз 192.168.0.1
Сервер(ы) имён 195.130.130.5, 195.130.130.133

Использование ifconfig и route

При использовании утилит из пакета sys-apps/net-tools, настройка сети обычно состоит из трёх шагов:

  1. Назначение IP-адреса с помощью команды ifconfig
  2. Настройка маршрутизации с помощью команды route
  3. Размещение IP-адресов серверов имён (DNS) в /etc/resolv.conf

Для назначения необходимы сам IP-адрес, широковещательный адрес и маска подсети. Выполните следующую команду, заменив ${IP_ADDR} на правильный IP-адрес, ${BROADCAST} — на широковещательный адрес и ${NETMASK} — на маску подсети:

root #ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up

Для того, чтобы настроить маршрутизацию используя route, подставьте вместо ${GATEWAY} IP-адрес шлюза:

root #route add default gw ${GATEWAY}

Теперь откройте /etc/resolv.conf, используя текстовый редактор:

root #nano -w /etc/resolv.conf

Укажите сервера имён, используя следующий пример в качестве шаблона, и замените ${NAMESERVER1} и ${NAMESERVER2} на подходящие адреса. Вы можете добавить более одного сервера имён:

Файл /etc/resolv.confШаблон по умолчанию /etc/resolv.conf
nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}

Вот и всё. Теперь проверьте сеть, выполнив команду ping для какого-нибудь сервера в Интернете (например Google 8.8.8.8 или Cloudflare 1.1.1.1). Если всё работает, то поздравляем с настройкой сети. Продолжайте чтение с раздела Подготовка дисков.





Введение в блочные устройства

Блочные устройства

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

Для начала, рассмотрим блочные устройства. Устройства SCSI и Serial ATA обозначаются как /dev/sda, /dev/sdb, /dev/sdc и так далее. На более современных компьютерах твердотельные накопители NVMe на базе PCI Express имеют дескриптор вида /dev/nvme0n1, /dev/nvme0n2 и так далее.

Следующая таблица поможет определить необходимый тип блочного устройства в системе:

Тип устройства Дескриптор устройства по умолчанию Примечания и полезные сведения
SATA, SAS, SCSI или USB flash /dev/sda Данный тип устройств стал доступным примерно с 2007 года и встречается до сих пор, являясь, пожалуй, самым используемым типом в Linux. Устройства могут подключаться через шины SATA, SCSI или USB в виде устройства блочного хранилища. Например, первый раздел на первом SATA устройстве обозначается как /dev/sda1.
NVM Express (NVMe) /dev/nvme0n1 Передовая на данный момент технология твердотельных накопителей. Устройства NVMe подключаются к шине PCI Express и обладают наиболее быстрой скоростью передачи блочных данных, доступной на рынке. Системы образца 2014 года и новее могут иметь поддержку устройств NVMe. Первый раздел на первом NVMe устройстве обозначается как /dev/nvme0n1p1.
MMC, eMMC и SD /dev/mmcblk0 Устройства embedded MMC, SD-карты и другие типы карт памяти могут использоваться для хранения данных. Однако не все системы могут позволить загружаться с данного типа устройств. Не рекомендуется использовать данные устройства для установки Linux; лучше используйте их по прямому назначению — для переноса файлов. Также их можно использовать для кратковременного резервного копирования.

Данные блочные устройства представляют абстрактный интерфейс к диску. Пользовательские приложения могут использовать их для взаимодействия с диском, не заботясь о том, какой это диск — SATA, SCSI или какой-либо ещё. Программа просто адресует пространство на диске как совокупность следующих друг за другом 4096-байтных (4K) блоков с произвольным доступом.


Partition tables

Although it is theoretically possible to use a raw, unpartitioned disk to house a Linux system (when creating a btrfs RAID for example), this is almost never done in practice. Instead, disk block devices are split up into smaller, more manageable block devices. On sparc systems, these are called partitions. There are currently two standard partitioning technologies in use: Sun and GPT; the latter is supported only on more recent systems with a sufficiently recent firmware.

GUID Partition Table (GPT)

The GUID Partition Table (GPT) setup (also called GPT disklabel) uses 64-bit identifiers for the partitions. The location in which it stores the partition information is much bigger than the 512 bytes of the MBR partition table (DOS disklabel), which means there is practically no limit on the amount of partitions for a GPT disk. Also the size of a partition is bounded by a much greater limit (almost 8 ZiB - yes, zebibytes).

GPT also takes advantage of checksumming and redundancy. It carries CRC32 checksums to detect errors in the header and partition tables and has a backup GPT at the end of the disk. This backup table can be used to recover damage of the primary GPT near the beginning of the disk.

GPT is only supported on Oracle SPARC machines of the T4 generation or newer. Additionally, only certain more recent firmware includes GPT support. There are several methods to check whether GPT support is available.

From the OBP prompt, execute:

{0} okcd /packages/disk-label
{0} ok.properties
gpt

supported-labels gpt

                   sun
                   mbr
name disk-label

If gpt is included in the output, then GPT support is available. Alternatively, this can be determined from the installation media without entering OBP. Use the prtconf command from sys-apps/sparc-utils to access this information from userspace:

root #prtconf -pv | grep -c gpt

Or, check if the file /sys/firmware/devicetree/base/packages/disk-label/gpt exists. If none of these methods succeeds, then a firmware update is required in order to support GPT.

Sun partition table

Systems not manufactured by Oracle, T3 or earlier systems, or systems running an earlier firmware must use the Sun partition table type.

The third partition on Sun systems is set aside as a special "whole disk" slice. This partition must not contain a file system.

Users who are used to the DOS partitioning scheme should note that Sun partition tables do not have "primary" and "extended" partitions. Instead, up to eight partitions are available per drive, with the third of these being reserved.

The Handbook authors suggest using GPT whenever possible for Gentoo installations.

Default partitioning scheme

Due to the differences in required partition layout between GPT and Sun partition tables, a single partitioning scheme is not sufficient to support all possible system requirements. Some example schemes are provided below.

GPT partition scheme

The following partitioning scheme will be used as an example for GPT-formatted disks:

Partition Filesystem Size Mount Point Description
/dev/sda1 (none) 2M none BIOS boot partition
/dev/sda2 (swap) RAM size * 2 none Swap partition
/dev/sda3 ext4 Rest of the disk / Root partition

Sun formatted partition scheme

The following partitioning scheme will be used as an example for Sun-formatted disks:

Partition Filesystem Size Mount Point Description
/dev/sda1 ext4 Disk size minus swap / Root partition
/dev/sda2 (swap) RAM size * 2 none Swap partition
/dev/sda3 (none) Whole disk none Whole disk partition.

Required on disks using the Sun partition table.

Важно
SPARC systems using OBP version 3 or older have additional restrictions on their partitioning scheme. The root partition must be the first partition on the disk, and it may be no larger than 2 GiB. For this reason, such systems will require additional sufficiently-sized partitions for top-level directories, such as /usr, /var, /home, and other directories which would likely cause the root partition to exceed this limit. These systems are also likely to require the Sun partition table type, so do not forget to include the whole disk partition.

Partitioning the disk with GPT

The following parts explain how to create the example partition layout for a GPT installation using fdisk. The example partition layout was mentioned earlier:

Partition Description
/dev/sda1 Boot partition
/dev/sda2 Swap partition
/dev/sda3 Root partition

Change the partition layout according the system's needs.

Viewing the current partition layout

fdisk is a popular and powerful tool to split a disk into partitions. Fire up fdisk against the disk (in the example, /dev/sda is used):

root #fdisk /dev/sda

Use the p key to display the disk's current partition configuration:

Command (m for help):p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors
Disk model: USB Flash Disk  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9850A2C2-76C4-FC47-9F0B-DA60449D2413

Device     Start      End  Sectors  Size Type
/dev/sda1   2048 30547967 30545920 14.6G Linux filesystem

Creating a new disklabel and removing all existing partitions

Type g to create a new GPT disklabel on the disk; this will remove all existing partitions.

Command (m for help):g
Created a new GPT disklabel (GUID: 9850A2C2-76C4-FC47-9F0B-DA60449D2413).

For an existing GPT disklabel (see the output of p above), alternatively consider removing the existing partitions one by one from the disk. Type d to delete a partition. For instance, to delete an existing /dev/sda1:

Command (m for help):d
Selected partition 1
Partition 1 has been deleted.

The partition has now been scheduled for deletion. It will no longer show up when printing the list of partitions (p, but it will not be erased until the changes have been saved. This allows users to abort the operation if a mistake was made - in that case, type q immediately and hit Enter and the partition will not be deleted.

Repeatedly type p to print out a partition listing and then type d and the number of the partition to delete it. Eventually, the partition table will be empty:

Command (m for help):p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors
Disk model: USB Flash Disk  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9850A2C2-76C4-FC47-9F0B-DA60449D2413

Now that the in-memory partition table is empty, we're ready to create the partitions.

Creating the BIOS boot partition

First, create the BIOS boot partition. Type n to create a new partition, followed by 1 to select the first partition. When prompted for the first sector, make sure it starts from 2048 (which may be needed for the boot loader) and hit Enter. When prompted for the last sector, type +2M to create a partition 2 Mbyte in size:

Command (m for help):n
Partition number (1-128, default 1): 
First sector (2048-30548062, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-30548062, default 30547967): +2M

Created a new partition 1 of type 'Linux filesystem' and of size 2 MiB.

Mark the partition as a BIOS boot partition:

Command (m for help):t
Selected partition 1
Partition type or alias (type L to list all): 4
Changed type of partition 'Linux filesystem' to 'BIOS boot'.

Creating the swap partition

Next, to create the swap partition, type n to create a new partition, then type 2 to create the second partition, /dev/sda2. When prompted for the first sector, hit Enter. When prompted for the last sector, type +4G (or any other size needed for the swap space) to create a partition 4 GiB in size.

Command (m for help):n
Partition number (2-128, default 2): 
First sector (6144-30548062, default 6144): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (6144-30548062, default 30547967): +4G

Created a new partition 2 of type 'Linux filesystem' and of size 4 GiB.

After all this is done, type t to set the partition type, 2 to select the partition just created and then type in 19 to set the partition type to "Linux Swap".

Command (m for help):t
Partition number (1,2, default 2): 2
Partition type (type L to list all types): 19
 
Changed type of partition 'Linux filesystem' to 'Linux swap'.

Creating the root partition

Finally, to create the root partition, type n to create a new partition. Then type 3 to create the third partition, /dev/sda3. When prompted for the first sector, hit Enter. When prompted for the last sector, hit Enter to create a partition that takes up the rest of the remaining space on the disk. After completing these steps, typing p should display a partition table that looks similar to this:

Command (m for help):p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors
Disk model: USB Flash Disk  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9850A2C2-76C4-FC47-9F0B-DA60449D2413

Device       Start      End  Sectors  Size Type
/dev/sda1     2048     6143     4096    2M BIOS boot
/dev/sda2     6144  8394751  8388608    4G Linux swap
/dev/sda3  8394752 30547967 22153216 10.6G Linux filesystem

Saving the partition layout

To save the partition layout and exit fdisk, type w.

Command (m for help):w

With the partitions created, it is now time to put filesystems on them.

Partitioning the disk with a Sun partition table

The following parts explain how to create the example partition layout for a Sun partition table installation using fdisk. The example partition layout was mentioned earlier:

Partition Description
/dev/sda1 Root partition
/dev/sda2 Swap partition
/dev/sda3 Whole disk partition

Change the partition layout according to personal preference. If partitioning for a system using OBP version 3 or earlier, ensure that the root partition is less than 2G in size, and additionally create partitions /dev/sda4 and onward for additional filesystems.

Viewing the current partition layout

fdisk is a popular and powerful tool to split a disk into partitions. Fire up fdisk against the disk (in our example, we use /dev/sda):

root #fdisk /dev/sda

Use the p key to display the disk's current partition configuration:

Command (m for help):p
Disk model: USB Flash Disk  
Geometry: 64 heads, 32 sectors/track, 14916 cylinders
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: sun

Device        Start      End  Sectors  Size Id Type         Flags
/dev/sda1         0 30445567 30445568 14.5G 83 Linux native 
/dev/sda2  30445568 30547967   102400   50M 82 Linux swap      u 
/dev/sda3         0 30547967 30547968 14.6G  5 Whole disk   

Creating a new disklabel / removing all partitions

Type s to create a new Sun disklabel on the disk; this will remove all existing partitions.

Command (m for help):s
Created a new partition 1 of type 'Linux native' and of size 14.5 GiB.
Created a new partition 2 of type 'Linux swap' and of size 50 MiB.
Created a new partition 3 of type 'Whole disk' and of size 14.6 GiB.
Created a new Sun disklabel.

For an existing Sun disklabel (see the output of p above), alternatively consider removing the existing partitions one by one from the disk. Type d to delete a partition. For instance, to delete an existing /dev/sda1:

Command (m for help):d
Partition number (1-3, default 3): 1

Partition 1 has been deleted.

The partition has now been scheduled for deletion. It will no longer show up when printing the list of partitions (p, but it will not be erased until the changes have been saved. This allows users to abort the operation if a mistake was made - in that case, type q immediately and hit Enter and the partition will not be deleted.

Repeatedly type p to print out a partition listing and then type d and the number of the partition to delete it. Eventually, the partition table will be empty:

Command (m for help):p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors
Disk model: USB Flash Disk  
Geometry: 64 heads, 32 sectors/track, 14916 cylinders
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: sun

Now that the in-memory partition table is empty, we're ready to create the partitions.

Creating the whole disk partition

First, create the whole disk partition. Type n to create a new partition, followed by 3 to select the third partition. When prompted for the first sector, hit Enter. When prompted for the last sector, hit Enter to create a partition that takes up all of the space on the disk.

Command (m for help):n
Partition number (1-8, default 1): 3

It is highly recommended that the third partition covers the whole disk and is of type `Whole disk'
First sector (0-30547968, default 0): 
Last sector or +/-sectors or +/-size{K,M,G,T,P} (0-30547968, default 30547968): 

Created a new partition 3 of type 'Whole disk' and of size 14.6 GiB.

fdisk will automatically set the type of such a partition to 'Whole disk', so there is no need to explicitly set the type.

Creating the root partition

Next, to create the root partition, type n to create a new partition. Then type 1 to create the third partition, /dev/sda1. When prompted for the first sector, hit Enter. When prompted for the last sector, type -4G (or whatever space is required for non-root partitions). After completing these steps, typing p should display a partition table that looks similar to this:

Command (m for help):p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors
Disk model: USB Flash Disk  
Geometry: 64 heads, 32 sectors/track, 14916 cylinders
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: sun

Device     Start      End  Sectors  Size Id Type         Flags
/dev/sda1      0 22159359 22159360 10.6G 83 Linux native 
/dev/sda3      0 30547967 30547968 14.6G  5 Whole disk   

Creating the swap partition

Finally, to create the swap partition, type n to create a new partition, then type 2 to create the second partition, /dev/sda2. When prompted for the first sector, hit Enter. When prompted for the last sector, hit Enter to take up the remaining space on the disk.

Command (m for help):n
Partition number (2,4-8, default 2): 
First sector (22159360-30547968, default 22159360): 
Last sector or +/-sectors or +/-size{K,M,G,T,P} (22159360-30547968, default 30547968): 

Created a new partition 2 of type 'Linux native' and of size 4 GiB.

After all this is done, type t to set the partition type, 2 to select the partition just created and then type in 82 to set the partition type to "Linux Swap".

Command (m for help):t
Partition number (1-3, default 3): 2
Hex code (type L to list all codes): 82

Changed type of partition 'Linux native' to 'Linux swap'.

After completing these steps, typing p should display a partition table that looks similar to this:

Command (m for help):p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors
Disk model: USB Flash Disk  
Geometry: 64 heads, 32 sectors/track, 14916 cylinders
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: sun

Device        Start      End  Sectors  Size Id Type         Flags
/dev/sda1         0 22159359 22159360 10.6G 83 Linux native 
/dev/sda2  22159360 30547967  8388608    4G 82 Linux swap      u 
/dev/sda3         0 30547967 30547968 14.6G  5 Whole disk   

Saving the partition layout

To save the partition layout and exit fdisk, type w.

Command (m for help):w

With the partitions created, it is now time to put filesystems on them.


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

Введение

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

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

Linux поддерживает несколько десятков файловых систем, хотя для большинства из них необходимы достаточно веские причины их использовать. Лишь только некоторые из них можно считать стабильными на архитектуре sparc. Рекомендуется прочитать информацию о файловых системах и об их состоянии поддержки перед тем, как останавливать свой выбор на экспериментальных. ext4 — рекомендуемая стабильная файловая система общего применения для всех платформ. Ниже представлен неполный список файловых систем:

btrfs
Файловая система следующего поколения, обеспечивающая множество дополнительных функций, таких как мгновенные снимки, самовосстановление с помощью контрольных сумм, поддержка прозрачного сжатия, субтомов и интегрированный RAID. Ядра старше ветки 5.4 не обеспечивают безопасную работу btrfs, так как исправления наиболее серьёзных проблем стабильности появились только в более поздних ветках долговременной поддержки ядра. Ошибки с повреждением файловой системы довольно часты для старых версий ядра, особенно небезопасны и нестабильны версии старше 4.4. Повреждения файловой системы для ядер старше 5.4 обычно характерны при включении сжатия. RAID 5/6 и quota groups небезопасны для всех версий btrfs. Более того, btrfs может неявным образом нарушить работу с файловыми операциями с ошибкой ENOSPC (при этом df сообщает, что свободное место есть) из-за внутренней фрагментации (свободное место высчитывается из расчёта DATA + SYSTEM участков, но при этом этом не учитывается в участках METADATA). Также, единственная ссылка 4K на экстент 128M внутри btrfs может отображать свободное место, которое недоступно для использования. Всё это приводит к тому, что btrfs возвращает ENOSPC, а df говорит, что есть свободное пространство. Установка sys-fs/btrfsmaintenance и конфигурация сценариев на периодический запуск поможет сократить количество проблем с ENOSPC путём ребалансировки btrfs, но не устранит их окончательно. Некоторые системы могут никогда не получить ошибку ENOSPC, когда как другие будут встречать её часто. Если риск получения ошибки ENOSPC недопустим, следует использовать другую файловую систему. При использовании btrfs убедитесь, что не собираетесь использовать конфигурацию, которая известна своей нестабильностью. За исключением проблемы ENOSPC, информация о существующих проблемах btrfs в последних ветках ядра доступна на вики-странице состояния btrfs.
ext4
Изначально созданная как ответвление от ext3, ext4 реализует новые возможности, повышение производительности и устранение ограничений на размер раздела на диске ценой незначительного изменения формата данных на диске. Она может быть размером до 1 ЭБ, а максимальный размер файла может составлять 16 ТБ. Вместо классического ext2/3 блочного распределения ext4 использует экстенты, которые улучшают производительность при работе с большими файлами и уменьшают фрагментацию. Ext4 также обеспечивает более сложные алгоритмы распределения блоков (отложенное распределение и мультиблочное распределение), дающие драйверу файловой системы больше возможностей по оптимизации размещения данных на диске. Ext4 рекомендуется как универсальная файловая система для всех платформ.
f2fs
Файловая система (Flash-Friendly File System) была создана Samsung для использования на NAND-накопителях. По состоянию на 2 квартал 2016 года файловая система считается не завершенной, но она может быть достойным выбором при установке на microSD карту, USB-накопитель или другие накопители.
JFS
Высокопроизводительная журналируемая файловая система от IBM. JFS — это легкая, быстрая и надежная файловая система, основанная на двоичных деревьях с хорошей производительностью в различных условиях.
XFS
Файловая система с журналированием метаданных, которая поставляется с мощным набором функций и оптимизирована для масштабируемости. XFS менее снисходительно относится к различным аппаратным проблемам, однако непрерывно обновляется, обрастая новым возможностями.
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 (обратите внимание на акцент слова только).

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

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

Файловая система Команда для создания Есть на минимальном CD? Пакет
btrfs mkfs.btrfs Да sys-fs/btrfs-progs
ext4 mkfs.ext4 Да sys-fs/e2fsprogs
f2fs mkfs.f2fs Да sys-fs/f2fs-tools
jfs mkfs.jfs Да sys-fs/jfsutils
reiserfs mkfs.reiserfs Да sys-fs/reiserfsprogs
xfs mkfs.xfs Да sys-fs/xfsprogs
vfat mkfs.vfat Да sys-fs/dosfstools
NTFS mkfs.ntfs Да sys-fs/ntfs3g

Например, чтобы создать корневой раздел (/dev/sda1) в ext4 при использовании структуры разделов из примера, используются следующие команды:


root #mkfs.ext4 /dev/sda1

При использовании ext4 на малых разделах (менее 8 ГиБ) файловая система должна быть создана с особыми параметрами для резервирования достаточного количества индексных дескрипторов (inodes). Для этого используется одна из следующих команд:

root #mkfs.ext4 -T small /dev/<раздел>

Данная команда учетверит количество индексных дескрипторов для такой ФС, так как мы уменьшили количество байт на каждый дескриптор («bytes-per-inode») с 16 кб до 4 кб.

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

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

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

root #mkswap /dev/sda2

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

root #swapon /dev/sda2

Создайте и активируйте раздел подкачки командами выше.

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

Совет
Если в качестве установочного носителя используется не Gentoo-образ, необходимо дополнительно создать точку монтирования:
root #mkdir --parents /mnt/gentoo

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

root #mount /dev/sda1 /mnt/gentoo
Заметка
Если /tmp/ находится на отдельном разделе, не забудьте после монтирования изменить права доступа:
root #chmod 1777 /mnt/gentoo/tmp
Это также справедливо для /var/tmp.

Позже в инструкции будут смонтированы файловая система proc (виртуальный интерфейс к ядру) и другие псевдофайловые системы ядра. Но сначала мы установим установочные файлы Gentoo.





Установка архива stage

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

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

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

root #date
Mon Oct  3 13:16:22 PDT 2021

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

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

Большинство читателей захотят, чтобы их система автоматически обновляла время с помощью сервера времени.

Заметка
Материнские платы без Real-Time Clock (RTC) необходимо настроить для автоматической синхронизации системных часов с сервером времени. Это также справедливо для систем у которых есть RTC, но разряжена батарейка.

Официальный установочный носитель Gentoo включает в себя команду ntpd (поставляется в пакете net-misc/ntp). Официальный установочный носитель включает конфигурационный файл, настроенный для синхронизации с серверами времени ntp.org. Его можно использовать для автоматической синхронизации системных часов в UTC-время. Для этого метода необходима настроенная сеть, кроме того, он может быть не работать на некоторых архитектурах.

Предупреждение
Автоматическая синхронизация времени имеет свою цену. Сведения об IP-адресе и связанная с сетевыми настройками информация будет отправляться на сервер времени (в данном примере — на ntp.org). Пользователи, озабоченные безопасностью, должны быть осведомлены об этом до настройки системных часов с помощью указанного метода.
root #ntpd -q -g

Ручная настройка

В системах, где нет доступа к серверу времени, для ручной установки системных часов можно использовать команду date. Она принимает параметр в следующем формате: code>MMDDhhmmYYYY (M — месяц, D — день, h — час, m — минута и Y — год).

Для всех систем Linux рекомендуется использовать время UTC. Часовой пояс будет установлен позже в процессе установки, что позволит изменить отображение часов с учётом местного времени.

Например, чтобы установить дату на 13:16 3 октября 2021 года, выполните:

root #date 100313162021

Выбор архива stage

Заметка
Не все архитектуры имеют поддержку multilib. Много архитектур выполняют код в «родном» режиме. Multilib по большей части относится к amd64.

Multilib (32 и 64 бит)

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

Большинству пользователей не следует использовать «продвинутые» варианты архивов; они предназначены для конкретных программных или аппаратных конфигураций.

No-multilib (чистый 64-bit)

no-multilib архив в качестве основы для системы обеспечивает полноценную 64-битную среду. Однако это будет означать, что переключиться на профили multilib будет трудноосуществимо (но возможно).

Предупреждение
Имейте в виду, пользователям, которые только начинают знакомиться с Gentoo, следует избегать использование архива no-multilib (если только это не продиктовано другими соображениями). Миграция с no-multilib на multilib потребует чрезвычайно хорошего знания Gentoo и наличия набора инструментов разработки более низкого уровня (от которых наших разработчиков Toolchain может даже бросить дрожь). Данный процесс не для слабонервных и выходит за рамки данного руководства.

OpenRC

OpenRC — это система инициализации на основе зависимостей (ответственна за загрузку системных сервисов после загрузки ядра), которая поддерживает совместимость с системной программой для загрузки (обычно расположенная в /sbin/init). Она является основной и оригинальной в Gentoo, но она также используется в некоторых других дистрибутивах Linux и системах BSD.

По умолчанию, OpenRC не заменяет файл /sbin/init и на 100% совместим с инит-скриптами Gentoo. Это означает, что вы получите готовые сервисы для множества програм в репозиториях Gentoo.

По историческим причинам, это руководство фокусируется на установке и настройке с помощью OpenRC. Мы планируем переписать и расширить его для объяснения установки systemd (см. ниже).

systemd

systemd — это современная система инициализации для Linux систем. Она используется как основная система инициализации в большинстве дистрибутивов Linux. systemd полностью поддерживается в Gentoo и работает по своему прямому назначению. К сожалению, соответствующие разделы Руководства по установке для systemd всё ещё нуждаются в написании или находятся в процессе работы. Если вам кажется, что чего–то не хватает в Руководстве для установки с systemd, просмотрите systemd статью перед тем, как попросить поддержки.

Заметка
Технически, вы можно переключить Gentoo уже после установки с OpenRC на systemd и обратно. Однако, переключение потребует определённых усилий и выходит за рамки данного руководства по установке. Перед загрузкой stage3 архива решите, будет ли использоваться OpenRC или systemd в качестве целевой системы инициализации, и загрузите соответствующий stage3 архив.

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

Перейдите к точке монтирования Gentoo, где размещается корневая файловая система (скорей всего это /mnt/gentoo):

root #cd /mnt/gentoo

Графические веб-браузеры

У пользователей, использующих среду с полноценными веб-браузерами, не будет никаких проблем с копированием URL файла stage из раздела загрузки главного веб-сайта. Просто выберите подходящую вкладку, щёлкните правой кнопкой по ссылке файла stage, выберите Копировать ссылку, скопировав её в буфер обмена. Затем вставьте ссылку в командной строке после команды wget для скачивания архива:

root #wget <PASTED_STAGE_URL>

Веб-браузер в командной строке

Более опытные пользователи или «старики» Gentoo, которые работают исключительно из командной строки, могут воспользоваться links (www-client/links) — консольным веб-браузером на основе меню. Чтобы загрузить файл архива stage, просмотрите список зеркал Gentoo:

root #links https://www.gentoo.org/downloads/mirrors/

Чтобы использовать HTTP-прокси в links, введите URL с параметром -http-proxy:

root #links -http-proxy proxy.server.com:8080 https://www.gentoo.org/downloads/mirrors/

Наряду с links так же есть браузер lynx (www-client/lynx). Как и links, он не имеет графического интерфейса, но у него нет меню.

root #lynx https://www.gentoo.org/downloads/mirrors/

Если прокси нужно сохранить, экспортируйте переменные http_proxy и/или ftp_proxy:

root #export http_proxy="http://proxy.server.com:port"
root #export ftp_proxy="http://proxy.server.com:port"

В списке зеркал выберите зеркало, которое находится рядом. Обычно достаточно HTTP-зеркала, но другие протоколы также доступны. Перейдите в каталог releases/sparc/autobuilds/. Там отображаются все доступные stage-файлы (они могут находиться в подкаталогах с названиями отдельных субархитектур). Выберите нужный и нажмите d для скачивания.

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

Тем, кому не интересно проверять архив stage, могут закрыть браузер в командной строке с помощью клавиши q и сразу перейти к разделу #Распаковка архива stage.

Проверка и валидация

Заметка
Многие stage архивы теперь явно содержат суффикс с типом системы инициализации (openrc или systemd), хотя у некоторых архитектур они могут пока отсутствовать.

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

  • Файл .CONTENTS содержит список всех файлов внутри stage архива.
  • Файл .DIGESTS содержит контрольные суммы в разных алгоритмах для файла stage.
  • Файл .DIGESTS.asc, как и .DIGESTS, содержит не только контрольные суммы в различных алгоритмах, но и криптографическую подпись, позволяющую убедиться, что файл был предоставлен проектом Gentoo.

Для сравнения контрольных сумм из файлов .DIGESTS и .DIGESTS.asc можно использовать openssl.

Например, для проверки контрольной суммы SHA512:

root #openssl dgst -r -sha512 stage3-sparc-<release>-<init>.tar.?(bz2|xz)

Также можно использовать команду sha512sum:

root #sha512sum stage3-sparc-<release>-<init>.tar.?(bz2|xz)

Для проверки контрольной суммы Whirlpool:

root #openssl dgst -r -whirlpool stage3-sparc-<release>-<init>.tar.?(bz2|xz)

Сравните вывод этих команд со значением в файле .DIGESTS(.asc). Значения должны совпадать, иначе загруженный файл может быть поврежден (или сам файл digest).

Как и в случае с файлом ISO, можно проверить криптографическую подпись файла .DIGESTS.asc с помощью gpg, чтобы убедиться, что контрольные суммы не были подделаны:

root #gpg --verify stage3-sparc-<release>-<init>.tar.?(bz2|xz){.DIGESTS.asc,}

Отпечатки ключей OpenPGP, используемые для подписи релизов, можно найти на release странице подписей релизов веб-сервера Gentoo.

Распаковка архива stage

Теперь распакуем загруженный stage архив в систему. Используйте утилиту tar:

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

Убедитесь, что в команде указаны те же самые параметры (xpf и --xattrs-include='*.*'). x указывает на извлечение (extract), p для сохранения (preserve) прав доступа и f для обозначения, что мы хотим извлечь файл (file), а не стандартный ввод. --xattrs-include='*.*' позволит также сохранить расширенные атрибуты во всех пространствах имен, хранящиеся в архиве. Наконец, --numeric-owner используется для того, чтобы убедиться, что идентификаторы пользователей и групп распаковываемых файлов останутся такими же, как и задумывались командой Gentoo по подготовке релизов (даже если предприимчивые пользователи не используют официальное живое окружение Gentoo).

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

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

Введение

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

Заметка
Technically variables can be exported via the shell's profile or rc files, however that is not best practice for basic system administration.

Portage reads in the make.conf file when it runs, which will change runtime behavior depending on the values saved in the file. make.conf can be considered the primary configuration file for Portage, so treat its content carefully.

Совет
Список и описание всех допустимых переменных можно найти в /mnt/gentoo/usr/share/portage/config/make.conf.example. Дополнительная документация по файлу make.conf доступна через справочную страницу man 5 make.conf.

For a successful Gentoo installation only the variables that are mentioned below need to be set.}}

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

root #nano -w /mnt/gentoo/etc/portage/make.conf

В файле make.conf.example показано, как файл должен быть структурирован: строки комментариев начинаются с #, другие строки описывают переменные вида ПЕРЕМЕННАЯ="содержание". Некоторые из этих переменных мы обсудим в следующем разделе.

CFLAGS и CXXFLAGS

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

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

Мы не будем описывать все возможные параметры оптимизации. За более подробной информацией обратитесь к Документации GNU или к инфо-странице gcc (info gcc — работает только на работающей системе Linux). Сам файл 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="-O2 -mcpu=ultrasparc -pipe"
# Используйте те же настройки для обеих переменных
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
Совет
Хотя руководство по оптимизации GCC имеет больше информации о том, как различные параметры компиляции могут повлиять на систему, статья Safe CFLAGS будет более полезной для начинающих пользователей, желающих оптимизировать свою систему.

MAKEOPTS

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

Предупреждение
Использование большого количества процессов может значительно повлиять на потребление памяти. Хорошая рекомендация — имейте не менее 2 Гб свободной оперативной памяти на каждый поток (так, например, для -j6 потребуется не менее 12 ГиБ). Чтобы избежать нехватки памяти, уменьшите количество процессов.
Совет
Когда вы используете параллельный emerge (--jobs), количество потоков может вырасти в разы (до количества make потоков, помноженное на количество emerge потоков). Это можно обойти, запустив distcc только для localhost, с конфигурацией, которая ограничит количество экземпляров компилятора на хосте.
Код Пример записи MAKEOPTS в make.conf
MAKEOPTS="-j2"

На старт, внимание, марш!

Обновите /mnt/gentoo/etc/portage/make.conf файл в соответствии с личными предпочтениями и сохраните изменения (в nano нужно нажать Ctrl+x).

Переходите к установке базовой системы Gentoo.





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

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

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

Совет
It is safe to skip this step when using non-Gentoo installation media. The app-portage/mirrorselect package can be emerged later within the stage3 (after Entering the new environment) and the actions defined in this section can be performed at that point.

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

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

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

Вторым важным шагом в выборе зеркала является настройка репозитория 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-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/ — временная файловая система, используется для генерации файлов на лету used, таких как PID файлы или файлы блокировки

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

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.


Настройка Portage

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

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

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

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

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

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

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

Также можно обновить репозиторий 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

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

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

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

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

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

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

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

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 -w /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_*

Some architectures (including AMD64/X86, ARM, PPC) have a USE_EXPAND variable called CPU_FLAGS_ARCH (replace ARCH with the relevant system architecture as appropriate).

This is used to configure the build to compile in specific assembly code or other intrinsics, usually hand-written or otherwise extra, and is not the same as asking the compiler to output optimized code for a certain CPU feature.

A few steps are needed to set this up:

root #emerge --ask app-portage/cpuid2cpuflags

Inspect the output manually if curious:

root #cpuid2cpuflags

Then copy the output into package.use:

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

VIDEO_CARDS

The VIDEO_CARDS USE_EXPAND variable should be configured appropriately depending on the available GPU(s). The Xorg guide covers how to do this. Setting VIDEO_CARDS is not required for a console only install.

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

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

  • system wide in the profile
  • system wide in /etc/portage/make.conf
  • per package in /etc/portage/package.license.

В профилях Gentoo предусмотрено значение по умолчанию, к примеру:

user $portageq envvar ACCEPT_LICENSE
@FREE

Это можно настроить на уровне системы, изменив /etc/portage/make.conf таким образом, чтобы, к примеру, разрешить пакеты с лицензиями, одобренными Free Software Foundation, the Open Source Initiative или следующими Определению Свободного ПО:

Файл /etc/portage/make.confCustomizing ACCEPT_LICENSE
ACCEPT_LICENSE="-* @FREE"

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

Файл /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:

Имя группы Описание
@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 Лицензионные соглашения, которые пытаются отобрать ваши права. Они более строги, чем «все права защищены», или могут требовать явного согласия.



Часовой пояс

Выберите часовой пояс для системы. Просмотрите список всех доступных часовых поясов в каталоге /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 -w /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.

Выбор локали

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

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

root #eselect locale list
Available targets for the LANG variable:
  [1]   C
  [2]   C.utf8
  [3]   en_US.utf8
  [4]   POSIX
  [5]   ru_RU.utf8
  [ ]   (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 с очень подробной информацией о том, как включить поддержку UTF-8 в системе.





Необязательно: Установка файлов прошивки и/или микрокода

Перед тем, как вы начнёте настраивать ядро, мы хотим отметить, что для некоторых устройств необходимо установить дополнительные файлы прошивки, чтобы они работали корректно. Чаще всего это касается сетевого оборудования, особенно беспроводных интерфейсах, которые часто используются и в ноутбуках, и в компьютерах. Cовременные видеочипы от AMD, NVidia и Intel также часто нуждаются во внешних файлах прошивки. Большинство файлов прошивки для современного железа поставляется в пакете sys-kernel/linux-firmware.

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

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

Обновления микрокода для процессоров AMD обычно распространяются в вышеупомянутом пакете linux-firmware. Обновления микрокода для процессоров Intel находятся в пакете sys-firmware/intel-microcode, который необходимо установить отдельно. Смотрите страницу про микрокод для получения дополнительной информации о том, как применять обновления микрокода.

Настройка и сборка ядра

Теперь следует сконфигурировать и собрать ядро. Существует три основных подхода:

  1. Ядро настраивается и собирается вручную.
  2. Ядро автоматически собирается и устанавливается с помощью genkernel.
  3. Используются наработки проекта Distribution Kernel для автоматической сборки и установки ядра Linux kernel (как любого другого пакета).

В данном руководстве мы расскажем, как провести настройку вручную, поскольку это лучший способ оптимизировать окружение.

Все дистрибутивы строятся вокруг ядра Linux. Ядро является слоем между пользовательскими программами и оборудованием системы. Gentoo предоставляет несколько вариантов исходного кода ядра. Полный список с описанием доступен на странице Общие сведения о ядре.

Установка исходного кода

Если вы устанавливаете и собираете вручную ядро на системах с архитектурой sparc, мы рекомендуем пакет sys-kernel/gentoo-sources.

Выберите подходящий исходный код ядра и установите его с помощью emerge:

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

Данная команда установит исходный код ядра Linux в /usr/src/, используя в названии версию ядра. Эта команда не установит автоматически символьную ссылку, пока вы не укажете USE=symlink для выбранного исходного кода ядра.

Обычно, символьная ссылка /usr/src/linux указывает на исходный код текущего работающего ядра. Однако, эта символьная ссылка не создаётся по умолчанию. Создать её поможет kernel модуль для eselect.

Чтобы подробнее узнать, зачем нужна эта символьная ссылка и как ею управлять, смотрите Kernel/Upgrade/ru.

Для начала, просмотрите список установленных ядер (в виде исходного кода):

root #eselect kernel list
Available kernel symlink targets:
  [1]   linux-3.16.5-gentoo

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

root #eselect kernel set 1
root #ls -l /usr/src/linux
lrwxrwxrwx    1 root   root    20 мар  3 22:44 /usr/src/linux -> linux-3.16.5-gentoo

Ручная настройка

Введение

Согласно расхожему мнению, настройка ядра — наиболее сложная процедура, с которой может столкнуться пользователь Linux. Это совсем не так — после нескольких настроек ядра, не всякий вспомнит, что это было сложно!

Однако одна вещь является истиной: при ручной конфигурации ядра очень важно понимать свою систему. Большую часть сведений можно почерпнуть, установив пакет sys-apps/pciutils, который содержит в команду lspci:

root #emerge --ask sys-apps/pciutils
Заметка
Находясь внутри изолированного окружения chroot, можно спокойно игнорировать любые предупреждения pcilib (например, pcilib: cannot open /sys/bus/pci/devices), которые могут появляться в выводе lspci.

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

Остаётся перейти в каталог с ядром и выполнить make menuconfig, который запустит экран меню конфигурации.

root #cd /usr/src/linux
root #make menuconfig

В конфигурации ядра Linux есть много-много разделов. Сначала пройдёмся по пунктам, которые должны быть обязательно включены (иначе Gentoo будет работать неправильно или же вовсе не запустится). Также в вики есть Руководство по настройке ядра Gentoo, которое поможет понять более тонкие детали.

Включение обязательных параметров

При использовании sys-kernel/gentoo-sources, строго рекомендуется включить Gentoo-специфичные настройки. С помощью них включается необходимый минимум настроек ядра для корректной работы:

Ядро Включение Gentoo-специфичных настроек
Gentoo Linux --->
  Generic Driver Options --->
    [*] Gentoo Linux support
    [*]   Linux dynamic and persistent device naming (userspace devfs) support
    [*]   Select options required by Portage features
        Support for init systems, system and service managers  --->
          [*] OpenRC, runit and other script based systems and managers
          [*] systemd

Выбор из последних двух строк зависит от того, какую систему инициализации вы выбрали — (OpenRC или systemd). Ничего страшного не случится, если вы включите поддержку обоих систем.

При использовании sys-kernel/vanilla-sources, этих вспомогательных настроек не будет. Вы можете включить нужные настройки вручную, но это выходит за рамки данного руководства.

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

Далее следует выбрать тип процессора. Также рекомендуется включить возможности MCE (если они доступны), чтобы пользователи системы могли получать оповещение о любых проблемах с оборудованием. На некоторых архитектурах (например, x86_64) подобные ошибки выводятся не в dmesg, а в /dev/mcelog. А для него понадобится пакет app-admin/mcelog.

Также включите Maintain a devtmpfs file system to mount at /dev, чтобы критически важные файлы устройств были доступны на самом раннем этапе загрузки (CONFIG_DEVTMPFS и CONFIG_DEVTMPFS_MOUNT):

Ядро Включение поддержки devtmpfs
Device Drivers --->
  Generic Driver Options --->
    [*] Maintain a devtmpfs filesystem to mount at /dev
    [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs

Убедитесь, что поддержка SCSI-дисков включена (CONFIG_BLK_DEV_SD):

Ядро Включение поддержки SCSI-дисков
Device Drivers --->
   SCSI device support  --->
      <*> SCSI disk support

Теперь перейдите в раздел File Systems и выберите те файловые системы, которые планируете использовать. Файловая система, используемая в качестве корневой, должна быть включена в ядро (не модулем), иначе Gentoo не сможет примонтировать раздел при загрузке. Также включите Virtual memory и /proc file system. По необходимости выберите один или несколько элементов из списка (CONFIG_EXT2_FS, CONFIG_EXT3_FS, CONFIG_EXT4_FS, CONFIG_MSDOS_FS, CONFIG_VFAT_FS, CONFIG_PROC_FS, и CONFIG_TMPFS):

Ядро Выбираем необходимые файловые системы
File systems --->
  <*> Second extended fs support
  <*> The Extended 3 (ext3) filesystem
  <*> The Extended 4 (ext4) filesystem
  <*> Reiserfs support
  <*> JFS filesystem support
  <*> XFS filesystem support
  <*> Btrfs filesystem support
  DOS/FAT/NT Filesystems  --->
    <*> MSDOS fs support
    <*> VFAT (Windows-95) fs support
 
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] Tmpfs virtual memory file system support (former shm fs)

Если для подключения к Интернету используется PPPoE или модемное соединение, то включите следующие параметры (CONFIG_PPP, CONFIG_PPP_ASYNC и CONFIG_PPP_SYNC_TTY):

Ядро Выбираем необходимые драйвера для PPPoE
Device Drivers --->
  Network device support --->
    <*> PPP (point-to-point protocol) support
    <*>   PPP support for async serial ports
    <*>   PPP support for sync tty ports

Два параметра сжатия не повредят, но и не являются обязательными, как и PPP over Ethernet. Фактически, последний используется в случае, если ppp сконфигурирован на использование ядерный PPPoE режим.

Не забудьте настроить поддержку сетевых карт (Ethernet или беспроводных).

Поскольку большинство современных систем являются многоядерными, важно включить Symmetric multi-processing support (CONFIG_SMP):

Ядро Включаем поддержку SMP
Processor type and features  --->
  [*] Symmetric multi-processing support
Заметка
Во многоядерных системах каждое ядро считается за один процессор.

Если используются USB-устройства ввода (например клавиатура и мышь) или другие устройства, то не забудьте включить и эти параметры (CONFIG_HID_GENERIC, CONFIG_USB_HID, CONFIG_USB_SUPPORT, CONFIG_USB_XHCI_HCD, CONFIG_USB_EHCI_HCD, CONFIG_USB_OHCI_HCD):

Ядро Включаем поддержку USB для устройств ввода
Device Drivers --->
  HID support  --->
    -*- HID bus support
    <*>   Generic HID driver
    [*]   Battery level reporting for HID devices
      USB HID support  --->
        <*> USB HID transport layer
  [*] USB support  --->
    <*>     xHCI HCD (USB 3.0) support
    <*>     EHCI HCD (USB 2.0) support
    <*>     OHCI HCD (USB 1.1) support


Настройки, специфичные для архитектуры

Включите поддержку правильной шины:

Ядро Включение SBUS/UPA
Console drivers --->
  Frame-buffer support --->
    [*] SBUS and UPA framebuffers             
      [*] Creator/Creator3D support     (Только для адаптера типа UPA, используемого во многих системах Ultra)
    [*] CGsix (GX,TurboGX) support      (Только для адаптера типа SBUS, используемого во многих системах SPARC)

Конечно, включите поддержку OBP:

Ядро Включение поддержки OBP
Misc Linux/SPARC drivers --->
  [*]  /dev/openprom device support

Включите поддержку SCSI:

Ядро Включение поддержки SCSI
SCSI support --->
  SCSI low-level drivers --->
    <*> Sparc ESP Scsi Driver             (Только для встроенных SCSI-адаптеров SPARC ESP)
    <*> PTI Qlogic, ISP Driver            (Только для контроллеров SBUS SCSI от PTI или QLogic)
    <*> SYM53C8XX Version 2 SCSI support  (Только для встроенных SCSI-адаптеров Ultra 60)

Для поддержки сетевой карты выберите одну из следующего списка:

Ядро Включение поддержки сети
Network device support --->
  Ethernet (10 or 100Mbit) --->
    <*> Sun LANCE support                   (Только для SPARCStation, устаревших систем Ultra и варианта Sbus)
    <*> Sun Happy Meal 10/100baseT support  (Только для систем Ultra; также поддерживает "qfe" quad-ethernet на PCI и Sbus)
    <*> DECchip Tulip (dc21x4x) PCI support (Для некоторых систем Netras, вроде N1)
  Ethernet (1000Mbit) --->
    <*> Broadcom Tigon3 support (Современные Netra, компьютеры Sun Fire)

У четырёхпортового Ethernet компьютера (10/100 или 10/100/1000) порядок портов отличается от используемого в Solaris. Используйте sys-apps/ethtool для проверки состояния порта.

Если используется контроллер диска qla2xxx, установите sys-block/qla-fc-firmware и добавьте поддержку загрузки внешней прошивки.


Ядро Включение внешней прошивки
Device Drivers  --->
   Generic Driver Options  --->
   ()  External firmware blobs to build into the kernel binary
   ()  Firmware blobs root directory

Установите «External firmware blobs» в ql2200_fw.bin и «Firmware blobs root directory» в /lib/firmware/.

Компиляция и установка

Когда настройка закончена, настало время скомпилировать и установить ядро. Выйдите из настройки и запустите процесс компиляции:

root #make && make modules_install
Заметка
Можно включить параллельную сборку, используя make -jX, где X — это число параллельных задач, которые может запустить процесс сборки. Это похоже на инструкции, которые были даны ранее относительно файла /etc/portage/make.conf в части переменной MAKEOPTS.

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

root #ls -lh arch/sparc/boot/image
-rw-r--r--    1 root     root         2.4M Oct 25 14:38 image

Если размер несжатого ядра больше чем 7,5 МБ, перенастройте ваше ядро так, чтобы оно не превышало этих пределов. Одним из путей достижения этого является компиляция большинства драйверов ядра как модулей. Игнорирование этого может привести к незагружаемому ядру.

Также если ядро чуть-чуть больше чем необходимо, можно попробовать уменьшить его при помощи команды strip:

root #strip -R .comment -R .note arch/sparc/boot/image

Наконец, скопируйте образ ядра в /boot/.

root #cp arch/sparc/boot/image /boot/kernel-3.16.5-gentoo


Необязательно: Сборка initramfs

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

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

Важно
Если вы используете genkernel, вы должны использовать его для сборки и ядра, и initramfs. Если вы используете genkernel только для сборки initramfs, вы должны добавить аргумент --kernel-config=/путь/к/ядру.config к genkernel, иначе собранный initramfs может не заработать с вручную собранным ядром. Обратите внимание, что вручную собранные ядра выходят за рамки данного руководства. Смотрите страницу про настройку ядра для более подробной информации.

Чтобы установить initramfs, сперва установите sys-kernel/dracut, затем сгенерируйте initramfs:

root #emerge --ask sys-kernel/dracut
root #dracut --kver=3.16.5-gentoo

initramfs будет сохранён в /boot/ под названием, начинающимся с «initramfs»:

root #ls /boot/initramfs*

Теперь продолжите с раздела Модули ядра.

Альтернатива: Использование genkernel

Если ручная установка кажется слишком сложной, попробуйте использовать утилиту genkernel. Она сконфигурирует и соберёт ядро автоматически.

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

Приступим. Сперва нужно установить sys-kernel/genkernel:

root #emerge --ask sys-kernel/genkernel

Далее отредактируйте файл /etc/fstab, чтобы в строке , где /boot/ находится во втором поле, первое поле указывало на правильный раздел. Если вы следовали примеру разбиения разделов из данного Руководста, то, скорее всего, это будет устройство с файловой системой ext4. Тогда строка будет выглядеть следующим образом:

root #nano -w /etc/fstab
Файл /etc/fstabНастройка точки монтирования /boot
/boot	ext4	defaults	0 2
Заметка
В процессе настройки Gentoo /etc/fstab ещё будет изменён. На данный момент мы правим лишь /boot, так как genkernel использует эту настройку.

Осталось скомпилировать ядро, выполнив genkernel all. Учтите, что поскольку genkernel включает поддержку как можно большего диапазона оборудования, процесс сборки может занять некоторое время!

Заметка
Если для корневого раздела не используется файловая система ext4, возможно, придётся вручную настроить ядро используя genkernel --menuconfig all и добавив поддержку нужной ФС (т.е. не как модуля). Пользователям LVM2 следует также добавить --lvm в качестве аргумента.
root #genkernel all

По завершению работы genkernel будут сформированы ядро, полный набор модулей и файловая система инициализации (initramfs). Ядро и initrd нам понадобятся позднее. Запишите название файлов ядра и initrd, так как они нам понадобятся при настройке загрузчика. Initrd запускается сразу после ядра для определения оборудования (как при загрузке установочного CD), перед запуском самой системы.

root #ls /boot/vmlinu* /boot/initramfs*


Модули ядра

Конфигурация модулей

Заметка
Модули оборудования не обязательно указывать вручную. В большинстве случаев, udev автоматически загрузит все необходимые модуля для обнаруженных устройств. Однако, не будет никакого вреда, если указать автоматически загружаемые модули вручную. Иногда очень специфическим устройствам необходима помощь, чтобы загрузить их драйвера.

Укажите модули, которые должны загружаться автоматически в файлах /etc/modules-load.d/*.conf, по одному модулю в строке. Дополнительные параметры для модулей при необходимости можно указывать в файлах /etc/modprobe.d/*.conf.

Чтобы посмотреть доступные модули, выполните команду find, не забыв заменить «<kernel version>» на собранную в предыдущем шаге версию:

root #find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less

Например, чтобы автоматически загрузить модуль 3c59x.ko (драйвер для определённого семейства сетевых карт от 3Com), отредактируйте файл /etc/modules-load.d/network.conf, добавив туда имя модуля. Фактическое имя файла несущественно для загрузчика.

root #mkdir -p /etc/modules-load.d
root #nano -w /etc/modules-load.d/network.conf
Файл /etc/modules-load.d/network.confПринудительная загрузка модуля 3c59x во время загрузки
3c59x

Продолжите установку с раздела Настройка системы.





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

О файле fstab

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

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

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

  1. Первое поле содержит блочное устройство (или удалённую файловую систему), которое следует примонтировать. Для экземпляров блочных устройств возможно использование различных идентификаторов, включая путь к устройству, метки файловой системы, метки раздела и UUID
  2. Второе поле содержит точку монтирования, к которой следует монтировать раздел.
  3. Третье поле содержит тип файловой системы, используемой разделом.
  4. Четвёртое поле содержит параметры, используемые командой mount во время монтирования. Так как у каждой файловой системы могут быть собственные уникальные параметры, рекомендуется прочитать man-страницу команды mount (man mount), чтобы получить полный список всех возможных параметров. Параметры монтирования разделяются запятыми.
  5. Пятое поле используется командой dump для определения того, нуждается ли раздел в дампе или нет. Обычно это поле содержит 0 (ноль).
  6. Шестое поле используется командой fsck для определения порядка проведения проверки ошибок файловой системы, если система была отключена некорректно. Для корневой файловой системы необходимо указывать 1, для остальных — 2 (или 0, если проверка не требуется вовсе).
Важно
Файл /etc/fstab, который предоставляется в файлах stage Gentoo по умолчанию, не является валидным файлом fstab, а представлен в качестве шаблона, который может быть использован для ввода актуальных значений.
root #nano -w /etc/fstab

В оставшейся части текста в качестве идентификаторов блочных устройств разделов будут использоваться /dev/sd*.

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

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

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

Благодаря уникальности UUID, читателям, использующим таблицу разделов в стиле MBR, рекомендуется использовать UUID вместо меток для определения монтируемых томов в /etc/fstab.

Важно
UUIDs of the filesystem on a LVM volume and its LVM snapshots are identical, therefore using UUIDs to mount LVM volumes should be avoided.

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

У пользователей, которые пошли по пути использования GPT, есть несколько более надёжных вариантов для определения разделов в /etc/fstab. Метки разделов и UUID разделов могут быть использованы для идентификации разделов блочного устройства, независимо от того, какая файловая система была выбрана для самого раздела. Метки и UUID раздела определяются через префиксы PARTLABEL и PARTUUID соответственно. Их можно увидеть в терминале с помощью команды blkid:

root #blkid

Хотя это не всегда верно для меток разделов, использование UUID для идентификации раздела в fstab обеспечивает гарантию того, что загрузчик не собьётся при поиске определённого тома, даже если файловая система будет изменена в будущем. Использование по умолчанию старых файлов блочных устройств (/dev/sd*N) для определения разделов в fstab будет рискованно в системах, которые часто перезагружаются и в которых регулярно добавляются и удаляются блочные устройства SATA.

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


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

Ниже приведён более подробный пример файла /etc/fstab:

Файл /etc/fstabПолный пример /etc/fstab
/dev/sda2   none         swap    sw                   0 0
/dev/sda1   /            ext4    noatime              0 1
  
/dev/cdrom  /mnt/cdrom   auto    noauto,user          0 0

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

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

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

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

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

It is important to note the following sections are provided to help the reader quickly setup their system to partake in a local area network.

For systems running OpenRC, a more detailed reference for network setup is available in the advanced network configuration section, which is covered near the end of the handbook. Systems with more specific network needs may need to skip ahead, then return here to continue with the rest of the installation.

For more specific systemd network setup, please review see the networking portion of the systemd article.

Информация об узле и домене

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

OpenRC

root #nano -w /etc/conf.d/hostname
# Устанавливаем переменную hostname в выбранное значение имени узла
hostname="tux"

Во-вторых, если требуется доменное имя, настройте его в файле /etc/conf.d/net. Это необходимо, если провайдер или сетевой администратор требует этого или в сети есть DNS-сервер, но нет DHCP-сервера. Не беспокойтесь о DNS или доменном имени, если используется DHCP для динамического распределения IP-адресов и конфигурации сети.

Заметка
По умолчанию файла /etc/conf.d/net не существует, поэтому его нужно создать.
root #nano -w /etc/conf.d/net
# Устанавливаем переменную dns_domain_lo выбранным доменным именем
dns_domain_lo="homenetwork"
Заметка
Если доменное имя не настроено, то пользователь может получить сообщение «This is hostname.(none)» на экране входа. Это можно исправить, удалив .\O в файле /etc/issue.

Если требуется NIS-домен (пользователям, которые не знают, что это такое, он не понадобится), то настройте его тоже:

root #nano -w /etc/conf.d/net
# Устанавливаем переменную nis_domain_lo выбранным NIS-доменом
nis_domain_lo="my-nisdomain"
Заметка
За более подробной информацией о конфигурации DNS и NIS обратитесь к примерам в /usr/share/doc/netifrc-*/net.example.bz2, которые можно прочесть с помощью bzless. Также, возможно будет интересно установить net-dns/openresolv, который поможет с настройками DNS/NIS.

systemd

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

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

root #hostnamectl hostname tux

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

Сеть

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

DHCP через dhcpcd (любая система инициализации)

Most LAN networks operate a DHCP server. If this is the case, then using the dhcpcd program to obtain an IP address is recommended.

Чтобы установить:

root #emerge --ask net-misc/dhcpcd

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

root #rc-update add dhcpcd default
root #rc-service dhcpcd start

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

root #systemctl enable --now dhcpcd

Вместо netifrc вы можете использовать dhcpcd. Смотрите Dhcpcd для подробной информации.

netifrc (OpenRC)

Совет
Это один конкретный способ настройки сети, используя Netifrc с OpenRC. Существуют и другие способы для более простой настройки, такие как Dhcpcd.
Настройка сети

Во время установки Gentoo Linux сеть была уже настроена, однако она была настроена для самого установочного CD, а не для установленной среды. Сейчас мы устраним это упущение.

Заметка
Больше информации о настройке сети, в том числе об объединении интерфейсов, создании мостов, настройке 802.1Q VLAN и беспроводной сети, рассматриваются в разделе «Настройка сети».

Все настройки сети собраны в файле /etc/conf.d/net. В нём используется простой, но, возможно, пока ещё непонятный синтаксис. Не беспокойтесь! Обо всём мы расскажем далее. Полностью документированные примеры, описывающие множество разных конфигураций, доступны в /usr/share/doc/netifrc-*/net.example.bz2.

Сначала установите net-misc/netifrc:

root #emerge --ask --noreplace net-misc/netifrc

По умолчанию используется DHCP. Но для того, чтобы он заработал, необходимо установить DHCP-клиент. Это будет описано далее в разделе «Установка необходимым системных пакетов».

Если сетевое соединение требует дополнительной настройки DHCP или вовсе не использует DHCP, тогда откройте /etc/conf.d/net:

root #nano -w /etc/conf.d/net

Настройте оба параметра config_eth0 и routes_eth0, введя информацию о IP-адресе и информацию о маршрутизации:

Заметка
Предполагается имя сетевого интерфейса eth0, однако имя в многом зависит от системы. Будем считать, что интерфейс называется так же, как интерфейс, который получил название при загрузке установочного носителя. Больше информации можно найти в разделе «Именование сетевых интерфейсов».
Файл /etc/conf.d/netНастройка статического IP-адреса
config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
routes_eth0="default via 192.168.0.1"

Для использования DHCP настройте config_eth0:

Файл /etc/conf.d/netНастройка для работы DHCP
config_eth0="dhcp"

Для получения списка дополнительных настроек прочтите /usr/share/doc/netifrc-*/net.example.bz2. Не забудьте также прочитать man-страницу для DHCP-клиента, если требуется сделать дополнительные настройки.

Если в системе имеются несколько сетевых интерфейсов, то повторите предыдущие шаги для config_eth1, config_eth2, и так далее.

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

Автоматический запуск сетевого подключения при загрузке системы

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

root #cd /etc/init.d
root #ln -s net.lo net.eth0
root #rc-update add net.eth0 default

Если в системе есть несколько сетевых интерфейсов, то соответствующие файлы net.* должны быть созданы также, как мы сделали это для net.eth0.

Если после загрузки выяснится, что имя сетевого интерфейса (в данном документе используется имя eth0) не корректно, то выполните следующие шаги, чтобы исправить это:

  1. Измените настройки в файле /etc/conf.d/net, используя правильное название интерфейса (например, enp3s0 или enp5s0 вместо eth0).
  2. Создайте новую символьную ссылку (например, /etc/init.d/net.enp3s0).
  3. Удалите старую символьную ссылку (rm /etc/init.d/net.eth0).
  4. Добавьте новую в уровень запуска по умолчанию.
  5. Удалите старую с помощью rc-update del net.eth0 default.

Файл hosts

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

root #nano -w /etc/hosts
Файл /etc/hostsВнесение сетевой информации
# Это обязательные настройки для текущей системы
127.0.0.1     tux.homenetwork tux localhost
  
# Дополнительные настройки для других систем в сети
192.168.0.5   jenny.homenetwork jenny
192.168.0.6   benny.homenetwork benny

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

Опционально: поддержка PCMCIA-устройств

Владельцам PCMCIA необходимо установить пакет sys-apps/pcmciautils.

root #emerge --ask sys-apps/pcmciautils

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

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

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

root #passwd

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

Инициализация и конфигурация загрузки

OpenRC

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

root #nano -w /etc/rc.conf

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

root #nano -w /etc/conf.d/keymaps

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

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

root #nano -w /etc/conf.d/hwclock

Если аппаратные часы не настроены на время UTC, то в файле необходимо установить clock="local". В противном случае система может отображать неправильное время.

systemd

Рекомендуется запустить systemd-firstboot --prompt --setup-machine-id, чтобы убедиться, что система корректно настроена, но нужные шаги можно также запускаться отдельно.

root #systemd-firstboot --prompt --setup-machine-id

Next users should run systemctl to reset all installed unit files to the preset policy values:

root #systemctl preset-all

These two steps will help ensure a smooth transition from the live environment to the installation's first boot.





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

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

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

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

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

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

Другие пакеты также доступны в Portage — количество доступных пакетов растёт каждый день.

Совет
Если планируется использовать syslog-ng, рекомендуется установить пакет logrotate, так как в этом пакете нет механизма ротации системных журналов. Новые версии (>= 2.0) sysklogd сами управляют ротацией системных журналов.
Совет
В systemd используется собственная подсистема журналирования под названием «journal». Для систем с systemd установка отдельного пакета журналирования необязательна и может потребовать дополнительных настроек для того, чтобы служба syslog могла читать сообщения из journal.

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

root #emerge --ask app-admin/sysklogd

Для OpenRC:

root #rc-update add sysklogd default

У sysklogd нет unit-файла для systemd, так что пользователям systemd необходимо либо использовать journal (встроен в systemd), либо другой сервис журналирования.

Необязательно: планировщик задач Cron

Совет
Для systemd не требуется сервис cron, так как в нём есть таймеры, однако systemd всё равно позволяет запускать сервисы cron.

Теперь настала очередь планировщика cron. Хотя он является дополнительной и не обязательной для каждой системы программой, всё-таки рекомендуется его установить.

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

Gentoo предоставляет на выбор несколько планировщиков cron, включая sys-process/bcron, sys-process/dcron, sys-process/fcron и sys-process/cronie. Установка любого из них подобна установке системного журнала. Следующий пример покажет, как это сделать для sys-process/cronie:

root #emerge --ask sys-process/cronie

Для OpenRC:

root #rc-update add cronie default

Или для systemd:

root #systemctl enable cronie

Если планируется использовать dcron, то после его установки нужно выполнить следующую команду для инициализации:

root #crontab /etc/crontab

Если планируется использовать fcron, то после его установки нужно выполнить следующую команду для настройки:

root #emerge --config sys-process/fcron

Необязательно: Индексирование файлов

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

root #emerge --ask sys-apps/mlocate

Необязательно: Удаленный доступ

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

root #rc-update add sshd default

И для systemd:

root #systemctl enable sshd

Если требуется доступ через последовательную консоль (что возможно в случае удаленных серверов), раскомментируейте раздел «serial console» в файле /etc/inittab:

On OpenRC, uncomment the serial console section in /etc/inittab:

root #nano -w /etc/inittab
# SERIAL CONSOLES
s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100
s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100

Для systemd, выполните:

root #systemctl enable getty@tty1.service

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

It is important to use some method of synchronizing the system clock. This is usually done via the NTP protocol and software. Other implementations using the NTP protocol exist, like Chrony.

To set up Chrony, for example:

root #emerge --ask net-misc/chrony

On OpenRC, run:

root #rc-update add chronyd default

On systemd, run:

root #systemctl enable chronyd

systemd users may wish to use systemd-timesyncd described on the systemd article.

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

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

В следующей таблице перечислены утилиты, необходимы для определённых файловых систем:

Файловая система Пакет
Ext4 sys-fs/e2fsprogs
XFS sys-fs/xfsprogs
ReiserFS sys-fs/reiserfsprogs
JFS sys-fs/jfsutils
VFAT (FAT32, ...) sys-fs/dosfstools
Btrfs sys-fs/btrfs-progs
ZFS sys-fs/zfs
Совет
Дополнительная информация о файловых системах в Gentoo доступна на странице о файловых системах.

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

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

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

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

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

root #emerge --ask net-misc/dhcpcd

Больше информации о 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

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






GRUB2

When selecting a 64-bit profile during installation, then GRUB is the only supported bootloader.

Emerge

GRUB should be correctly configured for the platform automatically based on the profile. To make it explicit, however, specify it using:

root #echo 'GRUB_PLATFORMS="ieee1275"' >> /etc/portage/make.conf
root #emerge --ask --verbose sys-boot/grub:2

The GRUB2 software has now been merged to the system, but not yet installed.

Install

If the disk is partitioned using GPT (the preferred method), then install GRUB to the BIOS boot partition. Presuming the first disk (the one where the system boots from) is /dev/sda, the following commands will do:

root #grub-install --target=sparc64-ieee1275 --recheck /dev/sda
Совет
To find the boot device string to enter in the firmware, use the grub-ofpathname tool. If the BIOS boot partition is the first partition on the disk, select the entire disk:
root #grub-ofpathname /dev/sda
Otherwise, explicitly select the BIOS boot partition:
root #grub-ofpathname /dev/sda2

If the disk is partitioned using a Sun partition table instead, GRUB must be installed using blocklists. In this mode, instead of providing the physical disk as an argument, provide the path to the partition on which /boot/grub is mounted.

root #grub-install --target=sparc64-ieee1275 --recheck --force --skip-fs-probe /dev/sda1

Configure

Next, generate the GRUB2 configuration based on the user configuration specified in the /etc/default/grub file and /etc/grub.d scripts. In most cases, no configuration is needed by users as GRUB2 will automatically detect which kernel to boot (the highest one available in /boot/) and what the root file system is. It is also possible to append kernel parameters in /etc/default/grub using the GRUB_CMDLINE_LINUX variable.

To generate the final GRUB2 configuration, run the grub-mkconfig command:

root #grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.16.5-gentoo
Found initrd image: /boot/initramfs-genkernel-sparc-3.16.5-gentoo
done

The output of the command must mention that at least one Linux image is found, as those are needed to boot the system. If an initramfs is used or genkernel was used to build the kernel, the correct initrd image should be detected as well. If this is not the case, go to /boot/ and check the contents using the ls command. If the files are indeed missing, go back to the kernel configuration and installation instructions.

SILO, начальный загрузчик для SPARC

Пришло время установить и настроить SILO, улучшенный загрузчик SPARC (Sparc Improved boot LOader).

root #emerge --ask sys-boot/silo

Далее создайте /etc/silo.conf:

root #nano -w /etc/silo.conf

Ниже приведен пример файла silo.conf. В нем используется схема разбиения, которую мы применяем во всей книге, а также файл kernel-3.16.5-gentoo в качестве образа ядра и initramfs-genkernel-sparc64-3.16.5-gentoo в качестве initramfs.

Файл /etc/silo.confПример файла настройки
partition = 1         # Загрузочный раздел (= корневой раздел)
root = /dev/sda1      # Корневой раздел
timeout = 150         # Ждать 15 секунд до начала загрузки раздела по умолчанию
  
image = /boot/kernel-3.16.5-gentoo
  label = linux
  append = "initrd=/boot/initramfs-genkernel-sparc64-3.16.5-gentoo root=/dev/sda1"

Если используете файлом-примером silo.conf, установленным Portage, обязательно закомментируйте все строки, которые не нужны.

Если файл /etc/silo.conf не находится на том же физическом диске, на который вы собираетесь установить SILO (в качестве загрузчика), необходимо скопировать файл /etc/silo.conf на раздел того диска, на который устанавливается загрузчик. Например, если /boot/ является отдельным разделом на этом диске, скопируйте настроечный файл в /boot/ и запустите /sbin/silo:

root #cp /etc/silo.conf /boot
root #/sbin/silo -C /boot/silo.conf
/boot/silo.conf appears to be valid

В противном случае, просто запустите /sbin/silo:

root #/sbin/silo
/etc/silo.conf appears to be valid
Заметка
Запускайте silo (с параметрами) каждый раз, когда обновляете или переустанавливаете пакет sys-boot/silo.


Перезагрузка системы

Выйдите из изолированной среды и размонтируйте все смонтированные разделы. Затем введите ту самую волшебную команду, которая запускает последний, настоящий тест: reboot.

root #exit
cdimage ~#cd
cdimage ~#umount -l /mnt/gentoo/dev{/shm,/pts,}
cdimage ~#umount -R /mnt/gentoo
cdimage ~#reboot

Не забудьте вынуть загрузочный компакт-диск, иначе он загрузится снова вместо новой системы Gentoo.

Перезагрузившись во вновь установленную систему, переходите к завершению установки Gentoo.





Управление учетными записями

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

Работа под учётной записью 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 #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), которые, при правильной настройке, очень безопасны.

Очистка диска

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

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

root #rm /stage3-*.tar.*

Что делать дальше

Не уверены что делать дальше? Есть множество путей для исследований… Gentoo даёт своим пользователям богатый выбор, а следовательно, и множество документированных (или не очень) возможностей для изысканий здесь, на вики, а также других ресурсах Gentoo (см. раздел Gentoo в сети).

Дополнительная документация

It is important to note that, due to the number of choices available in Gentoo, the documentation provided by the handbook is limited in scope - it mainly focuses on the basics of getting a Gentoo system up and running and basic system management activities. The handbook intentionally excludes instructions on graphical environments, details on hardening, and other important administrative tasks. That being stated, there are more sections of the handbook to assist readers with more basic functions.

Обязательно прочтите следующую часть руководства, Работа с Gentoo, в которой рассказывается, как поддерживать программное обеспечение в актуальном состоянии, как устанавливать дополнительные пакеты программ, даётся дополнительная информация о USE-флагах, системе инициализации OpenRC и многом другом, связанном с администрированием Gentoo после установки.

Кроме Руководства, можно также исследовать другие уголки вики, в которой есть дополнительная документация, созданная сообществом. Команда вики Gentoo предлагает обзор документации по темам, который содержит список статей, отсортированных по категории. Например, там есть руководство по локализации, с помощью которого можно сделать систему более «домашней» (особенно полезно пользователям, для которых английский язык не родной).

The majority of users with desktop use cases will setup graphical environments in which to work natively. There are many community maintained 'meta' articles for supported desktop environments (DEs) and window managers (WMs). Readers should be aware that each DE will require slightly different setup steps, which will lengthen add complexity to bootstrapping.

Many other Meta articles exist to provide our readers with high level overviews of available software within Gentoo.

Gentoo в сети

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

За исключением IRC, находящегося на серверах Libera.Chat, и почтовых рассылок, на большинстве сайтов Gentoo требуется собственная учетная запись для того, чтобы задавать вопросы, открывать обсуждения или оформлять запросы.

Форумы и IRC

Мы приветствуем каждого пользователя на наших форумах Gentoo или в одном из наших IRC-каналов. На форумах есть удобный поиск, позволяющий искать похожие решённые проблемы, связанные с установкой Gentoo. Ошибки новичков, возникающие при установке системы, удивительно похожи. Перед тем, как попросить помощи на каналах поддержки Gentoo, рекомендуется выполнить поиск похожих проблем на форумах и вики.

Списки рассылок

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

Отчёты об ошибках

Иногда, даже после посещения страниц вики, поиска на форумах или обсуждения в IRC и почтовой рассылке, не находится подходящего решения для возникшей проблемы. Обычно это является свидетельством того, что необходимо составить отчёт об ошибке на сайте Gentoo Bugzilla.

Руководство по разработке

Те пользователи, которые хотят узнать больше о разработке Gentoo, могут почитать Руководство разработки. Это руководство описывает порядок написания ebuild, работу eclass, предоставляет определение многим понятиям, лежащим в основе разработки Gentoo.

Напутственные слова

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

В качестве напоминания, запросы, связанные с данным Руководством, должны следовать инструкциями, приведённым в разделе «Как я могу улучшить Руководство?».

Мы ждём с нетерпением новых пользователей Gentoo!




Warning: Display title "Gentoo Linux sparc Handbook: Установка Gentoo" overrides earlier display title "Handbook:SPARC/Full/Installation".