Come configurare gli snapshot Btrfs automatici su Ubuntu Desktop

La guida all'installazione di Ubuntu Desktop 26.04 LTS elenca le opzioni di configurazione del disco standard e avanzate, ma non include Btrfs tra le scelte di installazione. L'ultimo aggiornamento risale al 6 maggio 2026. Ciò significa che un'installazione di Ubuntu Desktop con Btrfs potrebbe utilizzare una partizione o un layout di sottovolume personalizzato. Prima di automatizzare gli snapshot, è necessario identificare cosa è effettivamente montato in /; un comando Snapper che presuppone un sottovolume root Btrfs può fallire o proteggere i dati sbagliati. Questa guida configura snapshot orari con Snapper su un sottovolume Btrfs verificato, quindi abilita la pulizia pianificata in modo che gli snapshot obsoleti non si accumulino indefinitamente.

Snapper è disponibile nei repository di Ubuntu e i pacchetti di Ubuntu 26.04 LTS (Resolute) includono unità systemd per la gestione della timeline e delle operazioni di pulizia. I comandi esatti riportati di seguito si riferiscono a una macchina il cui obiettivo di snapshot è un sottovolume Btrfs. Se la tua installazione di Ubuntu utilizza ext4, LVM o un mount di primo livello Btrfs anziché il sottovolume che intendi proteggere, interrompi il controllo del layout e risolvi prima tale problema.

Cosa protegge uno snapshot di Btrfs?

Uno snapshot Btrfs è un sottovolume che rappresenta un punto specifico nel tempo e che inizialmente condivide le estensioni dei file con la sua origine. È utile per recuperare file o confrontare lo stato del sistema dopo una modifica o un aggiornamento errati. Non si tratta di un backup indipendente: lo snapshot rimane sullo stesso filesystem, quindi un guasto del disco, un danneggiamento del filesystem, un furto o la cancellazione accidentale dell'intero filesystem possono comportare la perdita sia dei dati attivi che degli snapshot.

Gli snapshot non acquisiscono ricorsivamente i sottovolumi annidati. Se /homeè un sottovolume separato, uno snapshot del sottovolume radice non include il contenuto di tale sottovolume separato /home. Pianifica una configurazione Snapper per ogni sottovolume che devi proteggere oppure affidati a un backup separato per i dati utente. Conserva una seconda copia su un altro dispositivo o sistema remoto per il ripristino di emergenza.

1. Conferma che Ubuntu sia in esecuzione su Btrfs

Apri il Terminale e controlla il punto di montaggio root:

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

Il primo comando dovrebbe indicare btrfsil tipo di filesystem. Esamina le opzioni di montaggio per individuare una subvol=voce e utilizza l'elenco dei sottovolumi per comprenderne la struttura. Il secondo comando dovrebbe identificare il sottovolume montato in /. Se il tipo di filesystem non è Btrfs, questa procedura Snapper non è applicabile. Se il comando indica che /non si tratta di un sottovolume, o mostra che si tratta del sottovolume di primo livello, non tentare di creare una configurazione Snapper root alla cieca. Il sottovolume di primo livello di Btrfs presenta limitazioni specifiche; utilizza invece una struttura di sottovolumi progettata correttamente o crea uno snapshot di un sottovolume separato verificato.

Verifica separatamente se /homesi tratta di un punto di montaggio o di un sottovolume con findmnt /homee sudo btrfs subvolume show /home. Se è separato e desideri snapshot di file personali, necessita di una configurazione a parte. Considera inoltre se altri percorsi importanti, come un mount dati separato, si trovano su un altro filesystem. Uno snapshot della directory root non li includerà automaticamente.

2. Installa Snapper e gli strumenti Btrfs

Una volta confermato che la destinazione è un sottovolume Btrfs, installa i pacchetti Ubuntu:

sudo apt update
sudo apt install snapper btrfs-progs

snapperGestisce le configurazioni e la conservazione degli snapshot; btrfs-progsfornisce utilità del filesystem utili per ispezionare Btrfs. Verifica se esistono già configurazioni prima di crearne una nuova:

sudo snapper list-configs

Se esiste già una configurazione con lo stesso nome rootche punta al sottovolume radice corretto, mantienila e rivedine le impostazioni anziché crearne una copia. Se l'output è vuoto ed /è stato verificato che corrisponde al sottovolume che si intende proteggere, crea la configurazione:

sudo snapper -c root create-config /

Il create-configcomando crea la configurazione Snapper e la relativa directory degli snapshot per il sottovolume selezionato. Se segnala che la configurazione esiste già o che il percorso non è un sottovolume, interrompere l'esecuzione e verificare la configurazione corrente; non eliminare una configurazione esistente per forzare l'esecuzione del comando.

3. Scegliere una pianificazione per gli snapshot e una politica di conservazione

La modalità timeline di Snapper può creare snapshot orari e il suo algoritmo di pulizia della timeline può conservare snapshot orari, giornalieri, settimanali, mensili e annuali selezionati. Per un desktop con spazio libero limitato, è consigliabile iniziare con una policy moderata e monitorare lo spazio di archiviazione anziché mantenere una cronologia illimitata. Questo esempio richiede sei snapshot orari, sette giornalieri, quattro settimanali e tre mensili, senza snapshot annuali:

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'

Questi valori descrivono le categorie di conservazione; non rappresentano un limite rigido per lo spazio su disco. Un file di grandi dimensioni modificato o eliminato può mantenere allocate le vecchie estensioni di dati finché gli snapshot vi fanno riferimento. Lo spazio disponibile dipende anche da altri sottovolumi e file di Btrfs. Controllare periodicamente df -h /e sudo btrfs filesystem usage /ridurre la conservazione o aggiungere spazio di archiviazione se il filesystem si sta riempiendo. Evitare di modificare più configurazioni contemporaneamente: eseguire sudo snapper -c root get-confige verificare i valori dopo averli modificati.

4. Abilita i timer systemd di Snapper

Su Ubuntu 26.04 LTS, l'elenco dei file del pacchetto Snapper include snapper-timeline.timere snapper-cleanup.timer. Abilita entrambi in modo che systemd crei periodicamente snapshot della timeline ed esegua la pulizia:

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

Verifica che siano caricati e controlla quando sono programmati i prossimi caricamenti:

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

Un timer che risulta attivo significa che systemd ha caricato la pianificazione; ciò non dimostra di per sé che Snapper abbia creato correttamente uno snapshot. Dopo la successiva esecuzione della timeline, controlla la configurazione e l'elenco degli snapshot:

sudo snapper list-configs
sudo snapper -c root list

Se dopo l'esecuzione programmata non viene visualizzata alcuna istantanea della timeline, verificare che TIMELINE_CREATEsia impostato su yes, quindi esaminare il registro di servizio con journalctl -u snapper-timeline.service -b. Non creare un timer personalizzato finché non hai controllato le unità e i registri inclusi nel pacchetto; le pianificazioni duplicate possono creare più istantanee del previsto.

5. Aggiungere una configurazione separata per un sottovolume home Btrfs

Eseguite questa operazione solo se il controllo del layout ha confermato che /homesi tratta di un sottovolume Btrfs e che il vostro obiettivo include i file utente. Innanzitutto, eseguite il comando sudo snapper list-configse assicuratevi che il nome homenon sia inutilizzato. Quindi create un file di configurazione per quel sottovolume e applicate una policy di conservazione separata:

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'

Gli stessi timer di systemd elaborano le configurazioni di Snapper che hanno la creazione e la pulizia della timeline abilitate, quindi un timer separato normalmente non è necessario. Conferma che sudo snapper -c home listfunzioni e che sudo snapper -c home get-configmostri i valori previsti. Una directory denominata /homenon è automaticamente un sottovolume separato; verificalo prima di eseguire create-config.

Come si fa a sapere se l'automazione funziona?

  • Configurazione: sudo snapper list-configs mostra il nome e il sottovolume previsti.
  • Criterio: sudo snapper -c root get-config creazione e pulizia della cronologia dei report abilitate.
  • Programma: systemctl list-timers mostra i due timer Snapper e i relativi orari di esecuzione.
  • Istantanee: sudo snapper -c root list mostra le voci datate dopo lo scadere del timer.
  • Stato di salute del servizio: journalctl -u snapper-timeline.service -b non presenta errori ricorrenti che impediscono la creazione di snapshot.

Se il computer viene spento a un orario programmato, un timer potrebbe avviarsi successivamente a seconda delle impostazioni dell'unità; ciò non sostituisce la verifica degli snapshot risultanti. Un piccolo test manuale può verificare che Snapper sia in grado di creare uno snapshot: esegui il comando sudo snapper -c root create --description 'setup test'e poi elenca nuovamente gli snapshot. Questo test verifica la configurazione, non il timer; rimuovi lo snapshot di prova solo se sei sicuro di aver selezionato la voce corretta.

Cosa può andare storto e cosa bisogna evitare?

Innanzitutto, gli snapshot consumano nel tempo la capacità del filesystem condiviso. I controlli di conservazione riducono la cronologia obsoleta, ma la quantità di dati conservati varia in base alle modifiche dei file. Monitora lo spazio libero e assicurati che la pulizia sia in corso. In secondo luogo, uno snapshot di root potrebbe omettere i sottovolumi annidati /home; un comando eseguito correttamente non significa che ogni percorso montato sia protetto. In terzo luogo, gli snapshot di Snapper da soli non garantiscono un rollback avviabile. Snapper documenta il rollback come un processo che richiede un sistema Btrfs configurato correttamente. La struttura di montaggio di Ubuntu, la configurazione di avvio, la crittografia e i filesystem separati determinano quali tipi di ripristino sono possibili. Prima di affidarti al rollback, testa un piano di ripristino con un supporto di backup e di ripristino separato.

Non considerate gli snapshot automatici come un sostituto dei backup. Copiate i file importanti su un altro dispositivo fisico o in una posizione remota e verificate periodicamente di poterli ripristinare. Per una configurazione desktop Ubuntu più affidabile, utilizzate Snapper per comodi punti di ripristino locali, uno strumento di backup separato per copie indipendenti e una procedura di ripristino collaudata per i guasti a livello di sistema.

Riferimenti ufficiali

Lascia un commento

Come configurare un server SUSE RMT locale (sostituto di SMT)

Come configurare un server SUSE RMT locale (sostituto di SMT)

Configurare SUSE RMT su SLES 15, sincronizzare i metadati SCC, replicare i repository selezionati, registrare i client tramite HTTPS e comprendere i limiti della migrazione da SMT.

Risoluzione del problema "Driver della scheda audio non rilevati" su Pardus Linux 23

Risoluzione del problema "Driver della scheda audio non rilevati" su Pardus Linux 23

Risolvere i problemi relativi a una scheda audio mancante su Pardus Linux 23. Verificare in modo sicuro il rilevamento ALSA, i moduli del kernel, i servizi audio, i profili di output, il firmware e gli aggiornamenti.

Risolvere il problema della risoluzione dello schermo bloccata a 1024x768 su una macchina virtuale KVM Pardus.

Risolvere il problema della risoluzione dello schermo bloccata a 1024x768 su una macchina virtuale KVM Pardus.

Risolvi i problemi di una macchina virtuale Pardus KVM bloccata a 1024x768 controllando la GPU virtuale, l'agente SPICE, la sessione X11 o Wayland e verificando che le modalità di visualizzazione superiori siano impostate correttamente.

Come montare automaticamente una directory SSHFS remota all'avvio in Debian

Come montare automaticamente una directory SSHFS remota all'avvio in Debian

Montare automaticamente una directory SSHFS remota all'avvio in Debian utilizzando SSH basato su chiave, /etc/fstab, opzioni di rete systemd, montaggio automatico e passaggi di verifica.

Risolvere il problema "Impossibile allocare memoria" durante un aggiornamento del sistema SLES

Risolvere il problema "Impossibile allocare memoria" durante un aggiornamento del sistema SLES

Risolvere il problema "Impossibile allocare memoria" durante un aggiornamento SLES. Controllare la RAM, lo swap, i log di OOM e i limiti dei processi, quindi ripristinare il sistema senza interrompere le transazioni dei pacchetti.

Risolvere i problemi di calibrazione del touchscreen sui tablet con Harmonica OS: scegliere la soluzione Linux più adatta

Risolvere i problemi di calibrazione del touchscreen sui tablet con Harmonica OS: scegliere la soluzione Linux più adatta

Risolvi i problemi di offset del tocco, rotazione e mappatura del display sui tablet con Harmonica OS (HamoniKR). Confronta le soluzioni di X.Org e libinput, esegui i test in sicurezza e scopri quando la calibrazione non è sufficiente.

Come configurare una partizione SWAP crittografata su un'installazione esistente di Debian 12

Come configurare una partizione SWAP crittografata su un'installazione esistente di Debian 12

Crittografa una partizione di swap Debian 12 esistente con dm-crypt, una nuova chiave casuale ad ogni avvio, /etc/crypttab, /etc/fstab e passaggi di verifica sicuri.

Come monitorare lo stato di salute di SMART Drive su Ubuntu tramite avvisi e-mail

Come monitorare lo stato di salute di SMART Drive su Ubuntu tramite avvisi e-mail

Configura smartmontools su Ubuntu per monitorare lo stato di salute del disco e inviare avvisi SMART via e-mail. Verifica la compatibilità del dispositivo, configura l'invio delle e-mail, testa le notifiche e risolvi eventuali problemi.

Risolvere il problema "Nessun dispositivo di avvio trovato" dopo l'installazione di Debian su un sistema UEFI

Risolvere il problema "Nessun dispositivo di avvio trovato" dopo l'installazione di Debian su un sistema UEFI

Risolvi gli errori di avvio UEFI di Debian verificando la modalità di avvio del programma di installazione, la partizione di sistema EFI, le voci NVRAM, i file EFI di GRUB, Secure Boot e i fallback del firmware.

Come configurare gli snapshot Btrfs automatici su Ubuntu Desktop

Come configurare gli snapshot Btrfs automatici su Ubuntu Desktop

Configura Snapper per creare ed eliminare snapshot Btrfs programmati su Ubuntu Desktop. Verifica prima la struttura dei sottovolumi, abilita i timer di systemd e assicurati che la conservazione sia sicura.