class: center, middle  # Debian retten mit Live-ISO ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - Community-Video-Serie *"Nicht der Weisheit letzter Schluß"* auf
tube.tchncs.de
und
YouTube
mit **beruflichen** oder **privaten Projekten** - Hat bei einem Netbook Debian 13 auf 12 downgegradet. --- ### Bevor es losgeht: ACHTUNG  * **Daten können verlorengehen!** * **Das System könnte nicht mehr booten!** * Daher: * Vorher **unbedingt ein aktuelles Backup** des ganzen Systems bzw. einen **Snapshot** der virtuellen Maschien anfertigen * Testweise ausführen und im Falle von Problemen die **Sicherung wiederherstellen** * Nur machen, wenn Ihr wirklich sicher seit, daß Ihr **mit den Konsequenzen leben** könnt und **jeden einzelnen Schritt verstanden** habt. * **Gerätenamen** und **Kommandos** sind **beispielhaft** und müssen von Euch für Euren Fall angepaßt werden. --- ### Was tun, wenn's schiefgegangen ist?  Für Debian 12 gibt es
Live-ISOs (z.B. mit Mate)
, das Ihr im Falle eines Falles booten könnt, um ein havariertes System zu retten. Geht dabei wie folgt vor: * ISO herunterladen * Brennen, auf USB-Stick schreiben oder in VM "einlegen" * Booten * Im Live-Linux * Netzwerk aktivieren *
apt install ssh
*
passwd user
```bash # Per SSH verbinden ssh user@[ip] # root werden sudo -i ``` --- ### Unverschlüsseltes System  Sollte das System nicht verschlüsselt sein, so gehen wir wie folgt vor: ```bash # Partitionen auflisten parted -l # Die System-Partition mounten mkdir /mnt/root mount /dev/sda5 /mnt/root ``` --- ### LVM/LUKS öffnen  Sollte das System mit **LVM/LUKS verschlüsselt** sein, stattdessen: ```bash # Partitionen auflisten parted -l # LUKS öffnen, damit LVM-Layer verfügbar wird # ACHTUNG: Name LUKS-Name setzt sich aus dem # Gerätenamen zusammen cryptsetup open /dev/sda5 sda5_crypt # Alle VolumeGroups aktivieren vgchange -ay # Ausgabe wie folgt: # 2 logical volume(s) in volume group "d13-vg" now active # Das Logical-Volume mounten mkdir /mnt/root mount /dev/mapper/d13--vg-root /mnt/root ``` --- ### Von Live auf Platte wechseln  Durch **
Chrooten
** wechseln wir das Dateisystem, das unter "/" eingehängt wird. Hier vom Dateisystem des Live-Debians zum installierten: ```bash # Nötige Pseudo-Dateisysteme einhängen for dir in /dev /dev/pts /proc /sys /run do mount --bind $dir /mnt/root$dir done # Wurzel ändern chroot /mnt/root/ # Boot-Partition einbinden mount /dev/sda1 /boot/ ``` --- ### Probleme lösen: Bibliotheken  Bei mir fehlten die Bibliotheken *libcrypto.so.3* und *libgdbm.so.6*, was zu Fehlermeldungen führte: ```bash error while loading shared libraries: [???]: cannot open shared object file: No such file or directory ``` Zu korrigieren mit: ```bash apt install --reinstall libssl3 apt install --reinstall libgdbm6 ``` --- ### Probleme lösen  Wenn eine Fehlermeldung wie folgt erscheint, dann habt Ihr den LUKS-Namen falsch gewählt: ```bash cryptsetup: WARNING: target '[???]' not found in /etc/crypttab ``` Der **richtige Name** steht auch in der */etc/crypttab* am Anfang der luks-Zeile. Zum Korrigieren: Chroot mit
*Strg + C*
verlassen und alles aushängen. Danach nochmal von vorn ;-) ```bash for dir in /boot /dev/pts /dev /proc /sys /run do umount /mnt/root$dir done umount /mnt/root cryptsetup close /dev/mapper/d13--vg-root cryptsetup close /dev/mapper/d13--vg-swap_1 cryptsetup close /dev/mapper/lvm ``` --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de