Man page - systemd(1)
Packages contas this manual
- systemd-ask-password-wall.path(8)
- journald@.conf(5)
- systemd-rfkill.service(8)
- systemd-pcrlock-secureboot-authority.service(8)
- org.freedesktop.locale1(5)
- systemd-journald-audit.socket(8)
- bootup(7)
- systemd-hostnamed(8)
- system.conf.d(5)
- os-release(5)
- systemd.exec(5)
- networkd.conf(5)
- systemd-hibernate-resume-generator(8)
- systemd-timedated.service(8)
- networkctl(1)
- systemd-fsck@.service(8)
- systemd-tmpfiles(8)
- systemd-inhibit(1)
- systemd.net-naming-scheme(7)
- systemd-tmpfiles-clean.timer(8)
- systemd-ssh-proxy(1)
- systemd-user-sessions(8)
- logind.conf(5)
- org.freedesktop.network1(5)
- systemd-networkd-wait-online.service(8)
- systemd.kill(5)
- systemd.time(7)
- systemd-ask-password(1)
- systemd.journal-fields(7)
- systemd-socket-proxyd(8)
- pstore.conf.d(5)
- systemd-networkd.service(8)
- systemd-pcrlock-firmware-code.service(8)
- systemd-storagetm.service(8)
- systemd-growfs-root.service(8)
- systemd-ask-password-wall.service(8)
- systemd-creds(1)
- systemd-remount-fs.service(8)
- journald.conf(5)
- systemd-confext.service(8)
- systemd-tty-ask-password-agent(1)
- systemd-binfmt(8)
- systemd-pcrlock-make-policy.service(8)
- systemd-timedated(8)
- systemd-journald.service(8)
- systemd-pcrlock-file-system.service(8)
- pam_systemd_loadkey(8)
- systemd-gpt-auto-generator(8)
- daemon(7)
- systemd-tpm2-setup(8)
- hostnamectl(1)
- systemd-sleep(8)
- systemd-pcrmachine.service(8)
- systemd-bsod.service(8)
- systemd.unit(5)
- systemd-sysctl.service(8)
- systemd-pstore(8)
- binfmt.d(5)
- systemd-network-generator(8)
- systemd-poweroff.service(8)
- systemd-umount(1)
- systemd-tpm2-generator(8)
- systemd-rfkill.socket(8)
- systemd-localed.service(8)
- systemd.path(5)
- systemd-cgls(1)
- journald.conf.d(5)
- systemd-journald@.service(8)
- systemd-sysusers.service(8)
- systemd-user.conf(5)
- systemd-pcrfs@.service(8)
- systemd-measure(1)
- systemd.offline-updates(7)
- systemd-logind(8)
- systemd-machine-id-setup(1)
- systemd-volatile-root.service(8)
- systemd.service(5)
- user@.service(5)
- systemd.target(5)
- systemd-udev-settle.service(8)
- systemd-fsck(8)
- systemd-fsck-usr.service(8)
- user-runtime-dir@.service(5)
- systemd-user-runtime-dir(5)
- systemd-binfmt.service(8)
- systemd-initctl.socket(8)
- systemd-fsck-root.service(8)
- systemd-debug-generator(8)
- file-hierarchy(7)
- systemd-networkd-wait-online(8)
- systemd-volatile-root(8)
- systemd-reboot.service(8)
- systemd-hostnamed.service(8)
- networkd.conf.d(5)
- initrd-release(5)
- systemd.index(7)
- systemd-shutdown(8)
- systemd-update-done.service(8)
- systemd-system-update-generator(8)
- localectl(1)
- systemd.v(7)
- systemd-pcrfs-root.service(8)
- systemd.image-policy(7)
- systemd-backlight@.service(8)
- systemd-battery-check(8)
- systemd-rc-local-generator(8)
- systemd-sysctl(8)
- systemd-kexec.service(8)
- extension-release(5)
- systemd-journald.socket(8)
- systemd-random-seed.service(8)
- systemd-tmpfiles-setup-dev-early.service(8)
- systemd-modules-load(8)
- systemd.network(5)
- systemd-getty-generator(8)
- systemd-storagetm(8)
- systemd.generator(7)
- systemd.special(7)
- systemd-tmpfiles-setup-dev.service(8)
- systemd-notify(1)
- systemd-suspend.service(8)
- localtime(5)
- systemd-journald-varlink@.socket(8)
- systemd-pcrphase.service(8)
- systemd-quotacheck.service(8)
- systemd-pcrlock-firmware-config.service(8)
- systemd-journald@.socket(8)
- systemd-halt.service(8)
- systemd-sysext.service(8)
- systemd-delta(1)
- 30-systemd-environment-d-generator(8)
- systemd-ask-password-console.service(8)
- systemd-confext(8)
- systemd-initctl.service(8)
- iocost.conf(5)
- systemd-logind.service(8)
- systemd-mkswap@.service(8)
- hostname(5)
- busctl(1)
- org.freedesktop.portable1(5)
- systemd-localed(8)
- systemd-id128(1)
- systemd-sleep.conf(5)
- systemd.environment-generator(7)
- systemd-growfs(8)
- systemd(1)
- systemd.device(5)
- systemd-firstboot(1)
- systemd-hibernate-clear.service(8)
- systemd.swap(5)
- tmpfiles.d(5)
- systemd-cat(1)
- systemd-random-seed(8)
- locale.conf(5)
- systemd-detect-virt(1)
- systemd-sysext(8)
- systemd.scope(5)
- systemd-growfs@.service(8)
- systemd-fstab-generator(8)
- systemd-escape(1)
- systemd-network-generator.service(8)
- systemd-tmpfiles-setup.service(8)
- systemd-tmpfiles-clean.service(8)
- sleep.conf.d(5)
- systemd-boot-check-no-failures(8)
- org.freedesktop.systemd1(5)
- systemd-suspend-then-hibernate.service(8)
- run0(1)
- systemd-mount(1)
- systemd.slice(5)
- systemd-user-sessions.service(8)
- systemd-makefs@.service(8)
- journalctl(1)
- systemd-makefs(8)
- systemd-stdio-bridge(1)
- systemd-ssh-generator(8)
- systemd-update-done(8)
- systemd-xdg-autostart-generator(8)
- systemd-soft-reboot.service(8)
- systemctl(1)
- org.freedesktop.machine1(5)
- systemd.timer(5)
- systemd-journald(8)
- systemd-bsod(8)
- systemd-tpm2-setup-early.service(8)
- systemd-hybrid-sleep.service(8)
- systemd-analyze(1)
- smbios-type-11(7)
- systemd-environment-d-generator(8)
- systemd-networkd-wait-online@.service(8)
- org.freedesktop.login1(5)
- systemd-rfkill(8)
- timedatectl(1)
- systemd-hibernate-resume(8)
- systemd-sysv-generator(8)
- kernel-install(8)
- systemd-sysusers(8)
- systemd.netdev(5)
- systemd-journald-dev-log.socket(8)
- systemd-vpick(1)
- machine-id(5)
- systemd-pcrphase-initrd.service(8)
- systemd.mount(5)
- systemd-remount-fs(8)
- systemd.socket(5)
- sysusers.d(5)
- systemd.directives(7)
- rc-local.service(8)
- systemd-run-generator(8)
- systemd-battery-check.service(8)
- systemd-pstore.service(8)
- capsule@.service(5)
- logind.conf.d(5)
- systemd-pcrlock-secureboot-policy.service(8)
- environment.d(5)
- systemd-pcrphase-sysinit.service(8)
- org.freedesktop.hostname1(5)
- modules-load.d(5)
- systemd.automount(5)
- systemd-firstboot.service(1)
- systemd-boot-check-no-failures.service(8)
- loginctl(1)
- systemd.syntax(7)
- systemd-initctl(8)
- kernel-command-line(7)
- systemd.preset(5)
- systemd-pcrlock-machine-id.service(8)
- systemd-run(1)
- systemd-system.conf(5)
- systemd-machine-id-commit.service(8)
- user.conf.d(5)
- systemd.system-credentials(7)
- pstore.conf(5)
- systemd-cgtop(1)
- sysctl.d(5)
- systemd-tpm2-setup.service(8)
- systemd-pcrextend(8)
- systemd-modules-load.service(8)
- systemd.pcrlock.d(5)
- systemd-networkd(8)
- systemd-socket-activate(1)
- systemd-path(1)
- systemd-backlight(8)
- org.freedesktop.timedate1(5)
- systemd-quotacheck(8)
- systemd.resource-control(5)
- systemd-ask-password-console.path(8)
- varlinkctl(1)
- systemd-ac-power(1)
- systemd-hibernate-resume.service(8)
- systemd.pcrlock(5)
- machine-info(5)
- systemd-hibernate.service(8)
- systemd-pcrlock(8)
apt-get install systemd
Available languages:
en fr zh_TW zh_CN deManual
| SYSTEMD(1) | systemd | SYSTEMD(1) |
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
| État | Description |
| active | Démarrée, liée, branchée,..., suivant le type d'unité. |
| inactive | Stoppée, non liée, débranchée,..., suivant le type d'unité. |
| failed | Similaire à inactive, mais l'unité a échoué quelque part (processus renvoyant un code d'erreur, plantage, opération expirée ou après trop de redémarrages). |
| activating | Modification d'inactive en active. |
| deactivating | Modification d'active en inactive. |
| maintenance | L'unité est inactive et une opération d'entretien est en cours. |
| reloading | L'unité est active et est en cours de recharge de configuration. |
| refreshing | L'unité est active et un nouveau montage a été activé dans son espace de noms.. |
Les types d'unité suivants sont disponibles :
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 :
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
Répertoires de l'unité utilisateur
Répertoire des scripts init de SysV
Répertoire de ferme de liens 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
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
Les gestionnaires d'utilisateur de systemd traitent ce signal de la même manière que SIGTERM.
SIGWINCH
Ce signal est ignoré par les gestionnaires d'utilisateur de systemd.
SIGPWR
SIGUSR1
SIGUSR2
SIGHUP
SIGRTMIN+0
SIGRTMIN+1
SIGRTMIN+2
SIGRTMIN+3
SIGRTMIN+4
SIGRTMIN+5
SIGRTMIN+6
SIGRTMIN+7
Ajouté dans la version 254.
SIGRTMIN+13
SIGRTMIN+14
SIGRTMIN+15
SIGRTMIN+16
SIGRTMIN+17
Ajouté dans la version 254.
SIGRTMIN+20
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
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
SIGRTMIN+23
Ajouté dans la version 239.
SIGRTMIN+24
Ajouté dans la version 195.
SIGRTMIN+25
Le gestionnaire systemd traite ce signal de la même façon que SIGTERM.
Ajouté dans la version 250.
SIGRTMIN+26
Ajouté dans la version 239.
SIGRTMIN+27, SIGRTMIN+28
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
Cela peut-être écrasé par -log-level=.
$SYSTEMD_LOG_COLOR
Cela peut être écrasé avec -log-color=.
$SYSTEMD_LOG_TIME
Cela peut être écrasé avec -log-time=.
Ajouté dans la version 246.
$SYSTEMD_LOG_LOCATION
Cela peut être écrasé avec -log-location=.
$SYSTEMD_LOG_TID
Ajouté dans la version 247.
$SYSTEMD_LOG_TARGET
Cela peut être écrasé avec -log-target=.
$SYSTEMD_LOG_RATELIMIT_KMSG
Ajouté dans la version 254.
$XDG_CONFIG_HOME, $XDG_CONFIG_DIRS, $XDG_DATA_HOME, $XDG_DATA_DIRS
$SYSTEMD_UNIT_PATH, $SYSTEMD_GENERATOR_PATH, $SYSTEMD_ENVIRONMENT_GENERATOR_PATH
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
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
Les utilisateurs voudront peut-être changer deux options en particulier :
K
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
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
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
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
$SYSTEMD_URLIFY
$LISTEN_PID, $LISTEN_FDS, $LISTEN_FDNAMES
$NOTIFY_SOCKET
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=
systemd.dump_core
Ajouté dans la version 233.
systemd.crash_chvt
Ajouté dans la version 233.
systemd.crash_shell
Ajouté dans la version 233.
systemd.crash_action=
Ajouté dans la version 256.
systemd.confirm_spawn
Ajouté dans la version 233.
systemd.service_watchdogs=
Ajouté dans la version 237.
systemd.show_status
Ajouté dans la version 233.
systemd.status_unit_format=
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
systemd.default_standard_output=, systemd.default_standard_error=
systemd.setenv=
systemd.machine_id=
Ajouté dans la version 229.
systemd.set_credential=, systemd.set_credential_binary=
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=
Ajouté dans la version 251.
quiet
Ajouté dans la version 186.
debug
Ajouté dans la version 205.
emergency, rd.emergency, -b
Ajouté dans la version 186.
rescue, rd.rescue, single, s, S, 1
Ajouté dans la version 186.
2, 3, 4, 5
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=
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 :
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
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
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 :
Ajouté dans la version 256.
Ajouté dans la version 256.
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.
Ajouté dans la version 256.
Ajouté dans la version 256.
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
--dump-bus-properties
Ajouté dans la version 239.
--test
--system, --user
-h, --help
--version
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=
--dump-core
--crash-vt=VT
Ajouté dans la version 227.
--crash-shell
--crash-action=
Ajouté dans la version 256.
--confirm-spawn
--show-status
Ajouté dans la version 244.
--log-color
Ajouté dans la version 244.
--log-level=
--log-location
Ajouté dans la version 244.
--log-target=
--log-time=
Ajouté dans la version 246.
--machine-id=
Ajouté dans la version 229.
--service-watchdogs
Ajouté dans la version 237.
--default-standard-output=, --default-standard-error=
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
/run/systemd/private
/dev/initctl
/usr/lib/clock-epoch
Ajouté dans la version 247.
/var/lib/systemd/timesync/clock
Ajouté dans la version 257.
HISTORIQUE
systemd 252
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é
- 2.
- Interface conteneur
- 3.
- Interface initrd
- 4.
- Groupes de contrôle version 2
- 5.
- Spécification du répertoire de base XDG
- 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
- 8.
- Identifiants du système et des services
- 9.
- Page d’accueil de systemd
- 10.
- Document de conception originel
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.
| systemd 257.6 |