Skip navigation

systemd : documentation

Quelques commandes de base de systemctl

Démarrage d’un service.

root@debian~#: systemctl start sshd.service

Arrêt d’un service.

root@debian~#: systemctl stop sshd.service

Redémarrage d’un service.

root@debian~#: systemctl restart sshd.service

Rechargement d’un service pour que ce dernier prenne en considération les modifications apportées à son fichier de configuration sans redémarrage du service.

root@debian~#: systemctl reload sshd.service

Status d’un service.

root@debian~#: systemctl status sshd.service

sortie

sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-03-14 12:35:59 CET; 9s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 9297 (sshd)
   CGroup: /system.slice/sshd.service
           └─9297 /usr/sbin/sshd -D

Mar 14 12:35:59 formation9 systemd[1]: Starting OpenSSH server daemon...
Mar 14 12:35:59 formation9 sshd[9297]: Server listening on 0.0.0.0 port 22.
Mar 14 12:35:59 formation9 sshd[9297]: Server listening on :: port 22.
Mar 14 12:35:59 formation9 systemd[1]: Started OpenSSH server daemon.

Savoir si le service démarre au boot.

root@debian~#: systemctl is-enabled sshd.service

sortie

enabled

Faire démarer un service au boot.

root@debian~#: systemctl enable sshd.service

sortie

Created symlink from /etc/systemd/system/multi-user.target.wants/sshd.service to /usr/lib/systemd/system/sshd.service.

: la commande retourne quelque chose seulement si le service était à l’était disabled au préalable.

Ne plus démarer un service au boot.

root@debian~#: systemctl disable sshd.service

sortie

Removed symlink /etc/systemd/system/multi-user.target.wants/sshd.service.

Vérifier si le service est actuellement en route.

root@debian~#: systemctl is-active sshd.service

sortie

active

Vérifier si le service n’a pas eu de problème au démarrage.

root@debian~#: systemctl is-failed sshd.service

Vérifier si un ou plusieurs services n’ont pas eu de problème au démarrage.

root@debian~#: systemctl --failed --type=service

sortie

0 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

Voir le contenu d’un fichier unit.

root@debian~#: systemctl cat sshd.service

sortie

# /usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

Empêcher le démarrage d’un service

root@debian~#: systemctl mask sshd.service

sortie

Created symlink from /etc/systemd/system/sshd.service to /dev/null.

Autoriser le démarrage d’un service.

root@debian~#: systemctl unmask sshd.service

sortie

Removed symlink /etc/systemd/system/sshd.service.

: systemctl mask […] et systemctl unmask […] ne sont pas des alternatives à systemctl enable […] et systemctl disable […].

Envoyer un signal d’arrêt à tous les processus du service.

root@debian~#: systemctl kill sshd.service

Après avoir ajouté un fichier unit if faut recharger le processus systemd pour qu’il tente de référencer ce fichier et qu’il revienne à l’utilisation des copies système. Cela est également vrai pour la suppression d’un fichier unit où l’utilisateur demande à systemd de ne plus référencer ce fichier.

root@debian~#: systemctl daemon-reload

Diagnostique : connaître le temps de chargement des services.

root@debian~#: systemd-analyze blame

sortie

6.548s lvm2-monitor.service
          6.134s NetworkManager-wait-online.service
          5.497s systemd-udev-settle.service
          5.475s dev-sda3.device
          5.328s plymouth-quit-wait.service
          4.321s kdump.service
          3.496s mnt-donnees.mount
          2.624s vboxdrv.service
          2.326s postfix.service
          1.653s systemd-fsck@dev-disk-by\x2duuid-e0dee67e\x2ded39\x2d4881\x2d
          1.479s systemd-fsck@dev-disk-by\x2duuid-96fde087\x2d324c\x2d40b3\x2d
          1.374s systemd-udevd.service
          1.200s auditd.service
          1.131s NetworkManager.service
[…]

Quelque commande pour le server X

Connaître le mode de démarage par défaut (graphique ou console).

root@debian~#: systemctl get-default

sortie

graphical.target

Passer en mode utilisateur unique (mode console).

root@debian~#: systemctl set-default multi-user.target

Passer en mode muliti-utilisateur (mode graphique).

root@debian~#: systemctl set-default graphical.target

Arrêt du server X.

root@debian~#: systemctl isolate-multi-user

Démarrage du server X.

root@debian~#: systemctl isolate-graphical

Changer les programmes par défaut

Changer l’éditeur par défaut.

root@debian~#: update-alternatives --config editor

sortie

There are 3 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/nano            40        manual mode
* 2            /usr/bin/vim.basic   30        manual mode
  3            /usr/bin/vim.tiny    15        manual mode

Press  to keep the current choice[*], or type selection number: 

Changer le manuel par défaut.

root@debian~#: update-alternatives --config pager

Les fichiers unit

Les différentes extention des fichiers units :
*.service : extension d’un service système.
*.mount : extension pour un système de fichiers.
*.automount : extension pour un système de fichiers monté à la demande.
*.timer : extension de fichier unit permetant de lancer un processus à une date donnée.
*.swap : extension pour les partitions de swap.
*.target : extension qui permet de grouper un ensemble de unit un seul unit (multi-user.target difinissant une cible).
*.socket : extension pour un socket (IP:port) de communication entre processus.
*.busname : extension pour les logiciels de communication inter-processus.
*.path : extension pour l’activation d’un service basée sur la modification de fichiers ou de répertoires.
*.device : extension pour un périphérique (/dev/sdc).
*.slice : extension permettant, entre autre, la gestion des cgroups, une fonctionnalité du noyau Linux pour limiter, compter et isoler l’utilisation des ressources.
*.scope : extension utilisé par systemd lui-même gérant des groupes de processus, généralement, par session utilisateurs.
*.snapshot : extension de fichier unit utilisée pour sauvegarder l’état actuel des services et les restaurer ensuite (avant de passer en veille).

Lister toutes le fichier unit.

root@debian~#: systemctl list-units

sortie

UNIT                                                               LOAD   ACTIVE SUB       DESCRIPTION
proc-sys-fs-binfmt_misc.automount                                  loaded active waiting   Arbitrary Executable File Formats File System Automount Point
sys-devices-pci0000:00-0000:00:02.0-backlight-acpi_video0.device   loaded active plugged   /sys/devices/pci0000:00/0000:00:02.0/backlight/acpi_video0
sys-devices-pci0000:00-0000:00:03.0-sound-card0.device             loaded active plugged   Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
sys-devices-pci0000:00-0000:00:1b.0-sound-card1.device             loaded active plugged   8 Series/C220 Series Chipset High Definition Audio Controller
sys-devices-pci0000:00-0000:00:1c.3-0000:02:00.0-net-p2p1.device   loaded active plugged   RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda1.device loaded active plugged   ST500DM002-1BD142 1
sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda2.device loaded active plugged   ST500DM002-1BD142 boot
sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda3.device loaded active plugged   ST500DM002-1BD142 linux
sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda4.device loaded active plugged   ST500DM002-1BD142 data
sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda.device loaded active plugged   ST500DM002-1BD142
[…]

by | March 14, 2018 | No Comments | Système | Tags : systemd