SYSTEMD-VMSPAWN(1) systemd-vmspawn SYSTEMD-VMSPAWN(1)

systemd-vmspawn - Ein Betriebssystem in einer virtuellen Maschine erzeugen

ÜBERSICHT

systemd-vmspawn [OPTIONEN…] [ARG…]

systemd-vmspawn kann zum Starten einer virtuellen Maschine aus einem Betriebssystemabbild verwandt werden. Es ist auf viele Arten ähnlich zu systemd-nspawn(1), startet aber eine vollständige virtuelle Maschine anstatt Namensräume zu verwenden.

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.

Überschüssige Argumente werden als zusätzliche Kernelbefehlszeilenargumente mittels SMBIOS weitergegeben.

Die folgenden Optionen werden verstanden:

-D, --directory=

Verzeichnis, das als Wurzel für 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 einhängen, das einem anderen Benutzer (nicht root) gehört, könnte die Option --private-users= notwendig sein, um in den Subuid-Namensraum des Benutzer abzubilden. Später folgt ein Beispiel, wie /etc/subuid dafür verwandt werden kann.

Hinzugefügt in Version 256.

-i, --image=

Wurzeldateisystem-Plattenabbild (oder Geräteknoten) für die virtuelle Maschine.

Hinzugefügt in Version 255.

--qemu-smp=SMP

Konfiguriert die Anzahl der CPUs, mit der die virtuelle Maschine gestartet werden soll. Standardmäßig 1.

Hinzugefügt in Version 255.

--qemu-mem=MEM

Konfiguriert die Speichermenge, mit der die virtuelle Maschine gestartet werden soll. Standardmäßig 2GB.

Hinzugefügt in Version 255.

--qemu-kvm=LOGISCH

Konfiguriert, ob KVM verwandt werden soll. Falls diese Option nicht angegeben wird, wird die Unterstützung für KVM automatisch erkannt. Falls wahr, wird KVM immer verwandt, und falls falsch, wird KVM niemals verwandt.

Hinzugefügt in Version 255.

--qemu-vsock=LOGISCH

Konfiguriert, ob VSock-Vernetzung verwandt werden soll.

Falls diese Option nicht angegeben ist, wird die Unterstützung für VSock automatisch erkannt. Falls »yes« angegeben ist, werden VSocks immer benutzt, und umgekehrt, falls »no« gesetzt ist, werden VSocks niemals benutzt.

Hinzugefügt in Version 255.

--vsock-cid=CID

Konfiguriert Vmspawn, eine bestimmte CID für den Gast zu benutzen.

Falls diese Option nicht angegeben ist oder ein leeres Argument bereitgestellt wird, dann wird dem Gast eine zufällige CID zugeordnet.

Gültige CIDs liegen im Bereich 3 bis 4294967294 (0xFFFF_FFFE). CIDs außerhalb dieses Bereichs sind reserviert.

Hinzugefügt in Version 255.

--qemu-gui

Startet QEMU im graphischen Modus.

Hinzugefügt in Version 255.

--secure-boot=LOGISCH

Konfiguriert, ob nach Firmware gesucht werden soll, die sicheren Systemstart unterstützt.

Falls diese Option nicht angegeben ist, wird die erste erkannte Firmware verwandt. Falls diese Option auf »yes« gesetzt ist, dann wird die erste Firmware mit Unterstützung für sicheren Systemstart ausgewählt. Falls »no« angegeben ist, dann wird die erste Firmware ohne sicheren Systemstart ausgewählt.

Hinzugefügt in Version 255.

-M, --machine=

Setzt den Maschinennamen für diesen Container. Dieser Name kann zur Identifizierung dieses Containers während seiner Laufzeit verwandt werden (beispielsweise in Werkzeugen wie machinectl(1) und ähnlichen).

Hinzugefügt in Version 255.

--load-credential=KENNUNG:PFAD, --set-credential=KENNUNG:WERT

Gibt ein Zugangsdatum an den Container. Diese zwei Optionen entsprechend den Einstellungen LoadCredential= und SetCredential= in Unit-Dateien. Siehe systemd.exec(5) zu Details über diese Konzepte, sowie die Syntax der Argumente der Optionen.

Um Binärdaten in die Zugangsdaten für --set-credential= einzubetten, verwenden Sie C-artige Maskierung (d.h. »\n« für einen eingebetteten Zeilenumbruch oder »\x00«, um ein Nullbyte (NUL) einzubetten). Beachten Sie, dass die aufrufende Shell die Maskierungen bereits einmal entfernt haben könnte, daher könnte eine doppelte Maskierung notwendig sein!

Hinzugefügt in Version 255.

--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.

$SYSTEMD_LOG_LEVEL

Die maximale Protokollierstufe ausgesandter Nachrichten (Nachrichten mit einer höheren Protokollierstufe, d.h. weniger wichtige, werden unterdrückt). Sie muss (in absteigender Reihenfolge) entweder alert, crit, err, warning, notice, info, debug oder eine Ganzzahl im Bereich 0…7 sein. Siehe syslog(3) für weitere Informationen.

$SYSTEMD_LOG_COLOR

Ein logischer Wert. Falls wahr, 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 wahr, 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 werden.

$SYSTEMD_LOG_LOCATION

Ein logischer Wert. Falls wahr, wird den Protokollnachrichten ein Dateinamen 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 wahr, 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

Zu verwendendes Textanzeigeprogramm, wenn --no-pager nicht angegeben ist; 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 der Umgebungsvariablen auf die leere Zeichenkette oder den Wert »cat« ist äquivalent zur Übergabe von --no-pager.

Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, dann wird $SYSTEMD_PAGER (sowie $PAGER) ohne Rückmeldung 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ührungen 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

Akzeptiert einen logischen Wert. Wenn wahr, wird der »sichere« Modus des Textanzeigeprogramms verwandt, falls falsch, wird dieser deaktiviert. Falls $SYSTEMD_PAGERSECURE überhaupt nicht gesetzt ist, dann wird der sichere Modus aktiviert, falls die effektive Kennung nicht identisch zu dem Eigentümer der Anmeldesitzung ist, siehe geteuid(2) und sd_pid_get_owner_uid(3). Im sicheren Modus wird LESSSECURE=1 beim Aufruf des Textanzeigeprogramms gesetzt und das Textanzeigeprogramm muss Befehle deaktivieren, die neue Dateien öffnen oder erstellen oder die einen neuen Unterprozess starten. Falls $SYSTEMD_PAGERSECURE überhaupt nicht gesetzt ist, werden Textanzeigeprogramme, bei denen unbekannt ist, ob sie einen sicheren Modus implementieren, nicht verwandt. (Derzeit implementiert nur less(1) einen sicheren Modus.)

Hinweis: Wenn Befehle mit erhöhten Rechten ausgeführt werden, beispielsweise mittels sudo(8) oder pkexec(1), muss Vorsicht walten gelassen werden, um sicherzustellen, dass keine ungeplanten interaktiven Funktionalitäten aktiviert werden. Der »sichere« Modus für das Textanzeigeprogramm kann wie oben beschrieben automatisch aktiviert werden. Durch Setzen von SYSTEMD_PAGERSECURE=0 oder durch Nichtenfernen dieser Einstellung aus der ererbten Umgebung wird es dem Benutzer ermöglicht, beliebige Befehle auszuführen. Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt werden muss, falls die Variablen $SYSTEMD_PAGER oder $PAGER berücksichtigt werden sollen. Es kann sinnvoll sein, stattdessen das Textanzeigeprogramm komplett mit --no-pager zu deaktivieren.

$SYSTEMD_COLORS

Akzeptiert ein logisches Argument. Wenn wahr, 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.

Beispiel 1. Ausführen 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

Falls ein Fehler auftrat, wird der Wert Errno an den Rückgabe-Code weitergeleitet. Falls durch das laufende Abbild EXIT_STATUS bereitgestellt wird, wird dies zurückgegeben. Andernfalls wird EXIT_SUCCESS zurückgegeben.

systemd(1), mkosi(1)

Ü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.

systemd 255