Differences between revisions 12 and 13
Revision 12 as of 2015-10-16 20:12:46
Size: 12198
Editor: vauss
Comment: typo
Revision 13 as of 2015-12-02 14:27:38
Size: 12367
Editor: vauss
Comment: typo & translation fixes
Deletions are marked like this. Additions are marked like this.
Line 44: Line 44:
Cela peut être fait dans le menu de Grub pour un démarrage unique - Pressez "e" dans le menu Grub et ajoutez ceci à la ligne qui concerne le '''noyau'''. Par exemple, en fonction des options requises pour ''votre'' système particulier, cela pourrait ressembler à ça : Cela peut être fait dans le menu de Grub pour un démarrage unique - Pressez « e » dans le menu GRUB et ajoutez ceci à la ligne qui concerne le '''noyau'''. Par exemple, en fonction des options requises pour ''votre'' système particulier, cela pourrait ressembler à ça :
Line 76: Line 76:
Pour une liste à jour, regardez la section "REQUIREMENTS" dans le fichier [[http://cgit.freedesktop.org/systemd/systemd/tree/README#n36|README]] de l'upstream. Pour une liste à jour, regardez la section « REQUIREMENTS » dans le fichier [[http://cgit.freedesktop.org/systemd/systemd/tree/README#n36|README]] de l'upstream.
Line 80: Line 80:
systemctl est l'outil principal utilisé pour inspecter et contrôler le fonctionnement de systemd et la gestion des services. Pour pouvez par exemple utiliser systemctl pour activer/désactiver des services de manière permanente ou seulement pour la session en cours. Référez-vous la manpage [[DebianMan:1/systemctl|systemctl(1)]] pour plus de détails. systemctl est l'outil principal utilisé pour inspecter et contrôler le fonctionnement de systemd et la gestion des services. Pour pouvez par exemple utiliser systemctl pour activer/désactiver des services de manière permanente ou seulement pour la session en cours. Référez-vous la page de manuel [[DebianMan:1/systemctl|systemctl(1)]] pour plus de détails.
Line 90: Line 90:
Activer le service "example1" immédiatement : Activer le service « example1 » immédiatement :
Line 95: Line 95:
Désactiver le service "example1" immédiatement : Désactiver le service « example1 » immédiatement :
Line 100: Line 100:
Redémarrer le service "example1" immédiatement : Redémarrer le service « example1 » immédiatement :
Line 105: Line 105:
Voir le statut du service "example1" : Voir le statut du service « example1 » :
Line 110: Line 110:
Activer "example1" pour être lancé au démarrage : Activer « example1 » pour être lancé au démarrage :
Line 115: Line 115:
Désactiver "example1" pour ne pas être lancé au démarrage : Désactiver « example1 » pour ne pas être lancé au démarrage :
Line 124: Line 124:
Solution #0 : Supprimer la mention "quiet" de la ligne de commande du noyau (Aussi appelée "cmdline" ou "grub line").

Solution #1 : Augmenter la verbosité via la cmdline : Ajouter "systemd.log_target=kmsg systemd.log_level=debug"
Solution #0 : Supprimer la mention « quiet » de la ligne de commande du noyau (Aussi appelée « cmdline » ou « grub line »).

Solution #1 : Augmenter la verbosité via la cmdline : Ajouter « systemd.log_target=kmsg systemd.log_level=debug »
Line 130: Line 130:
GRUB_CMDLINE_LINUX="systemd.log_target=kmsg systemd.log_level=debug" <--- Add here (by uncommenting you can easily switch to debug) GRUB_CMDLINE_LINUX="systemd.log_target=kmsg systemd.log_level=debug" <--- à ajouter ici (en commentant/décommentant vous pouvez faciler basculer en mode de débogue)
Line 136: Line 136:
LogLevel=debug <--- Décommentez cette ligne et utilisez la mention "debug" (par défaut elle est commentée avec valeur "info") LogLevel=debug <--- Décommentez cette ligne et utilisez la mention « debug » (par défaut elle est commentée avec valeur « info »)
Line 144: Line 144:
CONSEILS : "man systemd" et "man systemd-system.conf"

CONSEILS : Des informations plus poussées pour débugger sont accessibles sur [[http://freedesktop.org/wiki/Software/systemd/Debugging/|cette page FreeDesktop]].
CONSEILS : « man systemd » et « man systemd-system.conf »

CONSEILS : Des informations plus poussées pour déboguer sont accessibles sur [[http://freedesktop.org/wiki/Software/systemd/Debugging/|cette page FreeDesktop]].
Line 155: Line 155:
"Set log level. As argument this accepts a numerical log level or the well-known syslog(3) symbolic names
(lowercase): emerg, alert, crit, err, warning, notice, info, debug."
« Set log level. As argument this accepts a numerical log level or the well-known syslog(3) symbolic names
(lowercase): emerg, alert, crit, err, warning, notice, info, debug. »
Line 168: Line 167:
Le fait d'utiliser le vieux paramètre "debug" du noyau dans Jessie activera aussi le mode debug de Systemd. Afin d'avoir l'ancien comportement, n'utilisez pas "debug", mais plutôt le paramètre du noyau "loglevel=7". Le fait d'utiliser le vieux paramètre « debug » du noyau dans Jessie activera aussi le mode « debug » de Systemd. Afin d'avoir l'ancien comportement, n'utilisez pas « debug », mais plutôt le paramètre du noyau « loglevel=7 ».
Line 174: Line 173:
 * Pour les bugs connus vérifiez, s'il vous plait, le chapitre "Problèmes connus et solutions"
 * Pour les bugs connus veuillez vérifier le chapitre « Problèmes connus et solutions »
Line 195: Line 193:
=== Points de montage de type "bind" partagés ===

Le comportement par défaut d'un point de montage "bind" change avec systemd. Le noyau établit les points de montage bind de tout ce qui est situé sous / PRIVATE. Systemd change cela à SHARED.
=== Points de montage de type « bind » partagés ===

Le comportement par défaut d'un point de montage « bind » change avec systemd. Le noyau établit les points de montage bind de tout ce qui est situé sous / PRIVATE. Systemd change cela à SHARED.
Line 244: Line 242:
Line 262: Line 259:
Line 265: Line 261:

Translation(s): English - Español - Français - Russian


systemd - Administration du système et des services

Introduction

systemd est un administrateur de système et de services pour Linux. Systemd est compatible avec les scripts d'init SysV et LSB. Il peut fonctionner comme un remplaçant de sysvinit. Systemd :

  • Fournit des capacités poussées de parallélisation
  • Utilise les sockets et l'activation D-Bus pour démarrer les services
  • Offre un démarrage à la demande des daemons
  • Implémente une logique de contrôle transactionnelle des dépendances entre services
  • Piste les processus en utilisant les cgroups Linux
  • Supporte les snapshots et leurs restaurations
  • Maintient les points de montage (montage/démontage)

Voir la page du site officiel pour plus d'information.

Installer et tester

Systemd était inclus dans Debian Wheezy comme une technologie de test. Soyez sûr que vous utilisez Debian Testing ou supérieur pour avoir une version récente de systemd.

Installation

Pour installer systemd lancez :

# apt-get update
# apt-get install systemd

Cela va installer le paquet systemd mais ne le configurera pas comme système d'init par défaut.

Configurer pour test

Pour tester systemd avant de le basculer comme init par défaut, vous pouvez ajouter les paramètres de démarrage suivant au noyau :

init=/bin/systemd

Cela peut être fait dans le menu de Grub pour un démarrage unique - Pressez « e » dans le menu GRUB et ajoutez ceci à la ligne qui concerne le noyau. Par exemple, en fonction des options requises pour votre système particulier, cela pourrait ressembler à ça :

linux   /vmlinuz-3.13-1-amd64 root=/dev/mapper/root-root init=/bin/systemd ro quiet

Si le PID 1 est systemd c'est que votre système fonctionne avec systemd.

Configurer comme init par défaut

Afin d'utiliser systemd vous devriez aussi installer le paquet systemd-sysv qui fournit des liens symboliques pour /sbin/init.

# apt-get install systemd-sysv

Afin de démarrer votre système avec le systemd nouvellement installé, redémarrez simplement.

# reboot

Si vous utilisez un noyau compilé par vos soins, assurez vous que vous avez un 2.6.39 ou plus récent et activez les options suivantes :

 * CONFIG_DEVTMPFS=y
 * CONFIG_CGROUPS=y
 * CONFIG_AUTOFS4_FS=[y|m]
 * CONFIG_IPV6=[y|m], optional, but highly recommended
 * CONFIG_FANOTIFY=y, optional, required for systemd readahead. available in Linux kernel >= 2.6.37.

Pour une liste à jour, regardez la section « REQUIREMENTS » dans le fichier README de l'upstream.

Administration des services avec systemd

systemctl est l'outil principal utilisé pour inspecter et contrôler le fonctionnement de systemd et la gestion des services. Pour pouvez par exemple utiliser systemctl pour activer/désactiver des services de manière permanente ou seulement pour la session en cours. Référez-vous la page de manuel systemctl(1) pour plus de détails.

Quelques exemples d'utilisation basique

Lister tout les services en cours d'exécution :

$ systemctl

Activer le service « example1 » immédiatement :

# systemctl start example1

Désactiver le service « example1 » immédiatement :

# systemctl stop example1

Redémarrer le service « example1 » immédiatement :

# systemctl restart example1

Voir le statut du service « example1 » :

# systemctl status example1

Activer « example1 » pour être lancé au démarrage :

# systemctl enable example1

Désactiver « example1 » pour ne pas être lancé au démarrage :

# systemctl disable example1

Débuguer

Parfois il est nécessaire d'enquêter pour comprendre pourquoi systemd ralentit au démarrage ou à l'extinction.

Solution #0 : Supprimer la mention « quiet » de la ligne de commande du noyau (Aussi appelée « cmdline » ou « grub line »).

Solution #1 : Augmenter la verbosité via la cmdline : Ajouter « systemd.log_target=kmsg systemd.log_level=debug » Bien sûr il est possible de le faire de manière temporaire :

[ /etc/default/grub ]
GRUB_CMDLINE_LINUX="systemd.log_target=kmsg systemd.log_level=debug" <--- à ajouter ici (en commentant/décommentant vous pouvez faciler basculer en mode de débogue)

# update-grub

Solution #2 : Augmenter la verbosité via /etc/systemd/system.conf

LogLevel=debug           <--- Décommentez cette ligne et utilisez la mention « debug » (par défaut elle est commentée avec valeur « info »)
LogTarget=syslog-or-kmsg <--- Décommentez cette ligne (par défaut elle est commentée)

Solution #3 : Démarrez un shell d'urgence : ajoutez systemd.unit=rescue.target ou juste 1 (le chiffre un) à la ligne de commande du noyau.

Solution #4 : Activez le shell d'urgence : Lancez systemctl enable debug-shell.service. (Vous pouvez le faire dans un environnement chroot après avoir démarré un système de récupération.) Cela démarre un shell root dans le TTY 9.

CONSEILS : « man systemd » et « man systemd-system.conf »

CONSEILS : Des informations plus poussées pour déboguer sont accessibles sur cette page FreeDesktop.

CONSEILS : Comment vérifier les paramètres/options en ligne de commande du noyau?

# cat /proc/cmdline

Voir les notes sur le niveau de log (voir systemd(1) et systemd-system.conf(5)) :

« Set log level. As argument this accepts a numerical log level or the well-known syslog(3) symbolic names (lowercase): emerg, alert, crit, err, warning, notice, info, debug. »

CONSEILS : Gardez une copie du /sbin/init pour le paquet sysvinit en cas de récupération (Vous pourrez utiliser init=/sbin/init.sysvinit dans cmdline)!

# cp -av /sbin/init /sbin/init.sysvinit <--- Avant d'installer le paquet systemd-sysv 

Voir aussi http://fedoraproject.org/wiki/How_to_debug_Systemd_problems

Debug du noyau sans le debug de systemd dans Jessie

Le fait d'utiliser le vieux paramètre « debug » du noyau dans Jessie activera aussi le mode « debug » de Systemd. Afin d'avoir l'ancien comportement, n'utilisez pas « debug », mais plutôt le paramètre du noyau « loglevel=7 ».

Bugs et Bug-Tracking-Systems

Problèmes connus et solutions

sysvinit vs. systemd-sysv

Mettre à jour sysvinit ≥ 2.88dsf-44.

Encrypted swap blocks boot

Voir http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=712439#70 pour un patch.

D'après le bug, le patch n'est plus nécessaire si vous faites une mise à jour vers dmsetup 2:1.02.83-1.

Échec de démarrage avec lvm (spécialement avec un /usr séparé)

Mettre à jour lvm2 ≥ 2.02.104-1

Points de montage de type « bind » partagés

Le comportement par défaut d'un point de montage « bind » change avec systemd. Le noyau établit les points de montage bind de tout ce qui est situé sous / PRIVATE. Systemd change cela à SHARED.

Donc, quand vous faites ceci :

    mount --bind / $CHROOT
    mount --bind /dev/ $CHROOT/dev
    umount $CHROOT/dev

/dev sera démonté de votre système de base/parent là aussi!

Ce que vous pouvez faire à la place est :

    mount --bind --make-rslave / $CHROOT
    mount --bind --make-rslave /dev/ $CHROOT/dev

Cela va propager les changements de montage (ainsi que les options de montage) dans le système de base/parent dans le $CHROOT mais pas depuis le $CHROOT vers le parent.

La justification pour ce changement de comportement par défaut peut être trouvé dans ce bug : 739593, en particulier dans le commentaire de Lenart.

Où obtenir de l'aide?

Systemd est un projet jeune avec une forte orientation pour résoudre les problèmes indépendamment du type de distribution.

Canaux spécifiques à Debian :

Plusieurs autres distributions utilisent systemd

Installation sans systemd

Jessie installe systemd par défaut sur toutes nouvelles installations. Si vous désirez l'installer sans systemd, c'est à dire qu'il utilise sysvinit-core à la place (anciennement sysV5 init), il est possible d'utiliser la pré-configuration (preseed) pour remplacer systemd avec sysvinit à la fin de l'installation (Cela ne fonctionnera probablement pas si l'on sélectionne l'un des environnements de bureau qui nécessite systemd pour des fonctionnalités spécifiques). Si on utilise déjà un fichier de pré-configuration, assurez vous juste d'avoir les valeurs suivantes :

preseed/late_command="in-target apt-get install -y sysvinit-core"

Si l'on n'utilise pas de fichier de pré-configuration, on pourra le rajouter aux options de démarrage à la place en appuyant sur TAB lors du menu de démarrage. Sur l'entrée désirée on ajoutera la ligne de pré-configuration citée ci-dessus à la fin de la ligne de commande de démarrage.

Il pourra rester quelques éléments de systemd installés, mais au moins l'init en lui-même ne sera pas systemd et le nettoyage des éléments restant ne devrait pas être trop difficile.

Ressources Debian

Autres ressources


CategoryPermalink