Wie installiert und konfiguriert man Debian Linux mit einer A/B-Root-Partitionierung?

Antwort

Um ein Debian-System mit einer A/B-Partitionierung für das Root-Dateisystem zu installieren und zu konfigurieren, gehst du wie folgt vor: ### 1. Konzept: Was ist A/B-Partitionierung? A/B-Partitionierung bedeutet, dass du zwei Root-Partitionen hast (z.B. `/dev/sda1` und `/dev/sda2`). Beim Booten wird jeweils eine davon als Root verwendet. Updates werden auf die inaktive Partition gespielt, sodass du bei Problemen einfach auf die andere zurückwechseln kannst. Dieses Verfahren wird oft bei Systemen mit hohen Anforderungen an Ausfallsicherheit verwendet (z.B. Embedded, IoT, Automotive). --- ### 2. Partitionierung **a) Manuelle Partitionierung während der Debian-Installation:** - Starte das Debian-Installationsprogramm. - Wähle „Manuelle Partitionierung“. - Lege zwei Partitionen für Root an, z.B. `/dev/sda1` und `/dev/sda2`, jeweils mit dem Mountpoint `/`. - Lege ggf. weitere Partitionen an (z.B. `/boot`, `/home`, `swap`). - Installiere das System zunächst auf `/dev/sda1` (Root A). --- ### 3. Installation des Systems - Installiere Debian wie gewohnt auf `/dev/sda1`. - `/dev/sda2` bleibt zunächst leer oder wird mit einem leeren Dateisystem formatiert. --- ### 4. Bootloader-Konfiguration (GRUB) - Nach der Installation boote ins neue System. - Mounte die zweite Root-Partition (z.B. nach `/mnt/root-b`): ```bash sudo mount /dev/sda2 /mnt/root-b ``` - Kopiere das Root-Dateisystem auf die B-Partition: ```bash sudo rsync -aAXv / /mnt/root-b --exclude=/mnt/root-b --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp ``` - Passe ggf. `/etc/fstab` auf beiden Partitionen an, sodass jeweils die richtige Root-Partition eingetragen ist. --- ### 5. GRUB-Einträge anpassen - Öffne `/etc/grub.d/40_custom` und füge zwei Boot-Einträge hinzu, z.B.: ```bash menuentry 'Debian Root A' { set root=(hd0,1) linux /vmlinuz root=/dev/sda1 ro initrd /initrd.img } menuentry 'Debian Root B' { set root=(hd0,2) linux /vmlinuz root=/dev/sda2 ro initrd /initrd.img } ``` - Aktualisiere GRUB: ```bash sudo update-grub ``` --- ### 6. Umschalten zwischen A und B - Beim Booten kannst du im GRUB-Menü zwischen „Root A“ und „Root B“ wählen. - Updates oder Upgrades installierst du auf die inaktive Partition (z.B. per `chroot`). - Nach einem Update stellst du im GRUB-Menü auf die andere Partition um. --- ### 7. Optional: Automatisierung - Für fortgeschrittene Szenarien kannst du Skripte schreiben, die das Update und Umschalten automatisieren. - Tools wie [rauc](https://rauc.io/) oder [swupdate](https://sbabic.github.io/swupdate/) bieten A/B-Update-Mechanismen für Embedded-Linux. --- ### Hinweise - `/boot` sollte entweder auf einer eigenen Partition liegen oder auf beiden Root-Partitionen synchronisiert werden. - Achte darauf, dass beide Partitionen immer konsistent gehalten werden. - Teste das Umschalten und die Wiederherstellung regelmäßig. --- **Weitere Infos:** - [Debian Installation Guide](https://www.debian.org/releases/stable/installmanual) - [GRUB Custom Entries](https://www.gnu.org/software/grub/manual/grub/html_node/Configuration.html) --- **Fazit:** Mit manueller Partitionierung, Kopieren des Root-Dateisystems und angepassten GRUB-Einträgen kannst du ein Debian-System mit A/B-Partitionierung betreiben. Das Umschalten erfolgt über das Bootmenü, Updates werden auf die inaktive Partition gespielt.

KI fragen