rc.conf (Русский)

From ArchWiki
Jump to: navigation, search

Сводка
Статья детально описывает основной конфигурационный файл Arch Linux, каким он был при использовании initscripts. В настоящее время системой инициализации по умолчанию является systemd.
Связанные статьи
Arch Boot Process (Русский)
Tango-dialog-warning.png This article or section is out of date.
Reason: initscripts больше не используются в связи с переходом на systemd (Discuss)
Tango-dialog-warning.png

/etc/rc.conf является основным конфигурационным файлом для системы инициализации initscripts, использовавшейся в Arch Linux. В нем задавались, такие настройки, как загружаемые при запуске системы демоны.

Contents

Обзор

Ниже приведен типичный файл rc.conf таким, как он выглядит сразу после установки из последнего установочного диска Arch Linux. (Текущая версия rc.conf):

/etc/rc.conf
#
# /etc/rc.conf - configuration file for initscripts
#
# Most of rc.conf has been replaced by various other configuration
# files. See archlinux(7) for details.
#
# For more details on rc.conf see rc.conf(5).
#

DAEMONS=()

# A reasonable DAEMONS array when using sysvinit is:
# DAEMONS=(syslog-ng network crond)
#
# When using systemd, it is recommended to only enable daemons that
# do not have native systemd service files.

# Storage
#
# USEDMRAID="no"
# USELVM="no"

# Network
#
# interface=
# address=
# netmask=
# gateway=

С обновлением initscripts до версии 2012.07.5-1 конфигурационный файл rc.conf существенно изменился и теперь содержит весьма урезанные настройки. Большинство настроек отныне вынесены в отдельные файлы (см. ниже), справку по ним можно получить так:

$ man 7 archlinux

Справку по опциям нового rc.conf можно получить традиционным путем:

$ man 5 rc.conf

Фактически, в rc.conf остались настройка массива DAEMONS, частично определение оборудования (раздел Storage) и базовая настройка сети (раздел Network).

Новый конфигурационный файл

Ранее данный файл содержал и другие настройки системы. Если вы не используете альтернативную инициализацию системы, такую, как systemd, настройки в /etc/rc.conf определяют, какие демоны должны быть запущены при загрузке системы и некоторую информацию о сетевых настройках и конфигурации оборудования (носителей информации).

Note: Старые опции настройки системы в файле /etc/rc.conf все еще сработают (в настоящее время) при инициализации системы, но новые конфигурационные файлы имеют приоритет и настоятельно рекомендуется использовать именно их. Новые файлы также будут пригодны и для настройки systemd. Обратитесь к соответствующему разделу статьи Systemd (Русский). Смотрите Системные файлы в systemd.
Настройка Файл(ы) настройки Устаревшие разделы rc.conf
Имя компьютера /etc/hostname

/etc/hosts

NETWORKING
Консольные шрифты и раскладка клавиатуры /etc/vconsole.conf LOCALIZATION
Локаль /etc/locale.conf

/etc/locale.gen

LOCALIZATION
Временная зона /etc/localtime LOCALIZATION
Аппаратные часы /etc/adjtime LOCALIZATION
Модули ядра /etc/modules-load.d/ HARDWARE
Демоны /etc/rc.conf DAEMONS
Проводная сеть /etc/rc.conf NETWORKING

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

Демоны

Note: Systemd может управлять демонами в Arch Linux. Подумайте об использовании systemd вместо указания запускаемых демонов в данном конфигурационном файле. За информацией обратитесь к вики systemd.
DAEMONS
помещенный в in /etc/rc.d/ список разделяемых пробелами скриптов, которые запускаются при загрузке системы. Обычно не надо видоизменять имеющийся список по умолчанию, чтобы получить работающую систему, но его следует отредактировать, если вы устанавливаете системные сервисы наподобие sshd и хотите, чтобы они запускались автоматически во время процесса загрузки. Это основной способ в Arch Linux делать то же самое при инициализации системы, что в других дистрибутивах настраивается путем использования символических ссылок в директории init.d. Для получения дальнейшей информации смотрите статью: Writing rc.d scripts
  1. Если перед именем скрипта стоит символ восклицательного знака (!), он не запустится
  2. Если перед именем скрипта стоит символ "at" (@), то данный скрипт запустится в фоне, т.е. загрузчик не будет ждать успешного завершения скрипта и продолжит загрузку.
Пример:
DAEMONS=(@syslog-ng !network net-profiles crond sshd)
Note: Также важен порядок расположения демонов в списке, поскольку именно в указанном порядке они и будут запускаться.

Оборудование

USEDMRAID
Сканировать тома FakeRAID (dmraid) при загрузке (выполните dmraid -i -ay).
USELVM
Сканировать тома LVM при загрузке, что необходимо для использованияe LVM. Установка YES выполняет команду vgchange --sysinit -a y (обрабатывается функцией activate_vgs() function) во время инициализации системы.
Note: Настройка USEBTRFS более не требуется, поскольку она обрабатывается udev.

Конфигурирование сетевого интерфейса

rc.conf поддерживает лишь один интерфейс. При использовании нескольких сетевых интерфейсов или дополнительной настройки сети используйте netcfg.

interface
имя устройства (требуется)
address
IP-адрес (оставьте поле пустым при использованииr DHCP)
netmask
маска подсети (игнорируется DHCP) (не обязательно указывать, по умолчанию 255.255.255.0)
broadcast
широковещательный адрес (игнорируется DHCP) (не обязателен)
gateway
шлюз по умолчанию (игнориуется DHCP)
Пример статического IP-интерфейса
interface=eth0
address=192.168.0.2
netmask=255.255.255.0
broadcast=192.168.0.255
gateway=192.168.0.1
Пример использования DHCP
interface=eth0
address=
netmask=
gateway=
Note: Убедитесь, что добавили скрипт network в массив DAEMONS
DAEMONS=(... network sshd)
или, при использовании netcfg, добавьте скрипт net-profiles
DAEMONS=(... !network net-profiles sshd)

Модули ядра

MODULES
Warning: Модули, автоматически подгружаемые при старте системы, теперь определяются в директории /etc/modules-load.d/, а модули, которые надо занести в "черный список" - в директории /etc/modprobe.d/.

Для настройки автоматически подгружаемых модулей обратитесь к разделу Kernel modules#Loading, а для модулей, заносимых в "черный список" не подгружаемых при старте системы - к разделу Kernel modules#Blacklisting.

Note: Поскольку использование MOD_AUTOLOAD теперь не рекомендуется с initscripts версии 2011.06.1-1, вы можете настраивать правила udev для достижения того же эффекта.
Tip: Некоторые модули не могут быть загружена в том порядке, в котором они перечислены, поскольку их загрузка произойдет по требованию udev. Для сохранения последовательности имен сетевых интерфейсов от загрузки к загрузке системы, создайте соответствующие правила udev.

Локализация

HARDWARECLOCK
Warning: Этот параметр в настоящее время настраивается в файле /etc/adjtime.
Указывает, будет ли аппаратные часы, которые синхронизируются при загрузке и выключении компьютера, использовать время UTC или же localtime. Если это значение не установлено, то значение вместо него используются данные hwclock, хранимые в файле /var/lib/hwclock/adjtime. Обратитесь к статье Time для получения дальнейшей информации.
  1. Использование UTC целесообразно, поскольку это значительно упрощает изменение часовых поясов и переход на летнее время. Linux будет изменять настройки времени с учетом перехода на зимнее или летнее время, независимо от того, была ли система Linux бевключена в момент перехода на летнее время или нет.
  2. localtime необходим о при двойной загрузке с использованием операционной системы, которая хранит информацию только в режиме местного времени, такой, как Windows. Linux не будет настраивать время, передавая эту функцию другим ОС , используемых в системах с двойной загрузкой (в том числе и смену зимнего/летнего времени). Если такая смена времени не происходит автоматически, ее надо будет сделать вручную.
  3. Значение не указано: возвращает к значению в /var/lib/hwclock/adjtime, который по умолчанию использует UTC. Рекомендуется, поскольку другие пользователи hwclock могут менять файл adjtime, что приведет к рассинхронизации настроек в rc.conf и adjtime.
  4. Любое другое значение не затронет аппаратные часы (полезно при виртуализации).
TIMEZONE
Warning: Данный параметр настраивается ссылкой /etc/localtime.
Он определяет ваш часовой пояс. Доступные часовые пояса расположены как части относительного пути к файлу zoneinfo, начиная с каталога /usr/share/zoneinfo. Например, московский часовой пояс будет Europe/Moscow как ссылка на файл /usr/share/zoneinfo/Europe/Moscow. Просто выполните команду:
# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
KEYMAP
Warning: Этот параметр в настоящее время настраивается в файле /etc/vconsole.conf.
Раскладка клавиатуры, которую вы вы хотите использовать. Если вы живете в США, вы, вероятно, используете применяемую по умолчанию раскладку qwerty. Доступные раскладки находятся в /usr/share/kbd/keymaps.
Note: Обратите внимание, что эта настройка действует только для ваших TTY, но не графических оконных менеджеров или X!
CONSOLEFONT
Warning: Этот параметр в настоящее время настраивается в файле /etc/vconsole.conf.
Определяет консольный шрифт, загружаемый программой setfont при старте системы. Доступные шрифты располагаются в директории /usr/share/kbd/consolefonts (необходимы при использовании языка, отличного от американского английского (US)). Значение FONT в /etc/vconsole.conf имеет приоритет Для получения дальнейшей информации обратитесь к разделу: Console fonts
Пример использования KEYMAP и CONSOLEFONT (/etc/vconsole.conf)
KEYMAP=ru
FONT=cyr-sun16
CONSOLEMAP
Warning: Этот параметр в настоящее время настраивается в файле /etc/vconsole.conf.
Определяет карту соответствия символов различных кодировок , используемую программой setfont при старте системы (например, koi8-r_to_uni). Доступные карты расположены в директории /usr/share/kbd/consoletrans. Вам может потребоваться установить данный параметр применительно к вашей локали (koi8-r, например), если вы используете юникодную локаль и применяете программы с 8-битным выводом. FONT_MAP в /etc/vconsole.conf имеет приоритет.
Note: При использовании в ежедневной работе X11 данный параметр будет влиять только на консольные приложения.
LOCALE
Warning: Этот параметр в настоящее время настраивается в файле /etc/locale.gen. Выполните команду locale-gen для применения изменений. Общесистемная локаль может быть установлена в файле /etc/locale.conf.
Она устанавливает язык вашей системы, который будет использоваться всеми приложениями с доступной интернационализацией. Список имеющихся локалей можно получить, выполнив из командной строки locale -a. Значение по умолчанию подходит только для пользователей с американским английским. Переменная LANG в файле /etc/locale.conf имеет преимущество, если иное значение установлено в /etc/rc.conf
Пример использования LOCALE (/etc/locale.conf)
LANG=ru_RU.UTF-8
DAEMON_LOCALE
Warning: Этот параметр в настоящее время является устаревшим.
если он установлен как "yes" ("да"), то значение $LOCALE используется в качестве установки локали при запуске демонов и во время процесса установки. Если оно установлено в "no" ("нет"), используется локаль C. Значение по умолчанию - "yes".
USECOLOR
Warning: Этот параметр в настоящее время является устаревшим.
Включает (или отключает) раскраску выводимых при загрузке системы сообщений.

Сеть

HOSTNAME
Warning: Несмотря на использование nss-$HOSTNAME, эта опция сейчас конфигурируется в файле /etc/hostname. Не забудьте привести настройки в данном файле в соответствие с настройками в /etc/hosts.
Установите имя машины, без определения доменной части имени. Этот выбор полностью зависит от вас, хотя вам следует использовать лишь буквы, цифры и несколько специальных символов вроде тире. Имя машины следует также поместить в файл /etc/hosts. Содержание файла /etc/hostname (если данный файл не пуст) имеет приоритет.

При использовании /etc/hostname нет необходимости в переменной "HOSTNAME". (Подробности)

Network Persist

Переменная NETWORK_PERSIST сообщает системе, стоит ли пропускать выключение сети. Это необходимо, если ваш корневой раздел находится на NFS. По умолчанию установлено значение "no" ("нет").

# по умолчанию
NETWORK_PERSIST="no"

# Корневой раздел NFS
# NETWORK_PERSIST="yes"

Полезные ссылки