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
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