Шаблон уровня запуска для 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.