Référence | https://doc.ubuntu-fr.org/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.
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.
$ systemctl list-unit-files --type=service
$ systemctl list-units --type=service
$ systemctl list-units --type=service --state=running
$ systemd-analyze blame
$ 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/
.
Il existe un utilitaire graphique qui se nomme systemadm
pour gérer systemd.
Paquet à installer | systemd-ui |
---|
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