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

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

Contents

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎
AMD64 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


Введение

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

Прежде всего, добро пожаловать в 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 Пользователь настроил большую часть конфигурационных файлов системы Gentoo.
8 Установлены необходимые системные средства.
9 Установлен и настроен выбранный начальный загрузчик.
10 Вы можете начинать изучение только что установленной среды Gentoo.

Настольная книга попытается объяснить плюсы и минусы каждого варианта, если будет предложен какой-либо выбор. Хотя далее текст продолжается с использованием выбора по умолчанию (он помечен как "По умолчанию:" в заголовке), другие возможности также документируются (помечаются как "Альтернатива:" в заголовке). Не думайте, что то, что выбрано по умолчанию является рекомендацией Gentoo. Однако это тот вариант, который, как мы думаем, будет использовать наибольшее число пользователей.

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

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

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

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

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

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

Проблемы

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

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

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

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




Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎
AMD64 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

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


Минимальный CD LiveDVD
Центральный процессор Любой процессор AMD64 или EM64T (процессоры i3, i5 и i7 являются EM64T)
Память 256 МБ 512 МБ
Дисковое пространство 2.5 ГБ (исключая пространство подкачки)
Пространство подкачки Не менее 256 МБ

На станице проекта AMD64 можно получить больше информации о поддержке amd64 в Gentoo.


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

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

Заметка
На момент 20 апреля 2017 официальный минимальный CD не способен загрузится в UEFI-режиме. Он загружается только в BIOS (MBR) режиме. Желающие загрузится в UEFI-режиме, должны загрузить последний Hybrid ISO (LiveDVD).

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

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

Возможный Gentoo LiveDVD

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

Что такое stage?

Архив stage3 — это архив, содержащий минимальное окружение Gentoo, пригодное для продолжения установки Gentoo в соответствии с инструкциями, данными в этом руководстве. Когда-то в Gentoo Handbook описывались варианты установки с использованием любого из трех существующих архивов stage. Несмотря на то, что в Gentoo до сих представлены архивы stage1 и stage2, в официальном способе установки используется архив stage3. Если вас интересует установка Gentoo из архивов stage1 или stage2, пожалуйста, обратитесь к Gentoo FAQ, раздел Как установить Gentoo с использованием архива stage1 или stage2?

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

Загрузка

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

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

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

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

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

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

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

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

Пока не обращайте внимания на остальные файлы, находящиеся в данном каталоге - про них мы поговорим, когда установка продолжится. Скачайте файл .iso, и, если нужна проверка скачанных файлов, также скачайте файл .DIGESTS.asc для необходимого файла .iso. Файл .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 hkp://keys.gnupg.net --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

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

user $gpg --verify install-amd64-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-amd64-minimal-20141204.iso.DIGESTS.asc
# SHA512 HASH
364d32c4f8420605f8a9fa3a0fc55864d5b0d1af11aa62b7a4d4699a427e5144b2d918225dfb7c5dec8d3f0fe2cddb7cc306da6f0cef4f01abec33eec74f3024  install-amd64-minimal-20141204.iso
--
# SHA512 HASH
0719a8954dc7432750de2e3076c8b843a2c79f5e60defe43fcca8c32ab26681dfb9898b102e211174a895ff4c8c41ddd9e9a00ad6434d36c68d74bd02f19b57f  install-amd64-minimal-20141204.iso.CONTENTS

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

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

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

Запись диска

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

Прожиг в Microsoft Windows

В Microsoft Windows существует ряд инструментов для записи файлов ISO на CD.

  • В EasyCD Creator, в меню File, выберите Record CD from CD image. Затем измените Files of type на ISO image file. Затем откройте ISO файл с помощью Open. После проверки нажмите на Start recording ISO образ будет записан на CD-R.
  • В Nero Burning ROM откажитесь от автоматического мастера и выберите Burn Image и меню File. Выберите образ для записи и нажмите Open. Теперь нажмите кнопку Burn и подождите пока новый CD диск запишется.

Прожиг в Linux

В Linux файл ISO можно записать на CD командой cdrecord, из пакета app-cdr/cdrtools.

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

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

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

Загрузка

Загрузка с установочного носителя

После того как установочный носитель готов, пора его загрузить. Вставьте носитель, перезагрузите компьютер и войдите в пользовательский интерфейс прошивки материнской платы. Это можно сделать нажимая одну из клавиш на клавиатуре, такие как DEL, F1, F10 или ESC, в процессе Power-On Self-test (POST). 'Подходящая' клавиша зависит от системы и материнской платы. Если подходящая клавиша не так очевидна, поищите в интернете, используя название и модель материнской платы в качестве ключевых слов. Результат должен помочь определить. После входа в меню прошивки материнской платы измените порядок загрузки так, чтобы внешний установочный носитель (диски CD/DVD или USB-носители) был перед внутренними дисками. Без этого изменения система, скорее всего, перезагрузиться с использованием внутреннего диска, игнорируя внешний загрузочный носитель.

Важно
При установке Gentoo с использованием UEFI вместо BIOS, рекомендуется загрузиться сразу же с UEFI. Если этого не сделать, то может понадобиться создать загрузочную UEFI-флешку (или другой носитель информации) перед окончанием установки Gentoo Linux.

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

В загрузочной командной строке у вас есть выбор — показать все доступные ядра (F1) и загрузочные параметры (F2). Если выбор не сделан в течение 15 секунд (не запросите отображение информации или использование ядра), тогда установочный носитель продолжит загрузку с диска. Это позволяет перезагружаться и пробовать установленное окружение без необходимости удалять CD из привода (что очень хорошо для удаленных установок).

На минимальном установочном носителе есть только два определенных параметра загрузки ядра. Параметр по умолчанию называется gentoo. Другой заканчивается на -nofb; он отключает поддержку фреймбуфера в ядре.

Следующий раздел даст краткий обзор доступных ядер и их описание:

Выбор ядра

gentoo
Ядро по умолчанию с поддержкой процессоров K8 (включая поддержку NUMA) и EM64T.
gentoo-nofb
Аналогично gentoo, но без поддержки кадрового буфера.
memtest86
Тест оперативной памяти на ошибки.

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

Аппаратные параметры

acpi=on
Загружает поддержку ACPI, а также запускает демон acpid при загрузке. Это необходимо только если система требует ACPI для нормальной работы. Это не нужно для поддержки Hyperthreading.
acpi=off
Полностью отключает ACPI. Это полезно на некоторых старых системах, а также необходимо для использования APM. Это также отключит любую поддержку HyperThreading вашего процессора.
console=X
Создает консоль на CD с последовательным доступом. Первый параметр это устройство, обычно ttyS0 на x86, за которой следуют любые параметры соединения, разделенные запятыми. Параметры по умолчанию 9600,8,n,1.
dmraid=X
Позволяет передавать параметры в device-mapper RAID-подсистему. Параметры должны находиться в кавычках.
doapm
Загружает поддержку APM драйвера. Также необходимо acpi=off.
dopcmcia
Загружает поддержку для PCMCIA и Cardbus аппаратного обеспечения, а также запускает cardmgr для PCMCIA при загрузке. Это необходимо только при загрузке с устройств PCMCIA/Cardbus.
doscsi
Загружает поддержку для большинства SCSI-контроллеров. Также это требование для загрузки большинства USB-устройств, так как они используют подсистему SCSI ядра.
sda=stroke
Позволяет пользователям распределять место на всем жестком диске, даже если BIOS не поддерживает большие диски. Данный параметр используется только на машинах со старым BIOS. Замените sda на устройство, для которого нужно включить данный параметр.
ide=nodma
Заставляет отключить DMA в ядре, что необходимо некоторым чипсетам IDE, а также некоторым дисководам CDROM. Если система испытывает трудности при чтении с IDE CDROM, попробуйте данный параметр. Кроме того, это также отключает выполнение настроек hdparm по умолчанию.
noapic
Отключает Advanced Programmable Interrupt Controller (APIC), который присутствует на новых материнских платах. Известно, что это вызывает некоторые проблемы на старом железе.
nodetect
Отключает все автоопределение, проводимое при загрузке с CD, включая автоопределение устройств и опрос DHCP. Это полезно для выполнения отладки неработающего CD или драйвера.
nodhcp
Это отключает опрос DHCP на найденных сетевых картах. Это полезно в сетях только со статическими адресами.
nodmraid
Отключает поддержку device-mapper RAID, такого, который используется для IDE/SATA RAID-контроллеров.
nofirewire
Отключает загрузку модулей Firewire. Это должно быть необходимо только если ваше железо FireWire вызывает проблемы при загрузке с CD.
nogpm
Отключает поддержку мыши в консоли, gpm.
nohotplug
Отключает загрузку init-скриптов hotplug и coldplug при загрузке. Это полезно для выполнения отладки неработающего CD или драйвера.
nokeymap
Отключает выбор раскладки клавиатуры, используемой для выбора не-US раскладок.
nolapic
Отключает локальный APIC на однопроцессорных ядрах.
nosata
Отключает загрузку модулей Serial ATA. Это используется, если система испытывает проблемы с подсистемой SATA.
nosmp
Отключает SMP, или Symmetric Multiprocessing, на ядрах, которые поддерживают SMP. Это полезно для отладки проблем, связанных с SMP на некоторых драйверах и материнских платах.
nosound
Отключает поддержку звука и настроек громкости. Это полезно для систем где поддержка звука вызывает проблемы.
nousb
Отключает автозагрузку USB-модулей. Это полезно для отладки проблем с USB.
slowusb
Добавляет некоторые дополнительные паузы в процесс загрузки для медленных USB-CDROM'ов, например в IBM BladeCenter.

Логический том/управление устройствами

dolvm
Включает поддержку Linux Logical Volume Management (LVM).

Другие параметры

debug
Включает отладочный код. Это может стать проблемой, так как выводит множество данных на экран.
docache
Кэширует всю запускаемую часть CD в ОЗУ, что позволяет вам размонтировать /mnt/cdrom, и смонтировать другой CDROM. Данный параметр требует, чтобы было по крайней мере в два раза больше памяти, чем размер CD.
doload=X
Заставляет начальный рамдиск загрузить любой обозначенный модуль, а также его зависимости. Замените X на имя модуля. Несколько модулей можно задать через запятую.
dosshd
Запускает при загрузке sshd, что полезно для автоматических установок.
passwd=foo
Устанавливает то, что следует за знаком равенства как пароль root, что необходимо для dosshd, так как по умолчанию выбирается случайный пароль root.
noload=X
Это заставляет начальный рамдиск пропустить загрузку любого обозначенного модуля который может вызывать проблемы. Синтаксис совпадает с параметром doload.
nonfs
Отключает запуск portmap/nfsmount при загрузке.
nox
Заставляет LiveCD, в котором есть X-сервер не запускать X автоматически, а перейти в командную строку.
scandelay
Заставляет CD остановиться на 10 секунд в некоторых местах загрузочного процесса, чтобы позволить медленным устройствам инициализироваться и быть доступными для использования.
scandelay=X
Позволяет задать некоторую задержку, в секундах, которую нужно добавить в некоторые места загрузочного процесса, чтобы позволить медленным устройствам инициализироваться и быть доступными для использования. Замените X на число секунд для паузы.
Заметка
Загрузочный носитель будет проверять параметры no* до параметров do*, так что параметры могут быть переопределены в порядке, в котором они приведены выше.

Теперь загрузите систему с накопителя, выберите ядро (если не устраивает ядро по умолчанию gentoo) и дополнительные параметры загрузки. В качестве примера мы загрузим ядро gentoo с параметром ядра dopcmcia:

boot:gentoo dopcmcia

Появится заставка с полосой индикатора загрузки. Если вы устанавливаете Gentoo на машину с неамериканской раскладкой клавиатуры, нужно немедленно нажать Alt+F1, чтобы переключиться в подробный режим, и следовать появившимся указаниям. Если ничего не выбрано в течение 10 секунд, устанавливается раскладка по умолчанию (клавиатура США), а загрузка продолжается. По окончании загрузки для вас будет выполнен автоматический вход в "живой" Gentoo Linux в качестве "root" (администратора). В текущей консоли должно появиться прилашение root ("#"). Также можно переключаться в другие консоли, нажимая Alt+F2, Alt+F3 и Alt+F4. Вернуться в первоначальную консоль можно нажатием Alt+F1.


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

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

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

root #modprobe 8139too

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

Если другие люди должны иметь доступ к среде установки, или есть необходимость запускать команды, как не root пользователь на установочном образе (например, общаться с помощью irssi, без root привилегий, по соображениям безопасности), то должна быть создана дополнительная учетная запись пользователя, а пользователю 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 Handbook - конечно, только с того момента, как заработает подключение к Интернет.

user $links https://wiki.gentoo.org/wiki/Handbook:AMD64

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

GNU Screen

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

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

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

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

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

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




Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎
AMD64 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

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

Если система подключена к сети 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.

Команда 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.

В оставшейся части Handbook будет считаться, что рабочий сетевой интерфейс называется 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-адреса ДНС-серверов и, если требуется, базовая настройка брандмауэра.

root #pppoe-setup
root #pppoe-start

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

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

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

Если необходима поддержка PPTP, используйте скрипт pptpclient с установочного CD. Но сначала убедитесь, что конфигурация правильная. Отредактируйте /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 ip>

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

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

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

При загрузке с установочного 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

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

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

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

При использовании беспроводных (802.11) карт, их настройка должны быть сделана прежде, чем идти дальше. Чтобы увидеть текущие настройки карты, можно использовать iw. Запуск 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 Handbook.

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

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

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

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

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

Код Пример IPv4 адреса
IP Адрес (numbers):   192.168.0.2
IP Адрес (bits):      11000000 10101000 00000000 00000010
                      -------- -------- -------- --------
                         192      168       0        2
Заметка
Приемником IPv4, IPv6, используется 128 бит (единиц и нулей). В этой секции фокус на адресации IPv4.

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

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

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

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

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

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

Чтобы иметь возможность путешествовать по Интернету, каждый компьютер в сети должен знать, через какой узел происходит подключение к интернету. Этот узел называется шлюзом. Так как это обычный узел, у него есть обычный 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

Настройка сети состоит из следующих шагов:

  1. Привязка IP-адреса, используя ifconfig
  2. Настройка маршрутизации, используя route
  3. Закончивается путем размещения IP-адресов серверов имен в /etc/resolv.conf

Чтобы назначить IP-адрес необходимо сам 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
nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}

Вот и все. Теперь проверьте сеть, сделав пинг сервера в интернете (например Google). Если все работает, то поздравляем. Продолжайте чтение в Подготовка дисков.




Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎
AMD64 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

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

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

Для начала, рассмотрим блочные устройства. Наиболее известным блочным устройством можно считать первый диск в системе Linux, именуемый /dev/sda. И SCSI-, и Serial ATA-диски обозначаются как /dev/sd*; благодаря фреймворку ядра libata даже IDE-диски обозначаются как /dev/sd*. Если же используется старый фреймворк устройств, первым IDE-диском будет /dev/hda.

Вышеназванные блочные устройства представляют абстрактный интерфейс к диску. Пользовательские приложения могут использовать их для взаимодействия с диском, не заботясь о том, какой это диск — IDE, SCSI или ещё какой-либо. Программа просто адресует пространство на диске как совокупность следующих друг за другом 512-байтных блоков с произвольным доступом.


Таблица разделов

Не смотря на то, что теоретически возможно использовать весь (raw) не разбитый диск для размещения системы Linux (например, при создании btrfs RAID), этого почти никогда не случается на практике. Вместо этого, блочные устройства (диск) разбивается на меньшие, более удобные для обращения, блочные устройства. В системах amd64, они называются разделами. В настоящее время есть две стандартных технологии разметки дисков: MBR и GPT.

MBR

MBR (Master Boot Record, главная загрузочная запись) использует 32-битные идентификаторы для определения начала сектора и длины раздела, поддерживает три типа разделов: основные, расширенные и логические. Информация о расположении основных разделов хранится в самой главной загрузочной записи - очень небольшом (обычно 512 байт) месте в самом начале диска. В связи с этим небольшим размером поддерживаются только четыре основных раздела (например, от /dev/sda1 до /dev/sda4).

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

Каждый раздел имеет ограничение размера в 2 ТБ (в связи с 32-битными идентификаторами). Кроме того, MBR не обеспечивает резервного копирования главной загрузочной записи, так что если пользователь или приложение перезапишет MBR, то вся информация о разделах теряется.

GPT

GPT (GUID Partition Table, таблица разделов GUID) использует 64-битные идентификаторы разделов. Место, в котором храниться информация о разделах также гораздо больше, чем 512 байт в MBR. Это подразумевает что почти нет никаких ограничений на количество разделов в разбитом с помощью GPT диске. Также предельный размер раздела гораздо больше (почти 8 ЗБ - да, зеттабайт).

Когда программным интерфейсом системы между операционной системой и прошивкой является UEFI (вместо BIOS), GPT является почти обязательным, так как с MBR будут возникать проблемы совместимости.

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

GPT или MBR

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

GPT можно использовать на компьютерах с BIOS, но тогда может не работать двойная загрузка с операционными системами Microsoft Windows. Причина в том, что Microsoft Windows системы будут загружаться в режиме UEFI, если обнаружат метку GPT раздела.

В некоторых забагованных прошивках материнских платах, настроенных на загрузку в режимах BIOS/CSM/legacy, также могут возникать проблемы с загрузкой с дисков помеченных (label) GPT. Если это так, то можно обойти проблему путем добавления флага загрузки/активности на защищенном разделе MBR, который должен быть сделан через fdisk с параметром -t dos, чтобы заставить их прочитать таблицу разделов, используя формат MBR.

В этом случае, запустите fdisk и переключите флаг, используя a. Нажмите (1) для выбора первого раздела, затем нажмите (w) для записи изменений на диск и выйдите из приложения fdisk:

user $fdisk -t dos /dev/sda
Welcome to fdisk (util-linux 2.24.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
  
Command (m for help): a
Partition number (1-4): 1
  
Command (m for help): w

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

При установке Gentoo на систему использующую UEFI для загрузки операционной системы (вместо BIOS) важно, что бы был создан системный раздел EFI (EFI System Partition ESP). Расположенные ниже инструкции для parted содержат эту информацию, чтобы правильно произвести эту операцию.

Системный раздел EFI (ESP) должен быть одним из вариантов файловой системы FAT (иногда отображаемый как vfat на системах Linux). В официальной спецификации UEFI говориться о том, что UEFI-firmware может работать с FAT12, 16 и 32, но рекомендуется использовать FAT32 для ESP. Продолжим, отформатировав ESP в FAT32.

root #mkfs.fat -F 32 /dev/sda2
Предупреждение
Если ESP не использует один из вариантов FAT, то не гарантируется, что системная прошивка UEFI сможет найти загрузчик (или ядро Linux) и, скорей всего, не сможет загрузить систему!

Продвинутое хранилище

Btrfs RAID

Как было отмечено выше, btrfs имеет возможность создавать файловые системы на нескольких устройствах. Файловые системы btrfs созданные таким образом, могут действовать в следующих режимах: RAID0, RAID1, RAID10, RAID5 и RAID6. Режимы RAID 5 и 6 значительно улучшились, но по-прежнему считаются неустойчивыми. После того как нескольких файловых устройство было создано, могут быть добавлены новые устройства а старые устройства удалены с помощью нескольких команд. Btrfs активнее других файловых систем вводит новшества, что делает его не таким дружелюбным к новичкам.

Файловая система ext4 может быть преобразована в файловую систему Btrfs, которая (ext4) будет полезна тем, кто хотел бы установить Gentoo на стабильную, хорошо испытанную файловую систему и постепенно увеличивать свои знания о новых файловых систем, таких как btrfs, экспериментальным путем.

LVM

Установочный CD amd64 предоставляет поддержку Logical Volume Manager (LVM). LVM увеличивает гибкость в создании разделов. Инструкции по установке ниже будут фокусироваться на "обычных" разделах, но все же хорошо знать, что LVM поддерживается, если это необходимо. Посетите статью LVM для более подробной информации. Новички, будьте осторожны, так как полная поддержка LVM выходит за рамки данного руководства.

Схема разделов по умолчанию

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

Раздел Файловая система Размер Описание
/dev/sda1 (bootloader) 2M BIOS boot раздел
/dev/sda2 ext2 (или fat32, если будет использоваться UEFI) 128M Boot/EFI системный раздел
/dev/sda3 (swap) 512M или больше Swap раздел
/dev/sda4 ext4 Оставшаяся часть диска Root раздел

Если этого достаточно и читатель собирается использовать GPT, то он может сразу перейти к По умолчанию: Использование parted для создания разделов диска. Тем, кому по прежнему нужен MBR (такое бывает!), и используется разбитие диска как в примере, они могут перейти к Альтернатива: Использование fdisk для создания разделов диска.

И fdisk, и parted являются инструментами для создания разделов. fdisk широко известен, стабилен и рекомендован для создания разделов MBR, а parted был первым в Linux из менеджеров блочных устройств, который поддерживает GPT разделы. Для тех, кому нравится интерфейс fdisk могут использовать gdisk (GPT fdisk) как альтернативу parted.

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

Разрабатываем схему разделов

Сколько разделов и насколько большие?

Количество разделов очень сильно зависит от назначения системы. Например, если много пользователей, скорее всего, захочется отделить /home/ для повышения безопасности и упрощения резервного копирования. Если Gentoo устанавливается для использования в роли почтового сервера, следует отделить /var/, так как вся почта хранится в /var/. Правильный выбор файловой системы увеличит производительность. Для игровых серверов потребуется отдельный раздел /opt/, так как большинство игровых серверов устанавливается туда. Причины выделения те же, что и для /home/: безопасность и резервное копирование. Определенно не помешает побольше места для /usr/: не только потому, что там хранится большинство приложений, а еще из-за того, что лишь Gentoo репозиторий, не считая размещенных в нем архивов с исходным кодом, занимает около 500 Мб.

Все сильно зависит от того, чего хочет достигнуть администратор. Наличие отдельных разделов или томов имеет следующие плюсы:

  • Можно выбрать наиболее подходящую файловую систему для каждого раздела или тома.
  • Свободное место во всей системе не кончится "вдруг" из-за того, что одна-единственная сбойная программа постоянно записывает файлы в раздел или том.
  • Необходимая проверка файловых систем будет занимать меньше времени, так как проверка разных разделов может выполняться параллельно (еще больший выигрыш времени дает использование нескольких физических дисков).
  • Можно повысить безопасность системы, монтируя часть разделов в режиме read-only (только для чтения), nosuid (игнорируется бит setuid), noexec (игнорируется бит исполнения) и так далее.

Однако у множества разделов также есть недостатки. Если они не настроены правильно, может получиться так, что будет огромное количество свободного места на одном разделе и отсутствием его на другом. Другой проблемой является то, что отдельные разделы, особенно для важных точек монтирования, например /usr/ или /var/, часто требуют загрузки initramfs, чтобы смонтировать разделы прежде чем запустятся другие загрузочные скрипты. Это не всегда является проблемой, так что результаты могут быть разные.

Также существует лимит в 15 разделов для SCSI и SATA, если только на диске не используются метки GPT.

Что по поводу пространства подкачки?

Не существует идеального значения для раздела подкачки. Целью пространства подкачки является предоставление дискового пространства ядру, когда оперативная память (ОЗУ) сильно используется. Пространство подкачки позволяет ядру переносить страницы памяти, которые, скорее всего, не будут использоваться в ближайшее время, на диск (что называется swap, или page-out), освобождая память. Конечно, если эта память, вдруг, неожиданно понадобится, эти страницы должны быть помещены обратно в память (page-in), что займет некоторое время (так как диски - это очень медленные устройства, если сравнивать их с оперативной памятью).

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


Что такое загрузочный раздел BIOS?

Загрузочный раздел BIOS очень маленький (1-2 Мб), в него загрузчики, такие как GRUB2, могут поместить дополнительные данные, которые не помещаются в выделенное хранилище (несколько сотен байтов в случае MBR) и не могут быть помещены в другое место.

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

Для полноты картины загрузочный раздел BIOS необходим, когда GPT разметка разделов используется совместно с GRUB2, или когда MBR разметка разделов используется совместно с GRUB2 когда начало первого раздела находится ранее 1Мб на диске.

По умолчанию: Использование parted для создания разделов диска

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

Раздел Описание
/dev/sda1 BIOS boot раздел
/dev/sda2 Boot раздел
/dev/sda3 Swap раздел
/dev/sda4 Root раздел

Измените структуру разделов в соответствии с личными предпочтениями.

Просмотр текущей разметки разделов с помощью parted

Приложение parted предлагает простой интерфейс для разбития дисков и поддерживает очень большие разделы (более 2 ТБ). Указывайте для parted диск (например, в нашем примере мы используем /dev/sda). Рекомендуется также для parted указывать оптимальное выравнивание разделов:

root #parted -a optimal /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.

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

Чтобы узнать обо всех опциях, поддерживаемых parted введите help.

Установка метки GPT

Большинство дисков в архитектурах x86 или amd64 создаются с меткой msdos. Используйте parted для размещения метки GPT на диске используйте команду mklabel gpt:

Предупреждение
Изменение типа разделов удалит все разделы на диске. Вся информация на диске будет потеряна.
(parted)mklabel gpt

Чтобы сделать структуру разделов MBR используйте команду mklabel msdos.

Удаление всех разделов с помощью parted

Если это не было сделано ранее (например через операцию mklabel, или если диск был недавно отформатирован), сначала удалите все существующие разделы на диске. Введите print, чтобы посмотреть текущие разделы и rm <N>, где <N> — номер раздела для удаления.

(parted)rm 2

Сделайте то же для всех других разделов, в которых нет необходимости. Однако, убедитесь, чтобы не сделали ошибок - parted применяет изменения немедленно (в отличии от fdisk, где пользователю дается возможность "отменить" изменения перед сохранением или выходом).

Создание разделов

Теперь, с помощью parted, создадим разделы со следующими параметрами:

  • Используемый тип раздела. Обычно это основной раздел. Если используется для разделов метка msdos, то учтите, что основных разделов может быть только 4. Если необходимо больше чем 4 раздела, то необходимо сначала создать расширенный раздел, а затем создать внутри него логические.
  • Начальная позиция раздела (которая может быть выражена в MB, GB, ...)
  • Конечная позиция раздела (которая может быть выражена в MB, GB, ...)

Во-первых, необходимо сказать parted, что единицы, с которыми мы работаем мегабайты (на самом деле мебибайты, сокращенно MiB, являющиеся "стандартом" обозначения, но мы будем использовать MB в тексте, поскольку это намного более распространено):

(parted)unit mib

Теперь создайте 2МБ раздел, который будет использоваться загрузчиком GRUB2 позже. Используйте команду mkpart и сообщите parted, что раздел начинается с 1 МБ от начала диска и заканчивается на 3 МБ (для создания раздела размером 2 МБ).

(parted)mkpart primary 1 3
(parted)name 1 grub
(parted)set 1 bios_grub on
(parted)print
Model: Virtio Block Device (virtblk)
Disk /dev/sda: 20480MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
  
Number   Start      End      Size     File system  Name   Flags
 1       1.00MiB    3.00MiB  2.00MiB               grub   bios_grub

Сделайте тоже самое для загрузочного раздела (128 Мб), раздела подкачки (в примере 512 МБ) и корневого раздела, который занимает все оставшееся пространство (для него конец помечается как -1, что означает конец диска минус один МБ, это подходит для последнего раздела).

(parted)mkpart primary 3 131
(parted)name 2 boot
(parted)mkpart primary 131 643
(parted)name 3 swap
(parted)mkpart primary 643 -1
(parted)name 4 rootfs

При использовании интерфейса UEFI для загрузки системы (вместо BIOS), пометьте загрузочный раздел как системный раздел EFI. Parted делает это автоматически, когда устанавливается опция boot у раздела:

(parted)set 2 boot on

Конечный результат выглядит так:

(parted)print
Model: Virtio Block Device (virtblk)
Disk /dev/sda: 20480MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
  
Number   Start      End      Size     File system  Name   Flags
 1       1.00MiB    3.00MiB  2.00MiB               grub   bios_grub
 2       3.00MiB    131MiB   128MiB                boot   boot
 3       131MiB     643MiB   512MiB                swap
 4       643MiB     20479MiB 19836MiB              rootfs
Заметка
При установке на UEFI, на разделе boot будут отображаться флаги boot и esp (efi system partition).

Используйте команду quit для выхода из parted.

Альтернатива: Использование fdisk для создания разделов диска

Заметка
Хотя последние версии fdisk должны поддерживать GPT, до сих пор есть некоторые проблемы. Инструкции приведеные ниже, предполагают, что для разметки разделов используется MBR.

Следующие части объяснят, как создать структуру разделов из примера с использованием fdisk. Пример структуры разделов ранее упоминался:

Раздел Описание
/dev/sda1 BIOS boot раздел
/dev/sda2 Boot раздел
/dev/sda3 Swap раздел
/dev/sda4 Root раздел

Измените структуру разделов в соответствии с личными предпочтениями.

Просмотр текущей разметки разделов

fdisk является популярным и мощным инструментом для создания разделов на диске. Запустите fdisk, передав в качестве параметра диск (в нашем примере мы используем /dev/sda):

root #fdisk /dev/sda
Заметка
Чтобы использовать поддержку GPT, добавте -t gpt. Рекомендуется внимательно исследовать вывод fdisk в случае, если более свежие разработки в fdisk изменят его поведение по умолчанию дефолтной установки MBR. Дальнейшие инструкции предполагают схему MBR.

Используйте клавишу p для отображения текущей конфигурации разделов:

Command (m for help):p
Disk /dev/sda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes
  
   Device Boot    Start       End    Blocks   Id  System
/dev/sda1   *         1        14    105808+  83  Linux
/dev/sda2            15        49    264600   82  Linux swap
/dev/sda3            50        70    158760   83  Linux
/dev/sda4            71      2184  15981840    5  Extended
/dev/sda5            71       209   1050808+  83  Linux
/dev/sda6           210       348   1050808+  83  Linux
/dev/sda7           349       626   2101648+  83  Linux
/dev/sda8           627       904   2101648+  83  Linux
/dev/sda9           905      2184   9676768+  83  Linux

Данный диск был разбит на семь файловых систем Linux (каждый раздел соответственно подписан как "Linux"), а так же раздел подкачки (названный как "Linux swap").

Удаление всех разделов с помощью fdisk

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

Command (m for help):d
Partition number (1-4): 1

Раздел был помечен для удаления. Он больше не будет отображаться при печати списка разделов при вводе p, но не будет удален, пока не будут сохранены изменения. Это дает возможность пользователю прервать операцию, если была допущена ошибка - в этом случае сразу нажмите q и Enter, раздел не будет удален.

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

Command (m for help):p
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
  
Device Boot    Start       End    Blocks   Id  System

Теперь запомненная в памяти таблица разделов пуста, мы готовы создавать разделы.

Создание загрузочного раздела BIOS

Сначала создаем маленький загрузочный раздел BIOS. Нажмите n, чтобы создать новый раздел, затем p, чтобы выбрать основной раздел, следом 1 для выбора первого основного раздела. При запросе первого сектора, убедитесь, что он начинается с 2048 (который необходим для загрузчика) и нажмите Enter. При запросе последнего сектора введите +2M для создания раздела размером 2Mbyte:

Заметка
Начало с сектора 2048 - отказоустойчивое решение для обнаружения загрузчиком этого раздела, как доступного для использования.
Command (m for help):n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First sector (64-10486533532, default 64): 2048
Last sector, +sectors +size{M,K,G} (4096-10486533532, default 10486533532): +2M

Помете раздел, в случае использования UEFI:

Command (m for help):t
Selected partition 1
Hex code (type L to list codes): 4
Changed system type of partition 1 to 4 (BIOS boot)
Заметка
Использование UEFI со структурой разделов MBR не рекомендуется. Если система использует UEFI, пожалуйста, используйте структуру GPT.

Создание загрузочного раздела

Сначала создаем маленький загрузочный раздел. Введите n, чтобы создать новый раздел, затем p, чтобы выбрать основной раздел, следом 2 для выбора второго основного раздела. При запросе первого сектора, примите предложенное по умолчанию значение, нажав Enter. При запросе последнего сектора введите +128M для создания раздела размером 128Mbyte:

Command (m for help):n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 2
First sector (5198-10486533532, default 5198): (Hit enter)
Last sector, +sectors +size{M,K,G} (4096-10486533532, default 10486533532): +128M

Теперь, при нажатии p, отображаются следующие разделы:

Command (m for help):p
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
  
   Device Boot    Start       End    Blocks   Id  System
/dev/sda1             1         3      5198+  ef  EFI (FAT-12/16/32)
/dev/sda2             3        14    105808+  83  Linux

Введите a для переключения флага загрузки и выберите 2. После нажатия p повторно, заметите, что * находится в столбце "Boot".

Создание раздела подкачки

Для создания раздела подкачки введите n, чтобы создать новый раздел, затем p, чтобы сказать fdisk, что раздел должен быть основной. Затем введите 3 для создания третьего основного раздела, /dev/sda3. При появлении запроса последнего сектора, наберите +512M (или любой другой размер, необходимый для подкачки) для создания раздела размером 512M.

После того как это будет сделано введите t для выбора типа раздела, 3 для выбора только что созданного раздела и введите 82, чтобы установить тип раздела на "Linux Swap".

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

Наконец, чтобы создать корневой раздел введите n, чтобы создать новый раздел, затем p, чтобы сказать fdisk, что создаваемый раздел должен быть основным. Затем введите 4, чтобы создать четвертый основной раздел, /dev/sda4. При запросе первого сектора нажмите Enter. При запросе последнего нажмите Enter, чтобы создать раздел занимающий все оставшееся доступное пространство диска. После завершения этих шагов введите p для вывода на экран таблицы разделов, которая выглядит например так:

Command (m for help):p
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
  
   Device Boot    Start       End    Blocks   Id  System
/dev/sda1             1         3      5198+  ef  EFI (FAT-12/16/32)
/dev/sda2   *         3        14    105808+  83  Linux
/dev/sda3            15        81    506520   82  Linux swap
/dev/sda4            82      3876  28690200   83  Linux

Сохранение разметки разделов

Для сохранения разметки разделов и выхода из fdisk введите w.

Command (m for help):w

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


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

Введение

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

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

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

btrfs
Файловая система следующего поколения, обеспечивающая множество дополнительных функций, таких как мгновенные снимки, самовосстановление с помощью контрольных сумм, прозрачной компрессии, субтомов и интегрированным RAID. Некоторые дистрибутивы начали предлагать ее из коробки, но она еще не готова к использованию в промышленной среде. Общедоступны отчеты об ошибках в файловой системе. Ее разработчики призывают людей для безопасности использовать последнюю версию ядра, для решения уже известных проблем. Она разрабатывается уже много лет и пока далеко до завершения. Исправления иногда портируются в более старые версии ядра. Используйте с осторожностью эту файловую систему!
f2fs
Файловая система (Flash-Friendly File System) была создана Samsung для использования на NAND накопителях. По состоянию на 2 квартал 2016 года файловая система считается не завершенной, но она может быть достойным выбором при установке на microSD карту, USB накопитель или другие накопители на основе флэш.
ext2
Это проверенная и надежная файловая система Linux, но она не обладает средствами журналирования метаданных, что означает, что проверка файловой системы ext2 при запуске может занимать довольно много времени. Существует достаточно широкий выбор журналируемых файловых систем нового поколения, целостность которых может быть проверена очень быстро, что является преимуществом перед не журналируемыми системами. Журналирование файловой системы позволяет избежать долгих задержек при загрузке системы и так же избежать ее неустойчивого состояния.
ext3
Журналируемая версия файловой системы ext2, обеспечение журналирования метаданных для быстрого восстановления в дополнение к другим режимам журналирования, таким как журналирование всех данных и упорядоченных данных.
ext4
Изначально созданная как ответвление от ext3, ext4 приносит новые возможности, повышение производительности и устранение ограничений на размер раздела на диске. Она может быть размером до 1 ЭБ и максимальный размер файла 16ТБ. Вместо классического ext2/3 блочного распределения ext4 использует экстенты, которые улучшают производительность при работе с большими файлами и уменьшают фрагментацию. Ext4 также обеспечивает более сложные алгоритмы распределения блоков (задержка распределения и мультиблочное распределение) дающие драйверу файловой системы больше возможностей по оптимизации размещения данных на диске. Ext4 рекомендуется как универсальная файловая система для всех платформ.
JFS
Высокопроизводительная журналируемая файловая система от IBM. JFS это легкая, быстрая и надежная файловая система, основанная на B+tree с хорошей производительностью в различных условиях.
ReiserFS
Основаная на B+tree журналируемая файловая система имеющая хорошую общую производительность, особенно при работе с множеством мелких файлов cost of more CPU cycles. ReiserFS, по видимому, менее поддерживаемая, чем другие файловые системы.
XFS
Файловая система с журналированием метаданных, которая поставляется с мощным набором функций и оптимизирована для масштабируемости. XFS, кажется, менее снисходительно относится к различным аппаратным проблемам.
vfat
Так же известна как FAT32, поддерживается Linux, но без поддержки каких-либо настроек разрешений. В основном используется для взаимодействия с другими операционными системами (в основном Microsoft Windows), но также необходима при использовании некоторых системных прошивок (например UEFI).
NTFS
Эта файловая система (New Technology Filesystem) считается флагманской файловой системой от Microsoft Windows. Как и vfat она не сохраняет настройки разрешений и расширенные атрибуты, необходимые для BSD или Linux для нормальной работы, поэтому она не может быть использована как корневая файловая система. Её необходимо использовать только для взаимодействия с Microsoft Windows компьютерами (обратите внимание на акцент слова только).

При использовании ext2, ext3 или ext4 на малых разделах (менее 8 Гб) файловая система должна быть создана с надлежащими опциями резервирования достаточного количества inodes. Приложение mke2fs (mkfs.ext2) использует настройки "bytes-per-inode" для вычисления сколько inodes должна иметь файловая система. На небольших системах рекомендуется увеличивать расчетное количество inodes.

Для ext2 это может быть сделано следующей командой:

root #mkfs.ext2 -T small /dev/<device>

Для ext3 и ext4 добавьте опцию -j для разрешения журналирования:

root #mkfs.ext2 -j -T small /dev/<device>

Как правило необходимо увеличивать в четыре раза количество inodes для таких систем, снижая "bytes-per-inode" с одного на 16kB до одного на 4kB. Это может быть настроено далее с помощью рейтинга:

root #mkfs.ext2 -i <ratio> /dev/<device>

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

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

Файловая система Команда для создания На установочном CD? Пакет
btrfs mkfs.btrfs Да sys-fs/btrfs-progs
ext2 mkfs.ext2 Да sys-fs/e2fsprogs
ext3 mkfs.ext3 Да sys-fs/e2fsprogs
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/sda2) в ext2 и корневой раздел (/dev/sda4) в ext4 при использовании структуры разделов из примера, используются следующие команды:

root #mkfs.ext2 /dev/sda2
root #mkfs.ext4 /dev/sda4

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

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

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

root #mkswap /dev/sda3

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

root #swapon /dev/sda3

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

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

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

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

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




Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎
AMD64 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

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

Перед установкой Gentoo, было бы неплохо проверить корректность настройки даты и времени. Неправильно настроенные часы могут привести к странным результатам: базовые системные файлы должны быть извлечены с правильными временными метками. Некоторые веб-сайты и сервисы используют шифрованную связь (SSL/TLS), что совсем не позволит загружать установочные файлы, если системные часы настроены с большим перекосом!

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

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

Если отображенное время/дата не верны, обновите её, используя один из методов ниже.

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

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

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

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

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

Также, можно воспользоваться командой date, чтобы вручную настроить системные часы. Используйте синтаксис MMDDhhmmYYYY ((M)Месяц, (D)День, (h)час, (m)минута и (Y)Год).

Время UTC рекомендовано для всех систем Linux. Позже, в процессе установки, можно будет определить часовой пояс (timezone). Это позволит изменить отображение часов на местное время.

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

root #date 100313162016

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

Multilib (32 и 64 бит)

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

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

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

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

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

Загрузка архива stage

Когда корневая файловая система подключена, перейдите в точку монтирования Gentoo (скорей всего это /mnt/gentoo):

root #cd /mnt/gentoo

В зависимости от установочного, достаточно веб-браузера для загрузки архива stage.

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

У пользователей, использующих среду с графическим веб-браузером, не будет проблем при копировании ссылки на файл stage из раздела загрузки главного веб-сайт. Просто выберите подходящую вкладку, щелкните правой кнопкой по ссылке на файл stage, выберите Копировать ссылку (Firefox) или Копировать адрес ссылки (Chromium) чтобы скопировать ссылку в буфер обмена. Затем вставьте ссылку в командной строке после команды wget. Нажмите Enter чтобы загрузить архив stage:

root #wget <PASTED_STAGE_URL>

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

More traditional readers or 'old timer' Gentoo users, working exclusively from command-line may prefer using links, a non-graphical, menu-driven browser. To download a stage, surf to the Gentoo mirror list like so:

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 браузер. Как и 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/amd64/autobuilds/. Там отображаются все доступные stage файлы (так же они могут быть сохранены в подкаталогах с названиями отдельных суб-архитектур). Выберите нужный и нажмите d для загрузки.

After the stage file download completes, it is possible to verify the integrity and validate the contents of the stage tarball. Those interested should proceed to the next section.

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

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

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

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

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

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

root #openssl dgst -r -sha512 stage3-amd64-<release>.tar.bz2

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

root #sha512sum stage3-amd64-<release>.tar.bz2

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

root #openssl dgst -r -whirlpool stage3-amd64-<release>.tar.bz2

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

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

root #gpg --verify stage3-amd64-<release>.tar.bz2.DIGESTS.asc

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

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

root #tar xvjpf stage3-*.tar.bz2 --xattrs --numeric-owner

Убедитесь, что оба параметра (xvjpf и --xattrs) используются. Позиция x указывает на Извлечение, v на Подробные Сообщения, чтобы видеть то, что происходит во время процесса извлечения (опционально), j для Декомпрессии bzip2, p для Сохранения прав доступа и f для обозначения, что мы хотим извлечь файл, а не стандартный ввод. --xattrs позволит также включить расширенные атрибуты, хранящиеся в архиве. Наконец, --numeric-owner используется, для того чтобы убедиться, что идентификаторы пользователей и групп, в распакованных файлах из архива, останутся такими же, как и задумывалось командой Gentoo по подготовке релизов (release engineering), даже если предприимчивые пользователи не используют официальный установочный носитель Gentoo.

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

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

Введение

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

Заметка
Список и описание всех допустимых переменных можно найти в /mnt/gentoo/usr/share/portage/config/make.conf.example. Для успешной установки Gentoo достаточно определить переменные, которые упомянуты ниже.

Запустите редактор (в этом руководстве мы используем 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 какой класс оптимизации использовать. Возможные классы (оптимизации по размеру), 0 (ноль - без оптимизации), 1, 2 или даже 3 для более лучшей оптимизация по скорости (в каждый класс входят все флаги предыдущего, и некоторые дополнительные). -O2 рекомендуется по умолчанию. -O3, как известно, вызывает проблемы при использовании его для всей системы, поэтому мы рекомендуем придерживаться -O2.

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

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

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

Код Пример для переменных CFLAGS и CXXFLAGS
CFLAGS="-march=native -O2 -pipe"
# Используйте те же настройки для обеих переменных
CXXFLAGS="${CFLAGS}"
Совет
Хотя статья руководство по оптимизации GCC имеет больше информации о том, как различные параметры компиляции могут повлиять на систему, статья Safe CFLAGS может быть более полезной для начинающих в оптимизации системы.

MAKEOPTS

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

Код Пример записи MAKEOPTS в make.conf
MAKEOPTS="-j2"

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

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

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




Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎
AMD64 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


Chrooting

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

Распределенные файлы

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

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

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

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

Настройку репозитория можно сделать весьма просто. Сперва, создайте repos.conf каталог, если он не существует:

root #mkdir /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
[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes

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

Совет
Заинтересованным, официальные спецификации для Portage's plug-in sync API можно найти в статье Sync Portage проекта.

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

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

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

root #cp -L /etc/resolv.conf /mnt/gentoo/etc/

Подключение необходимых файловых систем

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

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

  • /proc/ - это псевдо-файловая система (она выглядит как обычные файлы, но на самом деле генерируется на лету) из которой ядро Linux предоставляет информацию для окружения
  • /sys/ - это псевдо-файловая система, как и /proc/, которую она однажды заменит, также она более структурирована, чем /proc/
  • /dev/ - это обычная файловая система, частично управляемая менеджером устройств Linux (обычно udev), которая содержит все файлы устройств

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

root #mount -t 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
Заметка
Операция --make-rslave необходима для дальнейшей поддержки systemd в ходе установки.
Предупреждение
Если при установке используется не Gentoo дистрибутив, то этого может быть недостаточно. Некоторые дистрибутивы делают /dev/shm символьной ссылкой на /run/shm/, которая после перехода в chroot станет недействительной. Создание правильного подключения /dev/shm/ в tmpfs поможет избежать этой проблемы:
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount -t tmpfs -o nosuid,nodev,noexec shm /dev/shm

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

root # chmod 1777 /dev/shm

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

Теперь, когда все разделы инициализированы и базовое окружение установлено, настало время войти в новое установочное окружение, перенеся корневой каталог в него. Это означает, что сессия изменит свой корень (наивысший каталог, который может быть доступен) из текущей установочного окружения (CD или другого установочного носителя) в систему установки (т.е размеченных разделов). Отсюда и название, сменить корень (change root - chroot).

Chroot делается в три шага:

  1. Изменение корневой директории с / (который находится на установочном носителе) в /mnt/gentoo/ (на разделах диска) используя chroot
  2. С помощью команды source, некоторые параметры (перечисленные в /etc/profile) загружаются в память
  3. Изменение приглашения командной строки, чтобы запомнить, что эта сессия находится в chroot окружении.
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) $PS1"

С этого момента все действия выполняются непосредственно в новом (chroot) окружении Gentoo Linux. Конечно, до финала еще далеко, поэтому установка продлится еще несколько разделов!

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

После входа в новое окружение необходимо создать и смонтировать раздел /boot. Он необходим в процессе компиляции ядра и установки загрузчика:

root #mkdir /boot
root #mount /dev/sda2 /boot

Настройка Portage

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

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

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

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

root #emerge-webrsync
Заметка
Во время этой операции, emerge-webrsync может жаловаться на отсутствующую /usr/portage/. В этом нет ничего страшного - инструмент сам создаст эту директорию.

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

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

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

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

root #emerge --sync

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

root #emerge --sync --quiet

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

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

Код Portage информирует пользователя о новых новостях
 * IMPORTANT: 2 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

Новостные сообщения были созданы, чтобы обеспечить связь, оповещать пользователей о критически важных изменениях с помощью дерева rsync. Чтобы управлять новостными сообщениями используйте команду eselect news. Приложение eselect - это приложение Gentoo, которое позволяет обеспечить общий интерфейс управления системными настройками и производить различные операции. В данном примере 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/amd64/13.0 *
  [2]   default/linux/amd64/13.0/desktop
  [3]   default/linux/amd64/13.0/desktop/gnome
  [4]   default/linux/amd64/13.0/desktop/kde
Заметка
Вывод команды является только примером и может меняться при некоторых ситуациях

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

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

root #eselect profile set 2


No-multilib

Если необходимо чистое 64-битное окружение, без 32-битных приложений или библиотек, то нужно использовать профиль no-multilib:

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/13.0 *
  [2]   default/linux/amd64/13.0/desktop
  [3]   default/linux/amd64/13.0/desktop/gnome
  [4]   default/linux/amd64/13.0/desktop/kde
  [5]   default/linux/amd64/13.0/no-multilib

Далее выберите профиль no-multilib:

root #eselect profile set 5
root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/13.0
  [2]   default/linux/amd64/13.0/desktop
  [3]   default/linux/amd64/13.0/desktop/gnome
  [4]   default/linux/amd64/13.0/desktop/kde
  [5]   default/linux/amd64/13.0/no-multilib *

systemd

Кто желает использовать systemd в качестве системы инициализации должны выбрать профиль со словом systemd где-то в названии профиля:

root #eselect profile set default/linux/amd64/13.0/systemd
root #eselect profile list
Available profile symlink targets:
  [10]  default/linux/amd64/13.0/developer
  [11]  default/linux/amd64/13.0/no-multilib
  [12]  default/linux/amd64/13.0/systemd *
  [13]  default/linux/amd64/13.0/x32
  [14]  hardened/linux/amd64
Совет
Как показано выше, можно использовать полное имя профиля вместо числового значения.


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

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

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

Это действие необходимо делать тем, кто выбрал профиль с systemd (так как все Gentoo официальные stage архивы используют по умолчанию OpenRC как систему инициализации), однако это необязательно для других профилей:

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

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

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

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

В переменной USE пользователи определяют ключевые слова (keywords), которые отображаются на параметры компиляции. Например, ssl будет компилировать SSL-поддержку в программах, которые ее поддерживают. -X уберет поддержку X-сервера (обратите внимание на знак минус перед X). gnome gtk -kde -qt4 -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 флагов можно найти в файле /usr/portage/profiles/use.desc.

root #less /usr/portage/profiles/use.desc

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

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

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

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

Файл /etc/portage/make.confИгнорирование дефолтных флагов USE
USE="-* X acl alsa ..."

Необязательно: Использование systemd в качестве init-системы

Оставшаяся часть настольной книги Gentoo Handbook на OpenRC (традиционная init-система Gentoo) в качестве системы инициализации по умолчанию. Если хотите использовать systemd или планируете использовать GNOME 3.8 или более поздние версии (который требует systemd), обратитесь к статье systemd. Она содержит инструкции, которые эквивалентны инструкциям из последующих разделов данного Handbook. В частности расскажет о init-командах (systemctl) и специфичных для systemd сервисах (таких как timedatectl, hostnamectl и так далее), необходимые для создания рабочего окружения systemd.

Заметка
Некоторые приложения сильно зависят от экосистемы программного обеспечения GNOME и впоследствии зависят от systemd. На профиль systemd можно перейти позже, если пока не уверены, будет ли использоваться среда рабочего стола GNOME.

Часовой пояс

Определите какой часовой пояс нужен для системы. Посмотреть доступные часовые пояса можно в /usr/share/zoneinfo/, затем запишите его в файл /etc/timezone.

root #ls /usr/share/zoneinfo

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

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

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

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

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

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

root #nano -w /etc/locale.gen

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

Файл /etc/locale.genВключение US и DE локалей с поддержкой формата символов
en_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE.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] POSIX
  [3] en_US
  [4] en_US.iso88591
  [5] en_US.utf8
  [6] de_DE
  [7] de_DE.iso88591
  [8] de_DE.iso885915
  [9] de_DE.utf8
  [ ] (free form)

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

root #eselect locale set 9

Также, это можно сделать с помощью файла /etc/env.d/02locale:

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

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

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

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

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




Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎
AMD64 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

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

Для систем, основанных на amd64 архитектуре, рекомендуется пакет sys-kernel/gentoo-sources.

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

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

Данная команда установит исходный код ядра Linux в /usr/src/, в котором символьная ссылка linux будет указывать на установленную версию:

root #ls -l /usr/src/linux
lrwxrwxrwx    1 root   root    12 Oct 13 11:04 /usr/src/linux -> linux-3.16.5-gentoo

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

  1. Ядро настраивается и собирается вручную.
  2. Утилита genkernel собирает и устанавливает его автоматически.

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

Основной вариант: Ручная настройка

Введение

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

Но один факт учитывать стоит. Для ручной настройки ядра необходимо иметь представление о том, из чего собран компьютер. Большую часть можно узнать, установив 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.

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

Убедитесь, что драйверы, необходимые для загрузки системы (например, контроллер 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

Дальше стоит включить поддержку используемых Вами файловых систем. Рутовая ФС должна быть включена в ядро, а не подгружена в качестве модуля, иначе 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 или dial-up модем, то тогда включите следующие параметры (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 режима ядра.

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

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

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

Если используются USB-устройства ввода (например клавиатуру и мышь) или другие 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


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

Если необходимо поддерживать 32-битные программы, убедитесь, что выбран пункт IA32 Emulation (CONFIG_IA32_EMULATION). Gentoo устанавливает систему multilib (смешанные 32/64 битные вычисления) по умолчанию, поэтому данная опция необходима, если конечно не выбран профиль no-multilib.

Ядро Выбор типа процессора и возможностей
Processor type and features  --->
   [ ] Machine Check / overheating reporting 
   [ ]   Intel MCE Features
   [ ]   AMD MCE Features
   Processor family (AMD-Opteron/Athlon64)  --->
      ( ) Opteron/Athlon64/Hammer/K8
      ( ) Intel P4 / older Netburst based Xeon
      ( ) Core 2/newer Xeon
      ( ) Intel Atom
      ( ) Generic-x86-64
Executable file formats / Emulations  --->
   [*] IA32 Emulation

Включите поддержку меток GPT, если использовали их ранее при разбиении диска (CONFIG_PARTITION_ADVANCED и CONFIG_EFI_PARTITION):

Ядро Включение поддержки GPT
-*- Enable the block layer --->
   Partition Types --->
      [*] Advanced partition selection
      [*] EFI GUID Partition support

Включите поддержку EFI stub и EFI variables в ядре Linux, если для загрузки системы используется UEFI (CONFIG_EFI, CONFIG_EFI_STUB, CONFIG_EFI_MIXED и CONFIG_EFI_VARS):

Ядро Включение поддержки UEFI
Processor type and features  --->
    [*] EFI runtime service support 
    [*]   EFI stub support
    [*]     EFI mixed-mode support
 
Firmware Drivers  --->
    EFI (Extensible Firmware Interface) Support  --->
        <*> EFI Variable Support via sysfs

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

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

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

По завершении компиляции, скопируйте образ ядра в каталог /boot/. Это делается командой make install:

root #make install

Данная команда скопирует образ ядра в каталог /boot/ вместе с файлом System.map и файлом настройки ядра.


Опционально: Собираем initramfs

В некоторых случаях необходимо включить поддержку initramfs - an initial ram-based file system (файловая система, основанная на оперативной памяти). Наиболее распространённая причина это нахождение различных системных путей (вроде /usr/ или /var/) на различных разделах. При наличии initramfs эти разделы могут быть подгружены средствами initramfs.

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

Для установки initramfs, сперва нужен sys-kernel/genkernel, который его сгенерирует:

root #emerge --ask sys-kernel/genkernel
root #genkernel --install initramfs

Если необходима поддержка LVM или RAID, то следует указать это как опцию genkernel. Для более подробной информации взгляните на genkernel --help. В следующем примере включена поддержка LVM и программного RAID (mdadm):

root #genkernel --lvm --mdadm --install initramfs

Initramfs будет расположен в /boot/. Можно посмотреть файлы, начинающиеся с "initramfs":

root #ls /boot/initramfs*

Продолжим в Модули ядра.

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

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

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

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

root #emerge --ask sys-kernel/genkernel

Затем отредактируйте файл /etc/fstab, где следует указать в строке /boot/ правильное устройство во втором поле. Если следовали примеру из данной инструкции, то, скорее всего, это устройство /dev/sda2 с файловой системой ext2 и строка должна выглядеть следующим образом:

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

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

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

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

root #ls /boot/kernel* /boot/initramfs*

Модули ядра

Настройка модулей

Укажите модули, которые должны подгружаться автоматически в /etc/conf.d/modules. При необходимости можно добавить модулям дополнительные опции.

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

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

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

root #nano -w /etc/conf.d/modules
modules="3c59x"

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

Опционально: Установка файлов прошивки

Для корректной работы некоторых драйверов требуется установка дополнительных файлов прошивки. Часто подобное требуется для сетевых интерфейсов, особенно беспроводных. Большинство файлов прошивки поставляется в sys-kernel/linux-firmware:

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




Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎
AMD64 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

О файле fstab

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

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

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

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

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

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

Both MBR (BIOS) and GPT include support for filesystem labels and filesystem UUIDs. These attributes can be defined in /etc/fstab as alternatives for the mount command to use when attempting to find and mount block devices. Filesystem labels and UUIDs are identified by the LABEL and UUID prefix and can be viewed with the blkid command:

root #blkid
Предупреждение
If the filesystem inside a partition is wiped, then the filesystem label and the UUID values will be subsequently altered or removed.

Because of uniqueness, readers that are using an MBR-style partition table are recommended to use UUIDs over labels to define mountable volumes in /etc/fstab.

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

Users who have gone the GPT route have a couple more 'robust' options available to define partitions in /etc/fstab. Partition labels and partition UUIDs can be used to identify the block device's individual partition(s), regardless of what filesystem has been chosen for the partition itself. Partition labels and UUIDs are identified by the PARTLABEL and PARTUUID prefixes respectively and can be viewed nicely in the terminal by running the blkid command:

root #blkid

While not always true for partition labels, using a UUID to identify a partition in fstab provides a guarantee that the bootloader will not be confused when looking for a certain volume, even if the filesystem would be changed in the future. Using the older default block device files (/dev/sd*N) for defining the partitions in fstab is risky for systems that are restarted often and have SATA block devices added and removed regularly.

The naming for block device files depends on a number of factors, including how and in what order the disks are attached to the system. They also could show up in a different order depending on which of the devices are detected by the kernel first during the early boot process. With this being stated, unless one intends to constantly fiddle with the disk ordering, using default block device files is a simple and straightforward approach.


Let us take a look at how to write down the options for the /boot/ partition. This is just an example, and should be modified according to the partitioning decisions made earlier in the installation. In our amd64 partitioning example, /boot/ is usually the /dev/sda2 partition, with ext2 as filesystem. It needs to be checked during boot, so we would write down:

Файл /etc/fstabAn example /boot line for /etc/fstab
/dev/sda2   /boot     ext2    defaults        0 2

Some users don't want their /boot/ partition to be mounted automatically to improve their system's security. Those people should substitute defaults with noauto. This does mean that those users will need to manually mount this partition every time they want to use it.

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

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


Файл /etc/fstabНаиболее полный пример /etc/fstab
/dev/sda2   /boot        ext2    defaults,noatime     0 2
/dev/sda3   none         swap    sw                   0 0
/dev/sda4   /            ext4    noatime              0 1
  
/dev/cdrom  /mnt/cdrom   auto    noauto,user          0 0

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

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

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

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

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

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

root #nano -w /etc/conf.d/hostname
# Set the hostname variable to the selected host name
hostname="tux"

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

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

Если требуется 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.

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

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

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

Все настройки сети собраны в файле /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. Это, однако, очень зависит от системы. Рекомендуется считать, что интерфейс называется так же, как интерфейс при недавней загрузке с установочного носителя. Больше информации можно найти в Network Interface Naming.
Файл /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 вместо 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 пароль

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

root #passwd

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

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

Gentoo (по крайней мере при использовании 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" в файле. В противном случае система может отображать искаженное время.




Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎
AMD64 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

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

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

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

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

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

Совет
Если планируется использовать sysklogd или syslog-ng, рекомендуется установить пакет logrotate, так как в этих пакетах нет механизма ротации системных журналов.

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

root #emerge --ask app-admin/sysklogd
root #rc-update add sysklogd default

Опционально: 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
root #rc-update add cronie default

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

root #crontab /etc/crontab

Опционально: Индексирование файлов

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

root #emerge --ask sys-apps/mlocate

Oпционально: Удаленный доступ

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

root #rc-update add sshd default

Если требуется доступ через последовательную консоль (что возможно в случае удаленных серверов), разкомментируейте секцию serial console в файле /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

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

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

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

Filesystem Package
Ext2, 3, и 4 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
Совет
Информацию о файловых системах в Gentoo смотрите в статье о файловых системах.

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

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

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

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

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

root #emerge --ask net-misc/dhcpcd

Больше информации о dhcpcd можно найти в dhcpcd статье.

Oпционально: Установка PPPoE клиента

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

root #emerge --ask net-dialup/ppp

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




Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎
AMD64 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление



Выбор загрузчика

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

Загрузчик отвечает за загрузку ядра Linux во время загрузки - без него система не будет знать, как действовать, если нажата кнопка питания.

Для amd64, мы написали как настроить либо GRUB2, либо LILO для систем на базе BIOS, и GRUB2 или efibootmgr для UEFI систем.

В этом разделе Handbook было сделано разделение между установкой пакета (emerge) загрузчика и установкой загрузчика на системный диск. Здесь термин установка пакета (emerge) будет использоваться для того, чтоб попросить Portage установить пакет программного обеспечения в систему. Термин установка загрузчика на системный диск будет означать копирование файлов загрузчика или физическое изменение соответствующих разделов диска для того, чтобы активировать загрузчик; чтобы он стал работать при следующей загрузки.

По умолчанию: GRUB2

Ранее, Gentoo Linux использовал то, что теперь называется GRUB Legacy (наследство) в качестве рекомендуемого загрузчика. Но, как следует из названия, старый пакет GRUB больше не поддерживается и его быстро сменили на GRUB2. Для получения более подробной информации о GRUB Legacy, пожалуйста, обратитесь к статье GRUB.

По умолчанию, большинство систем Gentoo на данный момент используют GRUB2 (находится в пакете sys-boot/grub), который является заменой для GRUB Legacy. Без дополнительных настроек GRUB2 поддерживает старые системы BIOS ("pc"). С небольшими настройкам, которые нужно выполнить до компиляции, GRUB2 может поддерживать более чем полутора десятка дополнительных платформ. Для получения более подробной информации смотрите раздел предварительные требования статьи GRUB2.

Emerge

Если используется старая материнская плата, BIOS которой поддерживает только таблицу разделов MBR, никаких дополнительных настроек не требуется для того, чтобы установить GRUB:

root #emerge --ask --verbose sys-boot/grub:2

Заметка для пользователей UEFI: запущенная команда выведет включенные значения в переменной GRUB_PLATFORMS, перед компиляцией. Если используется более новая UEFI-совместимая материнская плата, пользователям сперва нужно убедиться, что GRUB_PLATFORMS="efi-64" включено (обычно это уже сделано по умолчанию). Если это не так, добавьте GRUB_PLATFORMS="efi-64" в файл /etc/portage/make.conf до компиляции GRUB2, что позволит собрать пакет с поддержкой EFI:

root #echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
root #emerge --ask sys-boot/grub:2
Если GRUB2 был каким-то образом установлен до включения GRUB_PLATFORMS="efi-64", тогда строка (как показано выше) может быть добавлена в make.conf и зависимости для world package set перевычислены, если добавить опции --update --newuse для emerge:
root #emerge --ask --update --newuse --verbose sys-boot/grub:2

GRUB2 теперь установлен в системе, но еще не активирован (не установлен в загрузочную запись).

Установка GRUB2 на диск

Далее установим необходимые для Grub2 файлы в каталог /boot/grub/ с помощью команды grub-install. Если предположить, что первый диском (тот, с которого система загружается) является /dev/sda, то одна из следующих команд сделает это:

  • Когда используется BIOS:
root #grub-install /dev/sda
  • Когда используется UEFI:
Важно
Убедитесь, что системный раздел EFI был смонтирован перед запуском grub-install. grub-install может установить GRUB файл EFI (grubx64.efi) в неправильном каталоге без каких-либо сообщений, о том, что использовался неправильный каталог.
root #grub-install --target=x86_64-efi --efi-directory=/boot
Заметка
Измените параметр --efi-directory на корневой каталог системного раздела EFI. Это необходимо, если раздел /boot не был отформатирован как FAT.

Some motherboard manufacturers seem to only support the /efi/boot/ directory location for the .EFI file in the EFI System Partition (ESP). It does not hurt to copy the grubx64.efi file to this location in order to aid the motherboard firmware in locating the GRUB executable file. Verify the ESP is mounted before running the following commands. Presuming the ESP is mounted at /boot/efi (as suggested earlier), execute:

root #mkdir -p /boot/efi/efi/boot
root #cp /boot/efi/efi/gentoo/grubx64.efi /boot/efi/efi/boot/bootx64.efi

This creates the default directory defined by the UEFI specification, and then copies the grubx64.efi to the 'default' EFI file location defined by the same specification.

Настройка

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

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

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-amd64-3.16.5-gentoo
done

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

Совет
Утилита os-prober может быть использована в сочетании с GRUB2, чтобы обнаружить другие операционные системы на подключаемых жестких дисках. Можно обнаруживать Windows 7, 8.1, 10, и другие дистрибутивы Linux. Тем, кому нужна двойная загрузка, должны установить пакет sys-boot/os-prober и затем перезапустить команду grub-mkconfig (как было показано выше). Если появляются проблемы, обязательно прочитайте статью GRUB2 полностью, прежде чем спрашивать у сообщества Gentoo поддержки.

Альтернативный метод 1: LILO

Emerge

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

Установить LILO можно очень быстро; просто используйте emerge.

root #emerge --ask sys-boot/lilo

Настройка

Для настройки LILO сперва создайте /etc/lilo.conf:

root #nano -w /etc/lilo.conf

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

Заметка
Если корневай фаловая система JFS, добавьте строку append="ro" после каждого варианта загрузки, поскольку JFS необходимо пересматривать журнал перед монтированием на чтение-запись.
Файл /etc/lilo.confПример конфигурации LILO
boot=/dev/sda             # Установка LILO в MBR
prompt                    # Дать пользователю возможность выбрать другой вариант
timeout=50                # Ждать 5 (пять) секунд перед загрузкой варианта по умолчанию
default=gentoo            # После тайм аута загружать вариант "gentoo"  
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo            # Имя этого варианта
  read-only               # При старте корень только для чтения. Не менять!
  root=          # Положения корня в файловой системе
  
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo.rescue     # Имя этого варианта
  read-only               # При старте корень только для чтения. Не менять!
  root=/dev/sda4          # Положения корня в файловой системе
  append="init=/bin/bb"   # Запуск встроенной оболочки восстановления Gentoo
  
# Следующие две строки нужны для двойной загрузки с системой Windows.
# В этом примере, Windows находится на /dev/sda6.
other=/dev/sda6
  label=windows
Заметка
Если схема разделов и/или используемый образ ядра другие, то внесите соответствующие корректировки.

Если необходим initramfs, то измените конфигурацию сославшись на файл initramfs и сообщите initramfs где находится корневое устройство:

Файл /etc/lilo.confДобавление информации о initramfs в загрузочную запись
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo
  read-only
  append="root=/dev/sda4"
  initrd=/boot/initramfs-genkernel-amd64-3.16.5-gentoo

Если необходимо передать ядру дополнительные параметры используйте оператор append. Например, добавьте оператор video, чтобы включить фреймбуфер:

Файл /etc/lilo.confДобавление параметра video к загрузочным опциям
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo
  read-only
  root=/dev/sda4
  append="video=uvesafb:mtrr,ywrap,1024x768-32@85"

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

Теперь сохраните файл и выйдите.

Установка LILO на диск

Для завершения запустите исполняемый файл /sbin/lilo, что бы LILO смог применить для системы настройки из /etc/lilo.conf (то есть установить себя на диск). Держите в уме, что /sbin/lilo должен исполняться каждый раз, когда устанавливается новое ядро или был изменен файл lilo.conf для загрузки системы, если имя файла ядра было изменено.

root #/sbin/lilo

Альтернативный метод 2: efibootmgr

На UEFI-системах, можно напрямую манипулировать UEFI firmware (другими словами основном загрузчиком) загрузочными записями. Таким системам не требуется дополнительный (так же известный как вторичный) загрузчик, такой как GRUB2, который помогает загрузить систему. Учитывая, что было сказано, причина по которой стоит использовать дополнительный EFI-загрузчик (такой как GRUB2) лишь в том, чтобы расширить функциональность UEFI во время загрузки. Использование efibootmgr подойдет больше для тех, кто хочет получить больше минимализма (хотя это более сложней) при загрузки системы; использование GRUB2 принесет больше простоты для большинства пользователей, так как он предлагает более гибкий подход для загрузки UEFI-систем.

Запомните, приложение sys-boot/efibootmgr не загрузчик; это средство для взаимодействия с прошивкой UEFI и обновления её настроек, так что ранее установленное ядро Linux может быть загружено с дополнительными опциями (если необходимо), или будет представлено несколько загрузочных записей. Это взаимодействие выполнено через переменные EFI (следовательно, необходима поддержка со стороны ядра переменных EFI).

Убедитесь, что прочитали статью EFI stub kernel перед продолжением. В ядре должны быть включены определенные опции, что бы ядро могло загрузится напрямую с системной UEFI firmware. Это возможно потребует рекомпиляции ядра. Также, хорошей идеей будет взглянуть на статью efibootmgr.

Заметка
Повторим еще раз. efibootmgr не является обязательным требованием для загрузки из UEFI. Ядро Linux само может загружаться сразу (с помощью прошивки UEFI), а дополнительные параметры ядра могут быть встроены в само ядра (в конфигурации ядра есть параметр, который позволяет пользователю определить параметры загрузки). Даже initramfs может быть встроен в ядро.

Тем, кто решил применить такой подход, необходимо установить программное обеспечение:

root #emerge --ask sys-boot/efibootmgr

Создайте каталог /boot/efi/boot/ и затем скопируйте в него ядро, назвав его bootx64.efi:

root #mkdir -p /boot/efi/boot
root #cp /boot/vmlinuz-* /boot/efi/boot/bootx64.efi

Далее, скажите прошивке UEFI, что бы загрузочная запись была создана и называлась "Gentoo", в которой будет свежее ядро с EFI stub:

root #efibootmgr --create --disk /dev/sda --part 2 --label "Gentoo" --loader "\efi\boot\bootx64.efi"

Если используется файл первоначальной файловой системы RAM (initramfs), добавьте правильную загрузочную опцию:

root #efibootmgr -c -d /dev/sda -p 2 -L "Gentoo" -l "\efi\boot\bootx64.efi" initrd='\initramfs-genkernel-amd64-3.16.5-gentoo'
Заметка
Символ \, применяемый для разделения директорий, является обязательным, когда используются UEFI определения.

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

Альтернативный метод 3: syslinux

Syslinux is yet another bootloader alternative for the amd64 architecture. It supports MBR and, as of version 6.00, it supports EFI boot. PXE (network) boot and lesser-known options are also supported. Although Syslinux is a popular bootloader for many it is unsupported by the Handbook. Readers can find information on emerging and then installing this bootloader in the Syslinux article.


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

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

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

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

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




Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎
AMD64 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

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

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

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

Удаляем tar-архивы

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

root #rm /stage3-*.tar.bz2*

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

Документация

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

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

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

Gentoo в интернете

Естественно, мы всегда рады видеть вас на форумах Gentoo, как и на любом из множества IRC-каналов Gentoo.

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

Наслаждайтесь вашей установкой! :)




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