Erstellen eines Netplan-fähigen Systems über Debian-Installer – SlyBlog
Mit der in debian-installer/netcfg merge-proposal !9 durchgeführten Arbeit kann ein Standard-Debian-System mit dem normalen Debian-Installer (di) installiert werden. mini.iso Bilder, die strukturiert mit Netplan und allen Netzwerkkonfigurationen vorinstalliert sind /etc/netplan/
.
In diesem Beitrag möchte ich eine Liste von Befehlen ausführen, um einen ersten Blick auf den Installationsprozess bei aktiviertem Netplan zu werfen. Beginnen wir mit der Vorbereitung eines Arbeitsverzeichnisses und der Installation der Softwareabhängigkeiten für unser virtualisiertes Debian-System:
$ mkdir d-i_tmp && cd d-i_tmp
$ apt install ovmf qemu-utils qemu-system-x86
Jetzt laden wir das offizielle (tägliche) herunter. mini.iso
, linux
Bild des Kerns und initrd.gz
Zu den Aktivierungsänderungen von Netplan gehören:
$ wget
$ wget
$ wget
Als Nächstes bereiten wir eine VM vor, indem wir die EFI-Firmwaredateien kopieren und einige persistente EFIVARs-Dateien für den Start vorbereiten. FS0:\EFI\debian\grubx64.efi
und erstellen Sie eine virtuelle Festplatte für unsere Maschine:
$ cp /usr/share/OVMF/OVMF_CODE_4M.fd .
$ cp /usr/share/OVMF/OVMF_VARS_4M.fd .
$ qemu-img create -f qcow2 ./data.qcow2 20G
Zum Schluss starten wir es Debian-Installer Verwendung einer Preset.cfg Datei, die Netplan automatisch installiert (Netplan-Generator) für uns im Zielsystem. Eine minimale Preset-Datei könnte so aussehen:
# Install minimal Netplan generator binary
d-i preseed/late_command string in-target apt-get -y install netplan-generator
Für diese Demo führen wir eine vollständige Installation durch netplan.io
Paket (einschließlich der interaktiven Python-CLI). netplan-generator
Paket und systemd-resolved
, um das gesamte Netplan-Erlebnis zu präsentieren. Sie können zwischen verschiedenen Variationen der voreingestellten Datei wählen, um verschiedene Konfigurationen zu testen:
- Mindestnetzwerkplan
- Konfiguration durch Netplan + systemd gelöst
- Netplan + NetworkManager-Konfiguration
wir benutzen linux
der Kern und initrd.gz
Hier wird die voreingestellte URL als Parameter an den Kernel übergeben cmdline
direkt. Der offizielle Start dieser VM sollte erscheinen Debian-Installer im gleichen netboot/gtk
Form:
$ export U=
$ qemu-system-x86_64 \
-M q35 -enable-kvm -cpu host -smp 4 -m 2G \
-drive if=pflash,format=raw,unit=0,file=OVMF_CODE_4M.fd,readonly=on \
-drive if=pflash,format=raw,unit=1,file=OVMF_VARS_4M.fd,readonly=off \
-device qemu-xhci -device usb-kbd -device usb-mouse \
-vga none -device virtio-gpu-pci \
-net nic,model=virtio -net user \
-kernel ./linux -initrd ./initrd.gz -append "url=$U" \
-hda ./data.qcow2 -cdrom ./mini.iso;
Sie können sich nun durch den normalen Debian-Installer-Prozess klicken und dabei größtenteils die Standardeinstellungen verwenden. Optional können Sie mit den Netzwerkeinstellungen experimentieren, um zu sehen, wie sie übersetzt werden /etc/netplan/
auf dem Zielsystem.
Nachdem Sie Ihre Partitionsänderungen bestätigt haben, wird das Basissystem installiert. Ich empfehle, keine zusätzlichen Komponenten auszuwählen, um den Prozess zu beschleunigen, wie z. B. Desktop-Umgebungen.
Im letzten Schritt der Installation (finish-install.d/55netcfg-copy-config
) di erkennt, dass Netplan auf dem Zielsystem installiert wurde (anhand der bereitgestellten Standarddatei) und kann die Netzwerkkonfiguration schreiben. /etc/netplan/
anstatt /etc/network/interfaces
oder /etc/NetworkManager/system-connections/
.
Erledigt! Nachdem die Installation abgeschlossen ist, können Sie ein neues Debian Sid/Trixie-System neu starten.
Beenden Sie dazu den aktuellen Qemu-Prozess durch Drücken von Strg+C und stellen Sie sicher, dass Sie es überschreiben EFIVARS.fd
die Datei, die es geändert hat grub
Während der Installation kann Qemu das neue System erkennen. Starten Sie dann das neue System neu, ohne es zu verwenden mini.iso mehr Bilder:
$ cp ./OVMF_VARS_4M.fd ./EFIVARS.fd
$ qemu-system-x86_64 \
-M q35 -enable-kvm -cpu host -smp 4 -m 2G \
-drive if=pflash,format=raw,unit=0,file=OVMF_CODE_4M.fd,readonly=on \
-drive if=pflash,format=raw,unit=1,file=EFIVARS.fd,readonly=off \
-device qemu-xhci -device usb-kbd -device usb-mouse \
-vga none -device virtio-gpu-pci \
-net nic,model=virtio -net user \
-drive file=./data.qcow2,if=none,format=qcow2,id=disk0 \
-device virtio-blk-pci,drive=disk0,bootindex=1
-serial mon:stdio
Endlich können Sie mit sich selbst spielen Netplan-fähiges Debian-System! Wie Sie feststellen werden, /etc/network/interfaces
existiert, ist aber leer, könnte trotzdem verwendet werden (optional/zusätzlich). Netplan wurde in gegründet /etc/netplan/
di gemäß den während des Installationsvorgangs vorgenommenen Einstellungen.
In unserem Fall haben wir auch die Netplan-CLI installiert, damit wir einige ihrer Funktionen ausprobieren konnten, z. B netplan status
:
Vielen Dank, dass Sie den Debian-Installationsprozess mit aktiviertem Netplan verfolgt haben, und viel Spaß beim Hacken! Wenn Sie mehr erfahren möchten, finden Sie uns unter GitHub:netplan.