Guida a distroClone e distroClone-backup
Chiunque gestisca un sistema GNU/Linux personalizzato si trova prima o poi davanti a due esigenze parallele: avere un backup aggiornato da cui ripristinare in caso di guasto, e disporre di un’immagine ISO avviabile da distribuire su nuove macchine o da conservare come istantanea del sistema. Fino ad oggi questi due compiti richiedevano strumenti separati e procedure manuali. Con distroClone e distroClone-backup è possibile coprire entrambi gli scenari in modo grafico, automatizzato e coordinato.
Questa guida descrive le funzionalità di ciascuno strumento, poi mostra il flusso di lavoro integrato per usarli in simultanea.
distroClone Live ISO Builder
distroClone è uno strumento grafico che genera immagini ISO live avviabili a partire dal sistema in esecuzione. Funziona su qualsiasi distribuzione basata su Debian: Debian, Ubuntu, Linux Mint, LMDE, Elementary OS, SysLinuxOS, ZorinOS e derivate.
Come funziona
All’avvio, distroClone rileva automaticamente la distribuzione installata, la versione, il desktop environment, l’architettura e il kernel. L’interfaccia grafica si basa su YAD (preferito) o Zenity come fallback, con branding personalizzato. È disponibile anche una modalità TTY per ambienti senza display.
Il processo di build si articola in circa 30 passi principali automatici:
- rilevamento del sistema e raccolta delle informazioni
- schermata di benvenuto con riepilogo configurazione
- scelta del tipo di compressione Squashfs
- configurazione password e hostname del sistema live
- installazione automatica dei pacchetti necessari (xorriso, mtools, isolinux, ecc.)
- clonazione del rootfs in una directory di lavoro temporanea
- generazione del filesystem Squashfs compresso
- integrazione dell’installer Calamares con branding automatico
- possiblità di inserire il proprio branding, nel momento di “pausa”
- supporto dual boot: UEFI e Legacy BIOS
- creazione del file ISO finale con xorriso
Il file ISO generato è nominato automaticamente nel formato `NomeDistro-Versione-Desktop.iso`.
Opzioni di compressione Squashfs
distroClone offre tre profili di compressione selezionabili dalla GUI:
Standard xz: buon equilibrio tra dimensione e tempo (15-20 minuti)
Fast lz4: compressione rapida, file più grande, utile per testing. (5-10 minuti)
Maximum xz+bcj: massima compressione, tempo più lungo (25-35 minuti)
Requisiti
Sistema basato su Debian (Bookworm o successivo, Ubuntu 22.04+, Mint, LMDE, SysLinuxOS, ZorinOS 18+)
Almeno 10-25 GB di spazio libero su /mnt
Dipendenze installate automaticamente: `yad`, `rsync`, `imagemagick`
Installazione
wget https://github.com/fconidi/distroclone/releases/download/v1.3.4/distroClone_1.3.4_all.deb sudo apt install ./distroClone_1.3.4_all.deb sudo apt install -f
Avvio
sudo distroClone
distroClone-backup — backup incrementale e ripristino del rootfs
distroClone-backup è lo strumento complementare: si occupa della protezione continua del sistema in esecuzione tramite backup del rootfs, backup incrementali schedulati e ripristino in caso di problemi.
Come funziona
L’interfaccia grafica GTK/YAD mostra al primo avvio un dashboard con: distribuzione rilevata, versione kernel, stato attuale della cache, dimensione del backup, e pianificazione cron attiva. Da qui si controllano tutte le operazioni senza mai toccare il terminale.
Il backend si basa su `rsync`. Il backup completo clona l’intero rootfs nella directory di cache configurata, escludendo i filesystem virtuali (`/proc`, `/sys`, `/dev`), le cache di sistema, le directory temporanee e le cartelle snap. I backup incrementali usano `rsync –checksum` per trasferire solo i file modificati rispetto all’ultima esecuzione.
Funzionalità principali
Backup completo: Clone integrale del rootfs tramite rsync. È la base obbligatoria prima di qualsiasi backup incrementale. La cache viene salvata in `<cache-dir>/<distro>_live/.rootfs_cache`. Durata tipica: 5-20 minuti in base alla dimensione del sistema.
Backup incrementale: Trasferisce solo i file modificati dall’ultima esecuzione. Rapido, efficiente in spazio e ideale per l’esecuzione automatica notturna.
Snapshot btrfs: Quando la destinazione è su un filesystem btrfs, ogni backup genera automaticamente uno snapshot read-only nominato `@AAAA-MM-GG_HH:MM`. Gli snapshot in eccesso vengono eliminati automaticamente in base alla retention configurabile (0-20, default 3). È possibile ripristinare il sistema da qualsiasi snapshot disponibile tramite la GUI.
Scheduler cron: La pianificazione dei backup automatici avviene interamente dalla GUI: si sceglie frequenza (giornaliero, settimanale, mensile), giorno della settimana (se settimanale), ora di esecuzione e se ricevere una notifica desktop al termine. La voce crontab viene scritta automaticamente nel crontab di root.
Ripristino sicuro: Il ripristino sovrascrive i file di sistema dalla cache con rsync, proteggendo sempre `/home`, `/root` e `/boot/efi`. La finestra di conferma mostra data del backup, distribuzione, kernel salvato e dimensione della cache prima di procedere.
Directory cache configurabile: La cache può essere puntata a qualsiasi percorso: partizione interna, disco USB esterno, mount NFS. Il default è `/mnt`.
Inclusione di /home: Opzione per includere anche `/home` nel backup, con avviso esplicito sull’impatto su spazio e tempi.
Log in tempo reale: Ogni operazione è visibile live nella finestra di log e salvata in `/var/log/distroclone-backup.log`.
Multilingua: Rilevamento automatico da `LANG`: italiano, inglese, tedesco, francese, spagnolo.
Requisiti
Sistema basato su Debian (Bookworm o successivo, Ubuntu 22.04+, Mint, LMDE, SysLinuxOS, ZorinOS 18+)
Almeno 10-25 GB di spazio libero sulla destinazione
Dipendenze installate automaticamente: `yad`, `rsync`, `imagemagick`
Consigliato: `btrfs-progs` per il versioning con snapshot
Installazione
wget https://github.com/fconidi/distroclone-backup/releases/download/v1.2/distroclone-backup_1.2_all.deb sudo dpkg -i distroclone-backup_1.2_all.deb sudo apt install -f # opzionale, per gli snapshot btrfs: sudo apt install btrfs-progs
Avvio
distroClone-backup
Utilizzo in simultanea: la strategia a doppio livello
La forza dei due strumenti emerge quando vengono usati insieme. distroClone-backup protegge il sistema nel quotidiano; distroClone cristallizza il sistema in un’immagine ISO distribuibile. Sono due livelli di protezione e portabilità complementari.
Il concetto
—
Sistema in esecuzione
│
├──► distroClone-backup → cache rsync + snapshot btrfs → RIPRISTINO RAPIDO
│ (backup giornaliero automatico, protezione continua)
│
└──► distroClone → ISO live avviabile → NUOVO HARDWARE / DISASTER RECOVERY
(eseguito dopo ogni personalizzazione significativa)
—
Flusso di lavoro pratico — passo per passo
Fase 1 Preparazione del sistema
Installa e configura il tuo sistema Debian-based fino allo stato desiderato: pacchetti, configurazioni, personalizzazioni del desktop, strumenti di rete. Questo è il punto di partenza.
Fase 2 Primo backup completo con distroClone-backup
Prima di qualsiasi operazione rischiosa (aggiornamento major, cambio kernel, modifiche critiche), esegui un backup completo:
1. Avvia distroClone-backup dal menu applicazioni o da terminale con `distroClone-backup`
2. Vai in “Impostazioni” e configura la directory cache (consigliato: un disco esterno USB o un volume separato)
3. Clicca “Backup completo” e attendi il completamento (5-20 minuti)
4. Vai in Pianifica backup e configura un backup incrementale automatico giornaliero o settimanale
Da questo momento il sistema è protetto: in caso di problemi, basta cliccare “Ripristina sistema” per tornare allo stato salvato in pochi minuti.
Fase 3 Creazione dell’ISO live con distroClone
Una volta che il sistema è nello stato desiderato (e il backup è aggiornato), crea l’immagine ISO:
1. Assicurati di avere un pò di GB liberi in `/mnt`
2. Avvia distroClone con `sudo distroClone`
3. Nella schermata di benvenuto verifica i dati rilevati: distribuzione, versione, desktop
4. Scegli il profilo di compressione (lz4 per velocità, xz per dimensione minima)
5. Configura password e hostname del sistema live
6. Clicca “Avvia build” e attendi (10-30 minuti)
7. Al termine trovi il file ISO in `/mnt/` pronto per essere scritto su USB o conservato come snapshot
Fase 4 Ciclo di manutenzione ordinaria
Nel normale ciclo di vita del sistema:
1. distroClone-backup gira automaticamente ogni notte in background, tenendo aggiornata la cache
2. Dopo ogni set di modifiche significative al sistema (nuovi tool installati, configurazioni aggiornate), si lancia distroClone per aggiornare l’ISO
3. Prima di aggiornamenti major del sistema, si esegue un backup manuale con distroClone-backup, poi si procede con l’aggiornamento
Scenario tipico: aggiornamento del kernel
1. Backup manuale prima dell’aggiornamento
distroClone-backup → clicca "Backup completo" o usa --incremental-silent
2. Aggiornamento del kernel
sudo apt update && sudo apt full-upgrade
3. Riavvio con il nuovo kernel
sudo reboot
4. Verifica che tutto funzioni
5. Se tutto OK: nuova ISO con il kernel aggiornato
sudo distroClone
Se qualcosa va storto al passo 4, si apre distroClone-backup e si clicca “Ripristina sistema2 per tornare allo stato pre-aggiornamento.
Scenario disaster recovery su nuovo hardware
Il sistema principale si guasta in modo irreversibile (disco danneggiato, scheda madre fulminata). Grazie ai due livelli:
1. Si avvia la macchina dal file ISO creato con distroClone — si ha subito un sistema live funzionante con tutti i propri strumenti
2. Si installa il sistema sul nuovo hardware tramite Calamares (integrato nell’ISO)
3. Si monta il disco con la cache di distroClone-backup e si esegue il ripristino — in pochi minuti il sistema è identico a quello originale
Consigli per l’uso ottimale
Separare le destinazioni: Usa directory diverse per la cache di distroClone-backup e per le ISO di distroClone. Idealmente, la cache di backup va su un volume dedicato o un disco esterno, le ISO su un’altra partizione o sul NAS.
Schedulare il backup, non l’ISO: distroClone-backup si presta alla schedulazione automatica. distroClone produce un’ISO che va eseguita consapevolmente, perché richiede 10-30 minuti e risorse significative.
Backup prima dell’ISO: Prima di ogni build con distroClone, esegui sempre un backup incrementale aggiornato. In questo modo l’ISO e il backup sono sincronizzati temporalmente.
Btrfs per la cache: Se possibile, formatta il volume di destinazione di distroClone-backup in btrfs. Il versioning automatico degli snapshot aggiunge una terza dimensione di protezione: non solo il sistema attuale, ma anche stati precedenti datati.
Riepilogo comandi rapidi
| Operazione | Comando | |---|---| | Backup completo (GUI) | `distroClone-backup` | | Backup incrementale silenzioso (cron) | `distroClone-backup --incremental-silent` | | Creazione ISO live | `sudo distroClone` | | Forza lingua italiana | `distroClone-backup` (auto da LANG=it) | | Forza lingua inglese | `distroClone --lang=en` |
Guida a distroClone e distroClone-backup
enjoy 😉

