Ich muss eine Startreihenfolge angeben, damit Prozesse gestartet werden. Ich habe 389 Directory Server und Samba auf Fedora 18. Wie kann ich die Netzwerkdienste booten lassen, dann 389 DS, dann Samba? Gibt es eine GUI, um dies in Fedora zu verwalten?
Ich habe Samba aktiviert, um mit zu beginnen systemctl enable smb.service
. Ich habe auch 389 DS mit aktiviert systemctl enable dirsrv.target
.
Antworten:
Verwenden Sie
systemctl edit smb.service
diese Option, um die Abhängigkeiten zu aktualisieren.After=dirsrv.target
- Stellt sicher, dass der smb.service nach dirsrv.target gestartet wird.Aus Gründen der Robustheit (die sich lohnen wird, wenn Sie mit diesem Material basteln) möchten Sie möglicherweise auch Folgendes hinzufügen:
Requires=dirsrv.target
- Aktiviere dirsrv.target wenn smb.service aktiviert ist. Lässt smb.service fehlschlagen, wenn dirsrv.target fehlschlägt.Wants=dirsrv.target
- Aktiviere dirsrv.target wenn smb.service aktiviert ist. Smb.service schlägt nicht fehl, wenn dirsrv.target fehlschlägt.BindsTo=dirsrv.target
- Wenn dirsrv.target deaktiviert ist, deaktivieren Sie smb.service.Quelle: http://www.freedesktop.org/software/systemd/man/systemd.unit.html
systemd-ui
bietet eine GUI für systemd. Gibt einen guten Überblick über den Status von systemd, Sie müssen jedoch weiterhin einen Texteditor verwenden, um die Einheitendateien zu ändern.quelle
/usr/lib/systemd
Versionen der Gerätedateien nur, wenn Sie ein Distributionsbetreuer sind oder wenn Ihre Dateien bei jedem Paketupdate überschrieben werden. Kopieren Sie entweder die Unit-Datei in/etc/systemd
und bearbeiten Sie sie dann oder verwenden Sie eine Drop-In-Datei (Details siehe systemd.unit (5)). Noch einfacher, verwenden Sie einfach,systemctl edit smb.service
was die Drop-In-Datei automatisch zaubert!Mach zwei Dinge:
Bearbeiten Sie die
/lib/systemd/system/smb.service
Unit-Datei, um die Abhängigkeit anzugeben. Der[unit]
Abschnitt enthält eineAfter=
Zeile, die angibt, welche Dienste / Ziele vor diesem erreicht werden sollen.Ändern Sie es in:
Melden Sie diese Abhängigkeit als Fehler an Fedora zurück , damit sie in zukünftigen Versionen enthalten sein kann.
quelle
unit
Dateiensystemctl daemon-reload
Möglicherweise müssen Sie eine Zeile mit der
Requires
Direktive im[Unit]
Abschnitt der/usr/lib/systemd/system/smb.service
Datei ändern oder einfügen.und
quelle
Es gibt zwei Alternativen zum Ändern der Servicedatei in
/usr/lib/systemd/system
(siehe Beispiel 2. Überschreiben der Herstellereinstellungen ):Kopieren Sie die Datei nach
/etc/systemd/system
und nehmen Sie die Änderungen an der Kopie vor. Diese Datei überschreibt die Datei in vollständig/usr/lib
.Erstellen Sie die Datei
/etc/systemd/system/smb.service.d/local.conf
. Der Inhalt der Datei sollte in etwa dem folgenden Beispiel entsprechen. Dadurch werden die Optionen "Erforderlich" und "Nachher" in der vom Anbieter bereitgestellten Servicedatei selektiv überschrieben.Jede davon (einschließlich der Änderung der Datei in
/usr/lib
) bietet Vor- und Nachteile. Die beste Wahl kann vom Service und der Art der Änderungen abhängen.Es reicht möglicherweise nicht aus, nur die Option "Nach" hinzuzufügen (siehe Optionen im Abschnitt [Einheit] ). "Nach" steuert die Reihenfolge, jedoch nicht die Abhängigkeiten. Wenn
dirsrv.target
es nicht auf andere Weise gestartet wird, wird es durch Angeben eines Auftrags nicht gestartet. Die Verwendung der Option "Requires" oder "Wants" erzwingt dendirsrv.target
Start.NB: Ich weiß nicht, ob dieser Ansatz verfügbar war, als diese Frage ursprünglich gestellt wurde.
quelle