Debian Neuinstallation mit automatischen BTRFS Snapshots?
Debian Neuinstallation mit automatischen BTRFS Snapshots?
Hey Freunde, ich grüße ich.
Lange war ich Debian User, nun seit 2 Jahren auf Fedora gewesen, und nun mit Debian 12 bin ich so zufrieden, dass ich wieder zurück möchte
Aktuell nutze ich XFS auf einer 4TB Platte, würde aber gerne ein System haben, welches mit BTRFS läuft, und am besten mit getrennten / und /home.
Gerne würde ich bei jedem apt dist-upgrade ein automatischen Snapshot machen, denn ich habe festgestellt, wenn was kaputt geht, dann meist da
Gibt es einen entsprechenden Guide, oder ein Vorgehen das "recommended" ist? Es gibt soviele Optionen wie btrfs-assistant, snapper, Timeshift etc.
Würde gerne mal wissen, wie ich am besten zu meinem beschriebenen Ziel komme, ohne alles von Grund auf neu erfinden zu müsse. Kennt ihr vielleicht ein entsprechendes Tutorial?
Ich habe damals Debian mit ZFS Root betrieben, das war manchmal aber echt ätzend wegen der Kernel Module.
Freue mich auf eure Tipps
Vielen Dank, und viele Grüße
Lange war ich Debian User, nun seit 2 Jahren auf Fedora gewesen, und nun mit Debian 12 bin ich so zufrieden, dass ich wieder zurück möchte
Aktuell nutze ich XFS auf einer 4TB Platte, würde aber gerne ein System haben, welches mit BTRFS läuft, und am besten mit getrennten / und /home.
Gerne würde ich bei jedem apt dist-upgrade ein automatischen Snapshot machen, denn ich habe festgestellt, wenn was kaputt geht, dann meist da
Gibt es einen entsprechenden Guide, oder ein Vorgehen das "recommended" ist? Es gibt soviele Optionen wie btrfs-assistant, snapper, Timeshift etc.
Würde gerne mal wissen, wie ich am besten zu meinem beschriebenen Ziel komme, ohne alles von Grund auf neu erfinden zu müsse. Kennt ihr vielleicht ein entsprechendes Tutorial?
Ich habe damals Debian mit ZFS Root betrieben, das war manchmal aber echt ätzend wegen der Kernel Module.
Freue mich auf eure Tipps
Vielen Dank, und viele Grüße
- cosinus
- Beiträge: 4227
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: Debian Neuinstallation mit automatischen BTRFS Snapshots?
Du hast jetzt ein Debian 12 was auf einem XFS installiert ist?
Also zu XFS kann ich nicht viel sagen, hab aber schon gehört, dass manche damit derbe Probleme hatten. Das Standard-Dateisystem ext4 ist wirklich robust, das nutze ich schon sehr lange.
Wie auch immer, wenn dann müsstest du schon Debian neu installieren wenn du das System auf ein neues Filesystem haben willst. Hilft dir vllt dieser Artikel? --> https://wiki.debian.org/Btrfs
Alternativ: System so lassen und vor einem dist-upgrade das System, weil es ja so wichtig ist, backuppen. Ein vernünftiges Backup ist immer nötig, egal welches Dateisystem man nutzt.
Und man kann auch noch eine Trockenübung machen, also das (dist-)upgrade simulieren. Bei Debian stable geht aber nichts kaputt, es sei denn man hat sein System verbastelt und vergewaltigt (zB mit Fremdquellen... )
Also zu XFS kann ich nicht viel sagen, hab aber schon gehört, dass manche damit derbe Probleme hatten. Das Standard-Dateisystem ext4 ist wirklich robust, das nutze ich schon sehr lange.
Wie auch immer, wenn dann müsstest du schon Debian neu installieren wenn du das System auf ein neues Filesystem haben willst. Hilft dir vllt dieser Artikel? --> https://wiki.debian.org/Btrfs
Alternativ: System so lassen und vor einem dist-upgrade das System, weil es ja so wichtig ist, backuppen. Ein vernünftiges Backup ist immer nötig, egal welches Dateisystem man nutzt.
Und man kann auch noch eine Trockenübung machen, also das (dist-)upgrade simulieren. Bei Debian stable geht aber nichts kaputt, es sei denn man hat sein System verbastelt und vergewaltigt (zB mit Fremdquellen... )
Re: Debian Neuinstallation mit automatischen BTRFS Snapshots?
Hier gibt es einen guten Guide der genau das beschreibt was du vor hast.
https://saintofsinner.de/debian-auf-btr ... vorschlag/
wobei Timeshift inzwischen seine Snapshots nicht mehr in .snapshots speichert und
btrfs-grub entsprechend angepasst werden muss (und das Verzeichnis im .snapshots Guide nicht mehr benötigt wird).
ist aber hier gut dokumentiert:
https://github.com/Antynea/grub-btrfs
Edit: Momentan lässt sich Timeshift zumindest bei mir (Sid, KDE-Plasma, Wayland) nicht über die Grafische Oberfläche
sondern nur mit dem Terminalbefehl öffnen. X11 funktioniert.
https://saintofsinner.de/debian-auf-btr ... vorschlag/
wobei Timeshift inzwischen seine Snapshots nicht mehr in .snapshots speichert und
btrfs-grub entsprechend angepasst werden muss (und das Verzeichnis im .snapshots Guide nicht mehr benötigt wird).
ist aber hier gut dokumentiert:
https://github.com/Antynea/grub-btrfs
Edit: Momentan lässt sich Timeshift zumindest bei mir (Sid, KDE-Plasma, Wayland) nicht über die Grafische Oberfläche
sondern nur mit dem Terminalbefehl
Code: Alles auswählen
timeshift-gtk
Re: Debian Neuinstallation mit automatischen BTRFS Snapshots?
Ich habe erst kürzlich ein Debian 12 System nach folgendem Schema installiert, allerdings erst mal nur in einer VM:Knogle hat geschrieben:14.07.2023 00:34:10Aktuell nutze ich XFS auf einer 4TB Platte, würde aber gerne ein System haben, welches mit BTRFS läuft, und am besten mit getrennten / und /home.
Code: Alles auswählen
# lsblk -p -o NAME,FSTYPE,FSAVAIL,FSUSE%,MOUNTPOINTS
NAME FSTYPE FSAVAIL FSUSE% MOUNTPOINTS
/dev/vda
├─/dev/vda1 ext4 462,4M 43% /boot
├─/dev/vda2
├─/dev/vda3 crypto_LUKS
│ └─/dev/mapper/_dev_vda3 btrfs 25,6G 12% /home/joka63
├─/dev/vda5 btrfs 16,2G 43% /
└─/dev/vda6 swap [SWAP]
Ich persönlich bevorzuge ein Homeverzeichnis, das erst beim Login (mit libpam-mount) entschlüsselt wird, weil ich die Passworteingabe beim Booten vermeiden möchte. Ansonsten könnte man auch ein großes BTRFs-Volume und darin ein oder mehrere Subvolumes für die Homeverzeichnisse einrichten. Ich bin mir aber nicht sicher, ob das der Installer unterstützt. BTRFS-Subvolumes kann man auch später problemlos anlegen.
Auf einer großen Platte würde ich 1 GByte für /boot reservieren (Default bei Fedora).
UEFI braucht noch eine /boot/efi Partition mit vfat als Dateisystem. Für ein Single-Boot-System sind wohl 100MB mehr als ausreichend, für ein Multiboot-System würde ich 500 MB (Default bei Fedora) reservieren.
Es gibt wohl viele Tools, die auf BTRFs aufsetzen. Mich hat an Timeshift und Snapper gestört, dass sie ein bestimmtes Schema von BTRFs-Subvolumes voraussetzen, das weder bei Fedora noch bei Debian Standard ist.Knogle hat geschrieben:14.07.2023 00:34:10Gibt es einen entsprechenden Guide, oder ein Vorgehen das "recommended" ist? Es gibt soviele Optionen wie btrfs-assistant, snapper, Timeshift etc.
Würde gerne mal wissen, wie ich am besten zu meinem beschriebenen Ziel komme, ohne alles von Grund auf neu erfinden zu müsse. Kennt ihr vielleicht ein entsprechendes Tutorial?
Mein Favorit ist das Kommandozeilen-Tool btrbk, in das man sich allerdings erst einlesen muss. Dafür ist es sehr flexibel und man kann es gut in eigene maßgeschneiderte Backup-Skripte einbauen. btrbk kann mit "apt install btrbk" installiert werden.
Das ist mit btrbk möglich:Knogle hat geschrieben:14.07.2023 00:34:10Gerne würde ich bei jedem apt dist-upgrade ein automatischen Snapshot machen, denn ich habe festgestellt, wenn was kaputt geht, dann meist da
How can I setup a debian pre-install hook?
Create a file /etc/apt/apt.conf.d/70btrbk, e.g.:
In order to make sure that the snapshots are always generated and nothing is deleted, add the btrbk command line options --preserve --override=snapshot_create=always.Code: Alles auswählen
// create a btrfs snapshot before (un)installing packages Dpkg::Pre-Invoke {"/usr/bin/btrbk run /mnt/btr_pool/rootfs";};
Quelle: https://github.com/digint/btrbk/blob/ma ... stall-hook
Zotac ZBox ID91: Debian 12 mit GNOME
Geekom Mini IT11: Fedora 38 Silverblue (GNOME)
Geekom Mini IT11: Fedora 38 Silverblue (GNOME)
Re: Debian Neuinstallation mit automatischen BTRFS Snapshots?
In Kali-Linux, das ja auch nur ein Debian-Derivat ist, gibt es ein Feature mit dem Namen "Unkaputtbar", das das gleiche macht, wenn auch auf Basis von snapper statt timeshift. Es ist in das Installationsprogramm eingebaut, so dass man es direkt (bei einer frischen Neuinstallation) verwenden kann. Das wird von Debian 12 zwar nicht unterstützt, aber die Dokumentation finde ich hilfreich, um das Prinzip zu verstehen: https://www.kali.org/docs/installation/ ... -snapshotstogglebit hat geschrieben:14.07.2023 11:26:06Hier gibt es einen guten Guide der genau das beschreibt was du vor hast.
https://saintofsinner.de/debian-auf-btr ... vorschlag/
Es gibt ein aktuelles YouTube-Video mit dem treffenden Titel "Debian 12: Fighting with OpenSUSE Snapper!", das die einzelnen Schritte demonstriert. Sicher nichts für Einsteiger und noch ziemlich experimentell.
Timeshift, Snapper und btrbk erzeugen (logischerweise) alle automatisch read-only Snaphosts. Dummerweise kann man von einem reinen ro-Snapshot nicht booten, weil Linux für einige Verzeichnisse zwingend Schreibrechte braucht, insbesondere für /var/log, /tmp. Abhängig vom verwendeten Desktop müssen noch weitere Verzeichnisse schreibbar gemacht werden, z.B. /var/lib/gdm3/ und /var/lib/AccountsService. Deshalb werden schon während der Installation für all diese Verzeichnisse BTRFS-Subvolumes angelegt. Bei einer Debian12-Installation müsste man also nach der ersten Partitionierung und vor der eigentlichen Installation in eine Rootshell wechseln und dort die Subvolumes manuell anlegen. Das wird in dem YouTube-Video gezeigt.
Ich finde das viel zu kompliziert und auch unnötig, nur um direkt in automatisch generierte read-only Snapshots booten zu können. Und ein GRUB-Menü mit Dutzenden Einträgen automatisch generierter Snapshots fände ich auch verwirrend. Man kann mit dem Befehl "btrfs subvol snapshot" jederzeit aus einem read-only Snapshot einen schreibbaren generieren, der dann auch bootbar ist. (Achtung: es ist noch eine kleine Anpassung der /etc/fstab im neuen Snapshot nötig)
Es wäre schön, wenn man die bootbaren Snapshots auch im GRUB-Menü sehen könnte. Leider ist grub-btrfs (noch?) nicht in den Debian12-Repos enthalten, müsste also mit "git clone" und "make install" installiert werden. Aber auch ohne das Tool kann man in einen Snapshot booten, man muss dann einen GRUB-Eintrag editieren und die Option rootflags=subvol=@rootfs durch den Namen des Snapshots ersetzen, also z.B rootflags=subvol=@deb12-backup.
Ich habe das in einer VM nach Installation und erster Konfiguration von Debian 12 ausprobiert. Voraussetzung ist natürlich, dass die Systempartition mit BTRFS formatiert ist. Debian legt bei der Installation ein BTRFS-Subvolume mit dem Namen "@rootfs" an, also nicht "@" wie manche andere Distributionen. Folgende Schritte wären laut meiner .bash_history als Root ausreichend: (Bitte nicht auf einem realen System ausprobieren und in einer VM nur nach Anlegen eines Schnappschuss mit der Virtualisierungssoftware!):
Code: Alles auswählen
# Bitte ggf. anpassen:
MyFirstBootableSnapshot=@deb12-backup1
RootDevice=$(mount | grep btrfs | awk '$3 == "/" && $5 == "btrfs" { print $1 }')
# z.B. RootDevice=/dev/vda5
apt install btrbk
if ! fgrep -q /mnt/btr_pool /etc/fstab ; then
cat >> /etc/fstab << END
$RootDevice /mnt/btr_pool btrfs defaults,subvolid=5 0 0
END
fi
mkdir -p /mnt/btr_pool
mount /mnt/btr_pool
systemctl daemon-reload
btrfs sub create /mnt/btr_pool/@snapshots
# Konfiguriere btrbk:
cat > /etc/btrbk.conf << END
volume /mnt/btr_pool
# Create snapshots in /mnt/btr_pool/@snapshots
snapshot_dir @snapshots
snapshot_preserve_min 2d
snapshot_preserve 14d
subvolume @rootfs
snapshot_name d12
END
cat > /etc/apt/apt.conf.d/70btrbk << END
// create a btrfs snapshot before (un)installing packages
Dpkg::Pre-Invoke {"/usr/bin/btrbk run @rootfs";};
END
# Erzeuge ersten ro-Snapshot:
btrbk run @rootfs
LatestSnapshotDir=$(btrbk list latest --format col:h:SNAPSHOT_SUBVOLUME @rootfs)
LatestSnapshot=${LatestSnapshotDir#/mnt/btr_pool/*}
# Erzeuge ersten bootbaren rw-Snapshot:
cd /mnt/btr_pool
btrfs subvol snapshot ${LatestSnapshot} ${MyFirstBootableSnapshot}
sed -i "s/subvol=@rootfs/subvol=${MyFirstBootableSnapshot}/" "${MyFirstBootableSnapshot}/etc/fstab"
Zotac ZBox ID91: Debian 12 mit GNOME
Geekom Mini IT11: Fedora 38 Silverblue (GNOME)
Geekom Mini IT11: Fedora 38 Silverblue (GNOME)
Re: Debian Neuinstallation mit automatischen BTRFS Snapshots?
Knogle hat geschrieben:14.07.2023 00:34:10...würde aber gerne ein System haben, welches mit BTRFS läuft...
Gerne würde ich bei jedem apt dist-upgrade ein automatischen Snapshot machen...
Würde gerne mal wissen, wie ich am besten zu meinem beschriebenen Ziel komme, ohne alles von Grund auf neu erfinden zu müsse.
https://spirallinux.github.io/
Benutze o. a. Distribution und bin sehr zufrieden (jetzt auf Bookworm upgegraded). Wobei SpiralLinux eigentlich reines Debian mit zusätzlichen Einrichtungsroutinen ist. Dieses dürfte den Wünschen des TE wohl am nächsten kommen und hat u.a. Snapper auf BTRFS mit an Bord.
Mehr Infos: https://www.linux-community.de/ausgaben ... undlicher/
Zuletzt geändert von kettcar64 am 08.08.2023 11:29:28, insgesamt 2-mal geändert.
Re: Debian Neuinstallation mit automatischen BTRFS Snapshots?
Leider hat sich der TE nicht mehr zu Wort gemeldet.
Ich hätte die gleiche Frage stellen können. Habe auch Erfahrung mit Fedora und habe mir Debian 12 in einer VM angeschaut, will es auf einem alten Mini-PC installieren und wünsche mir auch automatische, bootbare BTRFS Snapshots. Es gibt Distributionen, die das standardmäßig mit sich bringen, aber hier geht es um Debian.
Ein Installationsmedium einer mir unbekannten Quelle oder Mini-Distribution käme für mich nicht in Frage.
Die Frage, ob das Feature auch nach einer Standard-Debian-12 Installation (mit BTRFS als Dateisystem) möglich ist, habe ich mir mit meinem im letzten Beitrag geposteten Skript selber beantwortet.
Ich hätte die gleiche Frage stellen können. Habe auch Erfahrung mit Fedora und habe mir Debian 12 in einer VM angeschaut, will es auf einem alten Mini-PC installieren und wünsche mir auch automatische, bootbare BTRFS Snapshots. Es gibt Distributionen, die das standardmäßig mit sich bringen, aber hier geht es um Debian.
Ein Installationsmedium einer mir unbekannten Quelle oder Mini-Distribution käme für mich nicht in Frage.
Die Frage, ob das Feature auch nach einer Standard-Debian-12 Installation (mit BTRFS als Dateisystem) möglich ist, habe ich mir mit meinem im letzten Beitrag geposteten Skript selber beantwortet.
Zotac ZBox ID91: Debian 12 mit GNOME
Geekom Mini IT11: Fedora 38 Silverblue (GNOME)
Geekom Mini IT11: Fedora 38 Silverblue (GNOME)
Re: Debian Neuinstallation mit automatischen BTRFS Snapshots?
Hallo und einen schönen Tag,
ich habe hier eine tolle Anleitung gefunden, inspiriert von SpiralLinux, hat bei mir prima funktioniert. (debian bookworm)
https://github.com/david-cortes/snapper-in-debian-guide
Beste Grüße
PS: einzige Änderung bei mir ist, boo/efi ist eine Fat32 Partition.
Und dieses nette Tool habe ich mir noch installiert - https://gitlab.com/btrfs-assistant/btrfs-assistant
btrfs-assistant von EndeavourOS.
Für Fedora 38 habe ich hier eine Anleitung gefunden - https://sysguides.com/install-fedora-38 ... k-support/
habe ich noch nicht getestet.
ich habe hier eine tolle Anleitung gefunden, inspiriert von SpiralLinux, hat bei mir prima funktioniert. (debian bookworm)
https://github.com/david-cortes/snapper-in-debian-guide
Beste Grüße
PS: einzige Änderung bei mir ist, boo/efi ist eine Fat32 Partition.
Und dieses nette Tool habe ich mir noch installiert - https://gitlab.com/btrfs-assistant/btrfs-assistant
btrfs-assistant von EndeavourOS.
Für Fedora 38 habe ich hier eine Anleitung gefunden - https://sysguides.com/install-fedora-38 ... k-support/
habe ich noch nicht getestet.
Zuletzt geändert von BirdsEye am 11.08.2023 10:45:00, insgesamt 2-mal geändert.
Re: Debian Neuinstallation mit automatischen BTRFS Snapshots?
Hey, das sind echt tolle Antworten, ich freue mich darauf mich mal zu probieren
Noch eine Frage an
Vielen Dank euch bereits!
Noch eine Frage an
Hast du eventuell auch einen vergleichbaren Guide zu Fedora? Den wollte ich dann auch gerne mal bei meinen Fedora Maschinen probieren!
Vielen Dank euch bereits!
- jph
- Beiträge: 1081
- Registriert: 06.12.2015 15:06:07
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Greven/Westf.
Re: Debian Neuinstallation mit automatischen BTRFS Snapshots?
Nein, dafür braucht man keine Neuinstallation, sondern lediglich ein Live-System (Debian-Bootmedium, grml o.ä.) sowie eine externe Festplatte, auf der man das System „zwischenlagern“ kann.cosinus hat geschrieben:14.07.2023 00:56:37Wie auch immer, wenn dann müsstest du schon Debian neu installieren wenn du das System auf ein neues Filesystem haben willst.
- Live-System booten
- Daten auf externe Platte kopieren
- Neue Dateisysteme erzeugen und mounten
- Daten von externer Platte in neue Dateisysteme kopieren
- fstab anpassen
- Grub reparieren
Re: Debian Neuinstallation mit automatischen BTRFS Snapshots?
Auf meinem Fedora-PC habe ich Silverblue installiert, also die so genannte "immutable" Variante von Fedora. Da die Updates Image-basiert sind, entfällt für mich die Notwendigkeit und der Sinn von BTRFS-Snapshots des Root-Filesystems als Wiederherstellungspunkte. Man kann immer in das letzte Image (eigentlich Root-Filesystem) vor einem Update booten oder in solche, die man selber gepinnt hat.Knogle hat geschrieben:09.08.2023 20:44:29Hast du eventuell auch einen vergleichbaren Guide zu Fedora? Den wollte ich dann auch gerne mal bei meinen Fedora Maschinen probieren!
Das Tool btrbk funktioniert auf Fedora genau so gut wie auf Debian, der Teil meines Skripts würde also auch funktionieren. Die btrbk-Konfiguration müsste noch auf das bei der Installation angelegte Partitions- und Subvolume-Schema angepasst werden. Leider gibt es (oder ich kenne) keine einfache Möglichkeit, ein beliebiges Skript automatisch vor einem DNF-Update oder Upgrade aufzurufen so wie mit dem Pre-Invoke Hook in Debian. Es ist möglich, weil es ein Plugin dnf-plugins-extras-snapper gibt, aber das verlangt dann Python-Programmierung und die Nutzung der Python-API von DNF.
Es gibt mehrere Anleitungen, wie man Fedora mit BTRFs und automatischen Snapshots mit Rollback auf Basis von Snapper installieren und konfigurieren kann, z.B.: https://sysguides.com/install-fedora-38 ... k-support/
Mir persönlich gefällt der Ansatz von Snapper und Timeshift nicht, bei dem mindestens ein halbes Dutzend Subvolumes angelegt werden, nur damit man bootable read-only Snapshots bekommt.
Zotac ZBox ID91: Debian 12 mit GNOME
Geekom Mini IT11: Fedora 38 Silverblue (GNOME)
Geekom Mini IT11: Fedora 38 Silverblue (GNOME)
Re: Debian Neuinstallation mit automatischen BTRFS Snapshots?
Hallo,
bei meinen neuen Debian 12 Installation, XFCE und btrfs auf / muss ich feststellen, dass man mit Timeshift keine BTRFS Snapshots mehr machen kann.
Man kann beim Einrichten von Timeshift BTRFS gar nicht mehr auswählen, nur rsync. Und wenn es mir doch gelingt auf BTRFS zu klicken, stürzt Timeshift sofort ab.
Ist das normal? Wäre richtig schade.
bei meinen neuen Debian 12 Installation, XFCE und btrfs auf / muss ich feststellen, dass man mit Timeshift keine BTRFS Snapshots mehr machen kann.
Man kann beim Einrichten von Timeshift BTRFS gar nicht mehr auswählen, nur rsync. Und wenn es mir doch gelingt auf BTRFS zu klicken, stürzt Timeshift sofort ab.
Ist das normal? Wäre richtig schade.