Daemon Systemd

Le daemon systemd gère le processus de démarrage pour Linux, y compris lees démarrage des autres services et leur gestion. Les daemons sont des processus exécutés en arrière-plan. Par convention, les noms de daemons se terminent par d.

Les services pour systemd font référence à un ou plusieurs daemons.

Le premier processus qui se lance sur le système est systemd est possède un PID 1.

Gérer les deamons et services

La commande systemctl affiche l’état du système en listant les services chargés et actifs :

# systemctl

Liste les services chargés et actifs :

# systemctl list-units --type=service

Liste tous les services :

# systemctl list-units --type=service --all

Liste les services en fonction de leur état :

# systemctl --state=inactive

Voir l’état de tous les fichiers de service installés :

# systemctl list-unit-files --type=service

Pour vérifier le statut d’un service :

# systemctl status sshd.service
# systemctl is-active sshd.service
# systemctl is-enabled sshd.service
# systemctl is-failed sshd.service

Activation/Désactivation d’un service (s’exécuter au démarrage) :

# systemctl enable sshd.service
# systemctl enable --now sshd.service // équivalent
# systemctl disable --now sshd.service

Démarrer/stopper ou redémarrer/recharger un service :

# systemctl start sshd
# systemctl stop sshd.service
# systemctl restart sshd.service
# systemctl reload sshd.service
# systemctl reload-or-restart sshd.service

Lister des dépendances des services (utiles pour certains daemons qui dépendent d’autres. En général cela se fait automatiquement) :

# systemctl list-dependencies sshd.service
sshd.service
● ├─-.mount
● ├─system.slice
● └─sysinit.target
● ├─apparmor.service
● ├─blk-availability.service
● ├─dev-hugepages.mount
● ├─dev-mqueue.mount

Masquer ou démasquer un service (empêche le démarrage d’un service conflictuel avec d’autres) :

# systemctl mask sendmail.service
# systemctl unmask sendmail

Les messages renvoyés par le terminal seront du type :

# systemctl list-unit-files --type=service
UNIT FILE STATE
...output omitted...
sendmail.service masked
...output omitted...

# systemctl start sendmail.service
Failed to start sendmail.service: Unit sendmail.service is masked.
Utilisez la commande systemctl unmask pour annuler le masquage de l’unité de service.

# systemctl unmask sendmail
Removed /etc/systemd/system/sendmail.service.

Arrêts et redémarrage du système

Arrête tous les services et émonte tous les systèmes de fichiers puis arrête le système :

# systemctl poweroff
# poweroff

Arrête tous les services et émonte tous les systèmes de fichiers puis redémarre le système :

# systemctl reboot 
# reboot

Stoppe le système et il peut être mis hors tension

# systemctl halt
# halt

/!\ Résumé des commandes

Commandes :

# systemctl status UNIT   Afficher des informations détaillées
# systemctl stop UNIT Stopper un service
# systemctl start UNIT Démarrer un service
# systemctl restart UNIT Redémarrer un service
# systemctl reload UNIT Recharger le fichier de configuration
# systemctl mask UNIT Désactiver le lancement d’un service au démarrage.
# systemctl unmask UNIT Démasquer un service
# systemctl enable UNIT Activer un service (Lancé au démarrage). Option --now : démarrer aussi le service
# systemctl disable UNIT Désactiver un service (Pas lancé au démarrage). Option --now : démarrer aussi le service

// Arrête tous les services et émonte tous les systèmes de fichiers puis arrête le système :
# systemctl poweroff
# poweroff

// Arrête tous les services et émonte tous les systèmes de fichiers puis redémarre le système :
# systemctl reboot
# reboot

// Stoppe le système et il peut être mis hors tension
# systemctl halt
# halt

Documentation

MAN systemd(1)
MAN systemd.unit(5)
MAN systemd.service(5)
MAN systemd.socket(5)
MAN systemctl(1)

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/htmlsingle/configuring_basic_system_settings/index#managing-system-services-withsystemctl_configuring-basic-system-settings

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/configuring_basic_system_settings/managing-services-withsystemd_configuring-basic-system-settings#managing-services-withsystemd_configuring-basic-system-settings

> Partager <