systemd

Voilà, comme un bon nombre de Linuxien(ne) j’utilise dorénavant systemd. Je n’ai pas vraiment un avis tranché sur ce système ni de critiques aussi virulentes qu’il est possible de trouver un peu partout sur le Web. Pour moi systemd, ça signifie d’abord que je vais devoir maîtriser une nouvelle technologie et un tas de nouvelles commandes. Ce qui menchante. Et puis, je trouve qu’il est parfois bien de mettre un peu de côté danciennes technologies. Et même si cela donne plus de travail aux administrateurs systèmes/réseaux (ceci pour ceux qui pensent encore que des binaires sont nécessaires pour configurer systemd).
Pour le moment, il faut surtout que jidentifie mieux les limites fonctionnelles de systemd. Car il faut bien le dire, systemd peut gérer un tas de choses: services, multi-seat, configuration réseau, pare-feu, etc.

systemd a amélioré le temps de démarrage de ma station fixe de travail sous Kubuntu 15.04 (environ 46 secondes, kernel et userspace) et de mon ordinateur portable sous Debian 8.0. Ce n’est cependant pas tant la vitesse qui m’intéresse, mais surtout le bon fonctionnement et les possibilités danalyses des logs.

Concernant le fonctionnement, déjà mon démarrage est «plus propre» quavant. Tous les services se lancent correctement, l’affichage au démarrage n’est pas trop verbeux et est clair (homogène). Je n’ai en réalité rien de spécial à dire sur ce point (j’ai surtout gagné du temps lors du montage du NAS, qui avant me posait quelques problèmes de manière assez aléatoire).

Du côté des moyens danalyse des logs, la commande systemd-analyze est bien pratique. Voici quelques exemples.

$ systemd-analyze dot --user --order | dot -Tsvg > systemd-dependency-graph-user.svg

[Dependency graph (userspace)][4]
Systemd dependency graph (userspace)

$ systemd-analyze dot --order | dot -Tsvg > systemd-dependency-graph-system.svg

[Dependency graph (system)][5]
Dependency graph (system)

$ systemd-analyze plot > system-services.svg

[System services][6]
System services

Le graphique ci-dessus est un peu plus parlant. Il existe aussi la commande systemd-analyze blame qui liste les services ordonnés par temps de démarrage. Ce qui peut aider à voir quel service ralenti le démarrage du système. Il faut cependant faire attention car blame ne montre pas les liens: parfois un service prend plus de temps parce qu’il attend le lancement d’un autre service.

$ systemd-analyze dot 'tor.*' | dot -Tsvg > tor.svg

[Dépendances du service Tor][7]
Dépendances du service Tor

systemctl list-units est une autre commande très pratique permettant de vérifier létat des services après le démarrage.

Légende des graphiques:

  • black: Requires
  • dark blue: Requisite
  • dark grey: Wants
  • red: Conflicts
  • green: After

Finalement cette migration vers systemd est une réussite et je suis plutôt content, pour le moment. Il va tout de même falloir que je bidouille un peu plus pour me faire un avis plus précis.

Related Posts