OpenRC (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи OpenRC. Дата последней синхронизации: 3 февраля 2016. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Важно: Arch Linux официально поддерживает только systemd. При обращении за поддержкой, пожалуйста, укажите, что пользуетесь OpenRC

OpenRC - менеджер служб, поддерживаемый разработчиками Gentoo. Это система инициализации на основе зависимостей, которая работает вместе с программой инициализации SysVinit.

Установка

OpenRC и сопутствующие пакеты доступны в AUR. Для получения подробной информации о компонентах инициализации смотрите Init.

Установите пакет openrcAUR или openrc-gitAUR. С версии 0.25 OpenRC предоставляет собственный init (/usr/bin/openrc-init). В качестве альтернативы можно использовать busybox. Файлы сервисов содержатся в пакете openrc-arch-services-gitAUR.

Для поддержки совместимости с initscripts-forkAUR, файлы настроек будут установлены в /etc/openrc/. Бинарный sysvinit init устанавливается в /usr/bin/openrc-init для совместимости с systemd-sysvcompat или подобных пакетов.

Загрузка

Для загрузки с OpenRC, добавьте init=/usr/bin/openrc-init в параметры ядра. Чтобы вернуться к systemd, удалите этот параметр ядра.

Каталог /etc/openrc/conf.d, и файл /etc/openrc/rc.d используются для настройки.

Настройка

Для получения общей информации о настройке OpenRC смотрите:

Подготовка

Смотрите Init#Configuration.

Службы

Службы OpenRC включаются от имени суперпользователя (root) используя rc-update add имя службы runlevel. По крайней мере рекомендуется включить следующие службы:

Имя службы Runlevel Описание
udev sysinit Устройство горячего подключения
alsa default ALSA state
acpid default ACPI events
dbus default Шина сообщений
dcron default Планировщик
syslog-ng default Системные журналы (логи)

Смотрите также Native services и демоны.

Сеть

Для общей информации по сети смотрите Network configuration.

Сеть настраивается с помощью newnet. [1] Измените файл /etc/openrc/conf.d/network; поддерживаются обе команды ip (iproute2) и ifconfig (net-tools). Ниже приведён пример с использованием ip.

ip_eth0="192.168.1.2/24"
defaultiproute="via 192.168.1.1"
ifup_eth0="ip link set \$int mtu 1500"

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

Примечание: Вы также можете воспользоваться NetworkManager, dhcpcd или netcfgAUR включая соответствующие сервисы. netcfgAUR имитирует поведение netctl (смотрите [2] если вы хотите включать профили соединения при загрузке - требующие wpa_actiond). Вы можете проконсультироваться с официальной документацией или старой wiki документацией (последняя версия 2012-05-13)

Логи загрузки

Чтобы включить ведение журнала загрузки, раскомментируйте строку rc_logger="YES" в /etc/openrc/rc.conf. Когда он включен, журналы загрузки хранятся в /var/log/rc.log

Имя хоста (Hostname)

OpenRC устанавливает имя хоста из /etc/openrc/conf.d/hostname. Файл выглядит следующим образом:

# Set to the hostname of this machine
hostname="myhostname"

Модули ядра

OpenRC использует /etc/openrc/conf.d/modules вместо /etc/modules-load.d. Например:

/etc/openrc/conf.d/modules
# Вы должны ознакомится с настройками и документацией вашего ядра
# для списка модулей и их параметров.

modules="vboxdrv acpi_cpufreq"

Локаль

Раскладка клавиатуры настраивается с помощью /etc/openrc/conf.d/keymaps и /etc/openrc/conf.d/consolefont. Вы также можете настроить параметры через файл /etc/locale.conf, который получается с помощью /etc/profile.d/locale.sh.

Смотрите [3] и Locale для подробностей.

Решение проблем

Ошибка при размонтировании /tmp

При выключении системы, вы можете получить сообщение об ошибке, например:

* Unmounting /tmp ... 
* in use but fuser finds nothing [ !! ]

Это можно исправить путем добавления

no_umounts="/tmp"

в /etc/openrc/conf.d/localmount

Примечание: Эта проблема проявляется только если ваш tmp примонтирован как tmpfs.

Не работает отключение IPv6

Одним из вариантов является добавление:

# Disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1

в файле с расширением .conf в /etc/openrc/sysctl.d

Во время выключения, и перемонтирования раздела root, происходят ошибки чтения

Если такое происходит, отредактируйте файл /etc/openrc/init.d/mount-ro и поместите:

telinit u

после следующей строки:

# Flush all pending disk writes now
sync; sync

Не найден /etc/sysctl.conf

По умолчанию, sysctl --system вызывается для загрузки настройки sysctl. [4][устаревшая ссылка 2020-08-04] Он содержит файл /etc/sysctl.conf, который удалён в Arch. [5]

Чтобы предотвратить ошибку "файл не найден", создайте файл:

# touch /etc/sysctl.conf

Использование OpenRC с окружением рабочего стола (DE)

Если используется OpenRC с окружением рабочего стола, может помочь ConsoleKit. Установите сервис в /etc/openrc/init.d, и включите его:

# rc-update add consolekit default

Для большей информации смотрите ConsoleKit.

Смотрите также