Aide mémoire sur les commandes associées à Systemd

Suite à un petit problème système sur mon installation (Manjaro), me voila en train de rechercher des informations dans mes journaux systèmes. J’en profite donc pour me faire un aide mémoire Systemd. Comme d’habitude, le billet sera régulièrement mis à jour au fur et à mesure des besoins.

Consulter le journal 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 ssh)

journalctl -u service

Visualiser le journal relatif à un processus particulier

journalctl _PID=1

Visualiser le journal relatif à un executable 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

Convention de nommage

Les unitées portent une extention en rapport avec son type :

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

Les fichiers de configuration utilisateur se trouve dans le dossier :

  • /usr/lib/systemd/system/ : unités fournis par les paquets ;
  • /etc/systems/user/ : unités installées par l’administrateur ;
  • ~/.config/systemd/user/ : unités de l’utilisateur.

Utilisation des unités

Lister les unités :

systemctl list-units

Status d’une unité :

systemctl status display-manager.service

Activer une unité (ici le gestionnaire graphique slim) :

systemctl enable slim.service

Désactiver une unité (ici le gestionnaire graphique slim):

systemctl disable slim.service

Démarrer une unité (ici le gestionnaire graphique slim) :

systemctl start slim.service

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

systemctl stop slim.service

Gestion au niveau utilisateur

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

systemctl --user disable dropbox

Diagnostique système

Rechercher les erreurs relatives aux lancement des services

systemctl --failed

Status d’un service particulier (mnt-photographie est le service permettant de monter le dossier partagé dans le-quel se trouve mes photos)

systemctl status mnt-photographie

Trucs à savoir

Lister les étapes relatives au démarrage du système :

systemd-analyze blame

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

systemd-analyze plot > plot.svg

Exemple de résolution de problème via les commandes mises à disposition par systemd

Suite à une mise à jour (enfin il me semble), lors du demarrage de ma machine, je vois passer un certain nombre de message d’erreur. Votre mission si vous l’acceptez est de remettre le système dans un état stable.

je regarde si il y a des unités qui posent problème :

systemctl status

La commande me confirme que le système est dans un état dégradé et que 2 unités sont en cause :

● manjaro
    State: degraded
    Jobs: 0 queued
    Failed: 2 units
    Since: lun. 2015-03-23 18:26:26 CET; 3h 14min ago
...

Je regarde les unités posant problème :

 systemctl --failed

Il s’agit de montage réseau qui n’ont pas été détecté. Il faudra que je modifie le fichier fstab pour gérer ce point. Cela fera l’objet d’un autre billet.

UNIT LOAD ACTIVE SUB DESCRIPTION
● mnt-shost.mount loaded failed failed /mnt/shost
● mnt-tvx.mount loaded failed failed /mnt/tvx

J’espère que les journaux système me seront d’une plus grande aide :

journalctl --since="today"

Parmis les lignes retournées, je retrouve l’erreur que j’aperçois rapidement lors du boot :

...
mars 23 18:29:33 manjaro pulseaudio[2252]: [pulseaudio] pid.c: Daemon already running.
...

J’aimerai en savoir un peut plus. Pourquoi pulseaudio est lancé deux fois ? Une petite recherche sur le net me montre que c’est un problème connu. Une solution est proposée ici :

https://wiki.manjaro.org/index.php?title=Volume_Stuck_on_Mute_%28XFCE_Desktop%29

Je relance ma machine… le problème persiste.

journalctl --since="today"

La ligne d’erreur à disparue du journal.

Sources

10 Comments

  1. Hello!

    Merci pour ces notes, juste une remarque:

    Pour démarrer et arrêter un service c’est « systemctl start/stop ». En effet, « systemctl enable/disable » permet d’activer et désactiver un service au démarrage du système.

  2. Pour consulter le journal ne pas oublier
    journalctl -r -p err
    retrouver toutes mes erreurs dans les logs débutant par les plus récentes

    et qu’il est très simple de coupler la commande avec grep
    journalctl -p warning | grep -i « disk »

  3. Pingback: LdS S15-2015 | Anayrat.info

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *