Dyski i migawki Btrfs
Siatka bezpieczeństwa SkillFishOS: samoczynne migawki i cofanie zmian już przy starcie.
Jedną z głównych myśli SkillFishOS jest to, żeby dało się grzebać bez strachu. Umożliwia to system plików Btrfs z samoczynnymi migawkami: każda ważna zmiana zostaje uchwycona, a gdy coś się popsuje, wracasz jednym kliknięciem.
Osobne podwoluminy
Dysk ma jedną partycję Btrfs, podzieloną na odrębne podwoluminy:
@— system operacyjny;@home— dane użytkownika;@cachei@log— pamięci podręczne i dzienniki, trzymane poza migawkami, żeby cofnięcie nie przywlekło ze sobą wczorajszych dzienników;@games— biblioteka gier, która inaczej rozdęłaby każdą migawkę;@swap— plik wymiany.
Trzymanie ich osobno jest kluczowe: cofnięcie systemu nie rusza plików osobistych. Możesz wrócić do systemu „z wczoraj”, zachowując dzisiejsze dokumenty, zapisy gier i ustawienia.
Samoczynne migawki ze Snapperem
SkillFishOS używa Snappera z konfiguracją root i zaczepami przed i po APT: za każdym razem, gdy instalujesz albo aktualizujesz pakiety, migawka powstaje samoczynnie przed i po. Jeśli więc aktualizacja narobi kłopotów, migawka „sprzed” już czeka.
Najważniejsze z konfiguracji:
- limit liczby przechowywanych migawek, żeby dysk się nie zapełnił;
- migawki trzymane przy ważnych kamieniach milowych systemu;
- zarządzanie z okna w sekcji Migawki Control Center, napisanej przez nas.
Ile ich zostaje
Pięć, domyślnie: trzy zwykłe (para przed i po każdej operacji apt) oraz dwie „ważne” — z aktualizacji ruszających jądro albo systemd, czyli tych, do których najczęściej chce się wrócić. Ponad nimi stoi punkt „SkillFishOS — czysta instalacja”, który nigdy nie wygasa: droga powrotna do systemu prosto z pudełka.
Godzinowa oś czasu jest wyłączona. Na domowej konsoli tylko zjada dysk, a i tak nikt do tych migawek nie zagląda. Migawki tworzone ręcznie nie liczą się do tych pięciu i nigdy nie są usuwane samoczynnie: jeśli zrobiłeś ją świadomie, zostaje, dopóki jej nie skasujesz.
Cofanie zmian z menu startowego
Dzięki grub-btrfs migawki pojawiają się wprost w menu GRUB, pod pozycją „SkillFishOS snapshots”. Uruchom ponownie, wybierz migawkę sprzed kłopotów i już w niej jesteś.
Dwie rzeczy warto wiedzieć, zanim na tym polegniesz:
- To, co uruchamiasz, jest tylko do odczytu. To środowisko ratunkowe: rozejrzyj się, sprawdź, czy starszy stan naprawdę był w porządku, skopiuj potrzebne pliki. Kilka usług zgłosi przy starcie błąd — po prostu nie mogą pisać. Tak ma być, to nie usterka.
- Menu startowe odświeża się po każdej operacji
apt, więc migawka zrobiona przed aktualizacją jest na liście dokładnie wtedy, gdy jej potrzebujesz.
Jak uczynić powrót trwałym
Uruchomienie migawki samo w sobie niczego nie zmienia, a snapper rollback tu nie pomoże: podmienia domyślny podwolumin, podczas gdy nasz wpis w GRUB-ie przypina subvol=@ i wygrywa. Robi to polecenie:
sudo skillfish-rollback --list # które migawki są dostępne
sudo skillfish-rollback 12 # migawka 12 staje się systemem, od następnego uruchomienia
Odsuwa ono bieżący system na bok — nie kasuje go, tylko zmienia w @-rotto-<data> — i buduje z wybranej migawki nowy, zapisywalny @, przenosząc razem z nim całą historię migawek. Jeśli starszy stan też okaże się nie tym, sudo skillfish-rollback --undo przywraca wszystko z powrotem, a --clean zwalnia miejsce, gdy już masz pewność.
Działa i z normalnego systemu, i z wnętrza migawki uruchomionej tylko do odczytu — czyli w tym przypadku, który liczy się najbardziej: gdy maszyna już nie startuje.
Katalog domowy nie jest nigdy ruszany.
@hometo osobny podwolumin: system cofa się w czasie, twoje pliki zostają takie, jakie są. Dobrze o tym wiedzieć — i pamiętać, zanim policzysz na cofnięcie, że przywróci skasowany dokument. Nie przywróci.
To ta siatka bezpieczeństwa, dzięki której nawet najmłodsi mogą badać system bez strachu, że popsują go nieodwracalnie.
Dlaczego Btrfs, a nie Timeshift
SkillFishOS wybrał Btrfs + Snapper + grub-btrfs zamiast rozwiązań w rodzaju Timeshifta, bo:
- integracja z APT jest samoczynna (migawka przy każdej operacji na pakietach);
- migawki są rodzime dla systemu plików (natychmiastowe, copy-on-write, tanie);
- cofnięcie jest dostępne już przy starcie, nawet jeśli system nie uruchamia się normalnie.
