[Arch Linux] Fehler in der archinstall? btrfs + snapper snapshots

  • Hallo,

    ich habe bei der archinstall die Festplattenverschlüsselung (LUKS) gewählt, dazu btrfs als Dateisystem und dann (für mich neu in der archinstall) auch den Menüpunkt Snapshots mit snapper angewählt. Mit Neu für mich meine ich, dass in früheren archinstall Versionen, dieser Punkt fehlte, wie übrigens auch der Bereich Bluetooth, der neuerdings auch aufgeführt wird und ich ebenfall anwählte.

    Ich habe nun Schritt für Schritt mein System soweit klar und freue mich.

    Allerdings stellte ich gerade beim Reboot fest, dass im grub Menü gar nicht die Auswahl für snapper Snapshots angezeigt wird.

    wähle ich in der Konsole sudo snapper ls, zeigt er mir Snapshots an. Allerdings da "leider" nur Snapshots die im definierten Stundentakt erstellt werden, Es sind keine Snapshots vorhanden, von quasi vor und nach installieren von Programmen. Ich kannte snapper snapshots so in der Vergangenheit nicht, aber da hatte ich auch nach einer archinstall, mit 3-4 Befehlen, im Anschluss, manuell snapper snapshots via der Konsole installiert und dann sowohl im grub menü die Auswahlmöglichkeit, als auch via sudo snapper ls sehen kann, dass vor und nach Programm-Installen, ein Snapshot erstellt wurde. (wie auch im Konsolen Verlauf, während des Prozesses).

    Fazit: ist es somit so, dass in der archinstall zwar snapper snapshots auswählbar ist, aber in der Umsetzung im Anschluss nicht komplett umgesetzt wird (zumindest bei mir aktuell) - oder "muss" man dann doch im Nachgang etwas manuell in der Konsole Hand anlegen, aber dann verstehe ich nicht, warum es in der archinstall überhaupt aufgelistet wird, denn selbst der Stundensnapshot ist im grub nicht aufgelistet, nur Arch Linux und das erweiterte Menü.

  • Archinstall installiert dir nur die Basis, nicht jeder möchte Snapshots in Grub haben oder automatische Snapshots bei (De)Installationen/Updates erstellen.

    Lässt sich aber schnell einrichten.

    Code
    sudo pacman -Sy grub-btrfs snap-pac pacman-contrib
    sudo grub-mkconfig -o /boot/grub/grub.cfg

    Damit sollte alles erledigt sein.

    Zum Aufräumen der alten Programme würde ich dir noch empfehlen, diese beiden Dateien zu erstellen

    sudo nano /etc/pacman.d/hooks/cleanup-install.hook Die Zahl hinter k gibt an, wie viele Versionen du aufbewahren möchtest.

    Code
    [Trigger]
    Operation = Install
    Operation = Upgrade
    Type = Package
    Target = *
    
    [Action]
    Description = Keep the last cache and the currently installed.
    When = PostTransaction
    Exec = /usr/bin/paccache -rvvvk2

    sudo nano /etc/pacman.d/hooks/cleanup-remove.hook

    Code
    [Trigger]
    Operation = Remove
    Type = Package
    Target = *
    
    [Action]
    Description = Remove any chached version of removed package
    When = PostTransaction
    Exec = /usr/bin/paccache -rvvvuk0

    Edited once, last by Sojan (August 15, 2025 at 6:38 AM).

  • Bei meiner letzten Arch-Installation vor ein paar Wochen stellte ich auch fest, dass bezüglich Snapper-Snapshots schon einiges mitinstalliert wird. Aber eben nicht alles.

    Ich habe dann einfach, wie ich es vorher immer tat, per Befehl alles installiert, was ich dafür bisher brauchte.

    yay -S snapper snapper-support snap-pac grub-btrfs btrfs-assistant btrfsmaintenance

    Glaube aber, dass snapper schon installiert war / ist. Im "BTRFS Assistant" richtete ich mir die Snapshots ein, wie ich sie brauchte und dann war gut.

    Muss bei meiner nächsten Arch-Installation mal darauf achten, was sich da getan hat.

  • Grandios ! Sojan Danke ! 💫

    sudo pacman -Sy grub-btrfs snap-pac

    Info: pacman-contrib hatte ich bereits in meinen ersten Schritten nach der archinstall installiert, weil ich dort zwei Schritte eingerichtet hatte und dafür pacman-contrib nötig war. (paccache.timer + reflector (Germany))

    sudo grub-mkconfig -o /boot/grub/grub.cfg

    zuerst im Dolphin Explorer (als root geöffnet): Ordner hooks anlegen und die beiden Files: cleanup-install.hook + cleanup-remove.hook

    danach in der Konsole: sudo nano /etc/pacman.d/hooks/cleanup-install.hook

    Code
    [Trigger]
    Operation = Install
    Operation = Upgrade
    Type = Package
    Target = *
    [Action]
    Description = Keep the last cache and the currently installed.
    When = PostTransaction
    Exec = /usr/bin/paccache -rvvvk3

    danach in der Konsole: sudo nano /etc/pacman.d/hooks/cleanup-remove.hook

    Code
    [Trigger]
    Operation = Remove
    Type = Package
    Target = *
    [Action]
    Description = Remove any chached version of removed package
    When = PostTransaction
    Exec = /usr/bin/paccache -rvvvuk0

    dann einen Reboot gemacht.

    Fazit: snapper snapshots sind im grub Menü zu sehen

    + nun werden Snapshots vor und nach Veränderungen vorgenommen. (pre / post)

    Das habe wie folgt überprüft:

    Ich habe das mit dem folgenden getestet: sudo pacman -S libreoffice-fresh libreoffice-fresh-de

    Anschl. in der Konsole: sudo snapper ls

    und siehe da, pre and post werden gesnappt. :thumbup:

    Code
    18 │ single │          │ Fr 15 Aug 2025 12:00:21 CEST │ root     │ timeline   │ timeline                                                                 │ 
    19 │ single │          │ Fr 15 Aug 2025 12:15:13 CEST │ root     │ number     │ grub-btrfs snap-pac                                                      │ 
    20 │ pre    │          │ Fr 15 Aug 2025 12:34:45 CEST │ root     │ number     │ pacman -S libreoffice-fresh libreoffice-fresh-de                         │ 
    21 │ post   │       20 │ Fr 15 Aug 2025 12:34:47 CEST │ root     │ number     │ argon2 clucene harfbuzz-icu hyphen libabw libatomic_ops libcdr libcmis l │
  • @cat

    Weiß jetzt nicht, was für einen Service dein paccache.timer auslöst. Eventuell waren dann die beiden Pacman-Hooks gar nicht notwendig. Schaden tun sie aber auch nicht. :)


    PS: Super ausführliche Rückmeldung. Könnte als Muster ganz oben im Forum angepinnt werden. :thumbup:

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!