Man page - init(1)

Packages contains this manual

Available languages:

en fr de

Manual

SYSTEMD

NOM
SYNOPSIS
DESCRIPTION
UNITÉS
RÉPERTOIRES
SIGNAUX
ENVIRONNEMENT
LIGNE DE COMMANDE DU NOYAU
INFORMATIONS D’IDENTIFICATION DU SYSTÈME
PROTOCOLE DE DISPONIBILITÉ
OPTIONS
Options d’introspection et de dĂ©bogage
Options pour dupliquer en ligne de commande les réglages du noyau
EPOCH DE L’HORLOGE SYSTÈME
FICHIERS
HISTORIQUE
VOIR AUSSI
NOTES
TRADUCTION

NOM

systemd, init – Gestionnaire de services et de systùme systemd

SYNOPSIS

/usr/lib/systemd/systemd [OPTIONS...]

init [OPTIONS...] {COMMANDE}

DESCRIPTION

systemd est un gestionnaire de services et de systĂšme pour les systĂšmes d’exploitation Linux. LancĂ© comme premier processus (PID 1) lors de l’amorçage, il agit comme un systĂšme init qui met en place et entretient les services de l’espace utilisateur. Des instances distinctes sont lancĂ©es pour les utilisateurs connectĂ©s afin de dĂ©marrer leurs services.

systemd n’est gĂ©nĂ©ralement pas appelĂ© directement par l’utilisateur, mais est installĂ© comme lien symbolique /sbin/init et dĂ©marrĂ© au tout dĂ©but de l’amorçage du systĂšme. Les instances du gestionnaire d’utilisateurs sont dĂ©marrĂ©es automatiquement avec le service user@.service (5).

Pour la compatibilitĂ© avec SysV, si le binaire est appelĂ© comme init et n’est pas le premier processus de la machine (son PID n’est pas 1), cela exĂ©cutera telinit et passera tous les arguments de la ligne de commande sans modification. Cela signifie que init et telinit sont quasiment Ă©quivalents lorsqu’ils sont appelĂ©s d’une session de connexion normale. Consulter telinit (8) pour davantage d’informations.

Lorsqu’il est exĂ©cutĂ© en tant qu’instance du systĂšme, systemd interprĂšte le fichier de configuration system.conf et les fichiers des rĂ©pertoires system.conf.d . Lorsqu’utilisĂ© comme instance utilisateur, systemd interprĂšte le fichier de configuration user.conf et les fichiers dans les rĂ©pertoires user.conf.d . Consulter systemd-system.conf (5) pour plus d’informations.

systemd contient des implĂ©mentations natives de diffĂ©rentes tĂąches qui doivent ĂȘtre exĂ©cutĂ©es lors du processus d’amorçage. Par exemple, il dĂ©finit le nom d’hĂŽte ou configure le pĂ©riphĂ©rique loopback de rĂ©seau. Il dĂ©finit aussi et monte divers systĂšmes de fichier d’API, tels que /sys/ ou /proc/ et /dev/ .

systemd rĂ©initialisera aussi l’horloge systĂšme au tout dĂ©but de l’amorçage si elle paraĂźt ĂȘtre rĂ©glĂ©e de façon incorrecte. Voir la section « Epoch de l’horloge systĂšme » ci-dessous.

Notez que certaines, mais pas toutes, interfaces fournies par systemd sont couvertes par la PortabilitĂ© d’interface et promesse de stabilitĂ© [1] .

L’API D-Bus de systemd est dĂ©crite dans org.freedesktop.systemd1 (5) et org.freedesktop.LogControl1 (5).

Les systÚmes qui invoquent systemd dans un conteneur ou un environnement initrd devraient implémenter les spécifications Interface conteneur [4] ou Interface initrd [5] , respectivement.

UNITÉS

systemd offre un systĂšme de dĂ©pendances entre diverses entitĂ©s appelĂ©es « unitĂ©s » de onze types diffĂ©rents. Les unitĂ©s encapsulent divers objets utiles Ă  l’amorçage du systĂšme et Ă  son entretien. La majoritĂ© des unitĂ©s sont configurĂ©es dans des fichiers de configuration d’unitĂ© dont la syntaxe et l’ensemble basique des options sont dĂ©crits dans systemd.unit (5), nĂ©anmoins d’autres sont créées automatiquement Ă  partir d’autres fichiers de configuration, dynamiquement depuis l’état du systĂšme ou de maniĂšre programmable au moment de l’exĂ©cution. Les unitĂ©s peuvent avoir diffĂ©rents Ă©tats dĂ©crits dans la table ci-dessous. Prenez en compte que les divers types d’unitĂ©s peuvent avoir un certain nombre de sous-Ă©tats supplĂ©mentaires qui sont mappĂ©s dans les Ă©tats gĂ©nĂ©raux d’unitĂ©s dĂ©crits ici.

Table 1. états d’ACTIVITÉ des unitĂ©s

Image grohtml-3901416-1.png

Les types d’unitĂ© suivants sont disponibles :

1. Les unitĂ©s service, qui dĂ©marrent et contrĂŽlent les dĂ©mons et les processus qui les composent. Pour plus d’informations, consulter systemd.service (5).

2. Les unitĂ©s socket, qui encapsulent les IPC (inter-process communication) locaux ou les sockets rĂ©seau du systĂšme, pratiques pour l’activation basĂ©e socket. Pour d’avantage de dĂ©tails sur les unitĂ©s socket, voir systemd.socket (5), pour des dĂ©tails sur l’activation basĂ©e socket et d’autres formes d’activation, voir daemon (7).

3. Les unitĂ©s cible sont utiles pour les unitĂ©s groupe ou pour fournir des points de synchronisation bien connus durant l’amorçage, consulter systemd.target (5).

4. Les unitĂ©s pĂ©riphĂ©rique exposent les pĂ©riphĂ©riques du noyau dans systemd et devraient ĂȘtre utilisĂ©es pour implĂ©menter l’activation basĂ©e pĂ©riphĂ©rique. Pour plus de dĂ©tails, consulter systemd.device (5).

5. Les unités montage contrÎlent les points de montage dans le systÚme de fichiers, pour les détails voir systemd.mount (5).

6. Les unitĂ©s automontage fournissent des capacitĂ©s d’automontage, pour les montages Ă  la demande de systĂšmes de fichiers ainsi que pour l’amorçage en parallĂšle. Consulter systemd.automount (5).

7. Les unitĂ©s timer sont utiles pour dĂ©clencher l’activation d’autres unitĂ©s basĂ©es sur les temporisateurs. Vous devriez trouver des dĂ©tails dans systemd.timer (5).

8. Les unitĂ©s swap sont semblables aux unitĂ©s de montage et encapsulent les partitions ou les fichiers de mĂ©moire d’échange du systĂšme d’exploitation. Elles sont dĂ©crites dans systemd.swap (5).

9. Les unitĂ©s path devraient ĂȘtre utilisĂ©es pour activer d’autres services lorsque les objets du systĂšme de fichiers changent ou sont modifiĂ©s. Consulter systemd.path (5).

10. Les unitĂ©s slice devraient ĂȘtre utilisĂ©es pour grouper les unitĂ©s qui gĂšrent le fonctionnement du systĂšme (comme les unitĂ©s service et scope) dans un arbre hiĂ©rarchique pour des besoins de gestion de ressources. Consulter systemd.slice (5).

11. Les unités scope sont identiques aux unités service, mais gÚrent les processus extérieurs au lieu de les démarrer également. Voir systemd.scope (5).

Les unités sont nommées en fonction de leurs fichiers de configuration. Quelques unités ont une sémantique spéciale. Consulter systemd.special (7) pour une liste détaillée.

systemd reconnait diffĂ©rentes sortes de dĂ©pendances, incluant les dĂ©pendances positives ou nĂ©gatives d’exigence (c.Ă -d. Requires= et Conflicts= ) tout comme les dĂ©pendances ordonnĂ©es ( After= et Before= ). Remarquez que l’ordre et la requĂȘte de dĂ©pendances sont indĂ©pendants. Si seulement une demande de dĂ©pendance existe entre deux unitĂ©s (par exemple, truc.service demande machin.service), mais sans dĂ©pendance ordonnĂ©e (truc.service aprĂšs machin.service) et que les deux doivent dĂ©marrer, alors elles seront dĂ©marrĂ©es en parallĂšle. C’est un modĂšle courant que des dĂ©pendances ordonnĂ©es et de requĂȘtes soient placĂ©es entre deux unitĂ©s. Tenez compte aussi, que la majoritĂ© des dĂ©pendances sont implicitement créées et entretenues par systemd . Dans la plupart des cas, il n’est pas nĂ©cessaire de dĂ©clarer de dĂ©pendances supplĂ©mentaires manuellement, toutefois cela reste possible Ă  faire.

Les programmes d’application et les unitĂ©s (Ă  travers les dĂ©pendances) peuvent nĂ©cessiter des changements d’état d’unitĂ©s. Dans systemd ces requĂȘtes sont encapsulĂ©es comme « jobs », et entretenues dans une file de tĂąches. Les tĂąches (jobs) peuvent rĂ©ussir ou Ă©chouer, leur exĂ©cution est commandĂ©e selon l’ordonnancement des dĂ©pendances des unitĂ©s pour lesquelles elles ont Ă©tĂ© planifiĂ©es.

À l’amorçage systemd active l’unitĂ© target default.target dont la tĂąche est d’activer les services Ă  l’amorçage et autres unitĂ©s Ă  l’amorçage en les requĂ©rant Ă  travers des dĂ©pendances. Habituellement, le nom d’unitĂ© est juste un alias (lien symbolique) pour soit graphical.target (pour un amorçage des plus complets dans l’interface utilisateur) ou multi-user.target (pour des amorçages uniquement en console, pour une utilisation dans des environnements embarquĂ©s ou de serveurs, ou similaires ; un sous-ensemble de graphical.target). Cependant, cela reste Ă  la discrĂ©tion de l’administrateur de le configurer comme un alias pour toute autre unitĂ© target. Voir systemd.special (7) pour plus de dĂ©tails sur les unitĂ©s target.

Lors du premier amorçage, systemd activera ou désactivera les unités selon une politique préétablie. Voir systemd.preset (5) et « First Boot Semantics » dans machine-id (5).

systemd ne conserve qu’un ensemble minimal d’unitĂ©s chargĂ©es en mĂ©moire. SpĂ©cifiquement, les seules unitĂ©s chargĂ©es en mĂ©moire sont celles pour lesquelles au moins l’une de ces conditions est vraie :

1. Elle est dans un Ă©tat actif, activation, dĂ©sactivation ou en Ă©chec (c’est-Ă -dire tout Ă©tat d’unitĂ© exceptĂ© « inactif »)

2. Elle possÚde une file de tùches pour ça

3. Elle est une dépendance pour au moins une autre unité chargée en mémoire

4. Elle dispose d’une certaine forme de ressource encore allouĂ©e (p.ex une unitĂ© service qui est inactive mais pour laquelle un processus perdure qui a ignorĂ© la demande d’arrĂȘt).

5. Elle a été attachée en mémoire par programmation avec un appel à D-Bus

systemd chargera automatiquement et implicitement les unitĂ©s du disque (si elles ne sont pas dĂ©jĂ  chargĂ©es) dĂšs qu’elles seront demandĂ©es par les opĂ©rations en cours. Cependant, sous bien des aspects, le fait qu’une unitĂ© soit chargĂ©e ou pas reste invisible aux clients. Utilisez systemctl list-units --all pour lister de maniĂšre comprĂ©hensible toutes les unitĂ©s actuellement chargĂ©es. Toute unitĂ© pour laquelle aucune des conditions ci-dessus ne s’applique est dĂšs que possible dĂ©chargĂ©e. Remarquez que lorsqu’une unitĂ© est dĂ©chargĂ©e de la mĂ©moire, ses donnĂ©es comptables sont vidĂ©es aussi. De toute maniĂšre, ces donnĂ©es ne sont gĂ©nĂ©ralement pas perdues, vu qu’un enregistrement de journal est gĂ©nĂ©rĂ© dĂ©clarant les ressources consommĂ©es chaque fois qu’une unitĂ© s’éteint.

Les processus créés par systemd sont placĂ©s dans des groupes de contrĂŽle Linux individuels nommĂ©s d’aprĂšs l’unitĂ© Ă  laquelle ils appartiennent dans la hiĂ©rarchie privĂ©e de systemd .(voir Groupes de contrĂŽle v2 [1] pour plus d’informations sur les groupes de contrĂŽle ou « cgroups »). systemd utilise cela pour garder une trace effective des processus. L’information du groupe de contrĂŽle est entretenue dans le noyau, et est accessible Ă  l’aide de la hiĂ©rarchie du systĂšme de fichiers (sous /sys/fs/cgroup/ ), ou des outils comme systemd-cgls (1) ou ps (1) ( ps xawf -eo pid,user,cgroup,args est particuliĂšrement utile pour lister tous les processus et les unitĂ©s systemd auxquelles ils appartiennent).

systemd est compatible avec le systĂšme init de SysV dans un large degré : les scripts init de SysV sont pris en charge et simplement lus comme une alternative (avec des limites) au format des fichiers de configuration. L’interface /dev/initctl de SysV est fournie et des implĂ©mentations compatibles des divers outils client SysV sont disponibles. En plus de cela, diffĂ©rentes fonctionnalitĂ©s Unix implantĂ©es comme /etc/fstab ou la base de donnĂ©es utmp sont prises en charge.

systemd a un systĂšme de transactions minimal : si une unitĂ© a besoin de dĂ©marrer ou de s’éteindre, il l’ajoutera ainsi que ses dĂ©pendances dans une transaction temporaire. Alors, il vĂ©rifiera la cohĂ©rence de la transaction (c’est-Ă -dire si l’ordre de toutes les unitĂ©s est sans cycle). Sinon, systemd essaiera de la rĂ©parer, et supprimera les tĂąches non essentielles de la transaction qui pourraient supprimer la boucle. Aussi, systemd essaie de supprimer les tĂąches dans la transaction qui pourraient stopper un service en fonctionnement. Finalement, il vĂ©rifie si les tĂąches de la transaction rentrent en contradiction avec d’autres tĂąches dĂ©jĂ  dans la liste d’attente, et facultativement la transaction est annulĂ©e. Si tout va bien et que la transaction est cohĂ©rente et minime dans son impact, elle est intĂ©grĂ©e aux autres tĂąches en attente et ajoutĂ©e Ă  la liste d’exĂ©cution. Dans les faits, cela signifie qu’avant d’exĂ©cuter une opĂ©ration demandĂ©e systemd vĂ©rifiera que cela a du sens, la rĂ©parera si possible, et n’échouera que si vraiment cela ne peut pas fonctionner.

Remarquez que les transactions sont gĂ©nĂ©rĂ©es indĂ©pendamment de l’état de l’unitĂ© au moment du fonctionnement, ainsi, par exemple, si une tĂąche de dĂ©marrage est demandĂ©e sur une unitĂ© dĂ©jĂ  dĂ©marrĂ©e, elle gĂ©nĂ©rera toujours une transaction et rĂ©veillera toutes les dĂ©pendances inactives (et provoquera la propagation d’autres tĂąches conformĂ©ment aux relations dĂ©finies). En effet, la tĂąche mise en file d’attente est comparĂ©e, au moment de l’exĂ©cution, Ă  l’état de l’unitĂ© cible et est considĂ©rĂ©e comme rĂ©ussie et terminĂ©e lorsque les deux exigences sont satisfaites. Toutefois, cette tĂąche attire Ă©galement d’autres dĂ©pendances en raison des relations dĂ©finies et entraĂźne donc, dans notre exemple, des tĂąches de dĂ©marrage pour n’importe laquelle de ces unitĂ©s inactives alors aussi mises en file d’attente.

Les unitĂ©s peuvent ĂȘtre gĂ©nĂ©rĂ©es dynamiquement au moment du dĂ©marrage et du rechargement du gestionnaire de systĂšme, par exemple sur la base d’autres fichiers de configuration ou de paramĂštres transmis sur la ligne de commande du noyau. Pour les dĂ©tails, voir systemd.generator (7).

RÉPERTOIRES

Répertoires des unités systÚme

Le gestionnaire de systĂšme systemd lit Ă  partir de nombreux rĂ©pertoires la configuration des unitĂ©s. Les paquets qui dĂ©sirent installer des fichiers d’unitĂ© devraient les placer dans le rĂ©pertoire renvoyĂ© par pkg-config systemd --variable=systemdsystemunitdir . Les autres rĂ©pertoires vĂ©rifiĂ©s sont /usr/local/lib/systemd/system et /usr/lib/systemd/system . La configuration de l’utilisateur a toujours la prĂ©sĂ©ance. pkg-config systemd --variable=systemdsystemconfdir renvoie le chemin du rĂ©pertoire de la configuration du systĂšme. Les paquets ne modifieront le contenu de ces rĂ©pertoires seulement avec les commandes enable et disable de l’outil systemctl (1). La liste de l’ensemble des rĂ©pertoires est fournie dans systemd.unit (5).

RĂ©pertoires de l’unitĂ© utilisateur

Des rĂšgles similaires s’appliquent aux rĂ©pertoires utilisateur de l’unitĂ©. LĂ  nĂ©anmoins, la SpĂ©cification du rĂ©pertoire de base XDG [6] est suivie pour trouver les unitĂ©s. Les applications devraient placer leurs fichiers d’unitĂ© dans le rĂ©pertoire renvoyĂ© par pkg-config systemd --variable=systemduserunitdir . La configuration globale est faite dans le rĂ©pertoire mentionnĂ© par pkg-config systemd --variable=systemduserconfdir . Les commandes enable et disable de l’outil systemctl (1) peuvent gĂ©rer l’activation ou la dĂ©sactivation d’unitĂ©s globalement (c’est-Ă -dire pour tous les utilisateurs) ou en privĂ© (pour un utilisateur). La liste complĂšte des rĂ©pertoires est fournie dans systemd.unit (5).

Répertoire des scripts init de SysV

L’emplacement du rĂ©pertoire de script init de SysV varie suivant les distributions. Si systemd ne peut pas trouver de fichier d’unitĂ© natif pour un service demandĂ©, il cherchera un script init de SysV du mĂȘme nom (avec le suffixe .service enlevĂ©).

RĂ©pertoire de ferme de liens de niveau d’exĂ©cution de SysV

L’emplacement du rĂ©pertoire de la ferme de liens de niveau d’exĂ©cution de SysV varie entre les distributions. systemd prendra en compte cette ferme de liens pour savoir si un service doit ĂȘtre activĂ©. Notez qu’une unitĂ© service avec un fichier de configuration natif ne peut pas ĂȘtre dĂ©marrĂ©e en l’activant dans la ferme de lien de niveau d’exĂ©cution de SysV.

SIGNAUX

Le service Ă©coute divers signaux de processus UNIX qui peuvent ĂȘtre utilisĂ©s pour demander diffĂ©rentes actions de maniĂšre asynchrone. La gestion du signal est activĂ©e trĂšs tĂŽt lors du dĂ©marrage, avant que tout autre processus ne soit invoquĂ©. NĂ©anmoins, un gestionnaire de supervision de conteneur ou similaire qui veut demander ces opĂ©rations Ă  travers ce mĂ©canisme doit prendre en compte que cette fonctionnalitĂ© n’est pas disponible lors de la phase premiĂšre d’initialisation. Un message de notification sd_notify() portant le champ X_SYSTEMD_SIGNALS_LEVEL=2 n’est Ă©mis qu’une fois les gestionnaires de signaux activĂ©s ; voir ci-dessous. Cela est utilisĂ© pour planifier correctement la soumission de ces signaux.

SIGTERM

À la rĂ©ception de ce signal, le gestionnaire de systĂšme systemd sĂ©rialise son Ă©tat, s’exĂ©cute Ă  nouveau et dĂ©sĂ©rialise Ă  nouveau l’état sauvegardĂ©. Cela est quasiment Ă©quivalent Ă  systemctl daemon-reexec .

Les gestionnaires d’utilisateur de systemd dĂ©marreront l’unitĂ© exit.target quand le signal est reçu. Cela est quasiment Ă©quivalent Ă  systemctl --user start exit.target --job-mode=replace-irreversibly .

SIGINT

À la rĂ©ception de ce signal, le gestionnaire de systĂšme systemd dĂ©marre l’unitĂ© ctrl-alt-del.target. Cela est quasiment l’équivalent de systemctl start ctrl-alt-del.target --job-mode=replace=irreversibly . Si ce signal est reçu plus de sept fois en deux secondes, un rĂ©amorçage (reboot) immĂ©diat est dĂ©clenchĂ©. Remarquez que presser Ctrl+Alt+Suppr sur la console dĂ©clenchera ce signal. Par consĂ©quent, si un rĂ©amorçage est suspendu, presser Ctrl+Alt+Suppr plus de sept fois en deux secondes est une maniĂšre relativement sĂ»re pour dĂ©clencher un rĂ©amorçage immĂ©diat.

Les gestionnaires d’utilisateur de systemd traitent ce signal de la mĂȘme maniĂšre que SIGTERM .

SIGWINCH

Lorsque ce signal est reçu, le gestionnaire de systĂšme systemd dĂ©marrera l’unitĂ© kbrequest.target. Cela est quasiment Ă©quivalent Ă  systemctl start kbrequest.target .

Ce signal est ignorĂ© par les gestionnaires d’utilisateur de systemd .

SIGPWR

Lorsque ce signal est reçu, le gestionnaire systemd dĂ©marrera l’unitĂ© sigpwr.target. C’est quasiment Ă©quivalent Ă  systemctl start sigpwr.target .

SIGUSR1

Le gestionnaire systemd essaiera de se reconnecter au bus D-Bus à la réception de ce message.

SIGUSR2

Lorsque ce signal est reçu, le gestionnaire systemd journalisera son Ă©tat complet sous une forme humainement lisible. Les donnĂ©es journalisĂ©es sont les mĂȘmes que celles affichĂ©es par systemd-analyze dump .

SIGHUP

Rechargement de la configuration complÚte du démon. Cela est quasiment équivalent à systemctl daemon-reload .

SIGRTMIN+0

Entrer en mode par dĂ©faut, dĂ©marrer l’unitĂ© default.target. Cela est quasiment Ă©quivalent Ă  systemctl isolate default.target .

SIGRTMIN+1

Entrer en mode de secours (rescue), dĂ©marrer l’unitĂ© rescue.target. Cela est quasiment Ă©quivalent Ă  systemctl isolate rescue.target .

SIGRTMIN+2

Entrer en mode urgence, dĂ©marrer l’unitĂ© emergency.service. Cela est quasiment Ă©quivalent Ă  systemctl isolate emergency.service .

SIGRTMIN+3

ArrĂȘter la machine, dĂ©marrer l’unitĂ© halt.target. Cela est quasiment Ă©quivalent Ă  systemctl start halt.target --job-mode=replace-irreversibly .

SIGRTMIN+4

Éteindre la machine, dĂ©marrer l’unitĂ© poweroff.target. Cela est quasiment Ă©quivalent Ă  systemctl start poweroff.target --job-mode=replace-irreversibly .

SIGRTMIN+5

Réamorcer la machine, démarrer le réamorçage des unités reboot.target. Cela est quasiment équivalent à systemctl start reboot.target --job-mode=replace-irreversibly .

SIGRTMIN+6

RĂ©amorcer la machine Ă  l’aide de kexec, dĂ©marrer les unitĂ©s kexec.target. Cela est quasiment Ă©quivalent Ă  systemctl start kexec.target --job-mode=replace-irreversibly .

SIGRTMIN+7

RĂ©amorcer l’espace utilisateur, dĂ©marrer le rĂ©amorçage de l’unitĂ© soft-reboot.target . Cela est quasiment Ă©quivalent Ă  systemctl start soft-reboot.target --job-mode=replace-irreversibly .

Ajouté dans la version 254.

SIGRTMIN+13

ArrĂȘter la machine immĂ©diatement.

SIGRTMIN+14

Éteindre la machine immĂ©diatement.

SIGRTMIN+15

Réamorcer immédiatement la machine.

SIGRTMIN+16

Réamorcer immédiatement la machine avec kexec.

SIGRTMIN+17

RĂ©amorcer immĂ©diatement l’espace utilisateur

Ajouté dans la version 254.

SIGRTMIN+20

Activer l’affichage des messages d’état sur la console, comme contrĂŽlĂ© Ă  l’aide de systemd.show_status=1 sur la ligne de commande du noyau.

Vous pouvez préférer utiliser SetShowStatus() au lieu de SIGRTMIN+20 pour prévenir les situations de compétition. Voir org.freedesktop.systemd1 (5).

SIGRTMIN+21

DĂ©sactiver l’affichage des messages d’état sur la console, comme contrĂŽlĂ© Ă  l’aide de systemd.show_status=0 sur la ligne de commande du noyau.

Vous pouvez préférer utiliser SetShowStatus() au lieu de SIGRTMIN+21 pour prévenir les situations de compétition. Voir org.freedesktop.systemd1 (5).

SIGRTMIN+22

DĂ©finir le niveau de journal du gestionnaire de services Ă  « debug », d’une maniĂšre Ă©quivalente Ă  systemd.log_level=debug sur la ligne de commande du noyau.

SIGRTMIN+23

Restaurer le niveau de journalisation Ă  sa valeur configurĂ©e. La valeur configurĂ©e est dĂ©rivĂ©e de – dans l’ordre de prioritĂ© – la valeur spĂ©cifiĂ©e avec systemd.log-level= sur la ligne de commande du noyau, ou la valeur spĂ©cifiĂ©e avec LogLevel= dans le fichier de configuration ou celle interne par dĂ©faut de « info ».

Ajouté dans la version 239.

SIGRTMIN+24

Sortie immédiate du gestionnaire (disponible seulement pour --user instances).

Ajouté dans la version 195.

SIGRTMIN+25

DĂšs rĂ©ception de ce message le gestionnaire systemd s’exĂ©cutera Ă  nouveau de lui-mĂȘme. C’est quasiment Ă©quivalent Ă  systemctl daemon-reexec sauf que cela sera fait de maniĂšre asynchrone.

Le gestionnaire systemd traite ce signal de la mĂȘme façon que SIGTERM .

Ajouté dans la version 250.

SIGRTMIN+26

Restaurer la cible journal Ă  sa valeur configurĂ©e. La valeur configurĂ©e est dĂ©rivĂ©e de – dans l’ordre de prioritĂ© – la valeur spĂ©cifiĂ©e avec systemd.log.target= sur la ligne de commande du noyau, ou est la valeur spĂ©cifiĂ©e avec LogTarget= dans le fichier de configuration ou celle interne par dĂ©faut.

Ajouté dans la version 239.

SIGRTMIN+27 , SIGRTMIN+28

DĂ©finir la cible journal Ă  « console » pour SIGRTMIN+27 (ou « kmsg » pour SIGRTMIN+28 ), d’une maniĂšre Ă©quivalente Ă  systemd.log_target=console (ou systemd.log_target=kmsg pour SIGRTMIN+28 ) sur la ligne de commande du noyau.

Ajouté dans la version 239.

ENVIRONNEMENT

Le bloc d’environnement du gestionnaire de systĂšme est initialement dĂ©fini par le noyau. (En particulier, les assignations « clĂ©=valeur » de la ligne de commande du noyau sont changĂ©es en variables d’environnement pour le PID 1). Pour le gestionnaire d’utilisateurs, le gestionnaire systĂšme dĂ©finit l’environnement comme dĂ©crit dans la section « Environment Variables in Spawned Processes » (« Variables d’environnement dans les processus créés ») de systemd.exec (5). Le rĂ©glage DefaultEnvironment= du gestionnaire du systĂšme s’applique Ă  tous les services, incluant user@.service. Des entrĂ©es supplĂ©mentaires peuvent ĂȘtre configurĂ©es (comme pour tout autre service) avec les rĂ©glages Environment= et EnvironmentFile= pour user@.service (voir systemd.exec (5)). De mĂȘme, des variables d’environnement peuvent ĂȘtre dĂ©finies avec le rĂ©glage de ManagerEnvironment= dans systemd-system.conf (5) et systemd-user.conf (5).

Quelques variables interprétables par systemd :

$SYSTEMD_LOG_LEVEL

Le niveau maximal de journalisation de messages Ă©mis (messages avec un niveau de journalisation supĂ©rieur, c’est-Ă -dire les moins importants seront supprimĂ©s). Cette variable prend une liste de valeurs sĂ©parĂ©es par des virgules. Une valeur peut ĂȘtre (par ordre d’importance dĂ©croissante) emerg , alert , crit , err , warning , notice , info , debug ou un entier dans l’intervalle 0...7. Consultez syslog (3) pour davantage d’informations. Chaque valeur peut ĂȘtre optionnellement prĂ©fixĂ©e avec console , syslog , kmsg ou journal suivi d’un deux-points ( : ) pour dĂ©finir le niveau de journalisation maximal pour la cible spĂ©cifique de journal (par exemple SYSTEMD_LOG_LEVEL=debug,console:info indique de journaliser au niveau debug exceptĂ© pour la journalisation vers la console qui doit s’effectuer au niveau info ). Notez que le niveau maximal de journalisation globale est prioritaire sur tout niveau maximal de journalisation par cible.

Cela peut-ĂȘtre Ă©crasĂ© par -log-level= .

$SYSTEMD_LOG_COLOR

Un booléen. Si la valeur est vrai, les messages écrits sur le terminal seront colorés selon la priorité.

Cela peut ĂȘtre Ă©crasĂ© avec -log-color= .

$SYSTEMD_LOG_TIME

Un boolĂ©en. Si la valeur est vrai, les messages du journal de la console seront prĂ©fixĂ©s d’un horodatage.

Cela peut ĂȘtre Ă©crasĂ© avec -log-time= .

Ajouté dans la version 246.

$SYSTEMD_LOG_LOCATION

Un boolĂ©en. Si la valeur est vrai, les messages seront prĂ©fixĂ©s par un nom de fichier et du numĂ©ro de ligne du code source d’oĂč vient le message.

Cela peut ĂȘtre Ă©crasĂ© avec -log-location= .

$SYSTEMD_LOG_TID

Un boolĂ©en. Si la valeur est vrai, les messages seront prĂ©fixĂ©s par l’identifiant numĂ©rique du thread actuel (TID).

Ajouté dans la version 247.

$SYSTEMD_LOG_TARGET

Destination pour journaliser les messages. Une des destinations parmi console (journaliser dans le terminal attachĂ©), console-prefixed (journaliser dans le terminal attachĂ©, mais avec des prĂ©fixes qui codent le niveau et le « service » de journalisation, consultez syslog (3)), kmsg (journaliser dans le tampon de journalisation circulaire du noyau), journal (journaliser dans le journal), journal-or-kmsg (journaliser dans le journal s’il est disponible et sinon dans kmsg), auto (dĂ©terminer automatiquement la cible appropriĂ©e de journalisation, c’est la destination par dĂ©faut), null (dĂ©sactive la sortie de journalisation).

Cela peut ĂȘtre Ă©crasĂ© avec -log-target= .

$SYSTEMD_LOG_RATELIMIT_KMSG

Que ce soit pour le taux de requĂȘte kmsg ou pas. Prend un boolĂ©en. Par dĂ©faut « true ». Si dĂ©sactivĂ©, systemd ne limitera pas le taux des messages Ă©crits Ă  kmsg.

Ajouté dans la version 254.

$XDG_CONFIG_HOME , $XDG_CONFIG_DIRS , $XDG_DATA_HOME , $XDG_DATA_DIRS

Le gestionnaire utilisateur de systemd utilise ces variables en accord avec la XDG Base Directory specification [6] pour sa configuration.

$SYSTEMD_UNIT_PATH , $SYSTEMD_GENERATOR_PATH , $SYSTEMD_ENVIRONMENT_GENERATOR_PATH

Pour contrĂŽler oĂč systemd cherche les fichiers d’unitĂ© et les gĂ©nĂ©rateurs.

Ces variables peuvent contenir une liste de chemins, sĂ©parĂ©s par des deux-points ( : ). Lorsque dĂ©finie, si la liste se termine avec un composant vide (« ...: »), cette liste est prĂ©fixĂ©e avec la l’ensemble habituel des chemins. Sinon, la liste indiquĂ©e remplace l’ensemble habituel des chemins.

$SYSTEMD_PAGER , $PAGER

Afficheur Ă  utiliser lorsque --no-pager n’est pas prĂ©cisĂ©. $SYSTEMD_PAGER est utilisĂ© s’il est dĂ©fini ; autrement, $PAGER est utilisĂ©. Si ni $SYSTEMD_PAGER , ni $PAGER n’ont de valeur, un ensemble d’afficheurs bien connus sont essayĂ©s Ă  tour de rĂŽle, incluant less (1) et more (1), jusqu’à ce qu’il y en ait un qui soit trouvĂ©. Si aucun afficheur n’est trouvĂ©, aucun afficheur n’est appelĂ©. DĂ©finir ces variables d’environnement Ă  une chaĂźne vide ou Ă  « cat » est Ă©quivalent Ă  l’utilisation de --no-pager .

Remarque : si $SYSTEMD_PAGERSECURE n’est pas dĂ©fini, $SYSTEMD_PAGER et $PAGER ne peuvent ĂȘtre utilisĂ©s que pour dĂ©sactiver l’afficheur (avec « cat » ou « "" ») et autrement seront ignorĂ©s.

$SYSTEMD_LESS

Outrepasser les options passées à less (par défaut « FRSXMK »).

Les utilisateurs voudront peut-ĂȘtre changer deux options en particulier :

K

Cette option ordonne Ă  l’afficheur de quitter immĂ©diatement lorsque Ctrl+C est entrĂ©. Pour permettre Ă  less de gĂ©rer Ctrl+C lui-mĂȘme le retour Ă  l’invite de commande de l’afficheur, ne pas fournir cette option.

Si la valeur de $SYSTEMD_LESS n’inclut pas « K » et si l’afficheur appelĂ© est less , Ctrl+C sera ignorĂ© par l’exĂ©cutable et doit ĂȘtre gĂ©rĂ© par l’afficheur.

X

Cette option ordonne Ă  l’afficheur de ne pas envoyer les chaĂźnes d’initialisation et de dĂ©sinitialisation de termcap au terminal. C’est le choix par dĂ©faut afin de permettre aux sorties des commandes de rester visibles dans le terminal mĂȘme aprĂšs que l’afficheur soit fermĂ©. Toutefois, cela empĂȘche quelques fonctionnalitĂ©s de l’afficheur de fonctionner, en particulier, il n’est pas possible de faire dĂ©filer les sorties affichĂ©es avec la souris.

Notez que le rĂ©glage de la variable d’environnement $LESS normale n’a aucun effet sur les invocations de less par les outils de systemd.

Voir less (1) pour plus de détails.

$SYSTEMD_LESSCHARSET

Outrepasser le jeu de caractĂšres passĂ© Ă  less (par dĂ©faut « utf-8 », si le terminal invoquĂ© est compatible avec l’UTF-8).

Notez que le rĂ©glage de la variable d’environnement $LESSCHARSET normale n’a aucun effet sur les invocations de less par les outils de systemd.

$SYSTEMD_PAGERSECURE

Les commandes d’afficheur courantes comme less (1), en plus de « l’affichage », c’est-Ă -dire le dĂ©filement de la sortie, prennent en charge l’ouverture et l’écriture d’autres fichiers et l’exĂ©cution de commandes d’interprĂ©teur arbitraires. Quand les commandes sont invoquĂ©es avec des privilĂšges Ă©levĂ©s, par exemple sous sudo (8) ou pkexec (1), l’afficheur devient une limite de sĂ©curitĂ©. Il convient de veiller Ă  ce que seuls des programmes avec des fonctionnalitĂ©s strictement limitĂ©es soient utilisĂ©s comme afficheurs et que les fonctionnalitĂ©s comme l’ouverture ou la crĂ©ation de nouveaux fichiers ou le dĂ©marrage de sous-processus ne soient pas autorisĂ©es. Un « mode sĂ©curisé » pour l’afficher peut ĂȘtre activĂ© comme dĂ©crit ci-dessous, si l’afficheur le prend en charge≀ (la plupart des afficheurs ne sont pas Ă©crits de façon Ă  prendre cela en considĂ©ration). Il est recommandĂ© soit d’activer explicitement le « mode sĂ©curisé » soit de dĂ©sactiver complĂštement l’afficheur en utilisant --no-pager ou PAGER=cat lorsque des utilisateurs non fiables sont autorisĂ©s Ă  exĂ©cuter des commandes avec des privilĂšges Ă©levĂ©s.

Cette option prend un argument boolĂ©en. Lorsqu’elle est dĂ©finie Ă  vrai, le « mode sĂ©curisé » de l’afficheur est activĂ©. En « mode sĂ©curisé », LESSSECURE=1 est dĂ©fini lors de l’invocation de l’afficheur, ce qui lui indique de dĂ©sactiver les commandes qui ouvrent ou crĂ©ent des fichiers, ou qui dĂ©marrent un nouveau sous-processus. Actuellement, seul less (5) est connu pour comprendre cette variable et implĂ©menter le « mode sĂ©curisé ».

Quand l’option est dĂ©finie Ă  faux, aucune limitation n’est imposĂ©e Ă  l’afficheur. DĂ©finir SYSTEMD_PAGERSECURE=0 ou ne pas le supprimer de l’environnement hĂ©ritĂ© peut permettre Ă  l’utilisateur d’invoquer des commandes arbitraires.

Quand $SYSTEMD_PAGERSECURE n’est pas dĂ©fini, les outils de systemd tentent de dĂ©terminer automatiquement si le « mode sĂ©curisé » doit ĂȘtre activĂ© et si l’afficheur le prend en charge. Le « mode sĂ©curisé » est activĂ© si l’UID effectif est diffĂ©rent de celui du propriĂ©taire de la session de connexion (voir geteuid (2)) et sd_pid_get_owner_uid (3)) ou lors de l’exĂ©cution sous sudo (8) ou des outils similaires ( $SUDO_UID est dĂ©fini Ă  [6] ). Dans ces cas, SYSTEMD_PAGERSECURE=1 sera dĂ©fini et les afficheurs qui ne sont pas connus pour implĂ©menter le « mode sĂ©curisé » ne seront pas du tout utilisĂ©s. Notez que cette dĂ©tection automatique ne couvre que les mĂ©canismes les plus courants d’élĂ©vation des privilĂšges et qu’elle est conçue pour faciliter la tĂąche. Il est recommandĂ© de dĂ©finir explicitement $SYSTEMD_PAGERSECURE ou de dĂ©sactiver l’afficheur.

Notez que si les variables $SYSTEMD_PAGER ou $PAGER doivent ĂȘtre respectĂ©es, sauf pour dĂ©sactiver l’afficheur, $SYSTEMD_PAGERSECURE doit aussi ĂȘtre dĂ©fini.

$SYSTEMD_COLORS

Prend un argument boolĂ©en. Quand c’est « vrai », systemd et les utilitaires liĂ©s utiliseront la couleur pour leurs sorties, autrement, la sortie sera monochrome. En plus, la variable peut prendre une des valeurs spĂ©ciales suivantes : 16 ou 256 pour limiter l’usage des couleurs aux couleurs ANSI base 16 ou base 256 respectivement. Cela peut ĂȘtre prĂ©cisĂ© pour outrepasser la dĂ©cision automatique prise sur $TERM et quel que soit ce Ă  quoi la console est connectĂ©e.

$SYSTEMD_URLIFY

La valeur doit ĂȘtre un boolĂ©en. ContrĂŽle si les liens cliquables doivent ĂȘtre gĂ©nĂ©rĂ©s dans la sortie pour des Ă©mulateurs de terminaux le prenant en charge. Cela peut ĂȘtre indiquĂ© pour passer outre la dĂ©cision faite par systemd basĂ©e sur $TERM et d’autres conditions.

$LISTEN_PID , $LISTEN_FDS , $LISTEN_FDNAMES

DĂ©finition par systemd des processus supervisĂ©s lors de l’activation basĂ©e socket. Consulter sd_listen_fds (3) pour plus d’informations.

$NOTIFY_SOCKET

DĂ©finie par le gestionnaire de services pour ses services pour les notifications d’état et de disponibilitĂ©. Cette variable est Ă©galement utilisĂ©e par le gestionnaire de services pour notifier aux gestionnaires de supervision de conteneurs ou aux gestionnaires de services situĂ©s au-dessus de la pile de sa propre progression. Voir sd_notify (3) et la section concernĂ©e ci-dessous pour plus d’informations.

Pour les variables d’environnement supplĂ©mentaires comprises par systemd et ses divers composants, consulter Variables d’environnement connues [7] .

LIGNE DE COMMANDE DU NOYAU

Lorsque lancĂ© comme instance systĂšme, systemd analyse un certain nombre d’options listĂ©es ci-dessous. Elles peuvent ĂȘtre spĂ©cifiĂ©es comme arguments de ligne de commande du noyau qui sont analysĂ©s de diverses sources en fonction de l’environnement dans lequel systemd est exĂ©cutĂ©. Si lancĂ© dans un conteneur Linux, ces options sont analysĂ©es depuis les arguments de la ligne de commande passĂ©s Ă  systemd lui-mĂȘme, aprĂšs n’importe quelle option de ligne de commande listĂ©e dans la section OPTIONS ci-dessous. Si lancĂ© hors d’un conteneur Linux, ces arguments sont analysĂ©s depuis /proc/cmdline et sinon depuis la variable EFI « SystemdOptions » (pour les systĂšmes EFI). Les options de /proc/cmdline ont une prioritĂ© plus haute.

Remarque : l’utilisation de « SystemdOptions » est obsolĂšte.

Les variables suivantes sont comprises :

systemd.unit= , rd.systemd.unit=

Outrepasser l’unitĂ© Ă  activer lors de l’amorçage. C’est par dĂ©faut default.target. Cela peut ĂȘtre utilisĂ© pour amorcer temporairement avec une unitĂ© d’amorçage diffĂ©rente, par exemple rescue.target ou emergency.service. Voir systemd.special (7) pour des dĂ©tails Ă  propos de ces unitĂ©s. L’option prĂ©fixĂ©e avec « rd. » n’est honorĂ©e que dans l’initrd, tandis que celle qui n’est pas prĂ©fixĂ©e n’est honorĂ©e que dans le systĂšme principal.

systemd.dump_core

Prend un argument boolĂ©en ou active l’option si spĂ©cifiĂ©e sans argument. Si activĂ©, le gestionnaire de systemd (PID 1) effectue un vidage du noyau lorsqu’il plante. Sinon, aucun vidage du noyau n’est créé. La valeur par dĂ©faut est « enabled » (activĂ©e).

Ajouté dans la version 233.

systemd.crash_chvt

Prend un entier positif ou un argument boolĂ©en. Peut aussi ĂȘtre spĂ©cifiĂ© sans argument, avec le mĂȘme effet qu’avec un boolĂ©en positif. Si un entier positif (dans la plage 1–63) est indiquĂ©, le gestionnaire du systĂšme (PID 1) activera le terminal virtuel indiquĂ© lorsqu’il plante. Par dĂ©faut dĂ©sactivĂ©, ce qui signifie que de telles interruptions ne sont pas prĂ©vues. Si rĂ©glĂ© Ă  activĂ©, le terminal virtuel sur lequel les messages du noyau sont Ă©crits est utilisĂ© Ă  la place.

Ajouté dans la version 233.

systemd.crash_shell

Prend un argument boolĂ©en ou active l’option si indiquĂ©e sans aucun argument. Si activĂ©, le gestionnaire systĂšme (PID 1) fait apparaĂźtre un interprĂ©teur de commandes lorsqu’il plante. Autrement, aucun interprĂ©teur de commandes n’apparaĂźt. DĂ©sactivĂ© par dĂ©faut, pour raisons de sĂ©curitĂ©, car l’interprĂ©teur de commandes n’est pas protĂ©gĂ© par une authentification par mot de passe.

Ajouté dans la version 233.

systemd.crash_action=

Prend un des arguments « freeze », « reboot » ou « poweroff ». Par dĂ©faut, c’est « freeze ». Si rĂ©glĂ© Ă  « freeze », le systĂšme restera suspendu indĂ©finiment si le gestionnaire de services (PID 1) plante. Si rĂ©glĂ© sur « reboot », le gestionnaire du systĂšme (PID 1) rĂ©amorcera la machine automatiquement lors d’un plantage, aprĂšs un dĂ©lai de dix secondes. Si rĂ©glĂ© Ă  « poweroff », le gestionnaire de services (PID 1) Ă©teindra la machine immĂ©diatement aprĂšs un plantage. Si combinĂ© avec systemd.crash_shell , l’action de plantage configurĂ©e est exĂ©cutĂ©e aprĂšs que l’interprĂ©teur de commandes a quittĂ©.

Ajouté dans la version 256.

systemd.confirm_spawn

Prend un argument boolĂ©en ou un chemin vers la console virtuelle oĂč les messages de confirmation devraient ĂȘtre envoyĂ©s. Peut aussi ĂȘtre spĂ©cifiĂ© sans aucun argument, avec le mĂȘme effet qu’avec un boolĂ©en positif. Si activĂ©, le gestionnaire du systĂšme (PID 1) demande confirmation pour faire apparaĂźtre les processus utilisant /dev/console . Si un chemin ou un nom de console (tel que « ttyS0 ») est fourni, la console virtuelle pointĂ©e par ce chemin ou celui dĂ©crit par le nom donnĂ© sera utilisĂ©e Ă  la place. DĂ©sactivĂ© par dĂ©faut.

Ajouté dans la version 233.

systemd.service_watchdogs=

Prend un argument boolĂ©en. Si dĂ©sactivĂ©, tous les chiens de garde d’exĂ©cution de service ( WatchdogSet= ) et les actions d’urgence (p. ex. OnFailure= ou StartLimitAction= ) sont ignorĂ©s par le gestionnaire du systĂšme (PID 1) ; consulter systemd.service (5). ActivĂ© par dĂ©faut, c’est-a-dire les chiens de garde et les actions d’échec sont exĂ©cutĂ©s normalement. Le chien de garde matĂ©riel n’est pas affectĂ© par cette option.

Ajouté dans la version 237.

systemd.show_status

Prend un argument boolĂ©en ou les constantes error et auto . Peut aussi ĂȘtre spĂ©cifiĂ© sans argument, auquel cas, c’est Ă©quivalent Ă  l’effet d’un boolĂ©en positif. Si activĂ©, le gestionnaire du systĂšme (PID 1) affiche des mises Ă  jour laconiques de l’état des services sur la console pendant le dĂ©marrage. Avec error , seuls les messages d’échec sont affichĂ©s, mais sinon l’amorçage est silencieux. auto se comporte comme false jusqu’à ce qu’il y ait un dĂ©lai significatif dans l’amorçage. ActivĂ© par dĂ©faut, Ă  moins que quiet soit passĂ© comme option sur la ligne de commandes du noyau, dans lequel cas c’est error par dĂ©faut. Si spĂ©cifiĂ©, cela Ă©crase l’option du fichier de configuration ShowStatus= du gestionnaire de systĂšme, consulter systemd-system.conf (5).

Ajouté dans la version 233.

systemd.status_unit_format=

Prend name , description ou combined comme valeur. Si name , alors le gestionnaire de systĂšme utilisera les noms d’unitĂ© dans les messages d’état. Si combined , le gestionnaire de systĂšme utilisera les noms et description d’unitĂ© dans les messages d’état. Lorsque spĂ©cifiĂ©, Ă©crase l’option StatusUnitFormat= de la configuration du gestionnaire du systĂšme, voir systemd-system.conf (5).

Ajouté dans la version 243.

systemd.log_color , systemd.log_level= , systemd.log_location , systemd.log_target= , systemd.log_time , systemd.log_tid , systemd.log_ratelimit_kmsg

ContrĂŽle la sortie des journaux, avec le mĂȘme effet que les variables d’environnement $SYSTEMD_LOG_COLOR , $SYSTEMD_LOG_LEVEL , $SYSTEMD_LOG_LOCATION , $SYSTEMD_LOG_TARGET , $SYSTEMD_LOG_TIME , $SYSTEMD_LOG_TID et $SYSTEMD_LOG_RATELIMIT_KMSG dĂ©crites ci-dessus. systemd.log_color , systemd.log_location , systemd.log_time , systemd.log_tid et systemd.log_ratelimit_kmsg peuvent ĂȘtre indiquĂ©es sans argument, ayant le mĂȘme effet qu’un boolĂ©en positif.

systemd.default_standard_output= , systemd.default_standard_error=

ContrĂŽle la sortie standard par dĂ©faut et les sorties d’erreur pour les services et les sockets. C’est-Ă -dire, contrĂŽle la sortie par dĂ©faut de StandardOutput= et StandError= (consulter systemd.exec (5) pour les dĂ©tails). Prend l’un de inherit , null , tty , journal , journal+console , kmsg , kmsg+console . Si l’argument est omis, systemd.default-standard-output= sera par dĂ©faut journal et systemd.default-standard-error= inherit .

systemd.setenv=

Prendre un argument chaĂźne de la forme VARIABLE=VALEUR. Cela peut ĂȘtre utilisĂ© pour dĂ©finir des variables d’environnement par dĂ©faut Ă  ajouter pour fourcher vers des processus enfant. Peut ĂȘtre utilisĂ© plus d’une fois pour dĂ©finir plusieurs variables.

systemd.machine_id=

Prend une valeur hexadĂ©cimale de 32 caractĂšres Ă  utiliser pour dĂ©finir l’ID de la machine. DestinĂ© principalement au dĂ©marrage en rĂ©seau, lorsque le mĂȘme identifiant de machine est souhaitĂ© pour chaque dĂ©marrage.

Ajouté dans la version 229.

systemd.set_credential= , systemd.set_credential_binary=

DĂ©finit un justificatif d’identitĂ© du systĂšme, qui peut alors ĂȘtre propagĂ© aux services du systĂšme en utilisant le rĂ©glage ImportCredential= ou LoadCredential= , consulter systemd.exec (5) pour plus de dĂ©tails. Prend une paire de justificatifs de nom et valeur, sĂ©parĂ©s par un deux-points ( : ). Prenez en compte que la ligne de commande du noyau est habituellement accessible par les programmes non privilĂ©giĂ©s dans /proc/cmdline. Cela Ă©tant, un tel mĂ©canisme n’est pas apte Ă  transfĂ©rer des donnĂ©es sensibles. À n’utiliser qu’avec des donnĂ©es non sensibles telles que clĂ©s publiques ou certificats, pas avec les clĂ©s privĂ©es, ni dans un environnement de test ou de dĂ©bogage.

Pour plus d’informations, consulter la documentation m[blue] Identifiants du systùme et des services [8] .

Ajouté dans la version 251.

systemd.import_credentials=

Prend un argument boolĂ©en. Si faux, dĂ©sactive l’importation d’informations d’identification Ă  partir de la ligne de commande du noyau, de la table des chaĂźnes OEM DMI/SMBIOS, du sous-systĂšme qemu_fw_cfg ou de la partie EFI du noyau.

Ajouté dans la version 251.

quiet

DĂ©sactiver la sortie d’état Ă  l’amorçage, comme ferait systemd&.show_status=no . Remarque, cette option est aussi lue par le noyau lui-mĂȘme et dĂ©sactive la sortie journal du noyau. Passer cette option dĂ©sactive donc les sorties habituelles du gestionnaire de systĂšme et du noyau.

Ajouté dans la version 186.

debug

DĂ©sactiver la sortie d’état Ă  l’amorçage, comme ferait systemd&.show_status=no . Remarque, cette option est aussi lue par le noyau lui-mĂȘme et dĂ©sactive la sortie journal du noyau. Passer cette option dĂ©sactive donc les sorties habituelles du gestionnaire de systĂšme et du noyau.

Ajouté dans la version 205.

emergency , rd.emergency , -b

DĂ©marrer en mode urgence. C’est l’équivalent de systemd.unit=emergency.target ou rd.systemd.unit=emergency.target respectivement, et est fourni pour des besoins de compatibilitĂ© et pour ĂȘtre plus simples Ă  taper.

Ajouté dans la version 186.

rescue , rd.rescue , single , s , S , 1

DĂ©marrer en mode sauvetage (rescue). C’est l’équivalent de systemd.unit=rescue.target ou rd.systemd.unit=rescue.target respectivement, et est fourni pour des raisons de compatibilitĂ© et ĂȘtre plus simple Ă  saisir.

Ajouté dans la version 186.

2 , 3 , 4 , 5

Amorcer en niveau d’exĂ©cution patrimonial (legacy) spĂ©cifiĂ© de SysV. 2 , 3 et 4 sont Ă©quivalents Ă  systemd.unit=multi-user.target ; 5 est Ă©quivalent Ă  systemd.unit=graphical.target et est fourni pour raison de compatibilitĂ© et de simplification de saisie.

Ajouté dans la version 186.

locale.LANG= , locale.LANGUAGE= , locale.LC_CTYPE= , locale.LC_NUMERIC= , locale.LC_TIME= , locale.LC_COLLATE= , locale.LC_MONETARY= , locale.LC_MESSAGES= , locale.LC_PAPER= , locale.LC_NAME= , locale.LC_ADDRESS= , locale.LC_TELEPHONE= , locale.LC_MEASUREMENT= , locale.LC_IDENTIFICATION=

DĂ©finir les paramĂštre rĂ©gionaux du systĂšme Ă  utiliser. Cela Ă©crase les rĂ©glages dans /etc/locale.conf. Pour plus d’informations, consultez locale.conf (5) et locale (7).

Ajouté dans la version 186.

Pour les autres paramĂštres de la ligne de commande du noyau compris par les composants du cƓur du systĂšme d’exploitation, veuillez vous rĂ©fĂ©rer Ă  kernel-command-line (7).

INFORMATIONS D’IDENTIFICATION DU SYSTÈME

Durant l’initialisation, le gestionnaire de services importera des justificatifs depuis diverses sources dans les informations d’identification du systĂšme, qui alors pourront ĂȘtre propagĂ©s dans les services et consommĂ©s par les gĂ©nĂ©rateurs :

‱ Lorsque le gestionnaire de services s’initialisera, il lira les informations d’identification depuis les chaünes du vendeur Type 11 SMBIOS io.systemd.credential:nom=valeur , et io.systemd.credential.binary:nom=valeur .

‱ Au mĂȘme moment, il importera les informations d’identification depuis QEMU « fw_cfg ». (À noter que le mĂ©canisme SMBIOS est habituellement prĂ©fĂ©rĂ©, car il est plus rapide et gĂ©nĂ©rique.)

‱ Les informations d’identification doivent ĂȘtre passĂ©es au noyau Ă  l’aide de la ligne de commande en utilisant le paramĂštre systemd.set-credential= , voir ci-dessus.

‱ Les informations d’identification doivent ĂȘtre passĂ©es de l’environnement UEFI avec systemd-stub (7).

‱ Lorsque le gestionnaire de services est invoquĂ© durant l’initrd lors de la transition de l’hĂŽte, tous les fichiers dans /run/credentials/@initrd/ seront importĂ©s comme informations d’identification du systĂšme.

Invoquer systemd-creds (1) comme il suit pour visualiser la liste d’informations d’identification passĂ©es au systĂšme :

# systemd-creds --system list

Pour plus d’informations, consulter la documentation m[blue] Identifiants du systùme et des services [8] .

Le gestionnaire de services consomme les informations d’identification suivantes du systĂšme lorsque lancĂ© en tant que PID 1 :

vmm.notify_socket

Contient une adresse AF_VSOCK ou AF_UNIX oĂč envoyer un message de notification READY=1 lorsque le systĂšme a complĂštement dĂ©marrĂ©. Voir sd_notify (3) et la section suivante pour plus d’informations. À noter que dans le cas oĂč l’hyperviseur ne gĂšre pas SOCK_DGRAM pour AF_VSOCK , SOCK_SEQPACKET sera essayĂ© Ă  la place. La charge utile de l’information d’identification pour AF_VSOCK doit ĂȘtre une chaĂźne de la forme « vsock:CID:PORT ». « vstock-stream », « vstock-dgram » et « vsock-seqpacket » peuvent ĂȘtre utilisĂ©s Ă  la place de « vstock » pour forcer l’utilisation du type de socket correspondant.

Cette fonctionnalitĂ© est utile pour les gestionnaires de machine ou d’autres processus de l’hĂŽte pour recevoir une notification Ă  travers VSOCK lorsqu’une machine virtuelle a fini son dĂ©marrage.

Ajouté dans la version 254.

system.machine_id

Prend une ID hexadĂ©cimale de 128 octets pour y initialiser /etc/machine-id, si le fichier n’est pas encore prĂȘt. Voir machine-id (5) pour les dĂ©tails.

Ajouté dans la version 254.

Pour une liste des identifiants du systĂšme que divers autres composants de systemd utilisent, voir systemd.system-credentials (7).

PROTOCOLE DE DISPONIBILITÉ

Le gestionnaire de services implĂ©mente un protocole de notification de disponibilitĂ© entre le gestionnaire et ses services (c’est-Ă -dire en bas de la pile) et entre le gestionnaire et un Ă©ventuel superviseur plus en haut de la pile (ce denier pouvant ĂȘtre une machine ou un gestionnaire de conteneur, ou, dans le cas d’un gestionnaire de services par utilisateur, l’instance du gestionnaire de services du systĂšme). Le protocole Ă©lĂ©mentaire, et l’API suggĂ©rĂ©e pour le faire, sont dĂ©crits dans sd_notify (3).

Le socket de notification que le gestionnaire de services (incluant PID 1) utilise pour annoncer la disponibilitĂ© Ă  son propre superviseur est dĂ©fini Ă  travers la variable d’environnement habituelle $NOTIFY_SOCKET (voir ci-dessus). Cela n’étant directement dĂ©finissable que pour les gestionnaires de conteneur et pour l’instance par utilisateur du gestionnaire de services, un mĂ©canisme supplĂ©mentaire pour le configurer est disponible, destinĂ© particuliĂšrement Ă  une utilisation dans un environnement de machine virtuelle : l’identifiant du systĂšme vmm.notify_socket (voir ci-dessus) peut ĂȘtre rĂ©glĂ© Ă  un socket adaptĂ© (gĂ©nĂ©ralement un de AF_VSOCK ) Ă  l’aide de chaĂźnes SMBIOS Type 11 de fournisseur. Pour les dĂ©tails voir ci-dessus.

Le protocole de notification du gestionnaire de services au sommet de la pile pour un superviseur prend en charge un certain nombre de champs d’extension qui permettent au superviseur de connaĂźtre les propriĂ©tĂ©s spĂ©cifiques du systĂšme et de suivre la progression de son dĂ©marrage. En particulier, les champs suivants sont envoyĂ©s :

‱ Un message X_SYSTEMD_HOSTNAME=... sera envoyĂ© une fois que le nom d’hĂŽte initial pour le systĂšme aura Ă©tĂ© dĂ©terminĂ©. Notez que dans les derniers instants de l’exĂ©cution, le nom d’hĂŽte peut ĂȘtre changĂ© de maniĂšre programmatique, et (actuellement) aucune notification supplĂ©mentaire n’est envoyĂ©e dans ce cas.

Ajouté dans la version 256.

‱ Un message X_SYSTEMD_MACHINE_ID=... sera envoyĂ© une fois que l’identifiant machine du systĂšme aura Ă©tĂ© dĂ©terminĂ©. Voir machine-id (5) pour les dĂ©tails.

Ajouté dans la version 256.

‱ Un message X_SYSTEMD_SIGNALS_LEVEL=... sera envoyĂ© lorsque le gestionnaire de services aura installĂ© les divers gestionnaires de signaux des processus UNIX dĂ©crits ci-dessus. La valeur du champ est un entier non signĂ© formatĂ© en chaĂźne dĂ©cimale, et indique le niveau de fonctionnalitĂ© pris en charge des signaux de processus UNIX du gestionnaire de services. Actuellement, un seul niveau de caractĂ©ristique est dĂ©fini :

‱ X_SYSTEMD_SIGNALS_LEVEL=2 couvre les divers signaux de processus UNIX documentĂ©s ci-dessus qui sont un sur-ensemble de ceux pris en charge par le systĂšme historique init de SysV.

Les signaux envoyĂ©s au PID 1 avant que ce message ne soit envoyĂ© peuvent ne pas avoir Ă©tĂ© correctement gĂ©rĂ©s pour le moment. Un consommateur de ces messages devra analyser la valeur comme une indication d’entier non signĂ© du niveau de prise en charge. Actuellement, seul le niveau 2 mentionnĂ© est dĂ©fini, mais prochainement d’autres niveaux devraient ĂȘtre dĂ©finis avec des entiers supĂ©rieurs, ce qui implĂ©mentera un sur-ensemble du comportement actuellement dĂ©fini.

Ajouté dans la version 256.

‱ Des messages X_SYSTEMD_UNIT_ACTIVE=... et X_SYSTEMD_UNIT_INACTIVE=... seront envoyĂ©s pour chaque unitĂ© cible qui devient active ou cesse d’ĂȘtre active. Cela est utile pour suivre la progression du dĂ©marrage et la fonctionnalitĂ©. Par exemple, dĂšs que l’unitĂ© ssh-access.target est dĂ©clarĂ©e dĂ©marrĂ©e, un accĂšs SSH est typiquement disponible, voir systemd.special (7) pour les dĂ©tails.

Ajouté dans la version 256.

‱ Un message X_SYSTEMD_SHUTDOWN=... sera envoyĂ© juste avant que le systĂšme ne s’éteigne. La valeur est l’une des chaĂźnes « reboot », « halt », « poweroff », « kexec », et indique quelle sorte d’extinction est exĂ©cutĂ©e.

Ajouté dans la version 256.

‱ Un message X_SYSTEMD_REBOOT_PARAMETER=... sera aussi envoyĂ© juste avant que le systĂšme ne s’éteigne. Sa valeur est l’argument de redĂ©marrage comme configurĂ© avec systemctl --reboot-argument=... .

Ajouté dans la version 256.

Notez que ces champs d’extension sont envoyĂ©s en plus des notifications habituelles « READY=1 » et « RELOADING=1 ».

OPTIONS

systemd n’est que rarement appelĂ© directement, Ă©tant donnĂ© qu’il est lancĂ© tĂŽt et qu’il est dĂ©jĂ  en cours d’exĂ©cution au moment oĂč les utilisateurs peuvent interagir avec lui. Normalement, des outils tels que systemctl (1) sont utilisĂ©s pour passer les commandes au gestionnaire. Comme systemd n’est gĂ©nĂ©ralement pas appelĂ© directement, les options listĂ©es ci-dessous sont surtout utiles Ă  des fins de dĂ©bogage ou pour des buts spĂ©cifiques.

Options d’introspection et de dĂ©bogage

Ces options sont utilisĂ©es pour les tests et l’introspection, et systemd peut ĂȘtre invoquĂ© avec elles Ă  tout moment :

--dump-configuration-items

Vider les Ă©lĂ©ments gĂ©rĂ©s de configuration de l’unitĂ©. Il en rĂ©sulte une liste laconique mais complĂšte des Ă©lĂ©ments de configuration gĂ©rĂ©s dans les fichiers de dĂ©finition des unitĂ©s.

--dump-bus-properties

Vidage des propriétés exposées du bus. Cela produit une liste laconique mais complÚte des propriétés exposées sur le D-Bus.

Ajouté dans la version 239.

--test

DĂ©terminer la transaction initiale de dĂ©marrage (c’est-Ă -dire la liste des tĂąches mises en file d’attente lors du dĂ©marrage), la vider et terminer — sans exĂ©cuter rĂ©ellement aucun des tĂąches dĂ©terminĂ©es. Cette option n’est utile que pour le dĂ©bogage. Notez que durant le dĂ©marrage usuel du gestionnaire de service, des unitĂ©s additionnelles, non visibles avec cette opĂ©ration, peuvent ĂȘtre dĂ©marrĂ©es parce qu’un matĂ©riel, un socket, un bus ou un autre types d’activation pourraient ajoutĂ©es de nouvelles tĂąches lors de l’exĂ©cution de la transaction. Utilisez --system pour demander la transaction initiale du gestionnaire de service systĂšme (c’est aussi la valeur implicite par dĂ©faut), combinez avec --user pour demander la transaction initiale du gestionnaire de service par utilisateur Ă  la place.

--system , --user

Lorsqu’utilisĂ© avec --test , sĂ©lectionne s’il faut calculer la transaction initiale pour l’instance du systĂšme ou pour une instance par utilisateur. Ces options sont sans effet si elles sont appelĂ©es sans --test , comme durant d’usuels appels (c’est-Ă -dire sans --test ) le gestionnaire de services dĂ©tectera automatiquement s’il doit agir dans le mode systĂšme ou celui utilisateur, en vĂ©rifiant si le PID du processus lancĂ© est 1 ou pas. Notez qu’il n’est pas pris en charge l’amorçage et la maintenance d’un systĂšme avec le gestionnaire de services lancĂ© en mode --system mais avec un PID autre que 1 .

-h , --help

Afficher un aide-mémoire succinct et quitter.

--version

Afficher une information de version courte et quitter.

Options pour dupliquer en ligne de commande les réglages du noyau

Ces options correspondent exactement aux options listĂ©es ci-dessus dans « Ligne de commande du noyau ». Les deux formes peuvent ĂȘtre utilisĂ©es de maniĂšre Ă©quivalente pour le gestionnaire du systĂšme, mais il est recommandĂ© d’utiliser les formes citĂ©es ci-dessus dans ce contexte, car elles sont proprement placĂ©es dans le bon espace de noms. Lorsqu’une option est indiquĂ©e Ă  la fois sur la ligne de commande du noyau et comme argument de la ligne de commande, la derniĂšre a la prĂ©cĂ©dence.

Lorsque systemd est utilisĂ© comme gestionnaire utilisateur, la ligne de commandes du noyau est ignorĂ©e et seules les options dĂ©crites ci-dessous sont gĂ©rĂ©es. NĂ©anmoins, systemd est gĂ©nĂ©ralement dĂ©marrĂ© dans ce mode, Ă  travers le service user@service (5), qui est partagĂ© entre tous les utilisateurs. Il est plus aisĂ© d’utiliser les fichiers de configuration pour modifier les rĂ©glages (voir systemd-user.conf (5)) ou les variables d’environnement. Consulter la section « Environnement » ci-dessus pour des explications sur comment est dĂ©fini le bloc environnement.

--unit=

DĂ©finir une unitĂ© par dĂ©faut Ă  activer au dĂ©marrage. Si cela n’est pas indiquĂ©, c’est par dĂ©faut default.target. Voir systemd.unit= ci-dessus.

--dump-core

Activer le vidage du cƓur en cas de plantage. Cela n’a aucun effet lorsqu’utilisĂ© sous une instance utilisateur. Pareil Ă  systemd.dump_core= ci-dessus.

--crash-vt= VT

Basculer dans une console virtuelle (VT) dĂ©finie en cas de plantage. Ce changement n’a aucun effet lorsque lancĂ© depuis une instance utilisateur. Comme systemd.crash_chvt= ci-dessus (mais pas l’orthographe diffĂ©rente !).

Ajouté dans la version 227.

--crash-shell

Lancer un interprĂ©teur de commandes lors d’un plantage. Cela n’a aucun effet si lancĂ© depuis une instance utilisateur. Voir systemd.crash_shell= ci-dessus.

--crash-action=

Indiquer quoi faire en cas de plantage du gestionnaire du systĂšme (PID 1). Cela n’a aucun effet si systemd est lancĂ© comme instance utilisateur. Voir systemd.crash_action= ci-dessus.

Ajouté dans la version 256.

--confirm-spawn

Demander confirmation lors de la crĂ©ation de processus. Cela n’a aucun effet lancĂ© en instance utilisateur. Voir systemd.confirm_spawn ci-dessus.

--show-status

Afficher des informations laconiques sur l’état de l’unitĂ© sur la console lors du dĂ©marrage et de l’arrĂȘt de l’unitĂ©. Voir systemd.show_status ci-dessus.

Ajouté dans la version 244.

--log-color

Mettre en surbrillance les messages journal importants. Voir systemd.log_color ci-dessus.

Ajouté dans la version 244.

--log-level=

Définir le niveau de journalisation. Voir systemd.log_level ci-dessus.

--log-location

Inclure l’emplacement du code dans les messages journal. Voir systemd.log_location ci-dessus.

Ajouté dans la version 244.

--log-target=

Définir la cible du journal. Voir systemd.log_target ci-dessus.

--log-time=

Préfixer les messages de la console avec un horodatage. Voir systemd.log_time ci-dessus.

Ajouté dans la version 246.

--machine-id=

Écraser l’identifiant de la machine dĂ©fini sur le disque dur. Voir systemd.machine_id= ci-dessus.

Ajouté dans la version 229.

--service-watchdogs

Activer ou désactiver de façon globale toutes les actions urgentes ou minutées du service chien de garde. Voir systemd.service_watchdogs ci-dessus.

Ajouté dans la version 237.

--default-standard-output= , --default-standard-error=

DĂ©finition de la sortie par dĂ©faut ou la sortie d’erreur pour tous les services et les sockets respectivement. Voir systemd.default_standard_output= et systemd.default_standard_error= ci-dessus.

EPOCH DE L’HORLOGE SYSTÈME

Lorsque systemd est dĂ©marrĂ© ou redĂ©marrĂ©, il se peut qu’il rĂšgle l’horloge systĂšme Ă  l’« epoch ». Ce mĂ©canisme est utilisĂ© pour s’assurer que l’horloge systĂšme reste raisonnablement initialisĂ©e et de façon Ă  peu prĂšs monotone lors des divers dĂ©marrages, dans le cas oĂč aucune horloge en temps rĂ©el (RTC) locale avec batterie de secours n’est disponible ou si elle ne fonctionne pas correctement.

L’epoch est la date la plus ancienne Ă  partir de laquelle le systĂšme est prĂ©sumĂ© ĂȘtre correctement rĂ©glĂ©. Lors de l’initialisation, l’horloge locale est avancĂ©e vers l’epoch si elle Ă©tait rĂ©glĂ©e Ă  une valeur trop ancienne. Un cas particulier : si l’horloge locale est suffisamment Ă©loignĂ©e dans le futur (par dĂ©faut 15 ans, mais cela peut ĂȘtre configurĂ© lors de la construction), l’horloge matĂ©rielle est prĂ©sumĂ©e cassĂ©e et l’horloge systĂšme est ramenĂ©e Ă  l’epoch.

L’epoch est rĂ©glĂ©e Ă  la valeur la plus rĂ©cente des dates suivantes : le moment de construction de systemd , la date de modification (« mtime ») de /usr/lib/clock-epoch ou la date de modification de /var/lib/systemd/timesync/clock .

FICHIERS

/run/systemd/notify

Socket de notification de l’état du dĂ©mon. C’est un socket datagramme AF_UNIX qui est utilisĂ© pour implĂ©menter la logique de notification du dĂ©mon comme implĂ©mentĂ© par sd_notify (3).

/run/systemd/private

UtilisĂ© en interne comme canal de communication entre systemctl (1) et le processus systemd. C’est un socket flux AF_UNIX . Cette interface est personnelle Ă  systemd et ne devrait pas ĂȘtre utilisĂ©e pour des projets extĂ©rieurs.

/dev/initctl

Prise en charge limitĂ©e de l’interface cliente SysV, comme implĂ©mentĂ©e par l’unitĂ© systemd-initctl.service. C’est un tube nommĂ© (pipe) dans le systĂšme de fichiers. Cette interface est obsolĂšte et ne doit pas ĂȘtre utilisĂ©e pour de nouvelles applications.

/usr/lib/clock-epoch

La date de modification (« mtime ») de ce fichier est utilisĂ©e pour l’heure de l’epoch, voir la section prĂ©cĂ©dente.

Ajouté dans la version 247.

/var/lib/systemd/timesync/clock

La date de modification (« mtime ») de ce fichier est mise Ă  jour par systemd-timesyncd.service (8). Si prĂ©sente, la date de modification du fichier est utilisĂ©e pour l’epoch, voir la section prĂ©cĂ©dente.

Ajouté dans la version 257.

HISTORIQUE

systemd 252

Les arguments de la ligne de commandes du noyau systemd.unified_cgroup_hierarchy et systemd.legacy_systemd_cgroup_controller sont considérés obsolÚtes. Veuillez changer pour une hiérarchie cgroups unifiée.

Ajouté dans la version 252.

VOIR AUSSI

La page d’accueil de systemd [9] , systemd-system.conf (5), locale.conf (5), systemctl (1), journalctl (1), systemd-notify (1), daemon (7), sd-daemon (3), org.freedesktop.systemd1 (5), systemd.unit (5), systemd.special (7), pkg-config (1), kernel-command-line (7), bootup (7), systemd.directives (7), org.freedesktop.systemd1 (5)

Pour davantage d’informations sur les concepts et idĂ©es derriĂšre systemd , veuillez consulter le Document de conception originel [10] .

NOTES

1.

PortabilitĂ© d’interface et promesse de stabilitĂ©

https://systemd.io/PORTABILITY_AND_STABILITY/

2.

Interface conteneur

https://systemd.io/CONTAINER_INTERFACE

3.

Interface initrd

https://systemd.io/INITRD_INTERFACE/

4.

Groupes de contrÎle version 2

https://docs.kernel.org/admin-guide/cgroup-v2.html

5.

Spécification du répertoire de base XDG

https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

6.

Il est recommandé pour les autres outils de définir et vérifier $SUDO_UID comme il convient, en le considérant comme une interface courante.

7.

Variables d’environnement connues

https://systemd.io/ENVIRONMENT

8.

Identifiants du systĂšme et des services

https://systemd.io/CREDENTIALS

9.

Page d’accueil de systemd

https://systemd.io/

10.

Document de conception originel

https://0pointer.de/blog/projects/systemd.html

TRADUCTION

La traduction française de cette page de manuel a été créée par bubu <bubub@no-log.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .