Systemd-nspawnd: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 18: | Zeile 18: | ||
*systemd-nspawn -D /var/lib/machines/debian -U --machine debian | *systemd-nspawn -D /var/lib/machines/debian -U --machine debian | ||
=Im Container= | =Im Container= | ||
| − | == | + | ==Passwort für root setzen== |
*passwd | *passwd | ||
| − | = | + | |
| + | ==Login über lokales tty # wird wahrscheinlich nicht mehr benötigt== | ||
*echo 'pts/0' >> /etc/securetty # May need to set 'pts/0' instead | *echo 'pts/0' >> /etc/securetty # May need to set 'pts/0' instead | ||
| − | =logout | + | ==logout aus dem Container== |
*logout | *logout | ||
Container debian exited successfully. | Container debian exited successfully. | ||
Version vom 9. Januar 2023, 09:58 Uhr
Über systemd-nspawn
- systemd-nspawn kann verwendet werden, um einen Befehl oder ein Betriebssystem in einem leichten Container auszuführen.
- In vielerlei Hinsicht ähnelt es Chroot, ist aber leistungsfähiger
- Es verwendet Namespaces, um den Prozessbaum, den IPC, den Hostnamen, den Domänennamen vollständig zu virtualisieren.
- Optional kann auch die Netzwerk- und Benutzerdatenbanken virtualisiert werden.
- Es ist ähnlich wie LXC, aber viel einfacher zu konfigurieren.
- Die meiste notwendige Software ist auf modernen Debian-Systemen bereits installiert.
Installation
- apt update
- apt install systemd-container debootstrap
Erstellen eines Debian-Containers
- Ein geeigneter Debian-Container kann mit den Tools debootstrap oder cdebootstrap erstellt werden.
- Um beispielsweise ein neues Gastbetriebssystem namens debian zu erstellen
- debootstrap --include=systemd,dbus stable /var/lib/machines/debian
Sicherstellen, dass man sich als root beim Container anmelden kann
- systemd-nspawn -D /var/lib/machines/debian -U --machine debian
Im Container
Passwort für root setzen
- passwd
Login über lokales tty # wird wahrscheinlich nicht mehr benötigt
- echo 'pts/0' >> /etc/securetty # May need to set 'pts/0' instead
logout aus dem Container
- logout
Container debian exited successfully.
Booten eines Containers
- Sobald er erstellt wurde, ist es möglich wahlweise, einen Container mit
- einem instanziierten
- systemctl start systemd-nspawn@debian
- machinectl start debian
- systemd-nspawn --boot -U -D /var/lib/machines/debian
- zu booten
Status der Maschinen feststellen
- machinectl list
MACHINE CLASS SERVICE OS VERSION ADDRESSES debian container systemd-nspawn debian 11 - 1 machines listed.
- systemctl status systemd-nspawn@debian
● systemd-nspawn@debian.service - Container debian
Loaded: loaded (/lib/systemd/system/systemd-nspawn@.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2023-01-03 08:52:28 CET; 1h 47min ago
Docs: man:systemd-nspawn(1)
Main PID: 29631 (systemd-nspawn)
Status: "Container running: Startup finished in 888ms."
Tasks: 13 (limit: 16384)
Memory: 15.2M
CPU: 1.309s
CGroup: /machine.slice/systemd-nspawn@debian.service
...
Login
- machinectl login debian
- In der Maschine
- systemctl enable systemd-networkd --now