Was sind die Befehlszeilenoptionen systemd "--switched-root" und "--deserialize"?

15

Wenn psich auf meiner Linux-Box ein mache, systemdläuft das mit den Kommandozeilenoptionen --switched-rootund --deserialize. Nichts in der Manpage oder /usr/share/doc/systemderwähnt sie, und Google hat nicht viel geholfen. Also, was machen sie? Ich vermute , das --switched-roothat etwas mit pivot_root zu tun , aber das ist nur eine Vermutung.

Matthew Cline
quelle
1
Guter Punkt, hier auf Arch dasselbe: mein Prozess n. 1 ist systemd --system --deserialize 18. Wieder keine Ahnung vom Menschen.
MariusMatutiae

Antworten:

17

Dies sind absichtlich undokumentierte interne Teile von systemd. Ganz einfach also:

  • --deserializegespeichert internen Zustand wiederzuherzustellen , dass ein früherer Aufruf wird verwendet systemd, exec()ing dies, hat in eine Datei geschrieben werden. Das option-Argument ist ein offener Dateideskriptor für diesen Prozess .
  • --switched-rootwird verwendet , um diesen Aufruf zu sagen , systemddass es aus aufgerufen wurde die systemdVerwaltung einen initramfs und soll dementsprechend so verhalten - einschließlich Dreh off von einigen des Verhalten sonst verursacht --deserialize.
JdeBP
quelle
3
Das ist eine gute Antwort. Um dies ein wenig zu erweitern: systemd, das mit --deserialize --switched-root ausgeführt wird, bedeutet im Wesentlichen, dass systemd auch in den initramfs verwendet wurde. Heutzutage ist dies ziemlich verbreitet, so dass diese beiden Optionen in der Befehlszeile von PID 1 zu erwarten sind.
zbyszek