J'ai besoin de spécifier un ordre de démarrage pour que les processus démarrent. J'ai 389 Directory Server et Samba en cours d'exécution sur Fedora 18. Comment puis-je faire démarrer les services réseau, puis 389 DS, puis Samba? Existe-t-il une interface graphique pour gérer cela dans Fedora?
J'ai permis à Samba de commencer systemctl enable smb.service
. J'ai également activé 389 DS avec systemctl enable dirsrv.target
.
Réponses:
Utilisez
systemctl edit smb.service
pour mettre à jour les dépendances.After=dirsrv.target
- S'assurera que le service smb.est démarré après dirsrv.target.Pour la robustesse, (ce qui en vaut la peine si vous bricolez avec ce genre de choses), vous pouvez également souhaiter inclure certains des éléments suivants:
Requires=dirsrv.target
- Activez dirsrv.target lorsque smb.service est activé. Entraînera l'échec de smb.service en cas d'échec de dirsrv.target.Wants=dirsrv.target
- Activez dirsrv.target lorsque smb.service est activé. N'entraînera pas l'échec de smb.service si dirsrv.target échoue.BindsTo=dirsrv.target
- Si dirsrv.target est désactivé, désactivez smb.service.Source: http://www.freedesktop.org/software/systemd/man/systemd.unit.html
systemd-ui
fournit une interface graphique pour systemd. Donne une bonne vue de l'état de systemd mais vous devrez toujours utiliser un éditeur de texte pour modifier les fichiers d'unité.la source
/usr/lib/systemd
versions des fichiers d'unité à moins que vous ne soyez un mainteneur de distribution ou que vous appréciez que vos fichiers soient écrasés à chaque mise à jour de package. Soit copiez le fichier d'unité dans/etc/systemd
, puis modifiez-le, ou utilisez un fichier de dépôt (voir systemd.unit (5) pour plus de détails). Encore plus facile, utilisez simplementsystemctl edit smb.service
ce qui fait automatiquement la magie du fichier de dépôt!Faites deux choses:
Modifiez le
/lib/systemd/system/smb.service
fichier d'unité pour spécifier la dépendance. La[unit]
section contient uneAfter=
ligne qui spécifie quels services / cibles doivent être atteints avant celui-ci.Changez-le en:
Signalez cette dépendance à Fedora en tant que bogue , afin qu'elle puisse être incorporée dans les futures versions.
la source
unit
fichiers, vous devez généralement exécutersystemctl daemon-reload
vous devrez peut-être modifier ou inclure une ligne avec la
Requires
directive dans la[Unit]
section du/usr/lib/systemd/system/smb.service
fichier.et
la source
Il existe deux alternatives à la modification du fichier de service dans
/usr/lib/systemd/system
(voir l' exemple 2. Remplacer les paramètres du fournisseur ):Copiez le fichier
/etc/systemd/system
et effectuez les modifications sur la copie. Ce fichier remplacera complètement le fichier dans/usr/lib
.Créez le fichier
/etc/systemd/system/smb.service.d/local.conf
. Le contenu du fichier doit ressembler à l'exemple ci-dessous. Cela remplace de manière sélective les options "Requiert" et "Après" dans le fichier de service fourni par le fournisseur.Chacun d'eux (y compris la modification du fichier dans
/usr/lib
) offre des avantages et des inconvénients. Le meilleur choix peut dépendre du service et de la nature des modifications.Bien que cela puisse fonctionner, il ne suffit pas d'ajouter uniquement l'option "Après" (voir Options de la section [Unité] ). "Après" contrôle l'ordre, mais pas les dépendances. Si
dirsrv.target
n'est pas démarré d'une autre manière, la spécification d'une commande ne la lancera pas. L'utilisation de l'option "Requiert" ou "Veut" forceradirsrv.target
le démarrage.NB: Je ne sais pas si cette approche était disponible lorsque cette question a été posée à l'origine.
la source