btrfs file system nur lesbar

Begonnen von alexletux, 2025/09/03, 21:10:40

Vorheriges Thema - Nächstes Thema

alexletux

Vor ca.2 Wochen habe ich das siduction xfce image frisch heruntergeladen, instaliiert und die ssd mit btfrs formatieren lassen, d-u... kein Start wegen systemd Problems.
Von dem einzigen verfügbaren Snapshot gestartet: Systempartition nur lesbar, kein d-u möglich. Als Nutzer konnte ich Dateien anlegen und der Desktop lief.

Ein paar Tage später war das systemd Problem gelost. mit init 3 (nicht vom snapshot) gestartet, d-u gemacht... ganzes System nur lesbar. Desktop startet nicht und ich kriege keinen Prompt.

Mit init 3 starten, als root anmelden,
Zitatmount -o remount,rw /
exit, als user anmelden startx... läuft.
Ich habe die Zeile in rc.local aufgenommen, läuft.

Ich würde aber gerne die Ursache beseitigen. Ideen?

Ich habe bereits das subvolume @ shreibbar gemacht, keine Änderung.

unklarer

Ideen?
Sieh dir die fstab an.

alexletux

Kein Grund erkennbar, jedenfalls nicht für mich... es ist das ersta Mal, dass ich so eine auf btrfs zugeschnittene fstab sehe.
Ich wollte schon wieder von btrfs weg - auf meinem anderen Rechner wird die SSD zu ge "snapshot" et. Aber Starteen vom vorherigen Snapshot war schon genial.

UUID= xxxxxx-xxxx-           /boot/efi         vfat    umask=0077 0 2
UUID= xxxxxx-xxxx            /                     btrfs   subvol=/@,defaults,noatime,space_cache=v2,autodefrag,compress=zstd 0 0
UUID=xxxxxx-                    /.snapshots    btrfs   subvol=/@snapshots,defaults,noatime,space_cache=v2,autodefrag,compress=zstd 0 0
UUID=xxxxxx-xxxx             /home            btrfs   subvol=/@home,defaults,noatime,space_cache=v2,autodefrag,compress=zstd 0 0
UUID=xxxxxx-xxxx             /root               btrfs   subvol=/@root,defaults,noatime,space_cache=v2,autodefrag,compress=zstd 0 0
UUID=xxxxxx-                    /var/log           btrfs   subvol=/@var@log,defaults,noatime,space_cache=v2,autodefrag,compress=zstd 0 0
UUID=xxxxxx-xxxx-xxxx      /swap            btrfs   subvol=/@swap,defaults,noatime 0 0
/swap/swapfile                       swap           swap    defaults,noatime 0 0
tmpfs                                      /tmp            tmpfs   defaults,noatime,mode=1777 0 0

unklarer

Ich lese das hier auf einem Smartfone. Solltest du auch mal tun! Code-Tags ist eben ein Fremdwort.

Die UUID's hast du auch noch verfremdet. Da gehen mir die Ideen aus! Sorry.

alexletux

Aha. Danke für den Hinweis!

Ohne Formatierung als Code waren die Zeilen durch die UUIDs zu lang und nicht ausgerichtet.
Ich wusste nicht, dass das bei der Formatierung besser ist und Code ist es ja gar nicht...

Aber ich glaube auch nicht, dass die fstab schuld ist.


UUID=6921-02EC                            /boot/efi      vfat    umask=0077 0 2
UUID=4193d134-67de-4445-86bf-d1f2f5bb4c06 /              btrfs   subvol=/@,defaults,noatime,space_cache=v2,autodefrag,compress=zstd 0 0
UUID=4193d134-67de-4445-86bf-d1f2f5bb4c06 /.snapshots    btrfs   subvol=/@snapshots,defaults,noatime,space_cache=v2,autodefrag,compress=zstd 0 0
UUID=4193d134-67de-4445-86bf-d1f2f5bb4c06 /home          btrfs   subvol=/@home,defaults,noatime,space_cache=v2,autodefrag,compress=zstd 0 0
UUID=4193d134-67de-4445-86bf-d1f2f5bb4c06 /root          btrfs   subvol=/@root,defaults,noatime,space_cache=v2,autodefrag,compress=zstd 0 0
UUID=4193d134-67de-4445-86bf-d1f2f5bb4c06 /var/log       btrfs   subvol=/@var@log,defaults,noatime,space_cache=v2,autodefrag,compress=zstd 0 0
UUID=4193d134-67de-4445-86bf-d1f2f5bb4c06 /swap          btrfs   subvol=/@swap,defaults,noatime 0 0
/swap/swapfile                            swap           swap    defaults,noatime 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

scholle1

Zitat von: alexletux in 2025/09/03, 21:10:40
[...] d-u... kein Start wegen systemd Problems.
Von dem einzigen verfügbaren Snapshot gestartet
Wie ging das genau vonstatten?
Aus welchem Anlass wurde der Snapshot erstellt?
Was zeigt die Ausgabe von 'snapper list' ?

Zitat: Systempartition nur lesbar, kein d-u möglich.
Du hast keine Systempartition, sonder laut fstab zwei Partitionen.
Eine ESP und die zweite mit Btrfs formatiert enthält alle deine Subvolumen.
Und du hast ein swap-Subvolumen, was darauf hindeutet, dass es sich nicht um
siduction handelt. siduction legt bei der Installation kein swap-Subvolumen an.

Dann wäre auch ein Auszug von /boot/grub/grub.cfg hilfreich. Bitte nur den Bereich zwischen
### BEGIN /etc/grub.d/10_Linux ###
und
### END /etc/grub.d/10_Linux ###

Ist das Paket grub-btrfs installiert?
apt policy grub-btrfs
"Pax in terris" - Das ist mein großer, mein einzigster für diese Welt von Herzen kommender Wunsch.
"Friede auf Erden" und alles Weitere erscheint einfach.

alexletux

Doch, es ist siduction. Vielleicht habe ich eine ungewöhnliche Konfiguration gewählt. SSDs wollen ja die Speicherzellen rotieren und mögen keine zu kleinen Partitionen. Daher habe ich mich gegen eine Swap Partition entschieden.

Siduction legt mit snapper "pre" und "post" apt ein snapshot an. Im Grub Menü gibt es einen Eintrag "snapshots", da konnte ich den einzigen damals vorhandenen "pre" snapshot auswählen und davon booten.

root@pc1-ssd500:/home/pc1# snapper list
  # | Typ    | Vorher # | Datum                        | Benutzer | Bereinigen | Beschreibung                 | Benutzerdaten
----+--------+----------+------------------------------+----------+------------+------------------------------+--------------
0  | single |          |                              | root     |            | current                      |             
1  | pre    |          | Di 26 Aug 2025 19:54:59 CEST | root     | number     | DU                           |             
2  | post   |        1 | Di 26 Aug 2025 20:39:35 CEST | root     | number     | DU                           |             
3  | pre    |          | Sa 30 Aug 2025 23:36:08 CEST | root     | number     | DU                           |             
4  | post   |        3 | Sa 30 Aug 2025 23:38:14 CEST | root     | number     | DU                           |             
5  | pre    |          | So 31 Aug 2025 10:05:37 CEST | root     | number     | Autoremove 146 pkg           |             
6  | post   |        5 | So 31 Aug 2025 10:06:00 CEST | root     | number     | Autoremove 146 pkg           |             
7  | pre    |          | So 31 Aug 2025 10:06:30 CEST | root     | number     | Install ssh                  |             
8  | post   |        7 | So 31 Aug 2025 10:06:32 CEST | root     | number     | Install ssh                  |             
9  | pre    |          | So 31 Aug 2025 11:24:24 CEST | root     | number     | Install pcmanfm +9 pkg       |             
10  | post   |        9 | So 31 Aug 2025 11:24:31 CEST | root     | number     | Install pcmanfm +9 pkg       |             
11  | pre    |          | So 31 Aug 2025 11:36:38 CEST | root     | number     | Install doublecmd-gtk +2 pkg |             
12  | post   |       11 | So 31 Aug 2025 11:36:44 CEST | root     | number     | Install doublecmd-gtk +2 pkg |             
13  | pre    |          | So 31 Aug 2025 12:03:55 CEST | root     | number     | Install geany +1 pkg         |             
14  | post   |       13 | So 31 Aug 2025 12:04:01 CEST | root     | number     | Install geany +1 pkg         |             
15  | pre    |          | So 31 Aug 2025 21:44:52 CEST | root     | number     | Install gftp +2 pkg          |             


### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
}
set linux_gfx_mode=keep
export linux_gfx_mode
menuentry 'siduction 2023.1 Standing on the Shoulders of Giants XFCE snapshot @, Linux 6.16.3-2-siduction-amd64' --class siduction --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.16.3-2-siduction-amd64-advanced-4193d134-67de-4445-86bf-d1f2f5bb4c06' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod btrfs
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  4193d134-67de-4445-86bf-d1f2f5bb4c06
else
  search --no-floppy --fs-uuid --set=root 4193d134-67de-4445-86bf-d1f2f5bb4c06
fi
echo 'Loading Linux 6.16.3-2-siduction-amd64 ...'
linux /@/boot/vmlinuz-6.16.3-2-siduction-amd64 root=UUID=4193d134-67de-4445-86bf-d1f2f5bb4c06 ro rootflags=subvol=@  quiet systemd.show_status=1
echo 'Loading initial ramdisk ...'
initrd /@/boot/initrd.img-6.16.3-2-siduction-amd64
}
menuentry 'siduction 2023.1 Standing on the Shoulders of Giants XFCE snapshot @, Linux 6.5.2-1-siduction-amd64' --class siduction --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.2-1-siduction-amd64-advanced-4193d134-67de-4445-86bf-d1f2f5bb4c06' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod btrfs
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  4193d134-67de-4445-86bf-d1f2f5bb4c06
else
  search --no-floppy --fs-uuid --set=root 4193d134-67de-4445-86bf-d1f2f5bb4c06
fi
echo 'Loading Linux 6.5.2-1-siduction-amd64 ...'
linux /@/boot/vmlinuz-6.5.2-1-siduction-amd64 root=UUID=4193d134-67de-4445-86bf-d1f2f5bb4c06 ro rootflags=subvol=@  quiet systemd.show_status=1
echo 'Loading initial ramdisk ...'
initrd /@/boot/initrd.img-6.5.2-1-siduction-amd64
}

### END /etc/grub.d/10_linux ###


root@pc1-ssd500:/home/pc1# apt policy grub-btrfs
grub-btrfs:
  Installiert:           4.11-1~1siduction1
  Installationskandidat: 4.11-1~1siduction1
  Versionstabelle:
*** 4.11-1~1siduction1 500
        500 https://packages.siduction.org/extra unstable/main amd64 Packages
        100 /var/lib/dpkg/status

scholle1

Zitat von: alexletux in 2025/09/04, 15:28:21
[...]Siduction legt mit snapper "pre" und "post" apt ein snapshot an. Im Grub Menü gibt es einen Eintrag "snapshots", da konnte ich den einzigen damals vorhandenen "pre" snapshot auswählen und davon booten.
Soweit gut. Die pre- und post-Snapshots von Snapper sind immer auf Dateisystembasis schreibgeschützt.
Du kannst hinein booten um zu schauen ob du diesen Snapschot für ein Rollback nutzen möchtest.
Bei einem Rollback wird eine r/w Kopie des Rollbackziels erstellt und für Btrfs zum Standard
Subvolumen definiert. Das erledigt Snapper. Unser Paket siduction-btrfs erstellt im Anschluss
im Rollbackziel die Menüdatei für Grub und installiert Grub aus dem Rollbackziel in die ESP.

Zitat
root@pc1-ssd500:/home/pc1# snapper list
  # | Typ    | Vorher # | Datum                        | Benutzer | Bereinigen | Beschreibung                 | Benutzerdaten
----+--------+----------+------------------------------+----------+------------+------------------------------+--------------
0  | single |          |                              | root     |            | current                      |             
1  | pre    |          | Di 26 Aug 2025 19:54:59 CEST | root     | number     | DU                           |             
2  | post   |        1 | Di 26 Aug 2025 20:39:35 CEST | root     | number     | DU                           |             
3  | pre    |          | Sa 30 Aug 2025 23:36:08 CEST | root     | number     | DU                           |             
4  | post   |        3 | Sa 30 Aug 2025 23:38:14 CEST | root     | number     | DU                           |             
5  | pre    |          | So 31 Aug 2025 10:05:37 CEST | root     | number     | Autoremove 146 pkg           |             
6  | post   |        5 | So 31 Aug 2025 10:06:00 CEST | root     | number     | Autoremove 146 pkg           |             
7  | pre    |          | So 31 Aug 2025 10:06:30 CEST | root     | number     | Install ssh                  |             
8  | post   |        7 | So 31 Aug 2025 10:06:32 CEST | root     | number     | Install ssh                  |             
9  | pre    |          | So 31 Aug 2025 11:24:24 CEST | root     | number     | Install pcmanfm +9 pkg       |             
10  | post   |        9 | So 31 Aug 2025 11:24:31 CEST | root     | number     | Install pcmanfm +9 pkg       |             
11  | pre    |          | So 31 Aug 2025 11:36:38 CEST | root     | number     | Install doublecmd-gtk +2 pkg |             
12  | post   |       11 | So 31 Aug 2025 11:36:44 CEST | root     | number     | Install doublecmd-gtk +2 pkg |             
13  | pre    |          | So 31 Aug 2025 12:03:55 CEST | root     | number     | Install geany +1 pkg         |             
14  | post   |       13 | So 31 Aug 2025 12:04:01 CEST | root     | number     | Install geany +1 pkg         |             
15  | pre    |          | So 31 Aug 2025 21:44:52 CEST | root     | number     | Install gftp +2 pkg          |             
Du musst jetzt entscheiden zu welchem Zeitpunkt das System funktionsfähig war und dorthin
ein Rollback ausführen. Beispielsweise vor dem zweiten DU, also Snappers Snapshot Nr. 3.
Als Root ausführen.
snapper -a classic rollback 3
Ein einfacher Reboot führt dann zum Rollbackziel.
"Pax in terris" - Das ist mein großer, mein einzigster für diese Welt von Herzen kommender Wunsch.
"Friede auf Erden" und alles Weitere erscheint einfach.

alexletux

Hm. Danke! Aber eigentlich bin ich ja mit "current" zufrieden. Bis auf das "kleine" Problem. Ich boote schon einige Tage nicht mehr von snapshots.

Kann man auch zu 0 zurückrollen? Ich versuchs heute Abend mal.

scholle1

Zitat von: alexletux in 2025/09/05, 15:01:19
Hm. Danke! Aber eigentlich bin ich ja mit "current" zufrieden. Bis auf das "kleine" Problem. Ich boote schon einige Tage nicht mehr von snapshots.
Kann man auch zu 0 zurückrollen? Ich versuchs heute Abend mal.
Wenn du ein Rollback zu 0 durchführst, sind alle Änderungen 1 - 15 ebenfalls nicht mehr vorhanden, es sei denn du löschst vorher die Snapshots 1 - 15.
Bei einem Rollback werden auf jeden Fall die zwei neuen Subvolumen 'backup of XX' und 'writeable copy of YY' angelegt.
Mache einfach ein Rollback, schaue ob alles so funktioniert wie es soll und dann lösche alle nicht benötigten Snapshots/Subvolumen.
"Pax in terris" - Das ist mein großer, mein einzigster für diese Welt von Herzen kommender Wunsch.
"Friede auf Erden" und alles Weitere erscheint einfach.

alexletux

snapper -a classic rollback 0
E/A-Fehler (.snapshots is not a btrfs subvolume).


genauso mit "3".

Ich muss mich wohl tiefer mit btfrs und snapper beschäftigen.
Danke!

alexletux

Solved!

chmod 750 /.snapshots


rollback zu 0 löst mein Problem und auch die letzten apts wurden nicht rückgängig gemacht.
Nochmal Danke!!!