Шаблон уровня запуска для systemd

Предположим, у меня есть две разные настройки "уровней запуска" через "цели" в systemd - before.target (минимальный набор служб начальной загрузки включен) и after.target (запустить все).

Прямо сейчас я делаю это, когда хочу переключиться с "до" на "после":

# Set default to after.target. 
/usr/bin/systemctl set-default after.target 1>/dev/null

# Before reboot make sure essential services are enabled
/usr/bin/systemctl enable foo bar baz buz 1>/dev/null

# Reboot
reboot

Как я могу получить foo.service, bar.service, baz.service, а также buz.service Добавлено в after.target когда они установлены?

Если я хочу настроить boz бежать когда after.target включен, есть ли способ сделать это без изменения /usr/lib/systemd/system/after.target файл?

В старых системах с помощью chkconfig я просто включал бы службы начальной загрузки, скажем, на уровне выполнения 4, а затем включал все остальные службы на уровне выполнения 3, но у меня возникли проблемы с выяснением, как это сделать, и я бы предпочел не использовать жесткий код в Wanted-By: after.target во всех моих служебных файлах.

1 ответ

Решение

Это предлагается на справочной странице systemctl:

systemctl add-wants after.target foo.service

Страница руководства гласит:

       add-wants TARGET UNIT..., add-requires TARGET UNIT...
           Adds "Wants=" or "Requires=" dependencies, respectively, to the
           specified TARGET for one or more units.

           This command honors --system, --user, --runtime and --global in a
           way similar to enable.
Другие вопросы по тегам