Quelles sont les options de ligne de commande de systemd «--switched-root» et «--deserialize»?

16

Faire une psboîte sur mon Linux montre que cela systemdfonctionne avec les options de ligne de commande --switched-rootet --deserialize. Rien dans la page de manuel ou les /usr/share/doc/systemdmentionne, et Google n'a pas été d'une grande aide. Alors, que font-ils? Je suppose que cela --switched-roota quelque chose à voir avec pivot_root , mais ce n'est qu'une supposition.

Matthew Cline
la source
1
Bon point, même ici sur Arch: mon processus n. 1 est systemd --system --deserialize 18. Encore une fois aucun indice de l'homme.
MariusMatutiae

Réponses:

18

Ce sont des parties internes intentionnellement non documentées de systemd. Très simplement donc:

  • --deserializeest utilisé pour restaurer l'état interne enregistré qu'une précédente invocation de systemd, exec()celui-ci, a écrit dans un fichier. Son argument d'option est un descripteur de fichier ouvert pour ce processus .
  • --switched-rootest utilisé pour indiquer à cette invocation systemdqu'elle a été invoquée à partir de la systemdgestion d'un initramfs , et doit donc se comporter en conséquence, notamment en désactivant certains des comportements provoqués par --deserialize.
JdeBP
la source
3
C'est une bonne réponse. Pour développer un peu ceci: systemd fonctionnant avec --deserialize --switched-root signifie essentiellement que systemd a également été utilisé dans les initramfs. De nos jours, c'est assez courant, donc ces deux options sont à prévoir dans la ligne de commande du PID 1.
zbyszek