L’objectif de ce groupe de travail était de monter en compétences sur l’utilisation/l’intégration des différents composants de systemd à savoir : systemd-networkd, systemd-resolved, journarld, systemd-nspawn…

En effet, actuellement sur EOLE 2.6, systemd gère uniquement les services, il se contente d’assurer le passage de System V à systemd.

Qu’est ce que systemd ?

systemd est un système d’initialisation et un daemon qui a été spécifiquement conçu pour le noyau Linux comme alternative à System V.
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.12. Le nom de ce programme vient de « system daemon » : le daemon du système.

Source Wikipédia : https://fr.wikipedia.org/wiki/Systemd

Composants de systemd – image de Claudelepoisson sous licence CC by-sa 3.0

Le site officiel du projet : https://wiki.freedesktop.org/www/Software/systemd/

Quelques autres possibilités

En plus de systemd-networkd, de systemd-resolved et de systemd-container systemd offre plein d’autres possibilités…

Gestion des locales

root@eolebase:~# localectl
 System Locale: LANG=fr_FR.UTF-8
 VC Keymap: n/a
 X11 Layout: fr
 X11 Model: pc105
 X11 Variant: oss

Gestion de l’horloge système et du NTP

root@eolebase:~# timedatectl
 Local time: mer. 2017-11-22 16:26:07 CET
 Universal time: mer. 2017-11-22 15:26:07 UTC
 RTC time: mer. 2017-11-22 15:26:07
 Time zone: Europe/Paris (CET, +0100)
 Network time on: yes
 NTP synchronized: yes
 RTC in local TZ: no
root@eolebase:~# systemctl stop ntp
root@eolebase:~#  systemctl disable ntp
 chmod -x /usr/sbin/ntpd
root@eolebase:~# cat /etc/systemd/timesyncd.conf
 [Time]
 NTP=ntp.i2
 FallbackNTP=ntp.ubuntu.com
root@eolebase:~# systemctl start systemd-timesyncd
root@eolebase:~# systemctl status systemd-timesyncd

Gestion de l’hôte

root@eolebase:~# hostnamectl 
 Static hostname: eolebase
 Icon name: computer-vm
 Chassis: vm
 Machine ID: 587bf4ce615c4e70869e5c0d54dcc3ac
 Boot ID: 7d3ac68647a24e9a840618b4e2c2aeff
 Virtualization: qemu
 Operating System: Ubuntu 16.04.2 LTS
 Kernel: Linux 4.4.0-62-generic
 Architecture: x86-64

Gestion des sessions utilisateurs

root@eolebase:~# loginctl -a
 SESSION UID USER SEAT 
 22 0 root 
 1 0 root seat0 
 2 0 root 
 26 1000 eole

Commandes utiles

Voici un document PDF en anglais qui liste les commandes de références : https://access.redhat.com/sites/default/files/attachments/rh_systemd_reference_card_0914_jcs_print_2.pdf

Gestion des services avec systemctl

  • systemctl daemon-reload : recharge la configuration (impératif pour que les modifications soient prises en compte)
  • systemctl is-active creoled.service : vérifie si le service est actif
  • systemctl –state=failed –no-legend : liste les services en erreur (utilisé dans diagnose)
  • systemctl is-system-running : vérifie si le système est opérationnel (tous les services sont-ils opérationnels ?)
  • systemctl list-dependencies
  • systemctl list-units (–all)
  • systemctl list-unit-files –state=enabled
  • systemctl show creoled.service
  • systemctl show -p « Wants » isc-dhcp-server : affichage des dépendance

Journaux et analyse

  • journalctl –full
  • journalctl -xe : consulter les journaux d’événement
  • journalctl -xe -u exim4.service -u ssh.service -f : consulter les journaux de certains services en mode « follow »
  • systemd-analyze
  • systemd-analyze blame –> temps de chargement des services
  • systemd-analyze plot > /tmp/plot.svg && sux – genconfig chromium-browser /tmp/plot.svg

Visualiser les configurations surchargés (overridden)

root@eolebase:~# systemd-delta
[MASKED] /etc/systemd/system/apt-daily.service → /lib/systemd/system/apt-daily.service
[MASKED] /etc/systemd/system/apt-daily.timer → /lib/systemd/system/apt-daily.timer
[EXTENDED] /lib/systemd/system/systemd-timesyncd.service → /lib/systemd/system/systemd-timesyncd.service.d/disable-with-time-daemon.conf
[EXTENDED] /lib/systemd/system/rc-local.service → /lib/systemd/system/rc-local.service.d/debian.conf
4 overridden configuration files found.

Effectuer une résolution de noms

root@eolebase:~# systemd-resolve free.fr
free.fr: 212.27.48.10

-- Information acquired via protocol DNS in 35.2ms.
-- Data is authenticated: no