Provided by: manpages-de_4.27.0-1_all 

BEZEICHNUNG
machinectl - Steuert den Systemd-Maschinenverwalter
ÜBERSICHT
machinectl [OPTIONEN…] {BEFEHL} [NAME…]
BESCHREIBUNG
machinectl kann zur Untersuchung und Steuerung des Zustand des Registrierungsverwalters
systemd-machined.service(8) von systemd(1) für virtuelle Maschinen und Container verwandt werden.
machinectl kann zur Ausführung von Aktionen auf Maschinen und Abbildern verwandt werden. In diesem
Zusammenhang werden Maschinen als folgende laufende Instanzen betrachtet:
• Virtuelle Maschinen (VMs), die Hardware virtualisieren, um vollständige Betriebssysteminstanzen
(einschließlich ihrer Kernel) in einer virtualisierten Umgebung oberhalb des Wirtsbetriebssystems
auszuführen.
• Container, die Hardware und Betriebssystemkernel mit dem Wirtsbetriebssystem gemeinsam benutzen, um
eine Betriebssystem-Benutzerinstanz oberhalb des Wirtsbetriebssystems auszuführen.
• Das Wirtsystem selbst.
Maschinen werden durch Namen identifiziert, die den gleichen Regeln wie UNIX- und DNS-Rechnernamen
folgen. Details nachfolgend.
Maschinen werden von Platte oder Systemabbildern instanziiert, die häufig, aber nicht notwendigerweise,
die gleichen Namen wie Maschinen, von denen sie ausgeführt werden, tragen. In diesem Zusammenhang können
Abbilder Folgendes sein:
• Verzeichnisbäume, die ein Betriebssystem enthalten, einschließlich der Verzeichnisse auf oberster
Ebene wie /usr/, /etc/ usw.
• Btrfs-Teildatenträger, die Betriebssystembäume, ähnlich zu regulären Verzeichnisbäumen enthalten.
• Binäre »rohe« Plattenabbilddateien, die MBR- oder GPT-Partitionstabellen und Linux-Dateisysteme
enthalten.
• Ähnlicherweise Blockgeräte, die MBR- oder GPT-Partitionstabellen und Dateisysteme enthalten.
• Der Dateisystembaum des Wirtsbetriebssystems selbst.
Abbilder können mittels des Werkzeugs importctl(1) heruntergeladen sowie im- und exportiert werden.
BEFEHLE
Die folgenden Befehle werden verstanden:
Maschinenbefehle
list
Listet die derzeit laufenden (online) virtuellen Maschinen und Container auf. Um startfähige
Maschinenabbilder aufzuzählen, verwenden Sie list-images (siehe unten). Beachten Sie, dass dieser
Befehl standardmäßig die besondere Maschine ».host« versteckt. Verwenden Sie den Schalter --all, um
sie anzuzeigen.
Hinzugefügt in Version 206.
status NAME…
Zeigt Laufzeitstatusinformationen über eine oder mehrere virtuelle Maschinen und Container an,
gefolgt von den neusten Protokolldaten aus dem Journal. Diese Funktion ist zur Darstellung
menschenlesbarer Ausgabe gedacht. Falls Sie Computer-auswertbare Ausgaben benötigen, verwenden Sie
stattdessen show. Beachten Sie, dass die angezeigten Protokolldaten durch den Verwalter der
virtuellen Maschine oder Container gemeldet werden und häufig Konsolenausgabe aus der Maschine
enthält, aber nicht notwendigerweise Journal-Inhalte der Maschine selbst.
Hinzugefügt in Version 206.
show [NAME…]
Zeigt die Eigenschaften einer oder mehrerer registrierter virtueller Maschinen oder Container oder
des Verwalters selbst an. Falls kein Argument angegeben ist, werden die Eigenschaften des Verwalters
angezeigt. Falls ein NAME angegeben ist, werden die Eigenschaften dieser virtuellen Maschine oder
dieses Containers angezeigt. Standardmäßig werden leere Eigenschaften unterdrückt. Verwenden Sie
--all, um diese auch anzuzeigen. Um bestimmte anzuzeigende Eigenschaften auszuwählen, verwenden Sie
--property=. Dieser Befehl ist dafür gedacht, eingesetzt zu werden, wenn Computer-auswertbare Ausgabe
benötigt wird und gibt nicht den gesamten Control-Gruppenbaum oder Journal-Einträge aus. Verwenden
Sie status, falls Sie menschenlesbare Ausgabe benötigen.
Hinzugefügt in Version 206.
start NAME…
Startet einen Container mittels systemd-nspawn(1) als Systemdienst. Dies startet
systemd-nspawn@.service, instanziiert für den angegebenen Maschinennamen, ähnlich der Wirkung von
systemctl start auf den Dienstenamen. systemd-nspawn sucht nach einem Container-Abbild des
angegebenen Namens in /var/lib/machines/ (und anderen Suchpfaden, siehe unten) und führt ihn aus.
Verwenden Sie list-images (siehe unten) zur Auflistung verfügbarer, startfähiger Container-Abbilder.
Beachten Sie, dass systemd-machined.service(8) auch mit einer Reihe von anderen Container- und
VM-Verwaltern koppelt, systemd-nspawn ist nur eine Implementierung davon. Die meisten in machinectl
verfügbaren Befehle können auch auf durch andere Verwalter, nicht nur systemd-nspawn, gesteuerte
Container oder VMs angewandt werden. Das Starten von VMs und Container-Abbildern bei diesen
Verwaltungsprogrammen benötigt angepasste Werkzeuge.
Um auf der Befehlszeile einen Container interaktiv mit vollem Zugriff auf die Konsole des Containers
zu starten, rufen Sie systemd-nspawn direkt auf. Zum Stoppen eines Containers verwenden Sie
machinectl poweroff.
Hinzugefügt in Version 219.
login [NAME]
Öffnet eine interaktive Terminalanmeldesitzung in einem Container oder auf der lokalen Maschine.
Falls ein Argument bereitgestellt wird, bezieht es sich auf die Container-Maschine, zu der verbunden
werden soll. Falls keine angegeben ist oder der Container-Name als leere Zeichenkette oder der
besondere Maschinenname ».host« angegeben ist (siehe unten), erfolgt die Verbindung stattdessen zum
lokalen Rechner. Dies erstellt eine TTY-Verbindung zu dem angegebenen Container oder der lokalen
Maschine und bittet um die Ausführung eines Getty darauf. Beachten Sie, dass dies nur für Container
unterstützt wird, die systemd(1) als Init-System ausführen.
Dieser Befehl öffnet eine vollständige Anmeldeaufforderung im Container oder der lokalen Maschine,
die dann um Benutzername und Passwort bittet. Verwenden Sie shell (siehe unten) oder systemd-run(1)
mit dem Schalter --machine=, um direkt einen einzelnen Befehl aufzurufen, entweder interaktiv oder im
Hintergrund.
Hinzugefügt in Version 209.
shell [[NAME@]NAME [PFAD [ARGUMENTE…]]]
Öffnet eine interaktive Shell-Sitzung in einem Container oder der lokalen Maschine. Das erste
Argument bezieht sich auf die zu verbindende Container-Maschine. Falls keine angegeben ist oder der
Container-Name als leere Zeichenkette oder der besondere Maschinenname ».host« angegeben ist (siehe
unten), erfolgt die Verbindung stattdessen zum lokalen Rechner. Dies funktioniert ähnlich zu login,
ruft aber sofort einen Benutzerprozess auf. Dieser Befehl führt das angegebene Benutzerprogramm mit
den angegebenen Argumenten oder die Standard-Shell für den Benutzer, falls kein Befehl angegeben ist,
oder /bin/sh, falls keine Vorgabe-Shell gefunden wird, aus. Standardmäßig kann ein anderer Benutzer
ausgewählt werden, indem --uid= verwandt oder dem Maschinennamen ein Benutzername und das Zeichen »@«
vorangestellt wird. Verwenden Sie --setenv=, um Umgebungsvariablen für den ausgeführten Prozess zu
setzen.
Beachten Sie, dass machinectl shell den Exit-Code/Status des aufgerufenen Shell-Prozesses nicht
weiterleitet. Verwenden Sie stattdessen systemd-run, falls diese Information benötigt wird (siehe
unten).
Der Einsatz des Befehls shell ohne Argumente (womit der aufgerufene Befehl oder die Shell auf dem
lokalen Rechner ausgeführt wird) ist auf viele Arten ähnlich einer su(1)-Sitzung, isoliert aber
anders als su die neue Sitzung von der ursprünglichen Sitzung, so dass kein Prozess und keine
Sitzungseigenschaften gemeinsam benutzt werden und sie in einem sauberen und gut-definiertem Zustand
ist. Sie wird in einer neuen Utmp-, Anmelde-, Audit-, Sicherheits- und Schlüsselbund-Sitzung
nachverfolgt und wird keine Umgebungsvariablen oder Ressourcenbegrenzungen (und andere Eigenschaften)
erben.
Beachten Sie, dass anstelle des Befehls machinectl shell systemd-run(1) mit seinem Schalter
--machine= verwandt werden kann, was nicht-interaktive Aktionen, detailliertere und systemnahere
Konfiguration der betroffenen Unit sowie den Zugriff auf Laufzeit- und Exit-Code/Status-Informationen
des aufgerufenen Shell-Prozesses ermöglicht. Verwenden Sie insbesondere den Schalter --wait von
systemd-run, um Exit-Statusinformationen vom aufgerufenen Prozess weiterzuleiten. Verwenden Sie den
Schalter --pty von systemd-run, um eine interaktive Shell zu erlangen, ähnlich zu machinectl shell.
Im Allgemeinen wird systemd-run für Skripting-Zwecke bevorzugt. Beachten Sie allerdings, dass
systemd-run höhere Privilegien als machinectl shell erlangen könnte.
Hinzugefügt in Version 225.
enable NAME…, disable NAME…
Aktiviert oder deaktiviert das Starten eines Containers mittels systemd-nspawn(1) als Systemdienst
beim Systemstart. Dies aktiviert oder deaktiviert systemd-nspawn@.service, instanziiert für den
angegebenen Maschinennamen, von der Wirkung ähnlich systemctl enable oder systemctl disable auf den
Dienstenamen.
Dieser Befehl lädt die Systemverwalterkonfiguration nach dem Abschluss der Aktion implizit neu.
Beachten Sie, dass dieser Befehl Container nicht implizit startet oder ausschaltet, auf die agiert
wurde. Falls dies gewünscht ist, kombinieren Sie den Befehl mit dem Schalter --now.
Hinzugefügt in Version 219.
poweroff NAME…
Schaltet einen oder mehrere Container aus. Dies wird durch Senden von SIGRTMIN+4 an den Init-Prozess
des Containers ein Herunterfahren auslösen, wodurch Systemd-kompatible Init-Systeme sauber
heruntergefahren werden. Verwenden Sie stop als Alias für poweroff. Diese Aktion funktioniert bei
Containern, die keine systemd(1)-kompatiblen Init-Systeme, wie Sysvinit, ausführen, nicht. Verwenden
Sie das (nachfolgend beschriebene) terminate, um einen Container oder eine VM sofort zu beenden, ohne
sie sauber herunterzufahren.
Hinzugefügt in Version 212.
reboot NAME…
Startet einen oder mehrere Container neu. Dies wird durch Senden von SIGINT an den Init-Prozess des
Containers einen Neustart auslösen. Dies ist grob äquivalent zum Drücken von Strg-Alt-Entf auf einem
System außerhalb eines Containers und kompatibel mit Containern mit beliebigen Systemverwaltern.
Verwenden Sie restart als Alias für reboot.
Hinzugefügt in Version 209.
terminate NAME…
Beendet die virtuelle Maschine oder den Container sofort, ohne ihn sauber herunterzufahren. Dies
tötet alle Prozesse der virtuellen Maschine oder des Containers und gibt alle dieser Instanz
zugeordneten Ressourcen frei. Verwenden Sie poweroff, um ein sauberes Herunterfahren anzufordern.
Hinzugefügt in Version 206.
kill NAME…
Sendet ein Signal an einen oder mehrere Prozesse der virtuellen Maschine oder des Containers. Dies
bezieht sich auf Prozesse, wie sie vom Wirtsrechner gesehen werden, nicht Prozesse innerhalb der
virtuellen Maschine oder des Containers. Wählen Sie die zu tötenden Prozesse mit --kill-whom=.
Verwenden Sie --signal= zur Auswahl des zu sendenden Signals.
Hinzugefügt in Version 206.
bind NAME PFAD [PFAD]
Hängt eine Datei oder ein Verzeichnis vom Wirtssystem in den angegebenen Container mit »bind« ein.
Das erste Pfadargument ist die Quelldatei oder das Quellverzeichnis auf dem Wirtssystem, das zweite
Pfadargument ist die Zieldatei oder der Zielpfad im Container. Wenn Letzterer fehlt, wird dafür das
gleiche wie der Quellpfad auf dem Wirtssystem verwandt. Bei der Kombination mit dem Schalter
--read-only wird eine nur-lesbare Bind-Einhängung erstellt. Bei der Kombination mit dem Schalter
--mkdir wird vor dem Einhängen der Zielpfad zuerst erstellt. Beachten Sie, dass diese Option derzeit
nur für systemd-nspawn(1)-Container unterstützt wird, und nur wenn Benutzer-Namensräume
(--private-users) nicht verwandt werden. Dieser Befehl unterstützt das Bind-Einhängen von
Verzeichnissen, regulären Dateien, Geräteknoten, AF_UNIX-Socket-Knoten sowie FIFOs.
Hinzugefügt in Version 219.
copy-to NAME PFAD [PFAD] --force
Kopiert Dateien oder Verzeichnisse vom Wirtssystem in einen laufenden Container. Akzeptiert einen
Container-Namen, gefolgt vom Quellpfad auf dem Wirtssystem und dem Zielpfad im Container. Falls der
Zielpfad fehlt, wird dafür das gleiche wie der Quellpfad verwandt.
Falls der Rechner und der Container den gleichen Benutzer- und Gruppennamensraum benutzen, wird die
Dateieigentümerschaft durch numerische Benutzer- und Gruppenkennung für die Kopie erhalten,
andernfalls gehören alle Dateien und Gruppen dem Benutzer und der Gruppe root (UID/GID 0).
Hinzugefügt in Version 219.
copy-from NAME PFAD [PFAD] --force
Kopiert Dateien oder Verzeichnisse aus dem Container auf den Rechner. Akzeptiert einen
Container-Namen, gefolgt von einem Quellpfad im Container und dem Zielpfad im Rechner. Falls der
Zielpfad entfällt, wird er identisch zum Quellpfad verwandt.
Falls der Rechner und der Container den gleichen Benutzer- und Gruppennamensraum benutzen, wird die
Dateieigentümerschaft durch numerische Benutzer- und Gruppenkennung für die Kopie erhalten,
andernfalls gehören alle Dateien und Gruppen dem Benutzer und der Gruppe root (UID/GID 0).
Hinzugefügt in Version 219.
Abbild-Befehle
list-images
Zeigt eine Liste von lokal installierten Container- und VM-Abbildern. Dies zählt alle rohen
Platten-Abbilder und -Containerverzeichnisse und Teildatenträger in /var/lib/machines/ (und anderen
Suchpfaden, siehe unten) auf. Verwenden Sie start (siehe oben), um einen Container aus den
aufgeführten Abbildern auszuführen. Beachten Sie, dass standardmäßig Container, deren Namen mit einem
Punkt (».«) beginnen, nicht angezeigt werden. Geben Sie --all an, um diese auch anzuzeigen. Beachten
Sie, dass das besondere Abbild ».host« immer impliziet existiert und sich auf das Abbild bezieht, von
dem der Rechner selbst gestartet wurde.
Hinzugefügt in Version 219.
image-status [NAME…]
Zeigt knappe Statusinformationen über einen oder mehrere Container- oder VM-Abbilder an. Diese
Funktion ist zur Erzeugung menschenlesbarer Ausgabe gedacht. Verwenden Sie show-image (siehe unten),
um stattdessen Computer-auswertbare Ausgabe zu erstellen.
Hinzugefügt in Version 219.
show-image [NAME…]
Zeigt Eigenschaften von einem oder mehreren registrierten virtuellen Maschinen oder
Container-Abbildern oder dem Verwalter selbst an. Falls kein Argument angegeben ist, werden die
Eigenschaften des Verwalters angezeigt. Falls NAME angegeben ist, werden die Eigenschaften dieser
virtuellen Maschine oder des Container-Abbilds angezeigt. Standardmäßig werden leere Eigenschaften
unterdrückt. Verwenden Sie --all, um diese auch anzuzeigen. Um bestimmte Eigenschaften zur Anzeige
auszuwählen, verwenden Sie --property=. Dieser Befehl ist dafür gedacht, wenn Computer-auswertbare
Ausgabe benötigt wird. Verwenden Sie image-status, falls Sie formatierte, menschenlesbare Ausgabe
suchen.
Hinzugefügt in Version 219.
edit NAME|DATEI
Bearbeitet die Einstellungsdatei der angegebenen Maschinen. Siehe systemd.nspawn(5) für das Format
der Einstellungsdatei. Falls keine bestehende Einstellungsdatei für die angegebene Maschine gefunden
werden kann, erstellt edit automatisch eine komplett neue Einstellungsdatei unter
/etc/systemd/nspawn/.
Hinzugefügt in Version 254.
cat NAME|DATEI
Zeigt die Einstellungsdatei der angegebenen Maschinen.
Hinzugefügt in Version 254.
clone NAME NAME
Klont einen Container- oder ein VM-Abbild. Die Argumente geben den Namen des zu klonenden und den
Namen des frisch geklonten Abbildes an. Beachten Sie, dass einfache Container-Abbilder mit diesem
Befehl in Btrfs-Teildatenträger-Abbilder geklont werden, falls dies das zugrundeliegende Dateisystem
unterstützt. Beachten Sie, dass Klonen eines Container- oder VM-Abbildes für Dateisysteme optimiert
ist, die »Kopieren-beim-Schreiben« unterstützen und für andere Dateisysteme, aufgrund von deren
Beschränkungen, weniger effizient sein könnte.
Beachten Sie, dass dieser Befehl den Rechnernamen, die Maschinenkennung und alle anderen
Einstellungen, die diese Instanz identifizieren könnten, unverändert lässt. Das ursprüngliche Abbild
und die geklonte Kopie werden daher beide diese Berechtigungsnachweise gemeinsam nutzen und es mag
notwendig sein, diese in der Kopie manuell zu ändern.
Wird dies mit dem Schalter --read-only kombiniert, dann wird ein nur-lesbares geklontes Abbild
erstellt.
Hinzugefügt in Version 219.
rename NAME NAME
Benennt ein Container- oder VM-Abbild um. Die Argumente geben den Namen des umzubenennenden und den
neuen Namen des Abbildes an.
Hinzugefügt in Version 219.
read-only NAME [LOGISCH]
Markiert ein Container- oder VM-Abbild nur-lesbar oder hebt dieses auf. Akzeptiert als Argumente
einen VM- oder Container-Abbildnamen, gefolgt von einem logischen Wert. Falls der logische Wert
fehlt, wird positiv impliziert, d.h. das Abbild wird als nur-lesbar markiert.
Hinzugefügt in Version 219.
remove NAME…
Entfernt eines oder mehrere Container- oder VM-Abbilder. Das besondere Abbild ».host«, das sich auf
den Verzeichnisbaum des Rechners selbst bezieht, darf nicht entfernt werden.
Hinzugefügt in Version 219.
set-limit [NAME] BYTE
Setzt die maximale Größe in Byte, zu der ein bestimmtes Container- oder VM-Abbild, oder alle Abbilder
auf der Platte anwachsen dürfen (Plattenkontingent). Akzeptiert entweder einen oder zwei Parameter.
Der erste, optionale Parameter bezieht sich auf den Namen eines Containers oder einer VM. Falls
angegeben, wird die Größenbegrenzung des angegebenen Abbilds geändert. Falls der Parameter fehlt,
dann wird die Gesamtgrößenbegrenzung der Summe aller lokal gespeicherten Abbilder geändert. Das
abschließende Argument gibt die Größenbegrenzung in Byte an, die üblichen Einheiten K, M, G, T können
optional angehängt werden. Falls die Größenbegrenzung deaktiviert werden soll, geben Sie »-« als
Größe an.
Beachten Sie, dass die Container-bezogenen Größenbeschränkungen nur auf Btrfs-Dateisystemen
unterstützt werden.
Hinzugefügt in Version 220.
clean
Entfernt versteckte VM- oder Container-Abbilder (oder alle). Dieser Befehl entfernt alle versteckten
Maschinenabbilder aus /var/lib/machines/, d.h. solche, deren Namen mit einem Punkt beginnen.
Verwenden Sie machinectl list-images --all, um eine Liste aller Maschinenabbilder zu sehen,
einschließlich der versteckten.
Bei der Kombination mit dem Schalter --all werden alle Abbilder entfernt, nicht nur die versteckten.
Dieser Befehl leert effektiv /var/lib/machines/.
Beachten Sie, dass Befehle wie importctl pull-tar oder importctl pull-raw normalerweise zuerst
versteckte, nur-lesbare und unveränderte Maschinenabbilder aus dem heruntergeladenen Abbild
erstellen, bevor sie eine schreibbare Arbeitskopie davon klonen, um mehrfaches Herunterladen zu
vermeiden, falls Abbilder mehrmals verwandt werden. Verwenden Sie machinectl clean, um auf diese Art
erstellte alte, versteckte Abbilder zu entfernen.
Hinzugefügt in Version 230.
OPTIONEN
Die folgenden Optionen werden verstanden:
-p, --property=
Bei der Anzeige von Maschinen- oder Abbildeigenschaften wird die Ausgabe auf bestimmte, durch die
Argumente angegebene Eigenschaften beschränkt. Falls nicht angegeben, werden alle gesetzten
Eigenschaften angezeigt. Das Argument sollte ein Eigenschaftsname, wie »Name«, sein. Falls mehr als
einmal angegeben, werden alle Eigenschaften mit den angegebenen Namen angezeigt.
Hinzugefügt in Version 206.
--value
Bei der Ausgabe der Eigenschaften mit show wird nur der Wert angezeigt, der Eigenschaftsname und das
»=« wird übersprungen.
Hinzugefügt in Version 230.
-P
Äquivalent zu --value --property=, d.h. zeigt den Wert der Eigenschaft ohne den Eigenschaftsnamen
oder »=«. Beachten Sie, dass die einmalige Verwendung von -P auch die mit -p/--property= aufgeführten
Eigenschaften betrifft.
Hinzugefügt in Version 256.
-a, --all
Bei der Anzeige der Maschinen- oder Abbildeigenschaften werden alle Eigenschaften angezeigt,
unabhängig davon, ob sie gesetzt sind oder nicht.
Beim Auflisten von VM- oder Container-Abbildern werden Abbilder, deren Name mit einem Punkt (».«)
beginnt, auch aufgeführt.
Beim Bereinigen von VM- oder Container-Abbildern werden alle Abbilder, nicht nur die versteckten,
entfernt.
Hinzugefügt in Version 206.
-l, --full
Verkürzt die Prozessbaumeinträge oder die -tabelle nicht. Dies impliziert --max-addresses=full.
Hinzugefügt in Version 206.
--kill-whom=
Wählt bei der Verwendung mit kill den zu tötenden Prozess aus. Muss entweder leader oder all sein, um
auszuwählen, ob nur der Leitungsprozess der Maschine oder alle Prozesse der Maschine getötet werden
sollen. Falls nicht angegeben, ist die Vorgabe all.
Hinzugefügt in Version 206.
-s, --signal=
Sucht bei der Verwendung mit kill das Signal aus, das an ausgewählte Prozesse gesandt wird. Muss
eines der gut bekannten Signalkennungen wie SIGTERM, SIGINT oder SIGSTOP sein. Falls weggelassen, ist
die Vorgabe SIGTERM.
Der besondere Wert »help« wird alle bekannten Werte darstellen und das Programm wird sich sofort
beenden; der besondere Wert »list« wird alle bekannten Werte zusammen mit ihren numerischen
Signalnummern darstellen und das Programm wird sich sofort beenden.
--uid=
Wählt bei der Verwendung mit dem Befehl shell die Benutzerkennung aus, unter der die interaktive
Shell-Sitzung geöffnet werden soll. Falls das Argument des Befehls shell auch einen Benutzernamen
angibt, wird diese Option ignoriert. Falls der Name nicht auf eine der Arten angegeben ist, dann wird
standardmäßig »root« verwandt. Beachten Sie, dass dieser Schalter nicht für den Befehl login
unterstützt wird (siehe unten).
Hinzugefügt in Version 225.
-E NAME[=WERT], --setenv=NAME[=WERT]
Bei der Verwendung mit dem Befehl shell wird eine Umgebungsvariable für die ausgeführte Shell
gesetzt. Diese Option kann mehrfach angegeben werden, um mehrere Variablen zu setzen. Wenn »=« und
WERT fehlen, wird der Wert der Variablen mit dem gleichen Namen in der Programmumgebung verwandt.
Beachten Sie, dass diese Option für den Befehl login nicht unterstützt wird.
Hinzugefügt in Version 230.
--mkdir
Erstellt bei der Verwendung mit bind die Zieldatei oder das Zielverzeichnis, bevor die
Bind-Einhängung angewandt wird. Beachten Sie, dass der Name dieser Option zwar anzeigt, dass sie nur
für Verzeichnisse geeignet ist, sie aber auch den Zieldateiknoten, über den eingehängt werden soll,
falls das einzuhängende Objekt kein Verzeichnis, sondern eine reguläre Datei, ein Geräteknoten, ein
Socket oder ein FIFO ist, erstellt.
Hinzugefügt in Version 219.
--read-only
Erstellt bei der Verwendung mit bind eine nur lesbare Bind-Einhängung.
Bei der Verwendung mit clone wird ein nur-lesbares Container- oder VM-Abbild erstellt.
Hinzugefügt in Version 219.
-n, --lines=
Steuert bei der Verwendung mit status die Anzahl der anzuzeigenden Journal-Einträge, gezählt vom
neusten. Akzeptiert eine positive Ganzzahl als Argument. Standardmäßig 10.
Hinzugefügt in Version 219.
-o, --output=
Steuert bei der Verwendung mit status die Formatierung der angezeigten Journal-Einträge. Für die
Auswahlmöglichkeiten siehe journalctl(1). Standardmäßig »short«.
Hinzugefügt in Version 219.
--runner=nspawn|vmspawn
Bei der Arbeit auf Maschinen wird damit ausgwählt, ob systemd-nspawn(1) oder systemd-vmspawn(1)
verwandt werden soll. Standardmäßig wird systemd-nspawn(1) verwandt.
Hinzugefügt in Version 256.
-V
-V ist eine Abkürzung für --runner=vmspawn.
Hinzugefügt in Version 256.
--now
Wird dies mit enable oder disable verwandt, werden die Container auch gestartet oder ausgeschaltet.
Die Start- oder Ausschaltaktion wird nur ausgeführt, wenn die entsprechende Aktivierungs- oder
Deaktivierungsaktion erfolgreich war.
Hinzugefügt in Version 253.
--force
Ersetzt die Zieldatei beim Kopieren von Dateien.
Hinzugefügt in Version 219.
--max-addresses=
Begrenzt bei der Verwendung mit dem Befehl list-machines die Anzahl der für jede Maschine angezeigten
IP-Adressen. Standardmäßig 1. Durch Verwendung von »all« können alle Adressen angefordert werden.
Falls die Begrenzung 0 ist, wird die Adressspalte nicht angezeigt. Falls andernfalls die Maschine
mehr Adressen als angezeigt hat, dann folgt »…« der letzten Adresse.
Hinzugefügt in Version 232.
-q, --quiet
Unterdrückt bei der Ausführung zusätzliche informative Ausgaben.
Hinzugefügt in Version 236.
-H, --host=
Führt die Aktion aus der Ferne aus. Geben Sie den Rechnernamen oder einen Benutzernamen und
Rechnernamen (getrennt durch »@«) an, zu dem verbunden werden soll. Dem Rechnernamen darf optional
ein Port, auf dem SSH auf Anfragen wartet, getrennt durch »:« und dann ein Container-Name, abgetrennt
durch »/«, folgen, womit direkt zu einem bestimmten Container auf dem angegebenen Rechner verbunden
wird. Dies verwendet SSH, um mit der Maschinen-Verwalterinstanz auf dem Rechner in der Ferne zu
kommunizieren. Container-Namen dürfen mit machinectl -H RECHNER aufgezählt werden. Setzen Sie
IPv6-Adressen in Klammern.
-M, --machine=
Verbindet zu dem in dem lokalen Container laufenden systemd-machined.service(8), um die angegebenen
Aktionen innerhalb des Containers auszuführen.
Hinzugefügt in Version 235.
--no-pager
Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter.
--no-legend
Gibt die Legende nicht aus, d.h. die Spaltenköpfe und die Fußzeile mit Hinweisen.
--no-ask-password
Befragt den Benutzer nicht für Authentifizierung für privilegierte Aktionen.
-h, --help
Zeigt einen kurzen Hilfetext an und beendet das Programm.
--version
Zeigt eine kurze Versionszeichenkette an und beendet das Programm.
MASCHINEN- UND ABBILDNAMEN
Das Werkzeug machinectl agiert auf Maschinen und Abbildern, deren Namen strengen Regeln folgen müssen.
Maschinennamen müssen für den Einsatz als Rechnernamen geeignet sein und daher einer konservativen
Teilmenge der DNS- und UNIX/Linux-Semantik folgen. Insbesondere müssen sie aus einer oder mehreren, durch
Punkte getrennten nicht-leeren Kennzeichnungszeichenketten bestehen. Es sind keine Punkte am Anfang oder
Ende erlaubt. Es ist keine Abfolge von mehreren Punkten erlaubt. Die Kennzeichnungszeichenkette darf nur
aus alphanumerischen Zeichen sowie dem Binde- und dem Unterstrich bestehen. Die maximale Länge von
Maschinennamen ist 64 Zeichen.
Eine besondere Maschine mit dem Namen ».host« bezieht sich auf den laufenden Rechner selbst. Dies ist
auch für die Ausführung von Aktionen oder Untersuchungen des Rechners selbst nützlich. Beachten Sie, dass
machinectl list diese besondere Maschine nur anzeigt, wenn der Schalter --all angegeben ist.
Anforderungen an Abbildnamen sind allerdings weniger streng. Sie müssen gültiges UTF-8 und als Dateinamen
geeignet sein (und damit weder der einzelne noch der doppelte Punkt sein noch Schrägstriche enthalten)
sowie keine Steuerzeichen enthalten. Da viele Aktionen nach einem Abbild über den Namen der angeforderten
Maschine suchen, wird empfohlen, Abbilder auf die gleiche strenge Art wie Maschinen zu benennen.
Ein besonderes Abbild mit dem Namen ».host« bezieht sich auf das Abbild des laufenden Rechners. Er wird
daher konzeptionell auf den oben beschriebenen Maschinennamen ».host« abgebildet. Beachten Sie, dass
machinectl list-images dieses besondere Abbild auch nur anzeigen wird, wenn --all angegeben ist.
DATEIEN UND VERZEICHNISSE
Maschinenabbilder werden bevorzugt in /var/lib/machines/ gespeichert, aber es wird auch in
/usr/local/lib/machines/ und /usr/lib/machines/ nach ihnen gesucht. Aus Kompatibilitätsgründen wird auch
das Verzeichnis /var/lib/container/ durchsucht. Beachten Sie, dass unterhalb von /usr/ gespeicherte
Abbilder immer als nur-lesbar betrachtet werden. Es ist möglich, Maschinenabbilder von anderen
Verzeichnissen nach /var/lib/machines/ zu symlinken, um sie der Steuerung durch machinectl zur Verfügung
zu stellen.
Beachten Sie, dass einige Abbildaktionen nur auf Btrfs-Dateisystemen unterstützt werden, effizient oder
atomar sind.
systemd-nspawn(1) und machinectl verstehen Plattenabbilder in drei Formaten:
• Ein einfacher Verzeichnisbaum, der die Dateien und Verzeichnisse des zu startenden Containers
enthält.
• Teildatenträger (auf Btrfs-Dateisystemen), die ähnlich zu den oben beschriebenen einfachen
Verzeichnissen sind. Sie verfügen allerdings über zusätzliche Vorteile, wie effizientes Klonen und
Kontingentmeldungen.
• »Rohe« Plattenabbilder, d.h. Binärabbilder von Platten mit einer GPT- oder MBR-Partitionstabelle.
Abbilder dieses Typs sind normale Dateien mit der Endung ».raw«.
Siehe systemd-nspawn(1) für weitere Informationen über Abbildformate, insbesondere dessen Optionen
--directory= und --image=.
BEISPIELE
Beispiel 1. Ein Ubuntu-RAW-Abbild herunterladen, ein Passwort für root setzen, es als ein Dienst starten
# importctl pull-raw -mN \
https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64-disk-kvm.img \
jammy
# systemd-firstboot --image=/var/lib/machines/jammy.raw --prompt-root-password --force
# machinectl start jammy
# machinectl login jammy
Dies lädt das angegebene .raw-Abbild herunter und stellt es unter dem lokalen Namen »jammy« zu Verfügung.
Dann wird mittels systemd-firstboot(1) darin ein Passwort für root gesetzt. Danach wird die Maschine als
Systemdienst gestartet. Mit dem letzten Befehl wird eine Anmeldeshell im Container angefordert.
EXIT-STATUS
Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.
UMGEBUNGSVARIABLEN
$SYSTEMD_LOG_LEVEL
Die maximale Protokollierstufe für ausgegebene Meldungen (Meldungen mit einer höheren
Protokollierstufe, d.h. weniger wichtige, werden unterdrückt). Akzeptiert eine Kommata-getrennte
Liste von Werten. Ein Wert kann einer der folgenden sein (in Reihenfolge absteigender Bedeutung):
emerg, alert, crit, err, warning, notice, info, debug oder eine Ganzzahl im Bereich 0…7. Siehe
syslog(3) für weitere Informationen. Jedem Wert kann optional eine Zeichenkette aus console, syslog,
kmsg oder journal gefolgt von einem Doppelpunkt vorangestellt werden, um die maximale
Protokollierstufe für dieses spezielle Protokollierziel zu setzen (d.h.
SYSTEMD_LOG_LEVEL=debug,console:info legt fest, dass auf der Stufe »debug« protokolliert werden soll,
außer beim Protokollieren auf die Konsole, die auf Stufe »info« erfolgen soll). Beachten Sie, dass
die globale maximale Protokollierstufe Priorität gegenüber jeder zielbezogenen maximalen
Protokollierstufe hat.
$SYSTEMD_LOG_COLOR
Ein logischer Wert. Falls true, werden auf das TTY geschriebene Nachrichten gemäß ihrer Priorität
eingefärbt.
Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das Terminal geschrieben werden,
da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbständig Nachrichten gemäß ihrer
Protokollierungsstufe einfärben.
$SYSTEMD_LOG_TIME
Ein logischer Wert. Falls true, wird den Protokollnachrichten der Konsole ein Zeitstempel
vorangestellt.
Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das Terminal oder in eine Datei
geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbständig
Zeitstempel basierend auf ihren Metadaten den Nachrichten anhängen.
$SYSTEMD_LOG_LOCATION
Ein logischer Wert. Falls true, wird den Protokollnachrichten ein Dateiname und eine Zeilenummer in
dem Quellcode, aus dem die Nachrichten stammen, vorangestellt.
Beachten Sie, dass der Protokollierort sowieso oft als Metadaten zu den Journal-Einträgen angehängt
ist. Die Aufnahme in den Nachrichtentext kann bei der Fehlersuche in Programmen dennoch praktisch
sein.
$SYSTEMD_LOG_TID
Ein logischer Wert. Falls true, wird den Nachrichten die aktuelle numerische Thread-Kennung (TID)
vorangestellt.
Beachten Sie, dass diese Informationen sowieso als Metadaten an Journal-Einträge angehängt wird. Die
Aufnahme direkt im Nachrichtentext kann aber trotzdem bei der Fehlersuche in Programmen praktisch
sein.
$SYSTEMD_LOG_TARGET
Das Ziel für Protokolliernachrichten. Entweder console (auf das angehängte TTY protokollieren),
console-prefixed (auf das angehängte TTY protokollieren, aber die Protokollierstufe und »Einrichtung«
voranstellen, siehe syslog(3)), kmsg (in den zirkulären Kernel-Protokollpuffer protokollieren),
journal (in das Journal protokollieren), journal-or-kmsg (in das Journal protokollieren, falls
verfügbar, und andernfalls nach Kmsg), auto (das geeignete Protokollierziel automatisch ermitteln,
die Vorgabe) oder null (die Protokollierung deaktivieren).
$SYSTEMD_LOG_RATELIMIT_KMSG
Ob Kmsg ratenlimitiert werden soll oder nicht. Akzeptiert einen logischen Wert. Standardmäßig »true«.
Falls deaktiviert, wird Systemd die nach Kmsg geschriebenen Meldungen nicht ratenlimitieren.
$SYSTEMD_PAGER, $PAGER
Zu verwendendes Textanzeigeprogramm, wenn --no-pager nicht angegeben ist. Falls gesetzt, wird
$SYSTEMD_PAGER verwandt, andernfalls $PAGER. setzt $PAGER außer Kraft. Falls weder $SYSTEMD_PAGER
noch $PAGER gesetzt sind, wird eine Reihe wohlbekannter Implementierungen von Textanzeigeprogrammen
der Reihe nach ausprobiert, einschließlich less(1) und more(1), bis eines gefunden wird. Falls keine
Implementierung eines Textanzeigeprogramms gefunden wird, wird keines aufgerufen. Setzen dieser
Umgebungsvariablen auf die leere Zeichenkette oder den Wert »cat« ist äquivalent zur Übergabe von
--no-pager.
Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, können $SYSTEMD_PAGER und $PAGER nur zum
Deaktivieren des Seitenanzeigeprogramms (mit »cat« oder »«) verwandt werden und werden ansonsten
ignoriert.
$SYSTEMD_LESS
Setzt die an less übergebenen Optionen (standardmäßig »FRSXMK«) außer Kraft.
Benutzer könnten insbesondere zwei Optionen ändern wollen:
K
Diese Option weist das Textanzeigeprogramm an, sich sofort beim Druck von Strg-C zu beenden. Um
less die Handhabung von Strg-C selbst zum Umschalten auf die Eingabeaufforderung zu erlauben,
setzen Sie diese Option zurück.
Falls der Wert von $SYSTEMD_LESS kein »K« enthält und less das aufgerufene Textanzeigeprogramm
ist, wird Strg+C durch das Programm ignoriert und muss durch das Textanzeigeprogramm selbst
gehandhabt werden.
X
Diese Option weist das Textanzeigeprogramm an, keine Termcap-Initialisierungs- und
-Deinitalisierungszeichenketten an das Terminal zu senden. Dies ist standardmäßig gesetzt, damit
die Darstellung von Befehlen selbst nach dem Beenden des Textanzeigeprogramms sichtbar bleibt.
Allerdings stehen dadurch einige Funktionen des Textanzeigeprogramms nicht zur Verfügung;
insbesondere ist das Scrollen in der Ausgabe mit der Maus nicht möglich.
Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESS keine Auswirkungen auf die
Ausführung von less(1) durch systemd(1)-Werkzeuge hat.
Siehe less(1) für weitere Ausführungen.
$SYSTEMD_LESSCHARSET
Setzt den an less zu übergebenden Zeichensatz (standardmäßig »utf-8«, falls das aufrufende Terminal
als UTF-8-kompatibel erkannt wurde) außer Kraft.
Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESSCHARSET keine Auswirkungen auf
die Ausführungen von less(1) durch systemd(1)-Werkzeuge hat.
$SYSTEMD_PAGERSECURE
Typische Seitenanzeigeprogramme wie less(1) unterstützen nebem dem seitenweisen Anzeigen (d.h. dem
Durchlaufen der Ausgabe) das Öffnen von oder Schreiben in andere Dateien und die Ausführung von
beliebigen Shell-Befehlen. Werden Befehle mit erhöhten Berechtigungen, beispielsweise unter sudo(8)
oder pkexec(1), aufgerufen, wird das Seitenanzeigeprogramm zur Sicherheitsgrenze. Es muss darauf
geachtet werden, dass nur Programme mit streng begrenzter Funktionalität als Seitenanzeigeprogramm
verwandt werden und unerwünschte interaktive Funktionalitäten wie das Öffnen oder Erstellen von neuen
Dateien oder das Starten von Subprozessen nicht erlaubt sind. Der »Sichere Modus« für das
Seitenanzeigeprogramm kann wie nachfolgend beschrieben aktiviert werden, falls das
Seitenanzeigeprogramm dies unterstützt (die meisten Seitenanzeigeprogramme sind nicht so geschrieben,
dass sie dies berücksichtigen). Es wird empfohlen, den »Sicheren Modus« explizit zu aktivieren oder
das Seitenanzeigeprogramm komplett mittels --no-pager oder PAGER=cat zu deaktivieren, wenn nicht
vertrauenswürdigen Benutzern die Ausführung von Programmen mit erhöhten Privilegien erlaubt wird.
Diese Option akzeptiert ein logisches Argument. Ist es auf »true« gesetzt, wird der »Sichere Modus«
des Seitenanzeigeprogramms aktiviert. Im »Sicheren Modus« wird LESSSECURE=1 beim Aufruf des
Seitenanzeigeprogramms gesetzt. Dies weist das Seiteanzeigeprogramm an, Befehle zum Öffnen oder
Erstellen von neuen Dateien sowie das Starten von Subprozessen zu deaktivieren. Derzeit ist nur von
less(1) bekannt, dass es diese Variable versteht und den »Sicheren Modus« implementiert.
Ist diese Variable auf »false« gesetzt, unterliegt das Seitenanzeigeprogramm keinen Beschränkungen.
Setzen auf SYSTEMD_PAGERSECURE=0 oder das Beibehalten der Variable von der geerbten Umgebung könnte
den Benutzern die Ausführung beliebiger Befehle erlauben.
Ist $SYSTEMD_PAGERSECURE nicht gesetzt, versuchen die Systemd-Werkzeuge automatisch herauszufinden,
ob der »Sicheren Modus« aktiviert werden soll und ob das Seitenanzeigeprogramm dies unterstützt. Der
»Sichere Modus« wird aktiviert, falls die effektive UID nicht mit der UID des Eigentümers der
Anmeldesitzung übereinstimmt, siehe geteuid(2) und sd_pid_get_owner_uid(3), oder wenn die Ausführung
unter Werkzeugen wie sudo(8) oder ähnlichem erfolgt ($SUDO_UID ist gesetzt [1]). In diesen Fällen
wird SYSTEMD_PAGERSECURE=1 gesetzt und Seitenanzeigeprogramme, von denen nicht bekannt ist, dass sie
den »Sicheren Modus« unterstützen, werden überhaupt nicht verwandt. Beachten Sie, dass diese
automatische Erkennung nur die typischsten Mechanismen zur Erlangung von Privilegien abdeckt und dem
Komfort dient. Es wird empfohlen, explizit $SYSTEMD_PAGERSECURE zu setzen oder das
Seitenanzeigeprogramm zu deaktivieren.
Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt sein muss, damit die Variablen $SYSTEMD_PAGER
oder $PAGER (außer zum Deaktivieren des Seitenanzeigeprogramms) berücksichtigt werden.
$SYSTEMD_COLORS
Akzeptiert ein logisches Argument. Wenn true, werden systemd und verwandte Hilfswerkzeuge Farben in
ihrer Ausgabe verwenden, andernfalls wird die Ausgabe einfarbig sein. Zusätzlich kann die Variable
eine der folgenden besonderen Werte annehmen: »16«, »256«, um die Verwendung von Farbe auf die
grundlegenden 16 bzw. 256 ANSI-Farben zu beschränken. Dies kann festgelegt werden, um die auf $TERM
und der vorliegenden Verbindung der Konsole basierende automatische Entscheidung außer Kraft zu
setzen.
$SYSTEMD_URLIFY
Dies muss ein logischer Wert sein. Er steuert, ob anklickbare Links für Terminal-Emulatoren, die dies
unterstützen, erstellt werden sollen. Dies kann angegeben werden, um die Entscheidung, die systemd
basierend auf $TERM und anderen Bedingungen trifft, außer Kraft zu setzen.
SIEHE AUCH
systemd(1), systemd-machined.service(8), systemd-nspawn(1), systemd.special(7), importctl(1), tar(1),
xz(1), gzip(1), bzip2(1)
ANMERKUNGEN
1. Es wird für andere Werkzeuge empfohlen, $SUDO_UID geeignet zu setzen und zu überprüfen und es als
allgemeine Schnittstelle zu behandeln.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.
systemd 257.6 MACHINECTL(1)