Table des matières

Linux

Gestion des services


systemd

systemd utilise des fichiers de configuration correspondant aux différents services à manipuler. Il n'est (en général) plus nécessaire de créer des fichiers bash pour gérer le service, systemd s'occupe de tout (lancement, arrêt, redémarrage, status, gestion des logs, etc).
Ces fichiers de configuration se trouvent dans /etc/systemd/system/ ou /lib/systemd/system/ et permettent d'indiquer les conditions d'activation ou désactivation d'un service, leur propriétaire, etc.

Gestion basique d'un service

L'outil de gestion des services dans systemd s'appelle systemctl.

 $ systemctl <ACTION> <Nom_du_service>.service
   # ou
 $ systemctl <ACTION> <Nom_du_service>

<ACTION> sera la commande que l'on souhaite appliquer au service :

start démarrer le service
stop arrêter le service
restart relancer le service
reload recharger le service
status connaitre l'état du service
show montre le contenu du fichier de configuration du service

<Nom_du_service> est le nom du service visé. Quelle que soit l'action menée sur un service, au prochain démarrage de la machine celui-ci devrait retrouver le status qui lui a été défini par défaut.

Lister les services démarrés

 $ systemctl list-unit-files --type=service
 $ systemctl list-units --type=service
 $ systemctl list-units --type=service --state=running
 $ systemd-analyze blame


Modifier l'exécution d'un service

 $ sudo systemctl disable <Nom_du_service>.service

Au prochain redémarrage du système, le service correspondant ne sera plus lancé.

 $ sudo systemctl enable <Nom_du_service>.service

Au prochain redémarrage du système, le service correspondant sera lancé automatiquement.
Néanmoins si vous souhaitez modifier l'état d'un service selon certaines conditions, vous devrez modifier ou créer le fichier /etc/systemd/system/<nom_du_service>.service. Les fichiers de configuration par défaut se trouvent dans /lib/systemd/system/.

Logiciel graphique

Il existe un utilitaire graphique qui se nomme systemadm pour gérer systemd.

Paquet à installer systemd-ui


Journaux

systemd possède son propre mécanisme de journalisation, appelé “The Journal”.
Ils sont enregistrés dans le répertoire /var/log/journal/.

* Consultation Pour accéder au journal, tapez dans un terminal :

 $ journalctl

Pour une vision plus fine, vous pouvez consulter les messages d'un seul service par son nom, son PID ou même son exécutable :

 $ journalctl -u apache2
 $ journalctl _PID=1
 $ journalctl /usr/sbin/dhcpcd

Lorsque vous consultez le status d'un service avec la commande systemctl status <nom_du_service>, systemd vous affiche quelques lignes des logs les plus récents.
journalctl permet aussi de filtrer par le niveau de log (tel que défini par syslog). Pour n'afficher que les erreurs :

 $ journalctl -p err