Мне нужно указать порядок загрузки процессов для запуска. У меня есть 389 Directory Server и Samba, работающие на Fedora 18. Как я могу сделать так, чтобы загружались сетевые службы, затем 389 DS, затем Samba? Есть ли GUI для управления этим в Fedora?
Я включил запуск Samba с помощью systemctl enable smb.service
. Я также включил 389 DS с помощью systemctl enable dirsrv.target
.
Используйте 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, но вам все равно придется использовать текстовый редактор для изменения файлов модулей.
вам может понадобиться изменить или включить строку с директивой Requires
в секции [Unit]
/usr/lib/systemd/system/smb. service
файла.
Requires=dirsrv.target
и
After=dirsrv.target
В /usr/lib/systemd/system
существует две альтернативы модификации служебного файла (см. Пример 2. Переопределение настроек производителя):
Скопируйте файл в /etc/systemd/system
и выполните модификацию.
на копии. Этот файл будет полностью переопределять файл в
/usr/lib
.
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: Я не знаю, был ли этот подход доступен, когда этот вопрос был изначально задан.