Handbook:Alpha/Installation/System

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:Alpha/Installation/System and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
Alpha Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

О файле fstab

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

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

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

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

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

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

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

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

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

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

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

root #blkid

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

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


Давайте посмотрим, как записать настройки для /boot/ раздела. Это просто пример, поэтому запись необходимо изменить в соответствии с ранее выбранной схемой разделов. В нашем alpha примере, /boot/ является обычным /dev/sda1 разделом с файловой системой ext2. Необходимо проверять его во время загрузки, поэтому мы запишем следующее:

Файл /etc/fstabПример строки /boot для /etc/fstab
/dev/sda1   /boot     ext2    defaults        0 2

Из соображения безопасности некоторые пользователи могут не захотеть автоматически монтировать раздел /boot/. Для этого следует заменить defaults на noauto. Это будет означать, что раздел придётся монтировать каждый раз, когда понадобится его использовать.

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Файл hosts

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

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

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

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

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

root #emerge --ask sys-apps/pcmciautils

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

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

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

root #passwd

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

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

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