Как обеспечить, чтобы блок systemd в Ubuntu 16 ждал синхронизации ntpd перед запуском? [duplicate]

Мне нужно указать порядок загрузки процессов для запуска. У меня есть 389 Directory Server и Samba, работающие на Fedora 18. Как я могу сделать так, чтобы загружались сетевые службы, затем 389 DS, затем Samba? Есть ли GUI для управления этим в Fedora?

Я включил запуск Samba с помощью systemctl enable smb.service. Я также включил 389 DS с помощью systemctl enable dirsrv.target.

21
задан 26 February 2013 в 21:22
3 ответа

Используйте systemctl edit smb.service для обновления зависимостей.

After = dirsrv.target - Обеспечивает запуск smb.service после dirsrv. target.

Для надежности (что будет стоить того, если вы возитесь с этим материалом), вы также можете включить некоторые из следующего:

Requires = dirsrv.target - Активировать dirsrv.target когда активирована услуга smb. Приведет к сбою smb.service, если dirsrv.target не работает.

Wants = dirsrv.target - Активировать dirsrv.target при активации smb.service. Не приведет к сбою smb.service в случае сбоя dirsrv.target.

BindsTo = dirsrv.target - Если dirsrv.target деактивирован, деактивировать smb.service.

Источник: http: / /www.freedesktop.org/software/systemd/man/systemd.unit.html

systemd-ui предоставляет графический интерфейс для systemd. Дает хорошее представление о состоянии systemd, но вам все равно придется использовать текстовый редактор для изменения файлов модулей.

28
ответ дан 4 January 2021 в 09:02

вам может понадобиться изменить или включить строку с директивой Requires в секции [Unit] /usr/lib/systemd/system/smb. service файла.

Requires=dirsrv.target

и

After=dirsrv.target
3
ответ дан 4 January 2021 в 09:02

В /usr/lib/systemd/system существует две альтернативы модификации служебного файла (см. Пример 2. Переопределение настроек производителя):

  1. Скопируйте файл в /etc/systemd/system и выполните модификацию. на копии. Этот файл будет полностью переопределять файл в /usr/lib.

  2. Create the file /etc/systemd/system/smb.service.d/local.conf. Содержимое файла должно быть примерно таким, как показано в примере ниже. Это выборочно отменяет опции "Требования" и "После" в файле сервиса, предоставляемом поставщиком.

Каждый из них (включая модификацию файла в /usr/lib) имеет свои преимущества и недостатки. Лучший выбор может зависеть от обслуживания и характера модификаций.

Несмотря на то, что это может сработать, недостаточно только добавить опцию "После" (см. [Unit] Section Options). "После" управляет порядком, но не зависимостями. Если dirsrv.target не запущен каким-либо другим способом, то указание ордера не запустит его. Использование опции "Требуется" или "Хочет" заставит dirsrv.target запуститься.

[Unit]
Requires=dirsrv.target
After=dirsrv.target

NB: Я не знаю, был ли этот подход доступен, когда этот вопрос был изначально задан.

3
ответ дан 4 January 2021 в 09:02

Теги

Похожие вопросы