Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Systemd

Introduction

Systemd est une alternative au démon init de System V spécifiquement conçu pour le noyau Linux.

Il a pour but :

  • d'offrir un meilleur cadre pour la gestion des dépendances entre services,
  • de permettre le chargement en parallèle des services au démarrage,
  • et de réduire les appels aux scripts shell.

Le projet a été lancé par Lennart Poettering en 2010 et publié sous licence GNU LGPL version 2.11.
Le nom de ce programme vient de « system daemon » : le daemon du système.

C'est le système d'init par défaut de Debian depuis la version Jessie (Debian 8).

Installation

Installé par défaut .

Utilisation

Les journaux système

Remarque : seul l’utilisateur « root » ou le groupe « systemd-journal » peuvent consulter le journal.

Visualiser tout le journal

journalctl

Visualiser le journal relatif à un service particulier (exemple cups)

journalctl -u cups

Visualiser le journal relatif à un processus particulier

journalctl _PID=1

Visualiser le journal relatif à un exécutable particulier (exemple dhcpd)

journalctl /usr/sbin/dhcpcd

Visualiser le journal du jour

journalctl --since="today"

Visualiser le journal sur une période

journalctl --since="AAAA-MM-JJ hh:mm:ss" --until="AAAA-MM-JJ hh:mm:ss"

Visualiser le journal relatif au dernier boot (-b) avec les messages explicatifs (-x)

journalctl -xb

Visualiser les erreurs dans le journal (-p err) en commençant par la plus récente (-r)

journalctl -r -p err

Les unités

Systemd gère des services système mais également des périphériques, des points de montage, des timers, et d'autres composants du système.

Le terme générique pour tous ces objets dans systemd est une unité (Unit). La section [Unit] stocke l'information qui s'applique non seulement aux services mais également à tous les autres types d'unité systemd.

Convention de nommage

Chaque unité utilise un nom d'extension en rapport avec son type :

  service : *.service
  groupe d’unités : *.target
  montage : *.mount
  socket : *.socket

Utilisation des unités

Lister les unités

systemctl list-units

Statut d’une unité

systemctl status kdm.service

Activer une unité (ici le gestionnaire graphique kdm)

systemctl enable kdm.service

Désactiver une unité (ici le gestionnaire graphique kdm)

systemctl disable kdm.service

Démarrer une unité (ici le gestionnaire graphique kdm)

systemctl start kdm.service

Arrêter une unité (ici le gestionnaire graphique kdm)

systemctl stop kdm.service

Regarder si il y a des unités qui posent problème

systemctl status

Gestion au niveau utilisateur

Pour gérer les services au niveau utilisateur, il faut ajouter l’option « --user ». Par exemple désactiver le service « dropbox » :

systemctl --user disable dropbox

Les cibles (targets) : la méthode systemd pour les niveaux d'exécutions

Il est possible de regrouper plusieurs unités dans une unité spéciale dont le nom d'extension est target (cible).
Cela permet de reproduire le fonctionnement des niveaux d’exécution (runlevels de SysVinit).

Pour lister toutes les cibles (actives ou non)

systemctl list-units --type=target -all

Voici un tableau de correspondance avec l'ancien système : FIXME : tableau à contrôler

Niveau d'exécution Cible systemd Notes
0 poweroff.target Arrêt de l'ordinateur
1 rescue.target Mode mono-utilisateur
2, 3, 4 multi-user.target Mode multi-utilisateur en mode texte
5 graphical.target Mode multi-utilisateur en mode graphique
6 reboot.target Redémarrage de l'ordinateur
emergency emergency.target Mode de secours

Par défaut, lorsque un gestionnaire de connexion est installé, la cible par défaut est graphical.target

Pour changer la cible par défaut au démarrage :

Avec systemctl :

systemctl set-default multi-user.target

Ou bien en ajoutant directement à la fin de la ligne boot: lors de l'amorçage de l'ordinateur :

systemd.unit=multi-user.target

Diagnostic système

Liens entre les services créés par systemd et les processus

$ systemd-cgls

Cela va créer une arborescence qui permettra de faire le lien entre les services et les processus.

Générer un graphique représentant le temps nécessaire à démarrer les différents services

systemd-analyze plot > plot.svg

Systemd en mode graphique

Installation

 apt-get install systemd-ui

Ce tuto vient très largement de Yopland ici: http://www.planet-libre.org/?post_id=18293

Sources d'informations sur systemd

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/system/systemd.txt · Dernière modification: 10/08/2016 09:37 par MicP

Pied de page des forums

Propulsé par FluxBB