btrfs - Jedi-Ritter System - per script ein snapshot vor dem Update

xsid

Active member
Themenstarter
Registriert
29 Mai 2007
Beiträge
4.622
aus: https://thinkpad-forum.de/threads/2...ux-Distribution-gesucht?p=2209342#post2209342

was beim Einsatz von btrfs kein problem darstellt.
Einfach per script ein snapshot vor dem Update machen und man kann immer wieder zurück - auch über das Bootmenu von Grub 2 wenn man es 1x einrichtet.

Ich habe das ständige installieren / updaten der ganzen Distros satt, wenn sie alle paar Jahre auslaufen. Ein rolling release - in meinem Falle arch linux - mit ausgewählter Software ist für mich die beste Wahl.
Ich kann nur jedem Linux-Interssierten mal empfehlen, dem Nick von unicks.eu mal zuzuhören - die Playlist "arch my way" war hier für mich sehr zielführend.

Hallo GI-Joe,

Du schreibst "man kann immer wieder zurück - auch über das Bootmenu von Grub 2 wenn man es 1x einrichtet.", wie hast Du das eingerichtet?

Kennst Du auch timeshift?

https://github.com/teejee2008/timeshift/wiki/Restoring-Snapshots

MfG
xsid

###########################################################################################################
Hier wird manchmal angepasst!
6. Mai. 2020

Siehe Fehler: https://thinkpad-forum.de/threads/2...r-dem-Update?p=2236072&viewfull=1#post2236072 06.05.2020

Konzeptübersicht

8ejBF0O.jpg


@ ist das „top-level subvolume“, also die Wurzel eines btrfs-Dateisystems, hat immer die ID 5.

Kurzkurzanleitung, GI-Joe, Teilparts unkonventionell, #24

https://thinkpad-forum.de/threads/2...ift-Nov-2019?p=2210895&viewfull=1#post2210895

Kurzkurzanleitung, GI-Joe, Version 2, #95


https://thinkpad-forum.de/threads/2...System-11-19?p=2211720&viewfull=1#post2211720

Kernel am Anfang kopieren, auch für Abgleich:

Code:
[root@arch boot]# cp initramfs-linux.img initramfs-linux-stable.img
[root@arch boot]# cp initramfs-linux.img initramfs-linux-oldstable.img
[root@arch boot]# cp vmlinuz-linux vmlinuz-linux-stable
[root@arch boot]# cp vmlinuz-linux vmlinuz-linux-oldstable

Code:
sudo cp /boot/vmlinuz-linux-lts /boot/vmlinuz-linux-lts-stable
sudo cp /boot/vmlinuz-linux-lts /boot/vmlinuz-linux-lts-oldstable
sudo cp /boot/initramfs-linux-lts.img /boot/initramfs-linux-lts-stable.img
sudo cp /boot/initramfs-linux-lts.img /boot/initramfs-linux-lts-oldstable.img


4 unterschiedliche /etc/fstab
hier sind noch Fehler enthalten, Berichtigung siehe ---> https://thinkpad-forum.de/threads/2...ate-Nov-2019?p=2213444&viewfull=1#post2213444

https://nopaste.linux-dev.org/?1277211

Händisch angepasste: /boot/grub/grub.cfg [beachte! rootflags=subvol=@snapshots............]

https://nopaste.linux-dev.org/?1277194

Meine /etc/grub.d/40_custom

https://nopaste.linux-dev.org/?1279542


Anpassung von grub [ https://www.gnu.org/software/grub/manual/grub/grub.html ]

Code:
chmod 644 /etc/grub.d/10_linux
cp /etc/grub.d/10_linux /etc/grub.d/disabled_10_linux
chmod 644 /etc/grub.d/20_linux_xen
cp /etc/grub.d/20_linux_xen /etc/grub.d/disabled_20_linux_xen
chmod 644 /etc/grub.d/30_os-prober
cp /etc/grub.d/30_os-prober /etc/grub.d/disabled_30_os-prober
cp /boot/grub/grub.cfg /boot/grub/grub.cfg.old
grub-mkconfig -o /boot/grub/grub.cfg
systemctl reboot

So sieht Grub dann aus:

DFPqtpD.jpg


submenu 'Advanced options for Arch Linux'

acRXrKi.jpg




Handwerkszeug, Script, erfolgreich angewandt:


https://www.dropbox.com/s/ju13bjbw09mpzaq/update.sh?dl=0

https://nopaste.linux-dev.org/?1277171

Gespeichert in: ~/.scripte/

Code:
sudo chmod 750  update.sh


Erweiterte Scripte von GI-Joe mit LTS-Kernel, reflector und pikaur aus den AUR:

(Siehe Posting #95)
Scripte GI-Joe, vom 8. Dezember 2019 ...

snapshot+systemupdate.sh https://pastebin.com/M8F2pSu2

rollback_stable_nach_testing.sh https://pastebin.com/uRNvfFuw

rollback_oldstable_nach_stable_und_testing.sh https://pastebin.com/iBmjx8GY

Zur einwandfreien Funktion der Scripte muss pacman-contrib und reflector installiert sein:
Code:
pacman -S pacman-contrib reflector

chmod ist auch erforderlich:
Code:
sudo chmod 750 ..............

- abspeichern in ~/.scripte/ oder /usr/local/bin oder wo man möchte

chmod
http://www.onlineconversion.com/html_chmod_calculator.htm

Die drei Scripte von GI-Joe funktionieren einwandfrei, getestet am 11. Dezember 2019.
 
Zuletzt bearbeitet:
fein, mein System startet jetzt.

Code:
parted -l

Nummer  Anfang  Ende    Größe   Typ      Dateisystem     Flags
 1      1049kB  1050MB  1049MB  primary  ext4
 2      1050MB  44,0GB  42,9GB  primary  btrfs
 3      44,0GB  64,4GB  20,4GB  primary  linux-swap(v1)

Code:
 df -Th
Dateisystem    Typ      Größe Benutzt Verf. Verw% Eingehängt auf
dev            devtmpfs  3,9G       0  3,9G    0% /dev
run            tmpfs     3,9G    512K  3,9G    1% /run
/dev/sda2      btrfs      40G    1,8G   38G    5% /
tmpfs          tmpfs     3,9G       0  3,9G    0% /dev/shm
tmpfs          tmpfs     3,9G       0  3,9G    0% /sys/fs/cgroup
/dev/sda2      btrfs      40G    1,8G   38G    5% /home
/dev/sda2      btrfs      40G    1,8G   38G    5% /var/cache/pacman/pkg
/dev/sda2      btrfs      40G    1,8G   38G    5% /.snapshots
tmpfs          tmpfs     3,9G       0  3,9G    0% /tmp
/dev/sda1      ext4      969M     55M  849M    6% /boot
tmpfs          tmpfs     797M       0  797M    0% /run/user/0


Code:
btrfs subvolume list /
ID 257 gen 8 top level 5 path @
ID 258 gen 9 top level 5 path @home
ID 259 gen 72 top level 5 path @pkg
ID 260 gen 11 top level 5 path @snapshots
ID 263 gen 29 top level 5 path var/lib/portables
ID 264 gen 30 top level 5 path var/lib/machines

Meine /etc/fstab:

Code:
cat /etc/fstab
# Static information about the filesystems.                                                                                                                                                                                      
# See fstab(5) for details.                                                                                                                                                                                                      
                                                                                                                                                                                                                                 
# <file system> <dir> <type> <options> <dump> <pass>                                                                                                                                                                             
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                            
LABEL=ROOT              /               btrfs           rw,relatime,space_cache,subvolid=5,subvol=/     0 0                                                                                                                      
                                                                                                                                                                                                                                 
# /dev/sda1 UUID=e8891039-e8c3-40a9-8c0e-8ac09c87a869                                                                                                                                                                            
LABEL=BOOT              /boot           ext4            rw,relatime     0 2                                                                                                                                                      
                                                                                                                                                                                                                                 
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                            
LABEL=ROOT              /home           btrfs           rw,noatime,space_cache,subvolid=258,subvol=/@home,subvol=@home  0 0                                                                                                      
                                                                                                                                                                                                                                 
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                            
LABEL=ROOT              /btrfs          btrfs           rw,noatime,space_cache,subvolid=5,subvol=/      0 0                                                                                                                      
                                                                                                                                                                                                                                 
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                            
LABEL=ROOT              /.snapshots     btrfs           rw,noatime,space_cache,subvolid=260,subvol=/@snapshots,subvol=@snapshots        0 0                                                                                      
                                                                                                                                                                                                                                 
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                            
LABEL=ROOT              /var/cache/pacman/pkg   btrfs           rw,noatime,space_cache,subvolid=259,subvol=/@pkg,subvol=@pkg    0 0                                                                                              
                                                                                                                                                                                                                                 
# /dev/sda3 UUID=92f65913-a071-4213-b8fa-eef611c7c770                                                                                                                                                                            
LABEL=SWAP              none            swap            defaults        0 0





anfänglich hatte ich vergessen /dev/sda1 mit /boot einzubinden.

Es gab auch ein Problem mit dhcpcd:

https://bbs.archlinux.org/viewtopic.php?id=250397

Code:
+++dhcpcd iso Nov. 2019 Problem+++++++
pacstrap /mnt base base-devel linux linux-firmware nano btrfs-progs dhcpcd openssh mc --ignore dhcpcd
+++++++++

Es gibt viele kleine Fallstricke, als trivial empfinde ich so eine Installation nicht.


Gibt es ein brtfs Standardsystem, was von dem btrfs empfohlen wird?

https://btrfs.wiki.kernel.org/index.php/Main_Page


Wie kann ich mir die verwendeten Mountoptionen (sdd usw.) anzeigen lassen?

Snapper, könnte interessant sein:

https://wiki.archlinux.org/index.php/Snapper

https://de.opensuse.org/SDB:Snapper

Ich benutze kein openSUSE. Kann ich trotzdem Snapper verwenden ?

Wir bieten Snapper-Pakete für diverse Distributionen im openSUSE-build-service an:

Project
Downloads

Natürlich ist es auch möglich Snapper selbst zu kompilieren:

Entwicklung

Grub Eintrag als Text, ohne Youtube und Sound aus Kommentar (https://www.youtube.com/watch?v=J9jaVH9DjTU):

https://pastebin.com/9nDpNN3n

Code:
menuentry 'Arch Linux Xfce' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-75c8385c-0221-453f-af8f-e7c06cc44301' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2  9224ca20-f67e-44a0-b6bb-b7fdf08f7965
        else
          search --no-floppy --fs-uuid --set=root 9224ca20-f67e-44a0-b6bb-b7fdf08f7965
        fi
        echo    'Loading Linux linux ...'
        linux   /vmlinuz-linux root=UUID=75c8385c-0221-453f-af8f-e7c06cc44301 rw rootflags=subvol=@snapshots/TESTING  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /initramfs-linux.img
}
menuentry 'Arch Linux Xfce Stable' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-75c8385c-0221-453f-af8f-e7c06cc44301' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2  9224ca20-f67e-44a0-b6bb-b7fdf08f7965
        else
          search --no-floppy --fs-uuid --set=root 9224ca20-f67e-44a0-b6bb-b7fdf08f7965
        fi
        echo    'Loading Linux linux ...'
        linux   /vmlinuz-linux-stable root=UUID=75c8385c-0221-453f-af8f-e7c06cc44301 rw rootflags=subvol=@snapshots/STABLE  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /initramfs-linux-stable.img
}
 
usw
 
Zuletzt bearbeitet:
Hallo @GI-Joe, könntest Du Dir noch mal Deinen Beitrag #24 angucken, ich vermute in dem Teil
...
#### dann wird mit den Subvolumes neu gemountet ....
mount /dev/sda2 -t btrfs -o rw,noatime,compress=lzo,ssd,space_cache,subvol=/@ /mnt
mount /dev/sda1 -t ext4 -o rw,relatime /bootmkdir -p /mnt/boot
...
ist Dir ein zusätzliches "mkdir -p" an falscher Stelle reingerutscht. Nicht das diese ziemlich gute Kurzanleitung auf ewig falsch im Netz kursiert ;)
 
Nichts. Du kannst dir die zusätzliche Partition sparen.

Hallo Cuco,

dann braucht man nur zwei Partitionen?
Eine brtrfs-Partition und eine swap-Partition?

iso-Boot ist auch von btrfs auch möglich?

Könnte btrfs durch die Subvolumes weitere Betriebssysteme enthalten (gibt evtl. ein Durcheinander)?
Subvolumes soll man wie Partitionen händeln, ist das wirklich richtig?

Was mach jetzt am besten als nächstes?
Lesen ist mir lieber als Youtube mit Ton, gibt es nicht irgendwo eine richtige, aktuelle Anleitung?

MfG

xsid

- - - Beitrag zusammengeführt - - -

Hallo btrfs-Erfahrene,

macht es Sinn bei btrfs auch zwei btrfs-Partitionen (sda1, sda2) / und /home anzulegen?
Oder regelt man das besser mit Subvolumes?

MfG
xisd

Edit-01:

Mein startfähiges Linux System sieht jetzt wie folgt aus:

Code:
Festplatte  /dev/sda:  53,7GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Typ      Dateisystem     Flags
 1      1049kB  21,0GB  21,0GB  primary  btrfs
 2      21,0GB  41,9GB  21,0GB  primary  btrfs
 3      41,9GB  49,3GB  7339MB  primary  btrfs
 4      49,3GB  53,7GB  4404MB  primary  linux-swap(v1)

sda1 /
sda2 /home
sda3 ist nicht gemountet oder vergeben.

Wie mache ich nun meinen ersten Snapshot?

Mit Youtube habe ich es nicht so, das macht mich raschig.

- - - Beitrag zusammengeführt - - -

Code:
sudo parted -l
Modell: ATA Patriot Burst (scsi)
Festplatte /dev/sda: 960GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk-Flags:


Nummer Anfang Ende Größe Typ Dateisystem Flags
1 1049kB 538MB 537MB primary ext4
2 538MB 855GB 854GB primary btrfs
3 855GB 864GB 8590MB primary linux-swap(v1)

@GI-Joe

Warum hast Du auf sda1 kein btrfs File System?
Was steckt dahinter?

Macht es überhaupt Sinn mehrere btrfs Partitionen auf einem Singleboot-System zu erstellen?

Hätte ich mein erstes System nicht konvertieren können?

@GI-Joe
Warum verwendest Du kein Snapper?
Das erscheint mir besser Dokumentiert, der Ansatz von dem Youtuber erscheint mir gut, jedoch baut er meiner Meinung nach zu viele Eigenheiten ein. So richtig verstanden habe ich folgendes auch nicht, warum löscht er die UUID's? So hat das etwas von Bastellösung, die schwer zu Administrieren ist oder bin nicht wissend genug. Bei mir muss das alles einfach sein. UUID's finde ich gut.

Eine gute Lösung muss vernünftig dokumentiert sein, Youtube ist keine Dokumentation für mich. Als Input sind die Videos ganz nett anzuschauen. Besser wäre es, Dokumentation erstellen und dann ein Video zu drehen.

- - - Beitrag zusammengeführt - - -

Wer nutzt von euch btrfs?
 
Zuletzt bearbeitet:
Hallo @GI-Joe, könntest Du Dir noch mal Deinen Beitrag #24 angucken, ich vermute in dem Teil

ist Dir ein zusätzliches "mkdir -p" an falscher Stelle reingerutscht. Nicht das diese ziemlich gute Kurzanleitung auf ewig falsch im Netz kursiert ;)
Stimmt, danke !
Habs gerade berichtigt.

- - - Beitrag zusammengeführt - - -

@GI-Joe
Warum verwendest Du kein Snapper?
Weil ich keinen deamon im Hintergrund brauche, der mir alle Nase lang zeitgesteuerte Snapshots macht. Das belastet mein btrfs mit unnötig vielen Metadaten. Und ICH brauche es für MEIN Setup einfach nicht.
Das erscheint mir besser Dokumentiert, der Ansatz von dem Youtuber erscheint mir gut, jedoch baut er meiner Meinung nach zu viele Eigenheiten ein.
Und genau DAS ist der Unterschied ! Wenn man es von Grund auf an gelehrt bekommt und das System dahinter begriffen hat, kann man problemlos alles machen und nach Belieben variieren.
Und wenn ich das so mache (ohne Snapper o.ä. sondern mit eigenen Scripts), dann kann ich es genau so machen , wie ICH es haben will. Das bedeutet ja nicht, dass andere es gut finden wie ich es mache und/oder es genau so machen wollen/sollen.

BTW: Snapper finde ich ein klasse Tool mit denen man sich auch z.B. ganz einfach diff´s zwischen den Snapshots ansehen kann....
Nur ICH brauche es auf meine Laptops nicht.

So richtig verstanden habe ich folgendes auch nicht, warum löscht er die UUID's? So hat das etwas von Bastellösung, die schwer zu Administrieren ist oder bin nicht wissend genug. Bei mir muss das alles einfach sein. UUID's finde ich gut.
Auch das ist wie Vieles Geschmackssache und nicht in "Stein gemeißelt". Der eine mag lieber mit Labeln arbeiten (die man ja auch sehr eindeutig beim Formatieren definieren kann), der nächste nimmt lieber UUIDs. Das schöne ist: "viele Wege führen nach ROM" Kann jeder so machen, wie er meint.

Eine gute Lösung muss vernünftig dokumentiert sein, Youtube ist keine Dokumentation für mich. Als Input sind die Videos ganz nett anzuschauen. Besser wäre es, Dokumentation erstellen und dann ein Video zu drehen.
In einer perfekten Welt wäre eine vorher geschriebene Dokumentation sicherlich besser, nur schneller und einfacher geht für viele halt ein Video machen.
Und: wir leben nicht in einer perfekten Welt. ;)
Ich finde es gut, dass andere Ihr KnowHow auch auf diesem Wege mit der Welt teilen. Nicht jeder YouTuber/Erklärbär ist ein guter Schreiber - aber die sehr guten und detaillierten Infos, die ich dort bekommen habe, haben mich motiviert, mich selbst an eine solche Installationen für meine Produktivsysteme zu wagen. Und ich hab dabei auch viel für mich selbst dazu gelernt aber einiges auch für mich anders gemacht.

Wenn Du ne geschriebene Doku besser findest, dann würde ich mal sagen, dass Du gleich mal anfängst zu schreiben und Deine Erfahrungen / Fallstricke bei der Installation u.s.w. beschreibst.
Der Nick vom Youtubechannel unicks.eu hat für sowas bestimmt keine Zeit und ich leider auch nicht.

Ich finde immer, dass "learning by doing" das Beste ist - da lernt man am meisten - auch aus Fehlern. Wenn man während dessen jeden einzelnen Schritt für sich selbst dokumentiert, dann ist solch eine Anleitung doch schon fast fertig.
Dann kann man auch eigene Schritte einfügen oder bestehende Schritte nach seinen persönlichen Bedürfnissen abändern - die Geschmäcker sind ja sehr verschieden.
 
dann braucht man nur zwei Partitionen?
Eine brtrfs-Partition und eine swap-Partition?
Genau. Theoretisch kann man sich sogar die Swap-Partition sparen und ein Swapfile nutzen. Aber ich weiß, dass das lange Zeit große Probleme in btrfs gemacht hat, daher würde ich eher noch auf eine Swap-Partition setzen.
iso-Boot ist auch von btrfs auch möglich?
Iso-Boot? Du meinst das booten aus .iso-Dateien? Keine Ahnung... Warum sollte man das (abseits von Multi-Boot-USB-Sticks) machen?

Könnte btrfs durch die Subvolumes weitere Betriebssysteme enthalten (gibt evtl. ein Durcheinander)?
Geht. Gibt auch kein Durcheinander. Hab' auch mal Ubuntu in vier Variationen gleichzeitig auf einer einzigen btrfs-Partiton gehabt. 5 Subvolumes, 4x Ubuntu in verschiedenen Ausgaben, 1x Home. Das Home unter alten und neuen Ubuntu-Versionen gleichzeitig zu benutzen, hat aber für Probleme gesorgt. Das lag aber nicht an btrfs, sondern an Ubuntu.
Subvolumes soll man wie Partitionen händeln, ist das wirklich richtig?
Jein. Kommt drauf an, aus welcher Sicht man sie betrachtet. Aber im Grunde genommen kann man sie wie Partitionen mit coolen Zusatzfeatures ansehen.

Macht es überhaupt Sinn mehrere btrfs Partitionen auf einem Singleboot-System zu erstellen?
Meiner Meinung nach nein. Eine Partition mit einem btrfs, den Rest über Subvolumes lösen.

Wer nutzt von euch btrfs?
Ich z.B.. Mehr oder weniger. Auf den Clients bin ich aber größtenteils zurück zu Windows mit NTFS, auf den Servern habe ich viel auf ZFS umgestellt. Aber ich hab' auch noch btrfs am Laufen, ja.
 
Iso-Boot? Du meinst das booten aus .iso-Dateien? Keine Ahnung... Warum sollte man das (abseits von Multi-Boot-USB-Sticks) machen?

Für Clonezilla z. B. -->

https://thinkpad-forum.de/threads/1...xt4-ntfs-Das-Optimum?highlight=clonezilla+iso

Immer alles dabei.

https://www.clonezilla.org/

Many File systems are supported: (1) ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, btrfs, f2fs and nilfs2 of GNU/Linux, (2) FAT12, FAT16, FAT32, NTFS of MS Windows, (3) HFS+ of Mac OS, (4) UFS of FreeBSD, NetBSD, and OpenBSD, (5) minix of Minix, and (6) VMFS3 and VMFS5 of VMWare ESX. Therefore you can clone GNU/Linux, MS windows, Intel-based Mac OS, FreeBSD, NetBSD, OpenBSD, Minix, VMWare ESX and Chrome OS/Chromium OS, no matter it's 32-bit (x86) or 64-bit (x86-64) OS. For these file systems, only used blocks in partition are saved and restored by Partclone. For unsupported file system, sector-to-sector copy is done by dd in Clonezilla.


Das funktioniert auch prima mit Parted-Magic oder grml.

Bei Youtube schauen muss man sich viel Gesülze anhören, das kostet Zeit.
In einen Video von "dem" Youtuber" wird der Sachverhalt geklärt, das kann man gut nachschauen.
Youtubeklicks bringen Geld, in den Wiki`s schreiben Idealisten.

Ohne anfängliche Linux Erfahrung wir man mit Youtube nicht viel weiter kommen.
Das System von GI-Joe ist schon gut, nur welcher eventueller Fremdadmin durchblickt das System?
Das System erscheint mir zu speziell.

Wer hat das System von Youtube, GI-Joe nachgebaut?


MfG

xsid

- - - Beitrag zusammengeführt - - -

Wenn man während dessen jeden einzelnen Schritt für sich selbst dokumentiert, dann ist solch eine Anleitung doch schon fast fertig.
Dann kann man auch eigene Schritte einfügen oder bestehende Schritte nach seinen persönlichen Bedürfnissen abändern - die Geschmäcker sind ja sehr verschieden.

Was macht deine Frau, wenn die in ein EDV-Haus gehen muss, weil Du verhindert bist?

Ich stehe auf reproduzierbaren Standard, zu viel Individualisierung gibt meist Probleme und niemand kann mehr helfen.





Wer hat das System von Youtube, GI-Joe nachgebaut?

Das System ist schon geil.

[/B][/COLOR]was beim Einsatz von btrfs kein Problem darstellt.
Einfach per script ein snapshot vor dem Update machen und man kann immer wieder zurück - auch über das Bootmenu von Grub 2 wenn man es 1x einrichtet.

:)

Naja, .......................


https://www.heise.de/ct/artikel/Das-Dateisystem-Btrfs-221863.html

Richtig weit ist btrfs bisher nicht gekommen.

Einfach ist btrfs nicht.
 
Zuletzt bearbeitet:
fein, mein System startet jetzt.

Meine /etc/fstab:

Code:
cat /etc/fstab
# Static information about the filesystems.                                                                                                                                                                                      
# See fstab(5) for details.                                                                                                                                                                                                      
                                                                                                                                                                                                                                 
# <file system> <dir> <type> <options> <dump> <pass>                                                                                                                                                                             
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                            
LABEL=ROOT              /               btrfs           rw,relatime,space_cache,subvolid=5,subvol=/     0 0                                                                                                                      
                                                                                                                                                                                                                                 
# /dev/sda1 UUID=e8891039-e8c3-40a9-8c0e-8ac09c87a869                                                                                                                                                                            
LABEL=BOOT              /boot           ext4            rw,relatime     0 2                                                                                                                                                      
                                                                                                                                                                                                                                 
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                            
LABEL=ROOT              /home           btrfs           rw,noatime,space_cache,subvolid=258,subvol=/@home,subvol=@home  0 0                                                                                                      
                                                                                                                                                                                                                                 
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                            
LABEL=ROOT              /btrfs          btrfs           rw,noatime,space_cache,subvolid=5,subvol=/      0 0                                                                                                                      
                                                                                                                                                                                                                                 
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                            
LABEL=ROOT              /.snapshots     btrfs           rw,noatime,space_cache,subvolid=260,subvol=/@snapshots,subvol=@snapshots        0 0                                                                                      
                                                                                                                                                                                                                                 
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                            
LABEL=ROOT              /var/cache/pacman/pkg   btrfs           rw,noatime,space_cache,subvolid=259,subvol=/@pkg,subvol=@pkg    0 0                                                                                              
                                                                                                                                                                                                                                 
# /dev/sda3 UUID=92f65913-a071-4213-b8fa-eef611c7c770                                                                                                                                                                            
LABEL=SWAP              none            swap            defaults        0 0

die /etc/fstab kannst Du noch vereinfachen nach so .....

Code:
# Static information about the filesystems.                                                                                                                                                                                         
# See fstab(5) for details.                                                                                                                                                                                                         
                                                                                                                                                                                                                                    
# <file system> <dir> <type> <options>  <dump> <pass>                                                                                                                                                                               
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                               
LABEL=ROOT              /               btrfs            rw,relatime,space_cache,subvol=/     0 0                                                                                                                        
                                                                                                                                                                                                                                    
# /dev/sda1 UUID=e8891039-e8c3-40a9-8c0e-8ac09c87a869                                                                                                                                                                               
LABEL=BOOT              /boot           ext4            rw,relatime     0  2                                                                                                                                                        
                                                                                                                                                                                                                                    
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                               
LABEL=ROOT              /home           btrfs            rw,noatime,space_cache,subvol=@home  0 0                                                                                                        
                                                                                                                                                                                                                                    
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                               
LABEL=ROOT              /btrfs          btrfs            rw,noatime,space_cache,subvolid=5    0 0                                                                                                                        
                                                                                                                                                                                                                                    
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                               
LABEL=ROOT              /.snapshots     btrfs            rw,noatime,space_cache,subvol=@snapshots         0 0                                                                                       
                                                                                                                                                                                                                                    
# /dev/sda2 UUID=dc21e622-e663-46e0-b675-ea85ccdaad28                                                                                                                                                                               
LABEL=ROOT              /var/cache/pacman/pkg   btrfs            rw,noatime,space_cache,subvol=@pkg    0 0                                                                                                
                                                                                                                                                                                                                                    
# /dev/sda3 UUID=92f65913-a071-4213-b8fa-eef611c7c770                                                                                                                                                                               
LABEL=SWAP              none            swap            defaults        0 0

Ist Dein System auf einer normalen Festplatte oder einer SSD ?
Nutzt Du keine Kompression ? Wenn nein, warum nicht ? LZO hat bei btrfs nur Vorteile - nicht nur beim Speicherplatzgewinn sondern auch bei der Performance - gerade auch bei herkömmlichen Festplatten
 
LZO ist auch interessant, ich habe bisher nur ein Testsystem erstellt.
LZO usw. sind eben die Feinheiten, wo man Erfahrung mit btrfs benötigt.

So richtig 100% verstanden habe ich btrfs bisher nicht, da gibt es noch viel zu lesen.

Die Vereinfachung der /etc/fstab wird erforderlich sein, ansonsten funktioniert dein Konzept nicht.
UUID's kommen dir in die Quere.

Zur Zeit habe ich noch nicht die Fähigkeit, dein Konzept so richtig zu blicken und nachzubauen.

Das mit der sda1 /boot erscheint mit 2019 auch überholt und verkompliziert.
Richtige Gründe für die Partition sda1 /boot konnte ich bisher nicht finden.
Außer natürlich man verwendet bsd mit zfs, wir sind aber bei Linux und der Kernel hat btrfs Support integriert.
 
Zuletzt bearbeitet:
Das System ist schon geil.


:)

Naja, .......................


https://www.heise.de/ct/artikel/Das-Dateisystem-Btrfs-221863.html

Richtig weit ist btrfs bisher nicht gekommen.

Einfach ist btrfs nicht.

Du beziehst Dich auf einen 10 Jahre alten Artikel von Heise. Kannst Du Dir vorstellen, dass in Punkto Stabilität und Optionen sich in 10 Jahren schon etwas getan hat ?
BTRFS gilt heute - abgesehen von RAID5/6 - als stable. Nimm das doch mal so hin und versuche nicht ständig Gegenargumente zu googeln ;).

Und schwierig finde ich es auch nicht wirklich, wenn man sich auf ein paar "neue" Sachen einlässt wie "partitionierung" über subvolumes.
 
Auf Heise habe ich mich bezogen, weil es sich bis heute nicht so richtig durchgesetzt hat.

Das sieht man an dem Feedback hier und im Internet.

Ret Hat Linux hat sich auf zfs festgelegt:

https://access.redhat.com/discussions/3138231

Auf Subvolumes habe ich mich eingelassen weil mir deine Lösung gefällt.
Nur mal so eben ist es aber nicht gemacht.


Handwerkszeug, Script

https://blog-oder-was.de/mein-linux-btrarchx/

update.sh

Code:
#!/bin/bash
# System Update
# Von Unicks.eu !!! nicht Daniel's ;) danke Nick! 
# ---------------------------
# Snapshot - Rollback - Btrfs
# ---------------------------
 
MV=/usr/bin/mv
BTRFS=/usr/bin/btrfs
SED=/usr/bin/sed
PACMAN=/usr/bin/pacman
PACAUR=/usr/bin/pacaur
CP=/usr/bin/cp
REFLECTOR=/usr/bin/reflector
 
# ---------------------------
#      Snapshot System
# ---------------------------
 
# -------- OLDSTABLE --------
 
$BTRFS subvolume delete /.snapshots/OLDSTABLE
$MV /.snapshots/STABLE /.snapshots/OLDSTABLE
$SED -i 's/STABLE/OLDSTABLE/g' /.snapshots/OLDSTABLE/etc/fstab
$CP /boot/vmlinuz-linux-stable /boot/vmlinuz-linux-oldstable
$CP /boot/initramfs-linux-stable.img /boot/initramfs-linux-oldstable.img
 
# --------- STABLE ----------
 
$BTRFS subvolume snapshot / /.snapshots/STABLE
$SED -i 's/TESTING/STABLE/g' /.snapshots/STABLE/etc/fstab
$CP /boot/vmlinuz-linux /boot/vmlinuz-linux-stable
$CP /boot/initramfs-linux.img /boot/initramfs-linux-stable.img
 
# ---------------------------
#      Update System
# ---------------------------
 
$REFLECTOR --verbose -l 5 -p https --sort rate --save /etc/pacman.d/mirrorlist
$PACMAN -Syu
 
# ---------------------------
#    Balance Filesystem
# --------------------------
 
$BTRFS balance start -dusage=5 /btrfs

https://nopaste.linux-dev.org/?1277040


oder Youtube, Link in Kommentar ---> dropbox

https://www.youtube.com/watch?v=J9jaVH9DjTU

https://www.dropbox.com/s/ju13bjbw09mpzaq/update.sh?dl=0

27.01.2017, wie Youtube Video
unicks.eu

https://nopaste.linux-dev.org/?1277171


oder


14. Nov. 2019
Sript GI-Joe
https://nopaste.linux-dev.org/?1277064


24. Nov. 2019
Erweitertes Script GI-Joe
https://pastebin.com/A4eF6CVQ
 
Zuletzt bearbeitet:
Die Vereinfachung der /etc/fstab wird erforderlich sein, ansonsten funktioniert dein Konzept nicht.
UUID's kommen dir in die Quere.
Das ist falsch. Wie kommst Du darauf ?
Ich könnte genau so gut in der /etc/fstab die UUID der Festplatte nehmen, dann würde mein Setup genau so laufen.
Ich mag halt lieber mit Labeln arbeiten und nicht mit kryptischen UUIDs - ich finde daran nix verwerfliches.

wenn Dein System so schon bootet, dann bist Du doch schon ganz gut davor ....

nun musst Du nur noch die 3 Snapshots TESTING, STABLE und OLDSTABLE anlegen und Kopieen des Kernels und der Initramfs anlegen (jeweils STABLE und OLDSTABLE)
Dann noch die jeweiligen /etc/fstab anpassen .....
in TESTING:
Code:
LABEL=ROOT              /               btrfs            rw,relatime,space_cache,subvol=@snapshots/TESTING  0 0
in STABLE:
Code:
LABEL=ROOT              /               btrfs            rw,relatime,space_cache,subvol=@snapshots/STABLE  0 0
in OLDSTABLE:
Code:
LABEL=ROOT              /               btrfs            rw,relatime,space_cache,subvol=@snapshots/OLDSTABLE  0 0

und dann noch die Einträge in grub ändern/ hinzufügen

siehe auch hier - einfach step by step machen .... so hab ich es auch hin bekommen.

- - - Beitrag zusammengeführt - - -

und Suse auf BTRFS - welche Erkenntnis bringt mir dass jetzt ?
glaub mir, unter Linux mit ZFS musst Du GENAU wissen, was Du tust, sonst wirst Du nicht glücklich.
und BTRFS läuft stabil (ohne die RAID5/6 - Funktionen).
Auf Subvolumes habe ich mich eingelassen weil mit deine Lösung gefällt.
Ja, ein BTRFS ohne Subvolumes zu benutzen macht halt keinen Sinn, dann kannste gleich bei ext4 und dem alten PartSchema bleiben.
Nur mal so eben ist es aber nicht gemacht.
Da hast Du recht. es braucht Zeit, bis man sich mit sowas beschäftigt hat und vieles begreift man erst später.
Aber um so toller ist der AHA-Effekt und das Mehr an Möglichkeiten, die man dann hat ....
 
Zuletzt bearbeitet:
Prüfung ob Subvolumes vorhanden sind:

Code:
sudo btrfs subvolume list / 
ID 257 gen 8 top level 5 path @
ID 258 gen 365 top level 5 path @home
ID 259 gen 320 top level 5 path @pkg
ID 260 gen 11 top level 5 path @snapshots
ID 263 gen 29 top level 5 path var/lib/portables
ID 264 gen 30 top level 5 path var/lib/machines

Das sieht für mich ok aus.
Jetzt wäre ich bereit meinen ersten Snapshot zu tätigen.


############################################################
############################################################

Jetzt habe ich wieder einen Schatten gefunden:

https://www.tobias-bauer.de/konvertierung-ext4-zu-btrfs.html

Ich persönlich habe leider sehr schlechte Erfahrungen mit BtrFS machen müssen. Aus diesem Grund rate ich zwischenzeitlich vom Einsatz dieses Dateisystems ab. Näheres dazu gibt es auch in meinem Blog.

https://www.tobias-bauer.de/blogbeitrag/btrfs-leider-keine-option-mehr-fuer-mich.html

2019-07-19 07:24 von Tobias Bauer (Kommentare: 0)

Allerdings gelten gespiegelte Devices (RAID1) und Single Devices als stabil. Das heißt, hier darf im regulären Betrieb nichts passieren. Leider schaut (zumindest bei mir) die Praxis etwas anders aus. Gestern wurde auf einem Serversystem auf einer Single-BtrFS Platte Fehler festgestellt. Mal wieder ist dies geschehen. Das ist für mich kein Weltuntergang, da die Daten nicht relevant sind und es Kopien gibt. Allerdings ist dies nicht der erste Vorfall dieser Art und lässt mich an der Zuverlässigkeit des Dateisystems zweifeln.


Allerdings gelten gespiegelte Devices (RAID1) und Single Devices als stabil. Das heißt, hier darf im regulären Betrieb nichts passieren. Leider schaut (zumindest bei mir) die Praxis etwas anders aus. Gestern wurde auf einem Serversystem auf einer Single-BtrFS Platte Fehler festgestellt. Mal wieder ist dies geschehen. Das ist für mich kein Weltuntergang, da die Daten nicht relevant sind und es Kopien gibt. Allerdings ist dies nicht der erste Vorfall dieser Art und lässt mich an der Zuverlässigkeit des Dateisystems zweifeln.

Was haltet Ihr davon?
Für mich ist das ein wenig ernüchternd. :-(

Geht die Sonne wieder auf?:

https://blog.proact.de/2019/06/24/hat-er-das-eigentlich-immer-noch-laufen-dieses-btrfs/

Vorne weg: Ja, der Dozent für Linux-Kurse hat BTRFS immer noch im Einsatz. Weiterhin auf dem ThinkPad T520. Und es läuft. Es verkraftet auch den Ausfall einer kompletten SSD, wie Sie weiter unten nachlesen können.
 
Zuletzt bearbeitet:
Fehler auf einer Single-BTRFS-Platte sagen erstmal wenig über das Dateisystem aus. Das kann sogar positiv aufgefasst werden. Nämlich, dass das Dateisystem erkannt hat, das da was kaputtgegangen ist. Ein "normales" Dateisystem hätte das gar nicht erst bemerkt. Die Frage ist halt, woher der Fehler kommt. Aus dem Dateisystem? Durch Silent-Bit-Rod?

Für mich ist btrfs eine Hassliebe. Ich habe es eine ganze Weile sehr viel eingesetzt. Die Features, die es bietet, sind halt genial. Leider war der Pflegeaufwand, der nötig war, es nicht. Zumindest zu dem Zeitpunkt. Ich habe ziemlich viel auf der Mailingliste gelesen und auch immer mal Reports dort abgeschickt und Fragen gestellt. Speziell, weil sich mein btrfs-RAID6 regelmäßig komplett zerlegt hat. Damals hieß es immer, es würde an meiner Hardware liegen. SAS-Controller, HDDs, RAM, Mainboard, CPU, ... Ich habe alles getauscht. Mehrfach. Bis irgendwann rauskam, dass RAID6 in btrfs doch nicht so stabil ist, wie die Entwickler behaupteten. Plötzlich lag es doch nicht mehr an meiner Hardware. Das war schon ein ziemlicher Dämpfer. Dazu so Dinge wie der "gefürchtete" enospc-Fehler, der ein btrfs-Device als voll meldet, obwohl es gar nicht voll ist. Mit einem regelmäßigen Balance konnte man das umgehen, anfangs musste man aber noch mit Stunts wie USB-Stick als zusätzliches Device einfügen, rebalancen, USB-Stick wieder aus dem btrfs entfernen, das ganze beheben. Inzwischen werden dafür Reserveblöcke freigehalten. Trotzdem war sowas nervig. Umgekehrt habe ich mir mal auf einem nicht-btrfs-Device aus Versehen mein komplettes Homeverzeichnis gelöscht. Von allen persönlichen Daten hatte ich ein Backup. Von den Konfigurationsdateien nicht. Das Wiedereinrichten hat mich einige Stunden gekostet. Und danach lief ein btrfs, welches alle 5 Minuten einen Snapshot gemacht hat, danach konnte sowas nicht wieder passieren :D Auch auf meinem NAS nutze ich btrfs, weil Snapshots und Co. einfach toll sind und ZFS zum Beispiel kein nachträgliches Ändern der RAID-Geometrie, also das Hinzufügen zusätzlicher Festplatten zu einem RAID, unterstützt. An den erhöhten Pflegeaufwand von btrfs muss man sich aber halt gewöhnen.

Meine Meinung: Meine persönliche Euphorie hat bei btrfs viele Dämpfer bekommen. Ich setze es daher noch ein, aber nicht mehr überall, wo es geht, sondern nur noch überall, wo nicht ZFS das gleiche bieten kann. Im Gegensatz zu btrfs hat sich ZFS bei mir noch nie selbst zerhäckselt. btrfs dagegen mehrfach, aber immer nur in RAID6-Umgebungen. Ich bin btrfs deswegen nicht abgeneigt, aber wo es geht, ersetze ich es durch ZFS. Da ich inzwischen genügend Backup-Storage-Platz habe, ist ein Wechsel des Dateisystems oder auch eine Änderung der Geometrie durch komplettes Neuanlegen des Dateisystems bei ZFS inzwischen auch etwas weniger Schmerz geworden.
 
Mein erster Snapshot:

Code:
btrfs subvolume snap / /.snapshots/TESTING
Create a snapshot of '/' in '/.snapshots/TESTING'

Testing möchte ich jetzt booten.

Dazu muss ich die grub Konfiguration anpassen, wo und wie mache ich das?
Ich habe ein Legacy Bios, im "Arch My Way 3 | Snapshot und Rollback (Deutsch)" wird ein UEFI-Bios behandelt.

So sieht es jetzt aus:
/etc/default/grub

Code:
cat /etc/default/grub
# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT="true"

In /boot sieht es so aus (PC-Bios):
Code:
[root@arch boot]# cd /boot
[root@arch boot]# ls
grub  initramfs-linux-fallback.img  initramfs-linux.img  lost+found  vmlinuz-linux
[root@arch boot]#

So sieht der Tree aus:

https://nopaste.linux-dev.org/?1277046

cat /boot/grub.cfg:

https://nopaste.linux-dev.org/?1277048

nano /boot/grub.cfg

Code:
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#


Was ist zu ändern?


und dann noch die Einträge in grub ändern/ hinzufügen

@GI-Joe
Wie hast Du das bei euren 61ern gemacht?


Ist die "/etc/grub.d/10_linux" zu bearbeiten?

Auszug, /etc/grub.d/10_linux:

Code:
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-dc21e622-e663-46e0-b675-ea85ccdaad28' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  e8891039-e8c3-40a9-8c0e-8ac09c87a869
        else
          search --no-floppy --fs-uuid --set=root e8891039-e8c3-40a9-8c0e-8ac09c87a869
        fi
        echo    'Loading Linux linux ...'
        linux   /vmlinuz-linux root=UUID=dc21e622-e663-46e0-b675-ea85ccdaad28 rw  loglevel=3 quiet
        echo    'Loading initial ramdisk ...'
        initrd  /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-dc21e622-e663-46e0-b675-ea85ccdaad28' {
        menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-dc21e622-e663-46e0-b675-ea85ccdaad28' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos1'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  e8891039-e8c3-40a9-8c0e-8ac09c87a869
                else
                  search --no-floppy --fs-uuid --set=root e8891039-e8c3-40a9-8c0e-8ac09c87a869
                fi
                echo    'Loading Linux linux ...'
                linux   /vmlinuz-linux root=UUID=dc21e622-e663-46e0-b675-ea85ccdaad28 rw  loglevel=3 quiet
                echo    'Loading initial ramdisk ...'
                initrd  /initramfs-linux.img
        }
        menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-dc21e622-e663-46e0-b675-ea85ccdaad28' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos1'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  e8891039-e8c3-40a9-8c0e-8ac09c87a869
                else
                  search --no-floppy --fs-uuid --set=root e8891039-e8c3-40a9-8c0e-8ac09c87a869
                fi
                echo    'Loading Linux linux ...'
                linux   /vmlinuz-linux root=UUID=dc21e622-e663-46e0-b675-ea85ccdaad28 rw  loglevel=3 quiet
                echo    'Loading initial ramdisk ...'
                initrd  /initramfs-linux-fallback.img
        }
}
 
Zuletzt bearbeitet:
Mein erster Snapshot:

Code:
btrfs subvolume snap / /.snapshots/TESTING
Create a snapshot of '/' in '/.snapshots/TESTING'

Testing möchte ich jetzt booten.
noch nicht.
bitte gemäß Anleitung vorgehen und alle Snapshots erstellen, auch die für STABLE und OLDSTABLE

dann in allen snapshots die /etc/fstab anpassen, wie hier in Posting #51 beschrieben.

dann noch die Kernels und die initramfs - files kopieren.
Das Ergebnis sollte dann - bis auf die Dateigrößen - in etwa so aussehen ....

Code:
[gero@T61archmachine /]$ cd /boot/
[gero@T61archmachine boot]$ ls -l
insgesamt 157576
drwxr-xr-x 6 root root     4096  9. Okt 21:39 grub
-rw-r--r-- 1 root root 31115421 13. Nov 20:17 initramfs-linux-fallback.img
-rw-r--r-- 1 root root 10532180 13. Nov 20:17 initramfs-linux.img
-rw-r--r-- 1 root root 10577812 13. Nov 20:12 initramfs-linux-oldstable.img
-rw-r--r-- 1 root root 10531465 13. Nov 20:12 initramfs-linux-stable.img
drwx------ 2 root root    16384 21. Jun 22:34 lost+found
-rw-r--r-- 1 root root  6285696 13. Nov 20:17 vmlinuz-linux
-rw-r--r-- 1 root root  6289792 13. Nov 20:12 vmlinuz-linux-oldstable
-rw-r--r-- 1 root root  6281600 13. Nov 20:12 vmlinuz-linux-stable

[gero@T61archmachine boot]$

mache das bitte step by step so, wie es im Video beschrieben ist - die richtige Reihenfolge aller schritte ist hier wichtig.
erst dann kannst Du weitermachen mit grub.
 
Zuletzt bearbeitet:
Moin, aber wie funktioniert das mit Grub?

STABLE und OLDSTABLE sind schnell angelegt.

Die /etc/fstab sollte auch kein Problem sein *hüstel.

- - - Beitrag zusammengeführt - - -

Moin, aber wie funktioniert das mit Grub?

STABLE und OLDSTABLE sind schnell angelegt.

Die /etc/fstab sollte auch kein Problem sein. *hüstel



was beim Einsatz von btrfs kein problem darstellt.

So viel kleine Probleme sind zusammen ein großes Problem, besonders wenn nicht so richtig Plan hat.
Die Lernkurve ist steil.

@cuco
Macht es Sinn, wenn man bisher /home (extra /home-Partition, /dev/sdaX) immer auf dein extra Partition hat, so ein System auf btrfs mit Snapshots umzustellen? Ist das möglich?
Siehe: https://thinkpad-forum.de/threads/2...ift-Nov-2019?p=2210796&viewfull=1#post2210796
 
Zuletzt bearbeitet:
Home in ein eigenes Subvolume zu legen ist sinnvoll, ja. Wenn du für Home jetzt eine eigene Partition hast, nimmt das zwar einen großen Teil der Flexibilität, trotzdem kannst du natürlich Snapshots machen.
 
Code:
[root@arch .snapshots]# ls
OLDSTABLE  STABLE  TESTING
[root@arch .snapshots]#

Alle 3 Snapshots sind erstellt.

Jetzt versuche ich die fstab anzupassen.

Mit fehlt das Verzeichnis loader.

So sieht es aus:
Code:
[root@arch ~]# cd /boot
[root@arch boot]# ls
grub  initramfs-linux-fallback.img  initramfs-linux.img  lost+found  vmlinuz-linux
[root@arch boot]#

So sollte es aussehen:
Code:
[root@arch ~]# cd /boot
[root@arch boot]# ls
grub  initramfs-linux-fallback.img  initramfs-linux.img loader vmlinuz-linux
[root@arch boot]#

loader habe ich nicht, was macht ich jetzt?
Hinweis, ich habe ein PC-Bios System!

Was habe ich wo übersehen?

Was ist jetzt die richtige Anleitung für ein PC-Bios System?
Es gibt da recht viele Videos.

Hinweis, mein Arch System mit LXQt startet ohne Probleme.

Der Ordner
Code:
/@
ist bei mir ohne Inhalt.
Ist das richtig so?
Habe in anfänglich etwas falsch gemountet?

Info / Test:
Code:
btrfs subvolume list /
ID 257 gen 693 top level 5 path @
ID 258 gen 705 top level 5 path @home
ID 259 gen 468 top level 5 path @pkg
ID 260 gen 618 top level 5 path @snapshots
ID 263 gen 29 top level 5 path var/lib/portables
ID 264 gen 30 top level 5 path var/lib/machines
ID 267 gen 348 top level 260 path @snapshots/TESTING
ID 268 gen 617 top level 260 path @snapshots/STABLE
ID 269 gen 618 top level 260 path @snapshots/OLDSTABLE

Code:
[root@arch /]#[root@arch /]# ls -l
insgesamt 36
drwxr-xr-x   1 root root    0 11. Nov 14:11 @
lrwxrwxrwx   1 root root    7  6. Okt 17:44 bin -> usr/bin
drwxr-xr-x   4 root root 4096 11. Nov 14:53 boot                                                                                                    
drwxr-xr-x   1 root root  192 11. Nov 14:40 btrfs                                                                                                   
drwxr-xr-x  18 root root 3200 14. Nov 18:02 dev                                                                                                     
drwxr-xr-x   1 root root 2122 14. Nov 18:02 etc                                                                                                     
drwxr-xr-x   1 root root    6 11. Nov 18:59 @home                                                                                                   
drwxr-xr-x   1 root root    6 11. Nov 18:59 home                                                                                                    
lrwxrwxrwx   1 root root    7  6. Okt 17:44 lib -> usr/lib                                                                                          
lrwxrwxrwx   1 root root    7  6. Okt 17:44 lib64 -> usr/lib
drwxr-xr-x   1 root root    0  6. Okt 17:44 mnt
drwxr-xr-x   1 root root   50 11. Nov 19:21 opt
drwxr-xr-x   1 root root   60 13. Nov 17:28 @pkg
dr-xr-xr-x 161 root root    0 14. Nov 18:02 proc
drwxr-x---   1 root root  208 14. Nov 18:02 root
drwxr-xr-x  22 root root  660 14. Nov 18:07 run
lrwxrwxrwx   1 root root    7  6. Okt 17:44 sbin -> usr/bin
drwxr-xr-x   1 root root   44 14. Nov 18:15 @snapshots
drwxr-xr-x   1 root root   14 11. Nov 14:40 srv
dr-xr-xr-x  13 root root    0 14. Nov 18:02 sys
drwxrwxrwt  11 root root  260 14. Nov 18:13 tmp
drwxr-xr-x   1 root root   80 13. Nov 17:28 usr
drwxr-xr-x   1 root root  116 14. Nov 18:02 var
[root@arch /]#


Ich glaube da ist etwas falsch?

Wobei, das sieht wieder ok aus ---->

Code:
[root@arch TESTING]# ls -l
insgesamt 16
drwxr-xr-x 1 root root    0 14. Nov 19:31 @
lrwxrwxrwx 1 root root    7  6. Okt 17:44 bin -> usr/bin
drwxr-xr-x 1 root root    0 11. Nov 14:11 boot
drwxr-xr-x 1 root root    0 11. Nov 14:10 btrfs
drwxr-xr-x 1 root root    0 11. Nov 14:26 dev
drwxr-xr-x 1 root root 2122 13. Nov 12:34 etc
drwxr-xr-x 1 root root    0 14. Nov 19:31 @home
drwxr-xr-x 1 root root    0 11. Nov 14:10 home
lrwxrwxrwx 1 root root    7  6. Okt 17:44 lib -> usr/lib
lrwxrwxrwx 1 root root    7  6. Okt 17:44 lib64 -> usr/lib
drwxr-xr-x 1 root root    0  6. Okt 17:44 mnt
drwxr-xr-x 1 root root   50 11. Nov 19:21 opt
drwxr-xr-x 1 root root    0 14. Nov 19:31 @pkg
dr-xr-xr-x 1 root root    0 11. Nov 14:26 proc
drwxr-x--- 1 root root  184 13. Nov 16:01 root
drwxr-xr-x 1 root root    0 11. Nov 14:26 run
lrwxrwxrwx 1 root root    7  6. Okt 17:44 sbin -> usr/bin
drwxr-xr-x 1 root root    0 14. Nov 19:31 @snapshots
drwxr-xr-x 1 root root   14 11. Nov 14:40 srv
dr-xr-xr-x 1 root root    0 11. Nov 14:26 sys
drwxrwxrwt 1 root root    0 11. Nov 14:26 tmp
drwxr-xr-x 1 root root   80 13. Nov 12:32 usr
drwxr-xr-x 1 root root  116 13. Nov 12:34 var
[root@arch TESTING]#
 
Zuletzt bearbeitet:
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben