SYSTEMD-VMSPAWN(1) systemd-vmspawn SYSTEMD-VMSPAWN(1) BEZEICHNUNG systemd-vmspawn - Ein Betriebssystem in einer virtuellen Maschine erzeugen UBERSICHT systemd-vmspawn [OPTIONEN] [ARG] BESCHREIBUNG systemd-vmspawn kann zum Starten einer virtuellen Maschine aus einem Betriebssystemabbild verwandt werden. Es ist auf viele Arten ahnlich zu systemd-nspawn(1), startet aber eine vollstandige virtuelle Maschine anstatt Namensraume zu verwenden. Mittels der nativen Socket-Ubergabeschnittstelle (siehe sd_listen_fds(3) zu Details uber das genau verwandte Protokoll und die Reihenfolge, in der Dateideskriptoren ubergeben werden) konnen Dateideskriptoren fur /dev/kvm und /dev/vhost-vsock ubergeben werden. Diese Dateideskriptoren mussen mit den Namen >>kvm<< bzw. >>vhost-vsock<< ubergeben werden. Hinweis: Auf Systemen, die von Ubuntu/Debian abgeleitet sind, muss der Benutzer in der Gruppe >>kvm<< sein, damit er die VSOCK-Optionen verwenden kann und systemd-vmspawn funktioniert. OPTIONEN Uberschussige Argumente werden als zusatzliche Kernelbefehlszeilenargumente mittels SMBIOS weitergegeben. Die folgenden Optionen werden verstanden: -q, --quiet Schaltet jegliche Statusausgabe durch das Werkzeug selbst ab. Wenn dieser Schalter verwandt wird, wird die einzige Konsolenausgabe die des Betriebssystems der virtuellen Maschine selbst sein. Hinzugefugt in Version 256. --system, --user Legt fest, ob mit dem Benutzerverwalter oder dem Systemverwalter interagiert werden soll und ob mit der Benutzerinstanz oder der Systeminstanz von Machined registriert werden soll. Falls nicht angegeben, wird der Systemverwalter und dessen Machined-Instanz bei der Ausfuhrung als Root, andernfalls der Benutzerverwalter und dessen Machined-Instanz verwandt. Hinzugefugt in Version 260. Abbildoptionen -D, --directory= Verzeichnis, das als Wurzel fur die virtuelle Maschine verwandt werden soll. Es muss entweder --directory= oder --image= angegeben werden. Falls keines angegeben ist, wird --directory=. angenommen. Hinweis: Falls Sie ein Verzeichnis einhangen, das einem anderen Benutzer (nicht root) gehort, konnte die Option --private-users= notwendig sein, um in den Subuid-Namensraum des Benutzer abzubilden. Spater folgt ein Beispiel, wie /etc/subuid dafur verwandt werden kann. Hinzugefugt in Version 256. -i, --image= Wurzeldateisystem-Plattenabbild (oder Gerateknoten) fur die virtuelle Maschine. Hinzugefugt in Version 255. --image-format=FORMAT Legt das Format des Plattenabbildes fest, das an --image= ubergeben wird. Akzeptiert entweder >>raw<< oder >>qcow2<<. Standardmassig >>raw<<. Beachten Sie, dass >>qcow2<< nur fur regulare Dateien unterstutzt wird, nicht fur Blockgerate. Hinzugefugt in Version 260. -x, --ephemeral Falls nicht angegeben, wird die VM mit einem temporaren Schnappschuss von seinem Dateisystem ausgefuhrt, das sofort entfernt wird, wenn sich die VM beendet. Funktoniert aktuell nur mit --image=. Beachten Sie, dass --ephemeral nicht mit --extra-drive= funktioniert. Hinzugefugt in Version 260. Rechnerkonfiguration --cpus=CPUS Die Anzahl der CPUs, mit der die virtuelle Maschine gestartet werden soll. Standardmassig 1. Hinzugefugt in Version 255. --ram=BYTE Die Speichermenge, mit der die virtuelle Maschine gestartet werden soll. Standardmassig 2GB. Hinzugefugt in Version 255. --kvm=LOGISCH Steuert, ob KVM-Beschleunigung aktiviert wird. Falls nicht angegeben oder auf auto gesetzt, wird die Unterstutzung fur KVM automatisch erkannt. Falls true, wird auf KVM bestanden. Falls false, wird KVM deaktiviert. Hinzugefugt in Version 255. --vsock=LOGISCH Steuert, ob ein VSOCK-Socket fur Gaste reserviert wird. Falls nicht angegeben oder auf auto gesetzt, wird die Unterstutzung fur VSOCK-Vernetzung automatisch erkannt. Falls true, wird auf VSOCK bestanden. Falls false, wird VSOCK-Vernetzung deaktiviert. Hinzugefugt in Version 255. --vsock-cid=CID Setzt die angegebene CID fur die Verwendung durch den Gast. Gultige CIDs sind im Bereich 3 bis 4294967294 (0xFFFF_FFFE). CIDs ausserhalb dieses Bereichs sind reserviert. Standardmassig wird Vmspawn versuchen, eine CID fur den Gast abgeleitet vom Maschinennamen abzuleiten, und fallt auf eine zufallig CID zuruck, falls diese CID bereits genommen wurde. Hinzugefugt in Version 255. --tpm=LOGISCH Steuert, ob ein TPM-Gerat fur Gaste mittels swtpm(8) bereitgestellt wird. Falls nicht angegeben oder auf auto gesetzt, wird Vmspawn die Existenz des Swtpm-Programms automatisch erkennen. Falls yes, wird auf die Swtpm-Unterstutzung bestanden. Falls no, wird der TPM deaktiviert. Hinzugefugt in Version 256. --tpm-state=PFAD|auto|off Konfiguriert, wo der TPM-Zustand abgelegt werden soll, falls TPM-Unterstutzung aktiviert ist (siehe --tpm= weiter oben). Dies akzeptiert einen absoluten Dateisystempfad zu einem Verzeichnis, in dem der Zustand dauerhaft abgelegt werden soll. Falls das Verzeichnis nicht existiert, wird es nach Bedarf erzeugt. Falls auf die besondere Zeichenkette >>auto<< gesetzt, wird ein dauerhafter Pfad automatisch von dem VM-Abbildpfad oder -Verzeichnispfad abgeleitet, wobei die Endung >>.tpmstate<< angehangt wird. Falls auf die besondere Zeichenkette >>off<< gesetzt, wird der VM-Zustand nur vorubergehend beibehalten und verworfen, wenn die VM heruntergefahren wird. Dieser Modus ist nicht fur VMs geeignet, die Plattenverschlusselung an TPMs koppeln, da diese Schlussel bei jedem Neustart verloren gehen. Standardmassig >>auto<<. Falls --ephemeral angegeben wird, verhalt sich >>auto<< wie >>off<<. Hinzugefugt in Version 258. --linux=PFAD Setzt das fur direkten Kernelsystemstart zu verwendende Kernelabbild. Falls ein verzeichnisartiges Abbild verwandt wird und --linux= nicht angegeben wurde, wird Vmspawn nach Systemstartladereintragen entsprechend der UAPI.1-Systemstartladerspezifikation[1] unter der Annahme, dass sich XBOOTLDR unter /boot bzw. ESP unter /efi befindet, suchen. Falls im Abbild kein Kernel installiert wurde, dann wird der Systemstart des Abbilds fehlschlagen. Hinzugefugt in Version 256. --initrd=PFAD Setzt eine fur den direkten Kernelsystemstart zu verwendende Initrd. Falls das angegebene --linux= ein Typ-#2-Eintrag gemass der UAPI.1-Systemstartladerspezifikation[1] ist, dann wird dieses Argument nicht benotigt. Falls im Abbild keine Initrd installiert wurde, dann wird der Systemstart des Abbilds fehlschlagen. --initrd= kann mehrfach angegeben werden und Vmspawn wird sie zusammenfuhren. Hinzugefugt in Version 256. -n, --network-tap Erstellt ein TAP-Gerat fur die Vernetzung mit der virtuellen Maschine. Beachten Sie: Fur die Verwendung von TAP-Vernetzung werden Root-Rechte benotigt. Zusatzlich muss systemd-networkd(8) laufen und auf dem Hauptrechner korrekt eingerichtet sein, um die Schnittstelle bereitzustellen. Die relevante >>.network<<-Datei kann unter /usr/lib/systemd/network/80-vm-vt.network gefunden werden. Hinzugefugt in Version 255. --network-user-mode Benutzermodus-Vernetzung verwenden. Hinzugefugt in Version 255. --firmware=PFAD Akzeptiert einen absoluten Pfad oder einen relativen Pfad, der mit ./. beginnt. Legt eine JSON-Firmware-Definitionsdatei fest, die die Auswahl der Firmware ermoglicht, mit der in die VM gestartet wird. Falls nicht angegeben, wird eine geeignete Firmware automatisch erkannt. Falls die besondere Zeichenkette >>list<< angegeben ist, werden alle erkannten Firmwaren aufgelistet. Hinzugefugt in Version 256. --discard-disk=LOGISCH Steuert, ob Qemu-Prozesse Anfragen von der VM verwerfen. Dies verhindert, dass langlaufende VMs mehr Plattenplatz als benotigt verwenden. Dies ist standardmassig aktiviert. Hinzugefugt in Version 256. --secure-boot=LOGISCH Konfiguriert, ob nach Firmware gesucht werden soll, die sicheren Systemstart unterstutzt. Falls diese Option nicht angegeben oder auf auto gesetzt ist, wird die erste erkannte Firmware verwandt. Falls diese Option auf >>yes<< gesetzt ist, dann wird die erste Firmware mit Unterstutzung fur sicheren Systemstart ausgewahlt. Falls >>no<< angegeben ist, dann wird die erste Firmware ohne sicheren Systemstart ausgewahlt. Hinzugefugt in Version 255. --grow-image=BYTE, -G BYTE Vergrossert das durch --image= angegebene Abbild auf die angegebene Grosse in Byte, falls es kleiner ist. Es wird keine Aktion durchgefuhrt, falls keine Abbilddatei verwandt wird oder die Datei bereits so gross (oder grosser als) angefordert ist. Die angegebene Grosse akzeptiert die normalen Endungen K, M, G (zur Basis 1024). Angegebene Werte werden auf Vielfaches von 4096 aufgerundet. Hinzugefugt in Version 258. --smbios11=ZEICHENKETTE, -s ZEICHENKETTE Ubergibt die angegebene Zeichenkette als SMBIOS-Typ-#11-Lieferantenzeichenkette an die VM. Dies ist fur die Parametrisierung der aufgerufenen VM auf verschiedene Arten nutzlich. Weitere Details finden Sie in smbios-type-11(7). Hinzugefugt in Version 258. --notify-ready= Konfiguriert Unterstutzung fur Benachrichtigungen aus dem Init-Prozess der VM an systemd-vmspawn. Falls true, wird systemd-vmspawn erst als bereit betrachten, wenn es eine Meldung >>READY=1<< aus dem Init-Prozess in der VM erhalten hat. Falls false, wird systemd-vmspawn die Maschine direkt nach der Erstellung als bereit betrachten. In beiden Fallen sendet systemd-vmspawn seine eigene Bereitschaftsbenachrichtigung an seinen Verwalteter, nachdem die erzeugte VM bereit ist. Weitere Details zur Benachrichtigung finden Sie in sd_notify(3). Standardmassig true. (Beachten Sie, dass dies anders als die Option mit gleichem Namen in systemd-nspawn(1) ist, deren Vorgabe false ist.) Hinzugefugt in Version 258. Systemidentitatsoptionen -M, --machine= Setzt den Maschinennamen fur diese virtuelle Maschine. Dieser Name kann zur Identifizierung dieser virtuellen Maschine wahrend seiner Laufzeit verwandt werden (beispielsweise in Werkzeugen wie machinectl(1) und ahnlichen). Hinzugefugt in Version 255. --uuid= Setzt die angegebene UUID fur die virtuelle Maschine. Das Init-System wird /etc/machine-id daraus initialisieren, falls diese Datei noch nicht gesetzt ist. Beachten Sie, dass diese Option nur wirksam wird, falls /etc/machine-id in der virtuellen Maschine noch nicht befullt ist. Hinzugefugt in Version 256. Eigenschaftsoptionen -S, --slice= Fugt die VM zu der angegebenen Scheibe hinzu, anstelle von machine.slice. Dies gilt nur, wenn die Maschine in ihrer eigenen Bereichs-Unit ausgefuhrt wird, d.h. falls --keep-unit nicht verwandt wird. Hinzugefugt in Version 258. --property= Setzt eine Unit-Eigenschaft auf der Bereichs-Unit zur Registrierung fur die Maschine. Dies gilt nur, falls die Maschine in ihrer eigenen Bereichs-Unit ausgefuhrt wird, d.h. falls --keep-unit nicht verwandt wird. Akzeptiert eine Bereichs-Zuweisung in dem gleichen Format wie systemctl set-property. Dies ist zum Setzen von Speicherbegrenzungen und ahnlichem fur die VM nutzlich. Hinzugefugt in Version 258. --register= Steuert, ob die virtuelle Maschine mit systemd-machined(8) registriert wird. Akzeptiert ein logisches Argument, das standardmassig >>yes<< ist, wenn die Ausfuhrung als root erfolgt und >>no<< bei einem regularen Benutzer. Dies stellt sicher, dass mit machinectl(1) auf die virtuelle Maschine zugegriffen werden kann. Beachten Sie: Root-Rechte werden fur diese Option benotigt, da das Registrieren mit systemd-machined(8) privilegierte D-Bus-Methodenaufrufe benotigt. Hinzugefugt in Version 256. Benutzer-Namensraum-Optionen --private-users=UID_VERSCHUB[:UID_BEREICH] Steuert die Benutzer-Namensraumnutzung unter --directory=. Falls aktiviert, wird virtiofsd(1) angewiesen, die Benutzer- und Gruppenkennungen (UIDs und GIDs) abzubilden. Dies bezieht die Abbildung der in der virtuellen Maschine verwandten privaten UIDs/GIDs ein (beginnend mit dem Benutzer root 0 und hoher in der virtuellen Maschine) bis zu einem Bereich von UIDs/GIDs auf der Hauptmaschine, die nicht fur andere Zwecke verwandt werden (normalerweise in dem Bereich hinter der UID/GID 65536 auf der Hauptmaschine). Falls eine oder zwei, durch Doppelpunkt getrennte Zahlen angegeben werden, wird Benutzer-Namensraumnutzung eingeschaltet. UID_VERSCHUB legt die erste auf dem Hauptrechner abzubildende UID/GID fest, UID_BEREICH ist optional und gibt die Anzahl der auf der Hauptmaschine an die virtuelle Maschine zuzuweisenden UIDs/GIDs an. Falls UID_BEREICH ausgelassen wird, werden 65536 UIDs/GIDs zugewiesen. Wenn Benutzernamensraume verwandt werden, wird der jeder virtuellen Maschine zugewiesene GID-Bereich so gewahlt, dass er immer identisch zum UID-Bereich ist. Hinzugefugt in Version 256. Einhange-Optionen --bind=PFAD, --bind-ro=PFAD Hangt ein Verzeichnis von der Hauptmaschine in die virtuelle Maschine ein. Akzeptiert entweder ein Pfadargument - in diesem Fall wird der angegebene Pfad von der Hauptmaschine in den gleichen Pfad in der virtuellen Maschine eingehangt - oder ein Doppelpunkt-getrenntes Paar an Pfaden - in diesem Fall ist der erste angegebene Pfad die Quelle in der Hauptmaschine und der zweite Pfad das Ziel in der virtuellen Maschine. Falls der Quellpfad nicht absolut ist, wird er relativ zum aktuellen Arbeitsverzeichnis aufgelost. Die Option --bind-ro= erstellt schreibgeschutzte Bind-Einhangungen. Ruckwartsschragstrich-Maskierungen werden interpretiert, so dass >>\:<< zum Einbetten von Doppelpunkten in die Pfade verwandt werden kann. Diese Option kann mehrfach angegeben werden, um mehrere unabhangige Bind-Einhangepunkte zu erstellen. Hinzugefugt in Version 256. --extra-drive=[FORMAT:]PFAD Akzeptiert ein Plattenabbild oder Blockgerat auf dem Hauptrechner und stellt es der virtuellen Maschine als weiteres Laufwerk bereit. Optional kann das Abbildformat durch Voranstellen vor dem Pfad mit >>raw<< oder >>qcow2<< und eines Doppelpunktes angegeben werden. Die Vorgabe fur Format ist >>raw<<. Beachten Sie, dass >>qcow2<< nur fur regulare Dateien und nicht fur Blockgerate unterstutzt wird. Hinzugefugt in Version 256. --bind-user= Bindet das Home-Verzeichnis des angegebenen Benutzers auf dem Hauptrechner in die virtuelle Maschine. Akzeptiert den Namen eines bestehenden Benutzers auf der Hauptmaschine als Argument. Kann mehrfach verwandt werden, um mehrere Benutzer in die virtuelle Maschine zu binden. Dies macht zwei Dinge: 1. Das Home-Verzeichnis des Benutzers vom Hauptrechner wird unter /run/vmhost/home/ mittels Virtiofs verfugbar gemacht. Die Kennungsubersetzung von Virtiofsd wird zur Abbildung der UID/GID des Hauptrechners auf die zugewiesenen UID/GID in der virtuellen Maschine verwandt. 2. Es werden JSON-Benutzer- und -Gruppendatensatze erstellt, die die abgebildeten Benutzer, die in die virtuelle Maschine mittels >>userdb.transient.*<< ubergeben werden, beschreiben. Sie enthalten eine minimierte Darstellung des Benutzerdatensatzes des Hauptrechners, angepasst auf die UID/GID und den Home-Verzeichnispfad, der dem Benutzer in der virtuellen Maschine zugewiesen ist. Das Glibc-NSS-Modul nss-systemd(8) wird diese Datensatze dort aufnehmen und sie in der Benutzer-/Gruppendatenbank der virtuellen Maschine zur Verfugung stellen. Die Kombination der zwei obigen Aktionen stellt sicher, dass es moglich ist, sich in der virtuellen Maschine mit den gleichen Kontoinformationen wie auf der Hauptmaschine anzumelden. Der Benutzer wird nur vorubergehend abgebildet, wahrend die virtuelle Maschine lauft, und die Abbildung selbst fuhrt zu keiner dauerhaften Anderungen an der virtuellen Maschine (ausser ggf. der bei der Anmeldung erstellten Protokollmeldungen und ahnlichem). Beachten Sie insbesondere, dass die UID/GID-Zuweisung in der virtuellen Maschine nicht dauerhaft ist. Falls der Benutzer vorubergehend abgebildet wird, ist es am besten, dem Benutzer dauerhafte Anderungen an der virtuellen Maschine zu verbieten. Falls der Benutzer Dateien oder Verzeichnisse, die dem Benutzer gehoren, hinterlasst und diese UIDs/GIDs wahrend spaterer Aufrufe der virtuellen Maschine wiederbenutzt werden (moglicherweise mit einer anderen Abbildung --bind-user=), kann der >>neu<< Benutzer auf diese Dateien und Verzeichnisse zugreifen. Die Benutzer-/Gruppendatensatz-Abbildung funktioniert nur, wenn die virtuelle Maschine Systemd 258 oder neuer enthalt, wobei nss-systemd(8) geeignet in nsswitch.conf konfiguriert ist. Weitere Details finden Sie in nss-systemd(8). Beachten Sie, dass der vom Hauptrechner in die virtuelle Maschine weitergeleitete Benutzerdatensatz den UNIX-Passwort-Hash des Benutzer enthalt, so dass nahtlose Anmeldungen in der virtuellen Maschine moglich sind. Falls der virtuellen Maschine weniger als dem Hauptrechner vertraut wird, ist es daher wichtig, eine starke UNIX-Passwort-Hash-Funktion zu verwenden (z.B. yescrypt oder ahnliches, mit dem Hash-Prafix >>$y$<<). Hinzugefugt in Version 259. --bind-user-shell= Bei der Verwendung mit --bind-user= wird die angegebene Shell in die Benutzerdatensatz der in die virtuelle Maschine eingebundenen Benutzer aufgenommen. Akzeptiert entweder einen logischen Wert oder einen absoluten Pfad. o Falls false (die Vorgabe), wird keine Shell in den Benutzerdatensatzen fur Benutzer ubergeben, die in die virtuelle Maschine eingebunden sind. Damit werden eingebundene Benutzer die Standard-Shell der virtuellen Maschine verwenden. o Falls true werden die durch die Benutzerdatensatze des Hauptrechners festgelegten Shells in die Benutzerdatensatze aller in die virtuelle Maschine eingebundenen Benutzer aufgenommen. o Falls ein absoluter Pfad ubergeben wird, wird dieser Pfad als Shell fur Benutzerdatensatze aller in die virtuelle Maschine eingebundenen Benutzer gesetzt. Hinweis: Dies pruft nicht, ob die angegebenen Shells in der virtuellen Maschine existieren. Diese Aktion wird nur in Kombination mit --bind-user= unterstutzt. Hinzugefugt in Version 259. --bind-user-group=NAME Bei der Verwendung mit --bind-user= wird die angegebene Gruppe als eine Hilfsgruppe in den Benutzerdatensatz des in die virtuelle Maschine eingebundenen Benutzers aufgenommen. Akzeptiert einen Gruppennamen. Hinweis: Dies pruft nicht, ob die angegebenen Gruppen in der virtuellen Maschine existieren. Diese Aktion wird nur in Kombination mit --bind-user= unterstutzt. Hinzugefugt in Version 259. Integrationsoptionen --forward-journal=DATEI|VERZ Leitet das Journal der virtuellen Maschine an die Hauptmaschine weiter. Derzeit wird systemd-journal-remote(8) verwandt, um die weitergeleiteten Journal-Eintrage des Gasts zu empfangen. Diese Option bestimmt, wo das Journal auf der Hauptmaschine empfangen wird und sie hat die gleiche Semantik wie sie fur -o/--output in systemd-journal-remote(8) beschrieben ist. Hinzugefugt in Version 256. --pass-ssh-key=LOGISCH Standardmassig wird ein SSH-Schlussel erstellt, um es systemd-vmspawn zu erlauben, eine D-Bus-Verbindung zu dem Systemd-Bus der VM aufzubauen. Durch Setzen auf >>no<< wird die SSH-Schlusselerstellung deaktiviert. Die erstellten Schlussel sind kurzlebig. Das bedeutet, dass sie nur fur den aktuellen Aufruf von systemd-vmspawn gultig sind und typischerweise nicht dauerhaft bestehen. Hinzugefugt in Version 256. --ssh-key-type=TYP Konfiguriert die Art der zu erstellenden SSH-Schlussel, siehe ssh-keygen(1) fur weitere Informationen. Standardmassig werden >>ed25519<<-Schlussel erstellt, allerdings konnten >>rsa<<-Schlussel auch nutzlich sein, falls die VM eine bessonders alte Version von sshd(8) verwendet. Hinzugefugt in Version 256. Ein-/Ausgabe-Optionen --console=MODUS Konfiguriert, wie die Konsole der VM eingerichtet werden soll. Akzeptiert entweder >>interactive<<, >>read-only<<, >>native<< oder >>gui<<. Standardmassig >>interactive<<. >>interactive<< stellt eine interaktive Terminalschnittstelle zu der VM bereit. >>read-only<< ist ahnlich, aber streng schreibgeschutzt, d.h. sie akzeptiert keinerlei Eingabe vom Benutzer. >>native<< stellt auch eine TTY-basierte Schnittstelle bereit, verwendet aber die native Implementierung von Qemu (was bedeutet, dass der Qemu-Monitor verfugbar ist). >>gui<< zeigt die graphische Oberflache von Qemu. Hinzugefugt in Version 256. --background=FARBE Andert die Terminal-Hintergrundfarbe auf die angegebene ANSI-Farbe, solange die VM lauft. Die angegebene Farbe sollte eine ANSI-X3.64-SGR-Hintergrundfarbe sein, d.h. Zeichenketten wie >>40<<, >>41<<, , >>47<<, >>48;2;<<, >>48;5;<<. Siehe ANSI-Maskier-Code (Wikipedia)[2] zu Details. Weisen Sie eine leere Zeichenkette zu, um jegliche Einfarbung zu deaktivieren. Dies hat nur in den Modi --console=interactive und --console=read-only Auswirkungen. Hinzugefugt in Version 256. Zugangsdaten --load-credential=KENNUNG:PFAD, --set-credential=KENNUNG:WERT Gibt ein Zugangsdatum an die virtuelle Maschine. Diese zwei Optionen entsprechend den Einstellungen LoadCredential= und SetCredential= in Unit-Dateien. Siehe systemd.exec(5) zu Details uber diese Konzepte, sowie die Syntax der Argumente der Optionen. Um Binardaten in die Zugangsdaten fur --set-credential= einzubetten, verwenden Sie C-artige Maskierung (d.h. >>\n<< fur einen eingebetteten Zeilenumbruch oder >>\x00<<, um ein Nullbyte (NUL) einzubetten). Beachten Sie, dass die aufrufende Shell die Maskierungen bereits einmal entfernt haben konnte, daher konnte eine doppelte Maskierung notwendig sein! Hinzugefugt in Version 255. Andere --no-pager Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter. -h, --help Zeigt einen kurzen Hilfetext an und beendet das Programm. --version Zeigt eine kurze Versionszeichenkette an und beendet das Programm. --no-ask-password Befragt den Benutzer nicht fur Authentifizierung fur privilegierte Aktionen. UMGEBUNGSVARIABLEN $SYSTEMD_LOG_LEVEL Die maximale Protokollierstufe fur ausgegebene Meldungen (Meldungen mit einer hoheren Protokollierstufe, d.h. weniger wichtige, werden unterdruckt). 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 07. Siehe syslog(3) fur weitere Informationen. Jedem Wert kann optional eine Zeichenkette aus console, syslog, kmsg oder journal gefolgt von einem Doppelpunkt vorangestellt werden, um die maximale Protokollierstufe fur dieses spezielle Protokollierziel zu setzen (d.h. SYSTEMD_LOG_LEVEL=debug,console:info legt fest, dass auf der Stufe >>debug<< protokolliert werden soll, ausser beim Protokollieren auf die Konsole, die auf Stufe >>info<< erfolgen soll). Beachten Sie, dass die globale maximale Protokollierstufe Prioritat gegenuber jeder zielbezogenen maximalen Protokollierstufe hat. $SYSTEMD_LOG_COLOR Ein logischer Wert. Falls true, werden auf das TTY geschriebene Nachrichten gemass ihrer Prioritat eingefarbt. Diese Einstellung ist nur nutzlich, falls die Nachrichten direkt auf das Terminal geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbstandig Nachrichten gemass ihrer Protokollierungsstufe einfarben. $SYSTEMD_LOG_TIME Ein logischer Wert. Falls true, wird den Protokollnachrichten der Konsole ein Zeitstempel vorangestellt. Diese Einstellung ist nur nutzlich, falls die Nachrichten direkt auf das Terminal oder in eine Datei geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbstandig Zeitstempel basierend auf ihren Metadaten den Nachrichten anhangen. $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-Eintragen angehangt 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-Eintrage angehangt wird. Die Aufnahme direkt im Nachrichtentext kann aber trotzdem bei der Fehlersuche in Programmen praktisch sein. $SYSTEMD_LOG_TARGET Das Ziel fur Protokolliernachrichten. Entweder console (auf das angehangte TTY protokollieren), console-prefixed (auf das angehangte TTY protokollieren, aber die Protokollierstufe und >>Einrichtung<< voranstellen, siehe syslog(3)), kmsg (in den zirkularen Kernel-Protokollpuffer protokollieren), journal (in das Journal protokollieren), journal-or-kmsg (in das Journal protokollieren, falls verfugbar, 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. Standardmassig >>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 ausser Kraft. Falls weder $SYSTEMD_PAGER noch $PAGER gesetzt sind, wird eine Reihe wohlbekannter Implementierungen von Textanzeigeprogrammen der Reihe nach ausprobiert, einschliesslich 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 aquivalent zur Ubergabe von --no-pager. Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, konnen $SYSTEMD_PAGER und $PAGER nur zum Deaktivieren des Seitenanzeigeprogramms (mit >>cat<< oder >><<) verwandt werden und werden ansonsten ignoriert. $SYSTEMD_LESS Setzt die an less ubergebenen Optionen (standardmassig >>FRSXMK<<) ausser Kraft. Benutzer konnten insbesondere zwei Optionen andern 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 zuruck. Falls der Wert von $SYSTEMD_LESS kein >>K<< enthalt 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 standardmassig gesetzt, damit die Darstellung von Befehlen selbst nach dem Beenden des Textanzeigeprogramms sichtbar bleibt. Allerdings stehen dadurch einige Funktionen des Textanzeigeprogramms nicht zur Verfugung; insbesondere ist das Scrollen in der Ausgabe mit der Maus nicht moglich. Beachten Sie, dass das Setzen der regularen Umgebungsvariablen $LESS keine Auswirkungen auf die Ausfuhrung von less(1) durch systemd(1)-Werkzeuge hat. Siehe less(1) fur weitere Ausfuhrungen. $SYSTEMD_LESSCHARSET Setzt den an less zu ubergebenden Zeichensatz (standardmassig >>utf-8<<, falls das aufrufende Terminal als UTF-8-kompatibel erkannt wurde) ausser Kraft. Beachten Sie, dass das Setzen der regularen Umgebungsvariablen $LESSCHARSET keine Auswirkungen auf die Ausfuhrungen von less(1) durch systemd(1)-Werkzeuge hat. $SYSTEMD_PAGERSECURE Typische Seitenanzeigeprogramme wie less(1) unterstutzen nebem dem seitenweisen Anzeigen (d.h. dem Durchlaufen der Ausgabe) das Offnen von oder Schreiben in andere Dateien und die Ausfuhrung von beliebigen Shell-Befehlen. Werden Befehle mit erhohten 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 Funktionalitat als Seitenanzeigeprogramm verwandt werden und unerwunschte interaktive Funktionalitaten wie das Offnen oder Erstellen von neuen Dateien oder das Starten von Subprozessen nicht erlaubt sind. Der >>Sichere Modus<< fur das Seitenanzeigeprogramm kann wie nachfolgend beschrieben aktiviert werden, falls das Seitenanzeigeprogramm dies unterstutzt (die meisten Seitenanzeigeprogramme sind nicht so geschrieben, dass sie dies berucksichtigen). Es wird empfohlen, den >>Sicheren Modus<< explizit zu aktivieren oder das Seitenanzeigeprogramm komplett mittels --no-pager oder PAGER=cat zu deaktivieren, wenn nicht vertrauenswurdigen Benutzern die Ausfuhrung von Programmen mit erhohten 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 Offnen 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 Beschrankungen. Setzen auf SYSTEMD_PAGERSECURE=0 oder das Beibehalten der Variable von der geerbten Umgebung konnte den Benutzern die Ausfuhrung 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 unterstutzt. Der >>Sichere Modus<< wird aktiviert, falls die effektive UID nicht mit der UID des Eigentumers der Anmeldesitzung ubereinstimmt, siehe geteuid(2) und sd_pid_get_owner_uid(3), oder wenn die Ausfuhrung unter Werkzeugen wie sudo(8) oder ahnlichem erfolgt ($SUDO_UID ist gesetzt [3]). In diesen Fallen wird SYSTEMD_PAGERSECURE=1 gesetzt und Seitenanzeigeprogramme, von denen nicht bekannt ist, dass sie den >>Sicheren Modus<< unterstutzen, werden uberhaupt 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 (ausser zum Deaktivieren des Seitenanzeigeprogramms) berucksichtigt werden. $SYSTEMD_COLORS Akzeptiert ein logisches Argument oder einen besonderen Wert. Standardmassig (nicht gesetzt) werden systemd und zugehorige Hilfswerkzeuge in ihrer Ausgabe Farben verwenden, falls dies moglich ist. Falls $COLORTERM auf >>truecolor<< oder >>24bit<< gesetzt ist, werden 24-bit-Farben aktiviert, ansonsten 256 Farben, ausser wenn $NO_COLOR gesetzt ist oder $TERM anzeigt, dass Farben deaktiviert sind. true Identisch zu nicht gesetzt, ausser dass $NO_COLOR ignoriert wird. false Die Ausgabe erfolgt monochrom. >>16<<, >>256<<, >>24bit<< Verwendet immer die 16, 256 bzw. 24-bit-ANSI-Basisfarben. >>auto-16<<, >>auto-256<<, >>auto-24bit<< Verwendet die angegebene Menge an Farben, abhangig von $TERM und womit die Konsole verbunden ist. $SYSTEMD_URLIFY Dies muss ein logischer Wert sein. Er steuert, ob anklickbare Links fur Terminal-Emulatoren, die dies unterstutzen, erstellt werden sollen. Dies kann angegeben werden, um die Entscheidung, die systemd basierend auf $TERM und anderen Bedingungen trifft, ausser Kraft zu setzen. BEISPIELE Beispiel 1. Ausfuhren eines durch Mkosi erstellten Arch-Linux-VM-Abbildes $ mkosi -d arch -p systemd -p linux --autologin -o image.raw -f build $ systemd-vmspawn --image=image.raw Beispiel 2. Ein Fedora-43-Cloud-Abbild mittels importctl importieren und ausfuhren $ curl -L \ -O https://download.fedoraproject.org/pub/fedora/linux/releases/43/Cloud/x86_64/images/Fedora-Cloud-Base-Generic-43-1.6.x86_64.qcow2 \ -O https://download.fedoraproject.org/pub/fedora/linux/releases/43/Cloud/x86_64/images/Fedora-Cloud-43-1.6-x86_64-CHECKSUM \ -O https://fedoraproject.org/fedora.gpg $ gpgv --keyring ./fedora.gpg Fedora-Cloud-43-1.6-x86_64-CHECKSUM $ sha256sum -c Fedora-Cloud-43-1.6-x86_64-CHECKSUM # importctl import-raw -m Fedora-Cloud-Base-Generic-43-1.6.x86_64.qcow2 fedora-43-cloud # systemd-vmspawn -M fedora-43-cloud Beispiel 3. Systemds Systemabbild bauen und ausfuhren und das Journal der VM in eine lokale Datei weiterleiten $ mkosi build $ systemd-vmspawn \ -D mkosi.output/system \ --private-users $(grep $(whoami) /etc/subuid | cut -d: -f2) \ --linux mkosi.output/system.efi \ --forward-journal=vm.journal \ enforcing=0 Hinweis: Dieses Beispiel verwendet ein Kernelbefehlszeilenargument um sicherzustellen, dass SELinux nicht im Erzwingungsmodus startet. Beispiel 4. SSH in eine laufende VM mittels systemd-ssh-proxy $ mkosi build $ my_vsock_cid=3735928559 $ systemd-vmspawn \ -D mkosi.output/system \ --private-users $(grep $(whoami) /etc/subuid | cut -d: -f2) \ --linux mkosi.output/system.efi \ --vsock-cid $my_vsock_cid \ enforcing=0 $ ssh root@vsock/$my_vsock_cid -i /run/user/$UID/systemd/vmspawn/machine-*-system-ed25519 EXIT-STATUS Falls ein Fehler auftrat, wird der Wert Errno an den Ruckgabe-Code weitergeleitet. Falls durch das laufende Abbild EXIT_STATUS bereitgestellt wird, wird dies zuruckgegeben. Andernfalls wird EXIT_SUCCESS zuruckgegeben. SIEHE AUCH systemd(1), mkosi(1), machinectl(1), importctl(1), UAPI.1-Systemstartladerspezifikation[1] ANMERKUNGEN 1. UAPI.1-Systemstartladerspezifikation https://uapi-group.org/specifications/specs/boot_loader_specification 2. ANSI-Maskier-Code (Wikipedia) https://en.wikipedia.org/wiki/ANSI_escape_code#Select_Graphic_Rendition_parameters 3. Es wird fur andere Werkzeuge empfohlen, $SUDO_UID geeignet zu setzen und zu uberprufen und es als allgemeine Schnittstelle zu behandeln. UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . systemd 260.2 SYSTEMD-VMSPAWN(1)