Systemd-nspawnd: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 1: Zeile 1:
=Ü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=
 
=Installation=
 
*apt update
 
*apt update

Aktuelle Version vom 9. Januar 2023, 10:08 Uhr

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

Quelle