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

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


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

OpenRC

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

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

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

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

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

Совет
Если планируется использовать syslog-ng, рекомендуется установить пакет и настроить logrotate. syslog-ng не предоставляет механизма ротации системных журналов. Однако, новые версии (>= 2.0) sysklogd управляют своей ротацией системных журналов.

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

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

systemd

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

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

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

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

OpenRC

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

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

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

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

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

cronie

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

root #emerge --ask sys-process/cronie

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

root #rc-update add cronie default

Альтернатива: dcron

root #emerge --ask sys-process/dcron

Если в качестве агента cron используется dcron, необходимо выполнить дополнительную команду инициализации:

root #crontab /etc/crontab

Альтернатива: fcron

root #emerge --ask sys-process/fcron

Если в качестве обработчика запланированных задач выбран fcron, потребуется дополнительный шаг для emerge:

root #emerge --config sys-process/fcron

Альтернатива: bcron

bcron — это более современный агент cron со встроенным разделением привилегий.

root #emerge --ask sys-process/bcron

systemd

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

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

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

root #emerge --ask sys-apps/mlocate

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

Совет
Конфигурация opensshd по умолчанию не позволяет подключаться суперпользователем в качестве удалённого пользователя. Создайте непривилегированного пользователя и настройте его таким образом, чтобы он смог получить доступ к установленной системе, либо измените /etc/ssh/sshd_config, чтобы разрешить вход суперпользователем.

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

OpenRC

Чтобы добавить скрипт инициализации sshd в уровень выполнения по умолчанию (default) для OpenRC:

root #rc-update add sshd default

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

Раскомментируйте раздел «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

systemd

Чтобы включить SSH-сервер, введите:

root #systemctl enable sshd

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

root #systemctl enable getty@tty1.service

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

Bash

Bash is the default shell for Gentoo systems, and therefore installing completion extensions can aid in efficiency and convenience to managing the system. The app-shells/bash-completion package will install completions available for Gentoo specific commands, as well as many other common commands and utilities:

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

Post installation, bash completion for specific commands can managed through eselect. See the Shell completion integrations section of the bash article for more details.

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

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

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

root #emerge --ask net-misc/chrony

OpenRC

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

root #rc-update add chronyd default

systemd

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

root #systemctl enable chronyd.service

В качестве альтернативы пользователи systemd могут захотеть использовать более простой SNTP-клиент systemd-timesyncd, установленный по умолчанию.

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

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

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

Файловая система Пакет
XFS sys-fs/xfsprogs
ext4 sys-fs/e2fsprogs
VFAT (FAT32, ...) sys-fs/dosfstools
Btrfs sys-fs/btrfs-progs
ZFS sys-fs/zfs
JFS sys-fs/jfsutils

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

root #emerge --ask sys-block/io-scheduler-udev-rules
Совет
Дополнительная информация о файловых системах в Gentoo доступна на странице о файловых системах.

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

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

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

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

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

root #emerge --ask net-misc/dhcpcd

Необязательно: Установка клиента PPPoE

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

root #emerge --ask net-dialup/ppp

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

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

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

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