Жизнь без /etc/rc.conf



Когда вышел initscripts версии 2012.07.5-1, содержавший крайне урезанную версию основного арчевского конфигурационного файла
/etc/rc.conf
, мне (как, наверное, и некоторым другим) пользователям Арча со стажем показалось, что любимой экосистеме нанесен невосполнимый ущерб. И дело вовсе не в том, что взамен одного файла пришлось создавать много новых (понять, как это делается, оказалось не так уж и сложно). Но для меня фирменная инициализация Арча была его несомненным преимуществом, из-за которого, в том числе, я и остановился некогда на выборе данного дистрибутива.

Децентрализация конфигурационных файлов стала ступенью на переходе Арча к использованию systemd. Вместе с дистрибутивом двинулся в ту же сторону и я. Особых проблем не ощутил, но и достоинств до недавнего времени – также не почувствовал.

И вот оказалось, что настолько хвалимый одними одними пользователями и специалистами, насколько ненавидимый и критикуемый другими systemd разродился собственной системой настройки, которая теперь избавляет пользователя от ручной правки конфигурационных файлов (но вот вопрос: нужно ли это пользователю Арча и есть ли это KISS?).

Всё нижеизложенное можно прочитать в Вики (английской или русской – русский перевод теперь не сильно отстает от оригинала), а также в соответствующих руководствах. Данная заметка – не повторение, а попытка сравнения прошлого подхода (совсем еще недавнего) и сегодняшних реалий systemd (а что ждет нас завтра?).

  • DAEMONS

Демонов, как известно, больше нет. Обошлись без святой воды, выбросив на свалку истории массив
DAEMONS
вместе с файлом
/etc/rc.conf
, в котором данный массив был прописан.

Вместо демонов теперь сервисы (которые еще именуются службами, или как еще можно перевести английское service).
Понять, как их запускать/останавливать/перезапускать/включать/выключать несложно. Большая часть исполняемых файлов обзавелась вместо старых демонов новыми сервисами, поэтому пользователю без особых претензий писать собственные сервис-файлы вряд ли придется (а писать их самому, по-моему, не самое сложное занятие). Часть бывших демонов (вроде, например, ALSA) и вовсе запустится без участия пользователя. В общем, ручной работы здесь почти не осталось.

  • HOSTNAME

Раньше для настройки файла
/etc/hostname
, определяющего имя машины в сети, требовалось ручками вписать в данный конфигурационный файл одно короткое слово – это пресловутое имя:

myhostname

Отныне этого делать не надо. Новая система инициализации выполнит “грязную работу” по ручной правке конфига за вас, стоит только (!) набрать команду:

# hostnamectl set-hostname myhostname

Всё не просто – всё очень просто! А вы боялись перетрудить свои бедные пальчики…

  • РАСКЛАДКА КЛАВИАТУРЫ И КОНСОЛЬНЫЙ ШРИФТ

Нерусским разработчикам systemd вообще нет необходимости что-то в данном случае править. Ранее приходилось вручную создавать файл
/etc/vconsole.conf
с подобным содержимым:

KEYMAP=ru
FONT=cyr-sun16
FONT_MAP=

Теперь в качестве альтернативы нам предлагают команду systemd, которая устанавливает раскладку клавиатуры (и будет действовать не только в консоли, но и в X11):

# localectl set-keymap ru

Однако шрифт придется по-прежнему прописывать вручную.

  • ЛОКАЛИЗАЦИЯ

Создаем
/etc/locale.conf
, рекомендуемое содержимое которого выглядит примерно так:

LANG=ru_RU.UTF-8

Для данной настройки теперь родили команду systemd:

# localectl set-locale LANG=“ru_RU.UTF-8”

  • ВРЕМЕННАЯ ЗОНА

Файл
/etc/timezone
почил в Бозе. R.I.P., дорогой ты наш, а мы будем жить дальше.

Создание ссылки вашей временной зоны на
/etc/localtime
прежде выполнялось путем понятной всякому начинающему линуксоиду команды

# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

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

# ln -s ../usr/share/zoneinfo/Europe/Moscow /etc/localtime

А теперь, внимание, смертельный номер! Создадим данную ссылку при помощи самого systemd:

# timedatectl set-timezone Europe/Moscow

В общем, изменения в процессе настройку за прошедшие пару месяцев достаточно велики. Продолжаю по возможности отслеживать их и отражать в данной заметке.
Говорила мама: "RTFM, сынок!"
Думаю, мне будет непросто привыкнуть к этим утилитам для настройки. Правка файлов как-то привычнее, пока что.
Демонов больше нет
А то кто-то уже заготовил кресты и святую воду? ;))

Демоны есть, никуда не делись.
systemD, pdnsD, httpD, binD, dhcpcD, ftpD, sshD, mysqlD, и т.д.
Не говоря уже о тех, у которых на конце нет буквы d, но тем не менее.
Демон (daemon), сервер (программный), сервис, служба – суть одно и то же, просто первое классический никсовый термин, а второе – офисно-энтерпрайзное словечко. В шапках и дебианах они вообще запускаются командой service, но никто же не говорит, что демонов изгнали :)

А по поводу этих команд – они явно слишком длинны для ввода с клавиатуры, зато очень удобны для автоконфигураторов, чтобы не парсить конфиги, а выполнить команду, а она уже сама куда надо подставит.
Никто не мешает править и дальше, эти утилиты больше полезны для скриптов и автоконфигураторов.
Понятно, что, несмотря на изменения в технологии запуска, демоны остаются демонами :)
Интересно. что разработчики systemd по сути используют виндовую терминологию – насколько мне помнится,
service
(служба) – это термин MS Windows.
Говорила мама: "RTFM, сынок!"
Не помешает выполнить
pacman -S base --needed 
зачем мне, например, heirloom-mailx из группы base? даже из этой группы пакеты надо ставить, имея представление, зачем они нужны в твоей системе. Не говоря уже о других группах. That's the “Arch Way”, i guess.
Говорила мама: "RTFM, сынок!"
Мне, как новичку (с конца августа 2012 на арче, да и в линуксе, ибо всё предыдущее - дуалбут-убунту), так это всё даже проще и элегантнее видится. Особенно если установку производить без использования скриптов установочных (по методу lampslave).
Я не красноглазик, я фаерфоксик ^_^
То есть раньше мне "всего лишь" надо было помнить, в каком файле что лежит, а теперь я ещё должен помнить с десяток лишних консольных команд? Да, прогресс налицо.
mehanoid
То есть раньше мне "всего лишь" надо было помнить, в каком файле что лежит, а теперь я ещё должен помнить с десяток лишних консольных команд? Да, прогресс налицо.
вбивать доп строки в /rc.conf с определенным текстом (который видимо предполагается помнить) или тот же самый текст вбить в имя файла?) Реально, помнить нужно тоже самое (или понимать в какую сторону манов смотреть - автокомплит в zsh в установочном образе настроен, список манов можно легко посмотреть). Единственная существенная разница - разнесение в несколько файлов.
PGP 0x31361F01
arcanisrepo
 
Зарегистрироваться или войдите чтобы оставить сообщение.