Jak skonfigurować automatyczne migawki Btrfs na pulpicie Ubuntu

Instrukcja instalacji Ubuntu Desktop 26.04 LTS zawiera listę standardowych i zaawansowanych opcji konfiguracji dysku, ale nie wymienia Btrfs jako opcji instalatora. Ostatnia aktualizacja miała miejsce 6 maja 2026 r. Oznacza to, że pulpit Ubuntu z systemem Btrfs może korzystać z niestandardowego układu partycji lub podwoluminów. Przed zautomatyzowaniem migawek należy zidentyfikować, co jest faktycznie zamontowane w /; polecenie Snapper, które zakłada, że ​​główny podwolumin Btrfs może ulec awarii lub chronić niewłaściwe dane. Ten przewodnik konfiguruje cogodzinne migawki osi czasu za pomocą Snapper na zweryfikowanym podwoluminie Btrfs, a następnie włącza zaplanowane czyszczenie, aby stare migawki nie kumulowały się w nieskończoność.

Narzędzie Snapper jest dostępne w repozytoriach Ubuntu, a pakiety Ubuntu 26.04 LTS (Resolute) zawierają jednostki systemd do obsługi osi czasu i zadań czyszczenia. Poniższe polecenia dotyczą komputera, którego docelowym miejscem migawki jest podwolumin Btrfs. Jeśli instalacja Ubuntu korzysta z ext4, LVM lub montowania najwyższego poziomu Btrfs, a nie z podwoluminu, który chcesz chronić, zatrzymaj się na sprawdzeniu układu i rozwiąż ten problem.

Przed czym chroni migawka Btrfs?

Migawka Btrfs to podwolumin w danym momencie, który początkowo współdzieli zakresy plików ze swoim źródłem. Jest on przydatny do odzyskiwania plików lub porównywania stanów systemu po omyłkowej edycji lub aktualizacji. Nie jest to niezależna kopia zapasowa: migawka pozostaje w tym samym systemie plików, więc awaria dysku, uszkodzenie systemu plików, kradzież lub przypadkowe usunięcie całego systemu plików może spowodować utratę zarówno danych na żywo, jak i migawek.

Migawki nie obejmują również rekurencyjnie zagnieżdżonych podwoluminów. Jeśli /homejest to osobny podwolumin, migawka głównego podwoluminu nie obejmuje zawartości tego osobnego podwoluminu /home. Zaplanuj jedną konfigurację Snappera dla każdego podwoluminu, który chcesz chronić, lub skorzystaj z osobnej kopii zapasowej danych użytkownika. Zachowaj drugą kopię na innym urządzeniu lub w systemie zdalnym na wypadek awarii.

1. Sprawdź, czy Ubuntu działa na systemie Btrfs

Otwórz terminal i sprawdź mocowanie katalogu głównego:

findmnt -no SOURCE,FSTYPE,OPTIONS /
sudo btrfs subvolume show /
sudo btrfs subvolume list /

Pierwsze polecenie powinno zgłosić btrfstyp systemu plików. Sprawdź opcje montowania dla subvol=wpisu i użyj listy podwoluminów, aby zrozumieć układ. Drugie polecenie powinno zidentyfikować podwolumin zamontowany w /. Jeśli typem systemu plików nie jest Btrfs, ta procedura Snappera nie ma zastosowania. Jeśli polecenie zgłosi, że /nie jest to podwolumin lub że jest to podwolumin najwyższego poziomu, nie próbuj tworzyć konfiguracji głównego Snappera bezmyślnie. Podwolumin najwyższego poziomu w Btrfs ma specjalne ograniczenia; zamiast tego użyj poprawnie zaprojektowanego układu podwoluminów lub utwórz migawkę zweryfikowanego, oddzielnego podwoluminu.

Sprawdź osobno, czy /homejest to punkt montowania, czy podwolumin, za pomocą findmnt /homei sudo btrfs subvolume show /home. Jeśli jest oddzielny i chcesz utworzyć migawki plików osobistych, wymaga on własnej konfiguracji. Zastanów się również, czy inne ważne ścieżki, takie jak osobne montowanie danych, znajdują się w innym systemie plików. Migawka główna nie będzie ich automatycznie uwzględniać.

2. Zainstaluj Snappera i narzędzia Btrfs

Po potwierdzeniu, że celem jest podwolumin Btrfs, zainstaluj pakiety Ubuntu:

sudo apt update
sudo apt install snapper btrfs-progs

snapperZarządza konfiguracjami i przechowywaniem migawek; btrfs-progsudostępnia narzędzia systemu plików przydatne do inspekcji Btrfs. Sprawdź, czy istnieją już konfiguracje, zanim utworzysz kolejną:

sudo snapper list-configs

Jeśli nazwana konfiguracja rootwskazuje już na prawidłowy podwolumin główny, zachowaj ją i sprawdź jej ustawienia zamiast tworzyć duplikat. Jeśli dane wyjściowe są puste i /zostały zweryfikowane jako podwolumin, który chcesz chronić, utwórz konfigurację:

sudo snapper -c root create-config /

Polecenie create-configtworzy konfigurację Snappera i katalog migawek dla wybranego podwoluminu. Jeśli zgłosi, że konfiguracja już istnieje lub że ścieżka nie jest podwoluminem, zatrzymaj i sprawdź bieżącą konfigurację; nie usuwaj istniejącej konfiguracji, aby wymusić wykonanie polecenia.

3. Wybierz harmonogram migawek i zasady przechowywania

Tryb osi czasu aplikacji Snapper umożliwia tworzenie migawek co godzinę, a algorytm czyszczenia osi czasu może zachowywać wybrane migawki godzinne, dzienne, tygodniowe, miesięczne i roczne. W przypadku komputerów stacjonarnych z ograniczoną ilością wolnego miejsca, należy zacząć od prostej polityki i monitorować pamięć masową zamiast przechowywać nieograniczoną historię. W tym przykładzie wymagane są migawki co sześć godzin, siedem dziennie, cztery tygodniowo i trzy miesięcznie, bez migawek rocznych:

sudo snapper -c root set-config 'TIMELINE_CREATE=yes TIMELINE_CLEANUP=yes TIMELINE_LIMIT_HOURLY=6 TIMELINE_LIMIT_DAILY=7 TIMELINE_LIMIT_WEEKLY=4 TIMELINE_LIMIT_MONTHLY=3 TIMELINE_LIMIT_YEARLY=0'

Te wartości opisują kategorie retencji; nie stanowią sztywnego limitu miejsca na dysku. Zmieniony lub usunięty duży plik może zachować stare zakresy danych przydzielone tak długo, jak długo migawki się do nich odwołują. Dostępna przestrzeń zależy również od innych podwoluminów Btrfs i plików. Sprawdzaj df -h /i sudo btrfs filesystem usage /okresowo, a także zmniejsz retencję lub dodaj miejsce na dysku, jeśli system plików się zapełnia. Unikaj edytowania kilku konfiguracji jednocześnie: uruchom sudo snapper -c root get-configi zweryfikuj wartości po ich zmianie.

4. Włącz timery systemd Snappera

W systemie Ubuntu 26.04 LTS lista plików pakietu Snapper zawiera pliki snapper-timeline.timeri snapper-cleanup.timer. Włącz oba, aby systemd okresowo tworzył migawki osi czasu i uruchamiał czyszczenie:

sudo systemctl enable --now snapper-timeline.timer snapper-cleanup.timer

Sprawdź, czy są załadowane i zobacz, kiedy zostaną zaplanowane na następny raz:

systemctl list-timers snapper-timeline.timer snapper-cleanup.timer
systemctl status snapper-timeline.timer snapper-cleanup.timer

Aktywny timer oznacza, że ​​systemd ma załadowany harmonogram; samo to nie dowodzi, że Snapper pomyślnie utworzył migawkę. Po kolejnym uruchomieniu osi czasu sprawdź konfigurację i listę migawek:

sudo snapper list-configs
sudo snapper -c root list

Jeśli po zaplanowanym uruchomieniu nie pojawi się migawka osi czasu, sprawdź, czy TIMELINE_CREATEjest ustawiona na yes, a następnie sprawdź dziennik usługi za pomocą journalctl -u snapper-timeline.service -b. Nie twórz niestandardowego timera, dopóki nie sprawdzisz spakowanych jednostek i dzienników; duplikaty harmonogramów mogą spowodować utworzenie większej liczby migawek niż zamierzono.

5. Dodaj osobną konfigurację dla podwoluminu domowego Btrfs

Zrób to tylko wtedy, gdy kontrola układu potwierdziła, że /home​​sam wolumin jest podwoluminem Btrfs, a Twój cel obejmuje pliki użytkownika. Najpierw uruchom sudo snapper list-configsi upewnij się, że nazwa homejest nieużywana. Następnie utwórz konfigurację dla tego podwoluminu i zastosuj osobną politykę przechowywania:

sudo snapper -c home create-config /home
sudo snapper -c home set-config 'TIMELINE_CREATE=yes TIMELINE_CLEANUP=yes TIMELINE_LIMIT_HOURLY=6 TIMELINE_LIMIT_DAILY=7 TIMELINE_LIMIT_WEEKLY=4 TIMELINE_LIMIT_MONTHLY=3 TIMELINE_LIMIT_YEARLY=0'

Te same timery systemd przetwarzają konfiguracje Snappera, które mają włączone tworzenie i czyszczenie osi czasu, więc oddzielny timer zazwyczaj nie jest potrzebny. Sprawdź, czy sudo snapper -c home listdziała i sudo snapper -c home get-configpokazuje zamierzone wartości. Nazwa katalogu /homenie jest automatycznie oddzielnym podwoluminem; sprawdź to przed uruchomieniem create-config.

Skąd wiesz, że automatyzacja działa?

  • Konfiguracja: sudo snapper list-configs pokazuje zamierzoną nazwę i podwolumin.
  • Zasady: sudo snapper -c root get-config tworzenie i czyszczenie osi czasu raportów jest włączone.
  • Harmonogram: systemctl list-timers pokazuje dwa timery Snapper i czasy ich następnych uruchomień.
  • Migawki: sudo snapper -c root list pokazują wpisy z datą po uruchomieniu timera.
  • Stan usługi: journalctl -u snapper-timeline.service -b nie zawiera powtarzających się błędów uniemożliwiających tworzenie migawek.

Jeśli komputer zostanie wyłączony o zaplanowanej porze, timer może uruchomić się później, w zależności od ustawień urządzenia; nie zastępuje to sprawdzania utworzonych migawek. Krótki test ręczny może zweryfikować, czy Snapper może utworzyć migawkę: uruchom program sudo snapper -c root create --description 'setup test', a następnie ponownie wyświetl listę migawek. Test ten sprawdza konfigurację, a nie timer; usuń migawkę testową później tylko wtedy, gdy masz pewność, że wybrałeś właściwy wpis.

Co może pójść nie tak i czego należy unikać?

Po pierwsze, migawki z czasem zajmują współdzieloną przestrzeń systemu plików. Kontrola retencji redukuje starą historię, ale ilość przechowywanych danych zmienia się w zależności od zmian w plikach. Monitoruj wolne miejsce i upewnij się, że czyszczenie jest uruchomione. Po drugie, migawka główna może pomijać zagnieżdżone podwoluminy, takie jak /home; pomyślne wykonanie polecenia nie oznacza, że ​​każda zamontowana ścieżka jest chroniona. Po trzecie, same migawki Snapper nie gwarantują możliwości rozruchu. Snapper dokumentuje, że przywracanie systemu wymaga poprawnie skonfigurowanego systemu Btrfs. Układ montowania, konfiguracja rozruchowa, szyfrowanie i oddzielne systemy plików w Ubuntu determinują możliwości odzyskiwania. Przed skorzystaniem z przywracania systemu, przetestuj plan odzyskiwania z oddzielnymi nośnikami kopii zapasowej i odzyskiwania.

Nie traktuj automatycznych migawek jako zamiennika kopii zapasowych. Skopiuj ważne pliki na inne urządzenie fizyczne lub do zdalnej lokalizacji i okresowo sprawdzaj, czy możesz je przywrócić. Aby zapewnić najbardziej niezawodną konfigurację pulpitu Ubuntu, użyj Snappera do tworzenia wygodnych lokalnych punktów przywracania, osobnego narzędzia do tworzenia kopii zapasowych dla niezależnych kopii oraz sprawdzonej procedury odzyskiwania w przypadku awarii na poziomie systemu.

Oficjalne referencje

Zostaw komentarz

Jak skonfigurować lokalny serwer SUSE RMT (zamiennik SMT)

Jak skonfigurować lokalny serwer SUSE RMT (zamiennik SMT)

Skonfiguruj SUSE RMT na SLES 15, zsynchronizuj metadane SCC, utwórz kopię lustrzaną wybranych repozytoriów, zarejestruj klientów przez HTTPS i poznaj ograniczenia migracji z SMT.

Naprawa sterowników karty dźwiękowej, które nie zostały wykryte w systemie Pardus Linux 23

Naprawa sterowników karty dźwiękowej, które nie zostały wykryte w systemie Pardus Linux 23

Rozwiąż problem brakującej karty dźwiękowej w systemie Pardus Linux 23. Sprawdź wykrywanie ALSA, moduły jądra, usługi audio, profile wyjściowe, oprogramowanie układowe i aktualizacje w bezpieczny sposób.

Naprawa rozdzielczości wyświetlania zablokowanej na 1024x768 na komputerze gościnnym Pardus KVM

Naprawa rozdzielczości wyświetlania zablokowanej na 1024x768 na komputerze gościnnym Pardus KVM

Napraw gościa Pardus KVM, który zablokował się na rozdzielczości 1024x768, sprawdzając wirtualny procesor GPU, agenta SPICE, sesję X11 lub Wayland i weryfikując prawidłowość wyższych trybów wyświetlania.

Jak automatycznie zamontować zdalny katalog SSHFS podczas rozruchu w systemie Debian

Jak automatycznie zamontować zdalny katalog SSHFS podczas rozruchu w systemie Debian

Automatyczne montowanie zdalnego katalogu SSHFS podczas rozruchu w systemie Debian przy użyciu klucza SSH, pliku /etc/fstab, opcji sieciowych systemd, automatycznego montowania i kroków weryfikacji.

Napraw błąd „Nie można przydzielić pamięci” podczas aktualizacji systemu SLES

Napraw błąd „Nie można przydzielić pamięci” podczas aktualizacji systemu SLES

Rozwiąż problem „Nie można przydzielić pamięci” podczas aktualizacji SLES. Sprawdź pamięć RAM, swap, logi OOM i limity procesów, a następnie odzyskaj dane bez przerywania transakcji pakietów.

Rozwiązywanie problemów z kalibracją ekranu dotykowego w tabletach Harmonica OS: Wybierz odpowiednie rozwiązanie dla systemu Linux

Rozwiązywanie problemów z kalibracją ekranu dotykowego w tabletach Harmonica OS: Wybierz odpowiednie rozwiązanie dla systemu Linux

Rozwiąż problemy z przesunięciem dotyku, obrotem i mapowaniem wyświetlania na tabletach z systemem Harmonica OS (HamoniKR). Porównaj poprawki X.Org i libinput, przetestuj bezpiecznie i dowiedz się, kiedy kalibracja nie pomoże.

How to Set Up an Encrypted SWAP Partition on Existing Debian 12

How to Set Up an Encrypted SWAP Partition on Existing Debian 12

Encrypt an existing Debian 12 swap partition with dm-crypt, a fresh random key at every boot, /etc/crypttab, /etc/fstab, and safe verification steps.

Jak monitorować stan dysku SMART w systemie Ubuntu za pomocą alertów e-mail

Jak monitorować stan dysku SMART w systemie Ubuntu za pomocą alertów e-mail

Skonfiguruj smartmontools w Ubuntu, aby monitorować stan dysku i wysyłać alerty SMART e-mail. Sprawdź obsługę urządzenia, skonfiguruj dostarczanie poczty, przetestuj powiadomienia i rozwiąż problemy.

Napraw błąd „Nie znaleziono urządzenia rozruchowego” po zainstalowaniu Debiana w systemie UEFI

Napraw błąd „Nie znaleziono urządzenia rozruchowego” po zainstalowaniu Debiana w systemie UEFI

Napraw błędy rozruchu UEFI w systemie Debian, sprawdzając tryb rozruchu instalatora, partycję systemową EFI, wpisy NVRAM, pliki GRUB EFI, bezpieczny rozruch i awaryjne wersje oprogramowania sprzętowego.

Jak skonfigurować automatyczne migawki Btrfs na pulpicie Ubuntu

Jak skonfigurować automatyczne migawki Btrfs na pulpicie Ubuntu

Skonfiguruj Snappera do wykonywania i czyszczenia zaplanowanych migawek Btrfs w systemie Ubuntu Desktop. Najpierw sprawdź układ podwoluminów, włącz timery systemd i zweryfikuj bezpieczne przechowywanie.