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