Généralités système Linux

Systemd : les commandes essentielles

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction



systemd est un remplaçant du démon init system V pour Linux. Il a pour but d'offrir une meilleure gestion des dépendances entre services, ainsi que de permettre le chargement en parallèle des services au démarrage.
Cela permet réduire le temps de démarrage du système et de lancer moins de processus.

Les distributions Fedora, Mageia, Open SUSE et Debian ont adopté ce système par défaut dans leurs distributions respectives.
Ubuntu utilise upstart et Gentoo utilise OpenRC.


Configurer ses services



L'outil systemctl permet de configurer les services qui sont lancés au démarrage.


Statut d'un service



Pour connaître le statut d'un service, utiliser la commande :

Code BASH :
systemctl status nom_du_service.service


L'auto-complétion fonctionne pour le nom du service; voici un exemple sur le service sshd :

Code BASH :
# systemctl status sshd.service 
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since lun. 2013-09-16 17:49:01 CEST; 2 days ago
 Main PID: 676 (sshd)
   CGroup: name=systemd:/system/sshd.service
           └─676 /usr/sbin/sshd -D
 
sept. 16 17:49:01 fedora systemd[1]: Starting OpenSSH server daemon...
sept. 16 17:49:01 fedora systemd[1]: Started OpenSSH server daemon.
sept. 16 17:49:02 fedora sshd[676]: Server listening on 0.0.0.0 port 22.
sept. 16 17:49:02 fedora sshd[676]: Server listening on :: port 22.
sept. 18 15:02:34 fedora sshd[28095]: Accepted password for adrienfedo from 192.168.1.11 port 51600 ssh2
sept. 18 16:22:30 fedora sshd[16864]: Accepted password for adrienfedo from 192.168.1.11 port 51618 ssh2
 



Activer un service au démarrage



Pour configurer un service pour qu'il soit lancé automatiquement au démarrage du système, utiliser la commande :

Code BASH :
 systemctl enable nom_du_service.service


Voici un exemple avec le service sshd :

Code BASH :
# systemctl enable sshd.service
ln -s '/usr/lib/systemd/system/sshd.service' '/etc/systemd/system/multi-user.target.wants/sshd.service'


Désactiver un service au démarrage



Pour configurer un service pour qu'il ne soit plus lancé automatiquement au démarrage du système, utiliser la commande :

Code BASH :
 systemctl disable nom_du_service.service


Voici un exemple avec le service sshd :

Code BASH :
# systemctl disable sshd.service
rm '/etc/systemd/system/multi-user.target.wants/sshd.service'