Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Die Snapshots Ordner werden später zur Ablage der Snapshots benutzt. Das Wurzeldateisystem wird beim Subvolumen arch eingehängt. Alle untergeordneten Subvolumen sind automatisch eingehängt und, wenn man sich den Unfug mit dem @ gespart hat, auch an der richtigen Stelle. Die beiden Ordner im /root Verzeichnis sind später für die Snapshots relevant. Für die Benutzerdaten wurde je ein Subvolumen per Benutzer erstellt und mit den typischen Ordnern bevölkert. Dieser wird unter/home/BENUTZERNAME eingehängt. Dies hat den Vorteil, dass man die Ordner mit den Eigentlichen Benutzerdaten (Dokumente, Musik, Videos) auch in z.B. Debian einhängen könnte (hier aber unter /home/BENUTZERNAME/ORDNER) ohne dass man sich sorgen machen muss, dass sich die Konfigurationsdateien der verschiedenen Programmversionen in verschiedenen Betriebssysteme gegenseitig überschreiben und unbrauchbar machen. Debian könnte hier gleich dem Subvolumen arch mit einem Subvolumen linux_museum und entsprechenden untergeordneten Subvolumen angelegt werden.
Ein Snapshot kopiert ein Volumen, nicht jedoch die darin enthaltenen Subvolumen (und damit auch keine darin enthaltenen Snapshots)
Natürlich könnte man /boot auf eine eigene Partition auslagern und bei jedem Snapshot einzeln sichern, dies ist den Aufwand nicht Wert, wenn man das Risiko bedenkt es einmal zu vergessen.
Eine dieser Besonderheiten ist, dass bei einer Installation gleich die Unterlaufwerke (Subvolumes) für das Rootverzeichnis mit @ und für das Homeverzeichnis mit @home angelegt werden. Damit kann man dann auf einfache Art entsprechende Schnappschüsse (Quasi-Backups) anlegen.
Das „top-level subvolume“, also die Wurzel eines btrfs-Dateisystems, hat immer die ID 5.
fast alle Fragen wurden hier und in den Videos schon geklärt.
Ich verweise immer wieder darauf.
Mein Tipp an Dich:
Fange nochmal von vorn an und nimm diesen Leitfaden für das Ganze !
Leitfaden für die Installation unter einem Standard-BIOS-System ohne UEFI
Festplatte leer machen
mit dem ArchInstallMedium booten
Festplatte partitionieren (auch swap !)
Festplatte formatieren (auch swap !)
btrfs ohne Mountoptionen unter /mnt mounten
btrfs subvolumes anlegen
/mnt unmounten (!!)
@ - subvolume mounten mit den richtigen btrfs-optionen mounten (subvol=... ssd?? compress=lzo ??) hier bitte die richtigen Entscheidungen treffen !!!
alle Verzeichnisse (mountpoints) anlegen
alle subvolumes mit den richtigen btrfs-optionen mounten (subvol=... ssd?? compress=lzo ??) hier bitte die richtigen Entscheidungen treffen !!!
fstab generieren (genfstab - siehe Archwiki)
/mnt/etc/fstab editieren (optimieren - siehe hier)
in die chroot-umgebung wechseln (mit arch-chroot - Archwiki)
archlinux installieren (siehe Archwiki)
grub installieren (siehe Archwiki)
eine /boot/grub/grub.cfg erzeugen mit grub-mkconfig (siehe Archwiki)
eine /boot/grub/grub.cfg.old erzeugen mit cp
nicht neustarten, einfach alle Apps und dienstprogramme installieren - auch btrfs-progs (siehe Archwiki)
am ende exit, cd / , umount /dev/sda1 , reboot
nach dem neustart die / - snapshots für TESTING, STABLE und OLDSTABLE anlegen
dann die Kopien (STABLE, OLDSTABLE) von vmlinuz und initramfs in /boot erzeugen
dann erstmal die /boot/grub/grub.cfg bearbeiten mit den erforderlichen Menüs/Werten - diese grub.cfg könnte dabei hilfreich sein
Wenn dann irgendwann alles korrekt bootet (also mit subvolume @TESTING gebootet wurde), kannst Du dich an eine /etc/grub.d/40_custom machen nach diesem Schema - kann so übernommen werden, nur die UUIDs von /boot und / müssen angepasst werden
das wars schon.
Dann später einfach nur das Updatescript von mir benutzen, welches vor dem Update Snapshots macht/rotiert und die /boot - files rotiert.
Und falls ein Rollback nötig ist, dann einfach - je nachdem - eines dieser Scripte benutzen:
rollback_stable_nach_testing.sh
rollback_oldstable_nach_stable_und_testing.sh
Vieles davon ist bei Archlinux eh Handarbeit - is halt so bei Arch, dafür hab ich aber ein stabiles RollingRelease was ich problemlos als Produktivsystem einsetzen kann ....
Zielführend war für mich die Vorgehensweise von Nick in seinen Videos "Arch my Way" hier ab Timecode 2:15
Wie bist Du auf die "Jedi-Ritter System" Idee gekommen?
Nur Youtube? Oder gab es anderweitig Berichte?
Wie geht Du mit einem evtl. gewünschen "pacman -Syu --ingnore xxProgramm1xx --ingnore xxProgramm2xx" um?
Nutzt Du die "Jedi-Ritter System Scripte" und "pacman -Syu" auch parallel?
Den Fall der parallelen Nutzung hatte ich erst im Dezember irgendwann. Beim Upgrade mit dem Script von Nick ( also der Ursprung der Jedi System Scripte) gab es Probleme mit xorg.... irgendwas. Laut Archwiki mussten Dateien manuell entfernt werden. Nach dem manuellen Eingriff habe ich das Upgrade mit pacman -Syu neu gestartet. Ein erneutes Starten des Scriptes bringt dir ja den Stand der Snapshots durcheinander, d.h. der Stand von Stable ist gleich dem Stand von Oldstable ( soweit ich das verstehe).
Zum Thema Pakete ignorieren kann ich noch nicht viel sagen, musste ich bis jetzt noch nicht. Es gibt beim Youtuber Nick ein Video ( in der Playlist "Arch My Way" ?) zum Thema Rollback. Ich glaube dort hatte er die zu ignorierenden Pakete in die pacman.conf eingetragen und anschliessend das neue Upgrade auf Testing mit pacman -Syu gestartet. Ist der Fehler dann behoben, kannst du sie wieder entfernen und das Script erneut starten.
Mfg
Mike
Hallo lumpi1973,
führst Du beim Jedi-Ritter System das Script "snapshot+systemupdate.sh" kurzfristig nacheinander 2 x aus, ist dein TESTING, STABLE und OLDSTABLE System auf gleichem Stand.
Bei Verwendung von "update.sh" ebenso.
Ich verwende zur Zeit vorab immer "pacman -Syu" und zu sehen was so kommt.
Dann sehe ich, was an Neuheiten kommt und entscheide, ja oder nein.
regelmäßig (z.B. über einen CronJob) folgendes ausführen:Das Subvolume @PKG wird immer größer.
pacman -Sc
ca. alle 3 Monate folgendes ausführen:Welche Wartungsarbeiten sollte man durchführen?
sudo btrfs scrub start /btrfs && watch sudo btrfs scrub status /btrfs
Wie verschaffe ich mir einen Systemüberblick, welche Arbeiten erforderlich sind?
sudo btrfs device usage /btrfs/
sudo btrfs subvolume show /btrfs
sudo btrfs subvolume list /btrfs
sudo btrfs filesystem show /btrfs/
sudo btrfs property list /btrfs/
sudo btrfs device usage /btrfs/
sudo btrfs device stats /btrfs/
sudo btrfs inspect-internal tree-stats /dev/sda2
das geht nicht nur Dir soWenn ich es heute neu einrichten sollte, ohne diesen Thread könnte ich es nicht mehr, alles vergessen.
Zur automatischen Bereinugung gibt es einen Systemd Timer. Bei aktiviertem Timer wird der Cache wöchentlich mit paccache -r bereinigt.
systemctl enable paccache.timer
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda2 UUID=5e935254-433a-887e-2cfedf2e48cd
LABEL=ROOT / btrfs rw,noatime,compress=lzo,space_cache.subvol=@snapsthots/TESTING 0 0
# /dev/sda1 UUID=785c2888-644e-471f-b0d3-4292f70f8b63
LABEL=BOOT /boot ext4 rw,relatime 0 2
# /dev/sda2 UUID=5e90aa56-8854-433a-887e-2cfedf2e48cd
LABEL=ROOT /home btrfs rw,noatime,compress=lzo,space_cache,subvol=@home 0 0
# /dev/sda2 UUID=5e90aa566666-433a-887e-2cfedf2e48cd
LABEL=ROOT /btrfs btrfs rw,noatime,compress=lzo,space_cache,subvolid=5 0 0
# /dev/sda2 UUID=5e90aa56-8854-433a-887e-2cfedf2e48cd
LABEL=ROOT ddd /.snapshots btrfs rw,noatime,compress=lzo,space_cache,subvol=@snapshots 0 0
# /dev/sda2 UUID=5e90aa56-8854-433a-887e-2cfedf2e48cd
LABEL=ROOT /var/cache/pacman/pkg btrfs rw,noatime,compress=lzo,space_cache,subvol=@pkg 0 0
# /dev/sda3 UUID=5c324c0b-bb1a-423473-96ec-455e4f8b54a7
LABEL=SWAP none swap defaults 0 0
/etc/fstab ....
LABEL=ROOT / btrfs rw,noatime,compress=lzo,space_cache,subvol=@snapshots/TESTING 0 0
./snapshot+systemupdate.sh
./snapshot+systemupdate.sh: Zeile 24: /usr/bin/checkupdates: Datei oder Verzeichnis nicht gefunden
Keine Updates vorhanden - ENDE !
sudo pacman -Syu
:: Synchronisiere Paketdatenbanken...
core 149,9 KiB 789 KiB/s 00:00 [########################################################] 100%
extra 1978,3 KiB 829 KiB/s 00:02 [########################################################] 100%
community 5,1 MiB 821 KiB/s 00:06 [########################################################] 100%
:: Starte vollständige Systemaktualisierung...
Löse Abhängigkeiten auf...
Suche nach in Konflikt stehenden Paketen...
Pakete (70) adobe-source-code-pro-fonts-2.032ro+1.052it+1.012var-1.0 alsa-lib-1.2.4-3.0 alsa-topology-conf-1.2.4-2.0 alsa-ucm-conf-1.2.4-2.0
archlinux-keyring-20201028-1.0 archlinux32-keyring-20201117-1.0 binutils-2.35.1-1.0 bzip2-1.0.8-4.0 ca-certificates-mozilla-3.59-1.0
colord-1.4.5-1.0 dhcpcd-9.3.3-1.0 fakeroot-1.25.3-1.0 freetype2-2.10.4-1.0 glib-networking-2.66.0-1.0 grep-3.6-1.0
gst-plugins-base-1.18.1-1.0 gst-plugins-base-libs-1.18.1-1.0 gstreamer-1.18.1-1.0 hidapi-0.10.0-2.0 iproute2-5.9.0-1.0 iptables-1:1.8.6-1.0
kidletime-5.76.0-1.0 kwayland-5.76.0-1.0 kwindowsystem-5.76.0-1.0 less-563-1.0 libassuan-2.5.4-1.0 libcap-2.45-2.0 libdrm-2.4.103-2.0
libevdev-1.10.0-1.0 libffi-3.3-4.0 libgcrypt-1.8.7-1.0 libinput-1.16.3-1.0 libjpeg-turbo-2.0.5-3.0 libkscreen-5.20.3-1.0 libldap-2.4.54-1.0
libnftnl-1.1.8-1.1 libpulse-13.99.3-1.0 libraqm-0.7.1-1.0 librsvg-2:2.50.2-1.1 libunistring-0.9.10-3.0 libva-2.9.1-1.0 libwacom-1.6-1.0
libx11-1.7.0-1.0 libxml2-2.9.10-6.0 linux-firmware-20201113.2ea8667-1.0 linux-lts-5.4.72-1.0 linux-lts-headers-5.4.72-1.0
lxqt-themes-0.16.0-1.0 mc-4.8.25-3.0 mesa-20.2.1-1.1 mkinitcpio-29-1.0 nss-3.59-1.0 obconf-qt-0.16.0-1.0 opencore-amr-0.1.5-5.0
oxygen-icons-1:5.76.0-1.0 pacman-mirrorlist-20200924-1.1 pam-1.5.0-1.0 pango-1:1.48.0-1.0 qterminal-0.16.1-1.0 qtermwidget-0.16.1-1.0
sddm-0.19.0-2.0 sdl2-2.0.12-3.0 solid-5.76.0-1.0 tzdata-2020d-1.0 virtualbox-guest-dkms-6.1.16-1.0 virtualbox-guest-utils-6.1.16-1.0
vulkan-icd-loader-1.2.158-1.0 xf86-video-vmware-13.3.0-2.0 xorg-xkbcomp-1.4.4-1.0 xorg-xprop-1.2.5-1.0
Gesamtgröße des Downloads: 301,55 MiB
Gesamtgröße der installierten Pakete: 1014,11 MiB
Größendifferenz der Aktualisierung: 10,22 MiB
:: Installation fortsetzen? [J/n]
pacman -F checkupdates # zeigt Dir, in welchem Paket Du das Programm 'checkupdates' findest, nämlich in "pacman-contrib"
sudo pacman -S pacman-contrib # damit sollte alles laufen ;-)