Στιγμιότυπα Btrfs
Εισαγωγή
Ενότητα με τίτλο «Εισαγωγή»Τι είναι ένα στιγμιότυπο Btrfs;
Ενότητα με τίτλο «Τι είναι ένα στιγμιότυπο Btrfs;»Ας ξεκινήσουμε με τα βασικά:
Τα στιγμιότυπα Btrfs προέρχονται από τη λειτουργία των υποτόμων. Τι είναι ένας υποτόμος; Σκεφτείτε έναν υποτόμο ως ένα ξεχωριστό σύστημα αρχείων εντός του συστήματος αρχείων Btrfs, που σας επιτρέπει να χωρίσετε τα δεδομένα σας σε διαφορετικά τμήματα. Γι’ αυτό, για παράδειγμα, στο CachyOS έχουμε διαφορετικούς υποτόμους για:
- Το ριζικό σύστημα αρχείων: (
/) - Τον κατάλογο ρίζας (root): (
/root) - Τον προσωπικό κατάλογο (home): (
/home) - Τους καταλόγους var: (
/var/cache,/var/tmp,/var/log) - Τον κατάλογο srv: (
/srv)
Έχοντας διαφορετικούς υποτόμους για αυτούς τους καταλόγους, μπορούμε να τους διαχειριζόμαστε ανεξάρτητα, να εφαρμόζουμε διαφορετικές ρυθμίσεις και, το πιο σημαντικό, να δημιουργούμε στιγμιότυπά τους.
Εδώ είναι που γεννιέται ένα στιγμιότυπο. Αυτό είναι ουσιαστικά το αντίγραφο ενός υποτόμου για μια συγκεκριμένη χρονική στιγμή, το οποίο μπορεί να είναι μόνο για ανάγνωση ή για ανάγνωση και εγγραφή (προεπιλογή). Αυτό σημαίνει ότι μπορείτε να «απαθανατίσετε» την κατάσταση του συστήματος αρχείων σας, συμπεριλαμβανομένων όλων των αρχείων και των καταλόγων, εκείνη ακριβώς τη στιγμή.
Επομένως, τα στιγμιότυπα αποτελούν σημεία αναφοράς για μια συγκεκριμένη χρονική στιγμή. Αυτό σημαίνει ότι όταν το αρχείο στο σύστημα προορισμού αρχίσει να διαφέρει από τα δεδομένα του στιγμιότυπου, το στιγμιότυπο διατηρεί το αρχικό αρχείο, ενώ το σύστημα προορισμού δημιουργεί ένα νέο αρχείο με τις αλλαγές. Το στιγμιότυπο παραμένει αμετάβλητο για πάντα, γι’ αυτό και ορισμένοι χρήστες αναφέρονται σε αυτό ως «δεδομένα παγωμένα στον χρόνο».
Φανταστείτε ότι τραβάτε μια φωτογραφία του συστήματος αρχείων σας σε μια συγκεκριμένη στιγμή και μπορείτε πάντα να επιστρέψετε σε αυτήν τη φωτογραφία όποτε το χρειαστείτε.
Ένα από τα βασικά πλεονεκτήματα των στιγμιότυπων είναι ότι είναι πολύ αποδοτικά ως προς τη χρήση του χώρου, επειδή αποτελούν απλώς μια αναφορά στα αρχικά δεδομένα μέχρι να γίνουν αλλαγές.
Εδώ όμως είναι που ένα στιγμιότυπο διαφέρει από ένα παραδοσιακό αντίγραφο ασφαλείας. Ας υποθέσουμε ότι ο δίσκος σας καταρρέει: αν είχατε ένα παραδοσιακό αντίγραφο ασφαλείας, θα μπορούσατε να ανακτήσετε τα δεδομένα σας από αυτό. Ωστόσο, αν είχατε μόνο στιγμιότυπα στον δίσκο που κατέρρευσε, θα χάνατε την πρόσβαση σε αυτά, καθώς είναι αποθηκευμένα στον ίδιο ακριβώς δίσκο.
Περιπτώσεις όπου τα στιγμιότυπα (δεν) είναι χρήσιμα
Ενότητα με τίτλο «Περιπτώσεις όπου τα στιγμιότυπα (δεν) είναι χρήσιμα»Είναι χρήσιμα για την ανάκαμψη από:
- Ελαττωματικά ή κατεστραμμένα αρχεία μετά από ενημερώσεις συστήματος.
- Εσφαλμένες ρυθμίσεις που εμποδίζουν την εκκίνηση του συστήματος.
- Ακούσια διαγραφή ή τροποποίηση αρχείων.
Δεν είναι χρήσιμα για την ανάκαμψη από:
- Προβλήματα με τον φορτωτή εκκίνησης.
- Αστοχίες υλικού (π.χ. αστοχία σκληρών δίσκων).
Διαχείριση στιγμιότυπων (GUI και CLI)
Ενότητα με τίτλο «Διαχείριση στιγμιότυπων (GUI και CLI)»Μερικά πράγματα που πρέπει να λάβετε υπόψη πριν από τη διαχείριση των στιγμιότυπων. Ισχύουν τόσο για τη μέθοδο μέσω CLI όσο και για τη μέθοδο μέσω GUI.
- Συνιστάται να διατηρείτε το πολύ 10 στιγμιότυπα. Πέραν αυτού του αριθμού, τα στιγμιότυπα είναι πολύ παλιά και λιγότερο χρήσιμα. Στη χειρότερη περίπτωση, η επαναφορά σε ένα πολύ παλιό στιγμιότυπο μπορεί να προκαλέσει προβλήματα συμβατότητας με νεότερες εκδόσεις λογισμικού.
- Τα στιγμιότυπα προορίζονται ιδανικά για σκοπούς αποκατάστασης. Παρόλα αυτά, μπορείτε να τα χρησιμοποιήσετε για να αναιρέσετε αλλαγές σε αρχεία χωρίς να επαναφέρετε ολόκληρο το στιγμιότυπο.
- Προσθέστε μια περιγραφική ονομασία κατά τη δημιουργία των στιγμιότυπων. Αυτό θα σας βοηθήσει να αναγνωρίσετε τον σκοπό του κάθε στιγμιότυπου αργότερα.
Btrfs Assistant (GUI)
Ενότητα με τίτλο «Btrfs Assistant (GUI)»Πριν προχωρήσετε, βεβαιωθείτε ότι έχετε εγκαταστήσει το btrfsmaintenance για να επωφεληθείτε από τις λειτουργίες αυτόματης διαχείρισης στιγμιότυπων.
Για τους χρήστες που προτιμούν να διαχειρίζονται το Btrfs, τα στιγμιότυπα και περισσότερες λειτουργίες μέσω γραφικού περιβάλλοντος (GUI), το Btrfs Assistant είναι ένα εξαιρετικό έργο για αρχάριους.
Ρύθμιση της αυτόματης εκκαθάρισης στιγμιότυπων
Ενότητα με τίτλο «Ρύθμιση της αυτόματης εκκαθάρισης στιγμιότυπων»Σε αυτήν την ενότητα, θα ρυθμίσουμε την αυτόματη εκκαθάριση στιγμιότυπων με το Btrfs Assistant. Αυτό θα βοηθήσει στην αποτελεσματική διαχείριση των στιγμιότυπών σας χωρίς χειροκίνητη παρέμβαση.
Ακολουθήστε τα εξής βήματα:
-
Εκκινήστε το Btrfs Assistant ανοίγοντας ένα τερματικό και εκτελώντας την εξής εντολή:
Terminal window btrfs-assistant-launcherΕναλλακτικά:
Terminal window sudo -E btrfs-assistant -
Μεταβείτε στην καρτέλα «Snapper Settings»:

Τροποποιήστε τις ρυθμίσεις Snapshot Retention ως εξής:
- Βεβαιωθείτε ότι η επιλογή «Select config» έχει οριστεί σε
root. - Εισαγάγετε την τιμή
0για τις επιλογές «Hourly», «Daily», «Weekly», «Monthly» και «Yearly». - Απενεργοποιήστε την επιλογή
Enable timeline snapshots. - Εισαγάγετε την τιμή
10για την επιλογήNumber. - Ενεργοποιήστε την επιλογή
Snapper cleanup enabled. - Κάντε κλικ στο κουμπί
Saveστην πάνω δεξιά γωνία και επιλέξτεApply systemd changesστην κάτω δεξιά γωνία. Το snapper-cleanup.timer είναι πλέον ενεργοποιημένο και θα εκκαθαρίζει τα παλιά στιγμιότυπα με βάση τις ρυθμίσεις σας.
- Βεβαιωθείτε ότι η επιλογή «Select config» έχει οριστεί σε
Αφαίρεση στιγμιότυπων με το Btrfs Assistant
Ενότητα με τίτλο «Αφαίρεση στιγμιότυπων με το Btrfs Assistant»-
Ανοίξτε το Btrfs Assistant:
Terminal window btrfs-assistant-launcherΕναλλακτικά:
Terminal window sudo -E btrfs-assistant -
Μεταβείτε στην καρτέλα «Snapper Settings»:

-
Επιλέξτε τα στιγμιότυπα που θέλετε να διαγράψετε από τη λίστα.
-
Κάντε κλικ στο κουμπί
Deleteπου βρίσκεται στο πάνω μέρος του παραθύρου. -
Δημιουργήστε εκ νέου τις καταχωρήσεις του φορτωτή εκκίνησης για να εφαρμοστούν οι αλλαγές:
systemd-boot
Terminal window sudo sdboot-manage genGRUB
Terminal window sudo grub-mkconfig -o /boot/grub/grub.cfgLimine
Terminal window sudo limine-mkinitcpio
Δείτε το επίσημο wiki του εργαλείου για περισσότερες λεπτομέρειες σχετικά με τις δυνατότητές του.
Snapper (CLI)
Ενότητα με τίτλο «Snapper (CLI)»Τώρα που καλύψαμε τι είναι τα στιγμιότυπα Btrfs και τις περιπτώσεις χρήσης τους, ας μιλήσουμε για το πώς μπορούμε να τα διαχειριζόμαστε μέσω ενός εργαλείου, του Snapper, που έχει δημιουργηθεί από τον Arvin Schnell του openSUSE.
Το CachyOS χρησιμοποιεί την εξής διαμόρφωση για το Snapper από προεπιλογή:
# subvolume to snapshotSUBVOLUME="/"
# filesystem typeFSTYPE="btrfs"
# btrfs qgroup for space aware cleanup algorithmsQGROUP=""
# fraction or absolute size of the filesystems space the snapshots may useSPACE_LIMIT="0.5"
# fraction or absolute size of the filesystems space that should be freeFREE_LIMIT="0.2"
# users and groups allowed to work with configALLOW_USERS=""ALLOW_GROUPS=""
# sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots# directorySYNC_ACL="no"
# start comparing pre- and post-snapshot in background after creating# post-snapshotBACKGROUND_COMPARISON="yes"
# run daily number cleanupNUMBER_CLEANUP="yes"
# limit for number cleanupNUMBER_MIN_AGE="1800"NUMBER_LIMIT="50"NUMBER_LIMIT_IMPORTANT="15"
# create hourly snapshotsTIMELINE_CREATE="no"
# cleanup hourly snapshots after some timeTIMELINE_CLEANUP="yes"
# limits for timeline cleanupTIMELINE_MIN_AGE="1800"TIMELINE_LIMIT_HOURLY="5"TIMELINE_LIMIT_DAILY="7"TIMELINE_LIMIT_WEEKLY="0"TIMELINE_LIMIT_MONTHLY="0"TIMELINE_LIMIT_YEARLY="0"
# cleanup empty pre-post-pairsEMPTY_PRE_POST_CLEANUP="yes"
# limits for empty pre-post-pair cleanupEMPTY_PRE_POST_MIN_AGE="1800"Ακολουθεί μια λίστα με τις πιο συνήθεις εντολές του Snapper.
Λήψη τρέχουσας διαμόρφωσης:
sudo snapper get-configΠαράδειγμα εξόδου:
❯ snapper list-configsConfig │ Subvolume───────┼──────────root │ /Λίστα διαθέσιμων στιγμιότυπων και λεπτομέρειες:
sudo snapper listΠαράδειγμα εξόδου:
# │ Type │ Pre # │ Date │ User │ Cleanup │ Description │ Userdata────┼────────┼───────┼──────────────────────────┼──────┼─────────┼──────────────────────────────────────────────────────────────────────────┼─────────0 │ single │ │ │ root │ │ current │715 │ pre │ │ Thu 22 Jan 2026 16:14:07 │ root │ number │ pacman -S -y -u --config /etc/pacman.conf -- │716 │ post │ 715 │ Thu 22 Jan 2026 16:14:25 │ root │ number │ docker-buildx lilv sof-firmware zed │717 │ pre │ │ Sat 24 Jan 2026 11:19:48 │ root │ number │ pacman -S -y -u --config /etc/pacman.conf -- │718 │ post │ 717 │ Sat 24 Jan 2026 11:20:19 │ root │ number │ bpf cachyos-hello cachyos-wallpapers cpupower jdk-openjdk ldb less libev │719 │ pre │ │ Sat 24 Jan 2026 11:20:31 │ root │ number │ pacman -U --config /etc/pacman.conf -- /home/mario/.cache/yay/visual-s │720 │ post │ 719 │ Sat 24 Jan 2026 11:20:36 │ root │ number │ visual-studio-code-bin │721 │ pre │ │ Sat 24 Jan 2026 20:46:40 │ root │ number │ pacman -Syu plasma-login-manager │722 │ post │ 721 │ Sat 24 Jan 2026 20:46:48 │ root │ number │ cmake fastfetch harfbuzz harfbuzz-icu jdk21-openjdk lib32-harfbuzz lib32 │723 │ pre │ │ Sat 24 Jan 2026 20:46:53 │ root │ number │ pacman -R sddm-kcm cachyos-themes-sddm sddm │724 │ post │ 723 │ Sat 24 Jan 2026 20:46:56 │ root │ number │ cachyos-themes-sddm sddm sddm-kcm │725 │ pre │ │ Sun 25 Jan 2026 08:05:05 │ root │ number │ pacman -S -y -u --config /etc/pacman.conf -- │726 │ post │ 725 │ Sun 25 Jan 2026 08:05:11 │ root │ number │ plasma-login-manager │727 │ pre │ │ Sun 25 Jan 2026 15:55:28 │ root │ number │ pacman -S --config /etc/pacman.conf -- cachyos-extra-znver4/caligula │728 │ post │ 727 │ Sun 25 Jan 2026 15:55:30 │ root │ number │ caligula │- Ακολουθεί μια περίληψη των στηλών:
#: Ο αριθμός που αντιστοιχεί σε ένα στιγμιότυπο και χρησιμοποιείται σε άλλες εντολές.Type: Υποδεικνύει εάν το στιγμιότυπο είναι απομονωμένο (single) ή μέρος ενός ζεύγους pre/post.single: Αυτά τα στιγμιότυπα δεν έχουν καμία ιδιαίτερη σχέση με άλλα στιγμιότυπα.pre: Αυτά τα στιγμιότυπα δημιουργούνται πριν από κάθε είδους αλλαγή του συστήματος (π.χ. επεξεργασία αρχείου ή εγκατάσταση πακέτου).post: Όπως υποδηλώνει το όνομα, αυτά τα στιγμιότυπα δημιουργούνται αφού συμβεί μια αλλαγή του συστήματος. Συνδέονται με τα αντίστοιχα στιγμιότυπα τύπουpre.
Pre #: Για στιγμιότυπα τύπουpost, αυτή η στήλη αναγράφει τον αριθμό του αντίστοιχου στιγμιότυπου τύπουpre.Date: Η ημερομηνία και ώρα δημιουργίας του στιγμιότυπου.User: Ο χρήστης που δημιούργησε το στιγμιότυπο.Cleanup: Αναφέρει τον αλγόριθμο εκκαθάρισης που ισχύει για το στιγμιότυπο.- Διατίθενται διάφοροι αλγόριθμοι εκκαθάρισης στο Snapper, όπως οι
number,timelineκαιempty-pre-post. Σε αυτό το παράδειγμα, χρησιμοποιείται ο αλγόριθμοςnumber, πράγμα που σημαίνει ότι τα παλαιότερα στιγμιότυπα θα διαγράφονται με βάση ένα προκαθορισμένο όριο. - timeline: Τα στιγμιότυπα εκκαθαρίζονται ανάλογα με την ηλικία και τη συχνότητά τους.
- empty-pre-post: Διαγράφει ζεύγη στιγμιότυπων τύπου pre/post που δεν περιέχουν διαφορές.
- Διατίθενται διάφοροι αλγόριθμοι εκκαθάρισης στο Snapper, όπως οι
Description: Μια σύντομη περιγραφή του στιγμιότυπου που συχνά υποδεικνύει τον λόγο της δημιουργίας του.Userdata: Περισσότερα δεδομένα, καθορισμένα από τον χρήστη, που σχετίζονται με το στιγμιότυπο.
Δημιουργία νέου στιγμιότυπου:
sudo snapper create --type single --description "Περιγραφή για το στιγμιότυπο"Τροποποίηση στιγμιότυπου:
sudo snapper modify <επιλογή> <αριθμός_στιγμιότυπου>Διαθέσιμες επιλογές:
Επιλογές για την εντολή 'modify': --description, -d <description> Περιγραφή για το στιγμιότυπο. --cleanup-algorithm, -c <algo> Αλγόριθμος εκκαθάρισης για το στιγμιότυπο. --userdata, -u <userdata> Δεδομένα χρήστη για το στιγμιότυπο. --read-only Ρύθμιση του στιγμιότυπου μόνο για ανάγνωση. --read-write Ρύθμιση του στιγμιότυπου για ανάγνωση και εγγραφή. --default Ορισμός του στιγμιότυπου ως προεπιλεγμένου.Παράδειγμα (τροποποίηση της περιγραφής για το στιγμιότυπο 729):
sudo snapper modify 729 --description 'Νέα περιγραφή για το στιγμιότυπο'Διαγραφή στιγμιότυπων:
Διαγραφή μεμονωμένου στιγμιότυπου:
sudo snapper delete <αριθμός_στιγμιότυπου>Διαγραφή εύρους στιγμιότυπων:
sudo snapper delete 718-721Θα διαγραφούν τα στιγμιότυπα 718, 719, 720 και 721.
Τεκμηρίωση του Snapper
Ενότητα με τίτλο «Τεκμηρίωση του Snapper»Επίσημη σελίδα από το εγχειρίδιο του Snapper για τις εντολές
Οδηγός για το αρχείο διαμόρφωσης του Snapper
Προτάσεις και συμβουλές για το Limine
Ενότητα με τίτλο «Προτάσεις και συμβουλές για το Limine»Προσαρμογή των ρυθμίσεων εμφάνισης για τα στιγμιότυπα στο Limine
Ενότητα με τίτλο «Προσαρμογή των ρυθμίσεων εμφάνισης για τα στιγμιότυπα στο Limine»- Περιορίστε τον αριθμό των στιγμιότυπων που εμφανίζονται στο μενού του φορτωτή εκκίνησης Limine, ώστε να αποφύγετε την ακαταστασία:
- Δημιουργήστε ένα αντίγραφο ασφαλείας για το αρχείο διαμόρφωσης του limine-snapper-sync:
Terminal window sudo cp /etc/limine-snapper-sync.conf /etc/limine-snapper-sync.conf.orig - Επεξεργαστείτε το αρχείο διαμόρφωσης του limine-snapper-sync:
Απόσπασμα αναμενόμενης εξόδου:
Terminal window sudo nano /etc/limine-snapper-sync.confΠροαιρετικά, προσαρμόστε τη μορφή ονομασίας των στιγμιότυπων:Terminal window ### Max Snapshot Entries### Sets the limit for how many snapshot entries show up in the boot menu.### This depends on the size of your FAT32 boot partition and how many different kernel and module versions you want to keep.### A larger FAT32 boot partition allows more snapshot entries.MAX_SNAPSHOT_ENTRIES=10Προτείνεται η επιλογήTerminal window ### Snapshot Name Format### Choose a format for how snapshot entries look in the Limine bootloader:### 0. ID=111 2023-12-20 10:59:59 (default)### 1. 111│2023-12-20 10:59:59### 2. 111 │ 2023-12-20 10:59:59### 3. 2023-12-20 10:59:59│111### 4. 2023-12-20 10:59:59 │ 111### 5. 2023-12-20 10:59:59### 6. 111### 7. 111│snapshot description### 8. 2023-12-20 10:59:59│snapshot description### 9. │snapshot descriptionSNAPSHOT_FORMAT_CHOICE=88επειδή εμφανίζει την ημερομηνία και την ώρα μαζί με την περιγραφή του στιγμιότυπου. - Αποθηκεύστε το αρχείο και κάντε έξοδο πατώντας τα
CTRL+OEnterκαιCTRL+X.
Επαναφορά από στιγμιότυπο
Ενότητα με τίτλο «Επαναφορά από στιγμιότυπο»Limine
- Από το μενού του Limine, μεταβείτε στο μενού «Snapshots»:

- Επιλέξτε το στιγμιότυπο και τον πυρήνα που θέλετε να επαναφέρετε:


- Το σύστημά σας βρίσκεται τώρα σε
κατάσταση μόνο για ανάγνωση. Θα εμφανιστεί μια αναδυόμενη ειδοποίηση που θα δηλώνει ότι εντοπίστηκε στιγμιότυπο και θα σας ζητά να κάνετε ανάκτηση:
- Κάντε κλικ στο
Επαναφορά τώρα(Restore now). Θα ανοίξει ένα παράθυρο τερματικού, όπου θα σας ζητηθεί να επιβεβαιώσετε την ενέργεια:Παράδειγμα προτροπής επαναφοράς Snapshot ID : 2Date : 2026-01-26 11:19:14Description : nc-gitRestore method : replaceConfirm restore of snapshot 2 using the "replace" method?Type [y]es to restore, [l]ist to display all snapshots, or [c]ancel to abort.Your input: yesEnter a description for the "backup" of the subvolume: @Your input: @ - Πληκτρολογήστε
yesκαι προσθέστε προαιρετικά μια περιγραφή για το εφεδρικό στιγμιότυπο. - Θα ξεκινήσει η διαδικασία επαναφοράς. Μόλις ολοκληρωθεί, πληκτρολογήστε άλλη μία φορά
yesγια να επανεκκινήσετε το σύστημά σας:Terminal window The restore is complete. Please reboot now:Type [y]es to reboot, [n]o or [c]ancel to abort rebooting.Your input: yes
GRUB
-
Από το μενού του GRUB, εκκινήστε το επιθυμητό στιγμιότυπο και πυρήνα που θέλετε να επαναφέρετε.
-
Μόλις γίνει εκκίνηση, ανοίξτε το Btrfs Assistant:
Terminal window btrfs-assistant-launcherΕναλλακτικά:
Terminal window sudo -E btrfs-assistant -
Μεταβείτε στην καρτέλα «Snapper» → «Browse/Restore» και επιλέξτε το στιγμιότυπο από το οποίο εκτελέσατε εκκίνηση:

-
Κάντε κλικ στο κουμπί
Restoreκαι επανεκκινήστε το σύστημά σας για να εφαρμοστούν οι αλλαγές.