Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:raspberry_pi

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
projekte:raspberry_pi [2026-05-15 23:28] weneprojekte:raspberry_pi [2026-08-14 22:16] (aktuell) – Snapper installieren paul
Zeile 22: Zeile 22:
  
   - Die SD Karte aus dem ausgeschalteten RasPi entnehmen und mit einem anderen Computer verbinden.   - Die SD Karte aus dem ausgeschalteten RasPi entnehmen und mit einem anderen Computer verbinden.
-  - Sicherstellen, dass das Paket "squashfs-toolsinstalliert ist. +  - Sicherstellen, dass das Paket ''squashfs-tools'' installiert ist. 
-  - Herausfinden, welches Gerät die SD Karte auf dem System ist. z.B. mit "lsblk -f"+  - Herausfinden, welches Gerät die SD Karte auf dem System ist. z.B. mit ''lsblk -f''
-  - Eine leeres Verzeichnis erstellen. Das ist erforderlich weil "mksquashfsein Quellverzeichnis erfordert. Wir wollen aber kein Verzeichnis komprimieren, daher geben wie ein leeres an.+  - Eine leeres Verzeichnis erstellen. Das ist erforderlich weil ''mksquashfs'' ein Quellverzeichnis erfordert. Wir wollen aber kein Verzeichnis komprimieren, daher geben wie ein leeres an.
   - Das Image direkt in komprimiert auslesen.   - Das Image direkt in komprimiert auslesen.
   - Den SquashFs Container mounten.   - Den SquashFs Container mounten.
Zeile 121: Zeile 121:
  
 Spätestens nach 2 Neustarts müssten mit ''%%journalctl --list-boots%%'' 2 oder mehr Einträge aufgelistet werden. Es müssten ausserdem Logdaten unter ''/var/log/journal'' zu finden sein. Spätestens nach 2 Neustarts müssten mit ''%%journalctl --list-boots%%'' 2 oder mehr Einträge aufgelistet werden. Es müssten ausserdem Logdaten unter ''/var/log/journal'' zu finden sein.
 +
 +===== Home in ein eigenes Subvolume verlagern =====
 +
 +Btrfs nutzt Snapshots um einen den Zustand der Files festzuhalten. Diese lassen sich schnell und Platzsparend anlegen. Und das alles im laufenden Betrieb.
 +
 +Snapshots sind auch gleichzeitig eigenständige Subvolumes. Bei vielen Linux-Betriebssystemen (wie z.B. bei CachyOS) werden per Default zwei Subvolumes verwendet: Eines für Root und eines für Home. Hier eine Anleitung, wie ein System, welches Btrfs mit nur einem Root-Subvolume, um konvertiert:
 +
 +<code>
 +ssh raspbian
 +
 +sudo mount /dev/mmcblk0p2 /mnt/
 +sudo btrfs subvolume snapshot /mnt/@ /mnt/@new_root
 +sudo btrfs subvolume snapshot /mnt/@ /mnt/@home
 +</code>
 +
 +Hier logge ich mich ein und mounte das Root-Device nochmals auf ''/mnt''. Ziel ist es zwei neue Subvolumes zu erstellen: Eines für das zukünftige Root und eines für home.
 +
 +<code>
 +ls /mnt/@
 +cd /mnt/@new_root/
 +sudo rm -rf home
 +sudo mkdir home
 +
 +cd /mnt/@home
 +sudo rm -rf bin boot dev etc lib media mnt opt proc root run sbin srv sys tmp usr var
 +ls -alh
 +ls -alh home
 +sudo mv home/*
 +sudo rm -rf home
 +</code>
 +Hier schaue ich in die gemounteten Subvolumes 'rein und lösche was jeweils zu viel ist.
 +
 +<code>
 +sudo vi /mnt/@new_root/etc/fstab
 +UUID=d1c58f64-016a-4c8d-91a2-43de1298c4ee  /               btrfs   defaults,noatime,discard=async,subvol=@        0       0
 +UUID=d1c58f64-016a-4c8d-91a2-43de1298c4ee  /home           btrfs   defaults,noatime,discard=async,subvol=@home    0       0
 +:wq
 +
 +cd /mnt
 +findmnt | grep btrfs
 +sudo mv @ @old_root
 +findmnt | grep btrfs
 +sudo mv @new_root @
 +</code>
 +
 +''UUID=d1c58f64-016a-4c8d-91a2-43de1298c4ee'' ist hier nur Beispielhaft. Man soll das UUID verwenden welches der Partition entspricht. Hier wird die Zeile verdoppelt und das Subvolume ''@home'' für den nächsten Reboot vorbereitet so, dass dieses als ''/home'' verwendet wird.
 +
 +<code>
 +cd /mnt
 +findmnt
 +sudo mv @ @old_root
 +findmnt
 +sudo mv @new_root @
 +
 +sudo reboot
 +</code>
 +
 +Hier wird das alte Subvolume ''@'' zu ''old_root'' und ''@new_root'' zu ''@'' umbenannt. Mit ''findmnt'' sieht man, dass der Kernel kein Problem hat, dies nachzuverfolten und das System stabil weiterlaufen zu lassen.
 +
 +Mit einem Reboot kommt ''/etc/fstab'' zum Zug und mounted das System auf ein Subvolume für Root und eines für Home um.
 +
 +<code>
 +sudo btrfs subvolume snapshot /mnt/@ /mnt/@root_snap
 +sudo btrfs subvolume list /
 +sudo btrfs subvolume delete /mnt/@root_snap
 +sudo btrfs subvolume delete /mnt/@old_root
 +</code>
 +
 +Hier nochmal, wie man Snapshots erstellt. Ein Befehl wie man diese auflistet. Und eines um ein Snapshot zu löschen.
 +
 +==== Snapper einrichten ====
 +
 +Prüfen ob snapper installiert ist. Snapper installieren.
 +
 +<code>
 +dpkg -l | grep -e snapper
 +sudo apt install snapper
 +</code>
 +
 +==== Einrichten und testen ====
 +
 +Konfiguration mit Namen "root" einrichten. "snapper-timeline.timer" war nach der Installation bereits aktiv. Mit "create" lässt sich manuell ein Snapshot erstellen und "list" zeigt alle snapshots an.
 +
 +<code>
 +sudo snapper -c root create-config /
 +sudo systemctl status snapper-timeline.timer
 +sudo snapper -c root create -d "Manueller snapshot test"
 +sudo snapper -c root list
 +</code>
 +
 +==== Links ====
 +
 +Weitere Kommandos finden sich hier. Sortiert von kurzen nach ausführlicheren Artikeln:
 +
 +  *  https://www.dbi-services.com/blog/working-with-btrfs-snapper/
 +  *  https://en.opensuse.org/openSUSE:Snapper_Tutorial
 +  *  https://manual.siduction.org/sys-admin-btrfs-snapper_de.html
 +
 +
 +
projekte/raspberry_pi.1778880505.txt.gz · Zuletzt geändert: von wene