Timeshift hat mir mein Arch Linux zerschossen ... Warum?

  • Man entferne die subvolume ID Einträge in /etc/fstab und schon gehts auch mit timeshift.

    Das ist die Lösung, konnte den Fehler reproduzieren. Hatte bei mir auch die IDs rausgeworfen, mich jetzt aber nicht mehr daran erinnert.

    So sehen Subvolume-ID vor dem Rollback aus:

    Code
    $ btrfs subvolume list /
    ID 256 gen 159 top level 5 path @
    ID 257 gen 159 top level 5 path @home
    ID 258 gen 159 top level 5 path @log
    ID 259 gen 128 top level 5 path @pkg
    ID 260 gen 59 top level 5 path @.snapshots

    Dazu die fstab

    Code
    UUID=c4694... /         btrfs   rw,relatime,subvolid=256,subvol=/@     0 0
    UUID=c4694... /home     btrfs   rw,relatime,subvolid=257,subvol=/@home 0 0
    UUID=c4694... /var/log    btrfs   rw,relatime,subvolid=258,subvol=/@log  0 0
    UUID=c4694... /var/cache/pacman/pkg   btrfs  rw,relatime,subvolid=259,subvol=/@pkg  0 0
    UUID=c4694... /.snapshots     btrfs   rw,relatime,subvolid=260,subvol=/@.snapshots   0 0

    Noch passen die IDs zusammen.

    Aber nach dem Rollback haben die Subvolumes andere IDs bekommen. In der fstab stehen aber noch die alten ID und das Einbinden der Subvolumes schlägt fehl.

    Code
    ID 274 gen 159 top level 5 path @
    ID 273 gen 159 top level 5 path @home
    ID 256 gen 125 top level 5 path timeshift-btrfs/snapshots/2024-03-28_07-45-06/@
    ID 257 gen 141 top level 5 path timeshift-btrfs/snapshots/2024-04-07_15-37-13/@home
    ID 258 gen 159 top level 5 path @log
    ID 259 gen 128 top level 5 path @pkg
    ID 260 gen 59 top level 5 path @.snapshots

    Konnte das System wieder zum Laufen bekommen, in dem ich eine Live-Iso gestartet habe und in die /etc/fstab die neuen IDs eingetragen habe.

    Würde auch als erste Maßnahme nach der Installation die subvolid=xxx in der fstab löschen. Dann sollte es keine Probleme geben.

  • Ich dachte immer die subvolid wäre essential?

    PC | AMD Ryzen 7 3700X - NVIDIA GeForce RTX 2070 Super - 32 GB RAM - 1 TB NVME - 2 TB HDD - ArchLinux

    Lappi | Intel I3 - 16 GB RAM - 128 GB SSD - ArchLinux

    Homi | Intel Atom 3 - Intel Grafik - 4 GB RAM - 1x 128 GB SSD - 2x 4 TB Seagate IronWolf HDD im RAID - Debian 11 mit OMV 6

    ________________________________________________________________________________

    RADIO TEAM BAWÜ - Wir haben Spaß an Musik!!!

  • Man entferne die subvolume ID Einträge in /etc/fstab und schon gehts auch mit timeshift.

    Das ist die Lösung, konnte den Fehler reproduzieren. Hatte bei mir auch die IDs rausgeworfen, mich jetzt aber nicht mehr daran erinnert.

    Dann bin ich ja auf dem richtigen Weg. Ich hatte gestern Abend bei meiner Recherche den Hinweis gefunden, dass man die subvolids aus der fstab entfernen solle, da man nicht subvolid zusammen mit subvol nutzen darf.

    Timeshift messes up snapshot restores · Issue #416 · teejee2008/timeshift
    Hi, since about a year I am using Arch Linux on BTRFS, mainly because of this neat snapshot functionality. To easily manage it I decided to go with timeshift.…
    github.com

    Wollte es nun heute testen, aber erst hier noch die Antworten lesen. ;)

    Ich probiere das direkt mal aus ... Erstelle mir ein Backup der fstab, entferne die subvolid-Einträge, starte den Rechner zum Test neu und erstelle dann mit Timeshift einen Snapshot. Danach erstelle ich mir noch ein Vollbackup, damit ich nicht wieder erst Tausende Updates nach dem Restore installieren darf und versuche dann, den erstellten Snapshot wiederherzustellen.

    Ich bin gespannt ...

    Arch Linux | Gnome | Kernel 6.8.8-arch1-1

    MSI MAG X570 Tomahawk WIFI | AMD Ryzen 9 3900X | 2x 16 GB G.Skill RipJaws V DDR4-3200 | Sapphire NITRO+ AMD Radeon RX 7800 XT | Seasonic Prime PX-750 80+ Platinum

  • Zitat

    Aus dem Arch-Wiki

    Quelle: https://wiki.archlinux.org/title/Btrfs

    WOW, das steht irgendwie im Gegensatz zum deutschen Wiki oder ich verstehe es einfach nicht.

    Arch auf BtrFS – wiki.archlinux.de

    PC | AMD Ryzen 7 3700X - NVIDIA GeForce RTX 2070 Super - 32 GB RAM - 1 TB NVME - 2 TB HDD - ArchLinux

    Lappi | Intel I3 - 16 GB RAM - 128 GB SSD - ArchLinux

    Homi | Intel Atom 3 - Intel Grafik - 4 GB RAM - 1x 128 GB SSD - 2x 4 TB Seagate IronWolf HDD im RAID - Debian 11 mit OMV 6

    ________________________________________________________________________________

    RADIO TEAM BAWÜ - Wir haben Spaß an Musik!!!

  • Es funktioniert!!! :)

    Der subsolid-Eintrag in der fstab war schuld. Hatte mir auch nochmal meine gespeicherten fstab-Dateien aus Fedora und Nobara angeschaut. Hier gibt es ebenfalls keine subvolid-Einträge.

    Ich habe aus meiner fstab nun alle subvolid-Einträge entfernt. Es gab noch mehr solcher Einträge, nicht nur für / und /home. Alle habe ich entfernt. Dann habe ich einen Snapshot erstellt und sogar ein paar Dateien aus meinem Home-Verzeichnis gelöscht. Ich wollte sichergehen, dass die Dateien nach dem Restore auch alle wieder da sind. Dann habe ich den Restore des Snapshots gemacht und nach dem Rechnerneustart waren alle gelöschten Dateien aus meinem Home-Verzeichnis wieder da.

    Jetzt erklärt es sich auch, warum in der Vergangenheit nach einem Restore eines Snapshots für / trotzdem der Kernel wieder installiert war, den ich nach Erstellen des Snapshots erst installiert hatte. Wegen der durch den Restore geänderten subvolid wurde / gar nicht tatsächlich wiederhergestellt.

    Krass ... Warum legt Arch Linux bei der Installation in der fstab überhaupt diese subvolid-Einträge an? In anderen Distributionen hatte ich dieses Problem nicht. Haben die alle keine subvolid-Einträge angelegt? :/

    Jetzt weiß ich es und habe es mir in meine ToDo-Liste für nach der Arch-Installation geschrieben, dass ich die subvolid-Einträge aus der fstab direkt erstmal rausschmeiße. Vielen Dank an GrapaPapa und Sojan für den Hinweis auf die Lösung. :thumbup:

    Arch Linux | Gnome | Kernel 6.8.8-arch1-1

    MSI MAG X570 Tomahawk WIFI | AMD Ryzen 9 3900X | 2x 16 GB G.Skill RipJaws V DDR4-3200 | Sapphire NITRO+ AMD Radeon RX 7800 XT | Seasonic Prime PX-750 80+ Platinum

  • Es funktioniert!!! :)

    Gratuliere!!

    Habe einen Blick in mein Installationsscript geworfen und dabei diese Zeilen (wieder)entdeckt. ^^

    Code
    # fstab um subvolid bereinigen >> könnte sonst beim Snapper-Rollback Probleme bereiten
    sed -i "s/,subvolid=256//" /etc/fstab
    sed -i "s/,subvolid=257//" /etc/fstab
    sed -i "s/,subvolid=258//" /etc/fstab
    sed -i "s/,subvolid=259//" /etc/fstab
    sed -i "s/,subvolid=260//" /etc/fstab
    sed -i "s/,subvolid=261//" /etc/fstab

    Das Subvolume-ID kommen aus dem Arch-Script genfstab, scheint das Archinstall-Script auch zu verwenden.

  • Jetzt wo du es sagst...bei mir sind auch keine drin.

    Code
    UUID=2e23fbb9-a043-430c-ab1d-566df3983b66 /              btrfs   subvol=/@,noatime,compress=zstd:3 0 0
    UUID=2e23fbb9-a043-430c-ab1d-566df3983b66 /home          btrfs   subvol=/@home,noatime,compress=zstd:3 0 0
    UUID=2e23fbb9-a043-430c-ab1d-566df3983b66 /var/cache     btrfs   subvol=/@cache,noatime,compress=zstd:3 0 0
    UUID=2e23fbb9-a043-430c-ab1d-566df3983b66 /var/log       btrfs   subvol=/@log,noatime,compress=zstd:3 0 0

    PC | AMD Ryzen 7 3700X - NVIDIA GeForce RTX 2070 Super - 32 GB RAM - 1 TB NVME - 2 TB HDD - ArchLinux

    Lappi | Intel I3 - 16 GB RAM - 128 GB SSD - ArchLinux

    Homi | Intel Atom 3 - Intel Grafik - 4 GB RAM - 1x 128 GB SSD - 2x 4 TB Seagate IronWolf HDD im RAID - Debian 11 mit OMV 6

    ________________________________________________________________________________

    RADIO TEAM BAWÜ - Wir haben Spaß an Musik!!!

  • Danke!

    in fast jedem meiner Einträge in der fstab stand auch etwas mit subvolid, habe ich nun auch entfernt.


  • DenalB 7. April 2024 um 21:06

    Hat einen Beitrag als hilfreichste Antwort ausgewählt.
  • Dann betrifft es ja zum Glück nicht nur mich! :)

    Und ich kann nun tatsächlich bei meiner Kombi Arch Linux > BTRFS > Timeshift bleiben. Wunderbar. Danke!! :thumbup:

    Arch Linux | Gnome | Kernel 6.8.8-arch1-1

    MSI MAG X570 Tomahawk WIFI | AMD Ryzen 9 3900X | 2x 16 GB G.Skill RipJaws V DDR4-3200 | Sapphire NITRO+ AMD Radeon RX 7800 XT | Seasonic Prime PX-750 80+ Platinum

  • DenalB Das finde ich das schöne an Linux bzw. was mich derzeit extrem fasziniert. Die Auswahl, die Freiheit.

    Wobei, gibt es da wesentliche Unterschiede zwischen Timeshift Snapshot und Snapper Snapshot?

    Also du schriebst bei btrfs ist die Empfehlung scheinbar snapper statt timeshift (in Bezug auf Rollbacks, (wenn mal wirklich nötig), fing ich an nach Installwegen zu forschen und schaute viele Videos. bei einem hatte ich das gefühl, diese Schritte sind es und ich hatte letzte Nacht das probiert und klappte auch soweit...

  • Also du schriebst bei btrfs ist die Empfehlung scheinbar snapper statt timeshift (in Bezug auf Rollbacks, (wenn mal wirklich nötig)

    Hab ich das geschrieben? :/
    Also ich nutze seit eh und je Timeshift. Hatte nur ein Mal Snapper in Verbindung mit dem BTRFS-Assistant genutzt, weil ich mein System falsch partitioniert hatte. ;)

    Arch Linux | Gnome | Kernel 6.8.8-arch1-1

    MSI MAG X570 Tomahawk WIFI | AMD Ryzen 9 3900X | 2x 16 GB G.Skill RipJaws V DDR4-3200 | Sapphire NITRO+ AMD Radeon RX 7800 XT | Seasonic Prime PX-750 80+ Platinum

  • Wobei, gibt es da wesentliche Unterschiede zwischen Timeshift Snapshot und Snapper Snapshot?

    Beides sind Werkzeuge, die dir den Umgang mit BTRFS erleichtern. Beide machen ihren Job, ist also eher eine Geschmacksfrage. Notwendig sind sie aber nicht, wie kim88 in Beitrag #7 gezeigt hat.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!