La potenza di un sistema GNU/Linux si nota anche nella sua estrema semplicità. Tradizionalmente in sistemi operativi unix-like le utilità più semplici e basilari si integrano tra loro a formare un ecosistema in cui ogni compito è assolto da una precisa applicazione. Non capita raramente però di scoprire che qualcuna di quelle semplici applicazioni può essere usata per scopi per cui non erano state concepite.
È questo il caso di cp
, il programma che normalmente assolve al compito di "copiare" (cp è un'abbreviazione di copy). Vedremo adesso, infatti, come si può sfruttare questa semplice utilità per fare il backup di una intera distro, e ricavarne anche vantaggi. È il caso di avvertire i lettori che esistono metodi magari più eleganti per compiere questa operazione, ma lo scopo di questo articolo non è l'eleganza o la semplicità: è dimostrare la potenza di un piccolo comando.
I vantaggi nell'usare questa procedura sono che:
- Si esplora un uso poco conosciuto del funzionamento di
cp
- Si impara a conoscere il filesystem Unix e la sua infinita flessibilità
- Copiando l'intera distribuzione in una partizione diversa si esegue la deframmentazione di tutti i file
- Non si ha bisogno di utilità esterne o di procedure complicate per fare il backup
Immaginiamo di voler spostare la nostra distribuzione
Sconsiglio di usare una qualsiasi interfaccia grafica per compiere questa operazione, proviamo ad usare direttamente la shell
cp
cp
passare sempre il parametro
-a
(consultate il manuale di cp per riferimenti), mentre se si usa MC si avrà cura ad abilitare l'opzione "Preserva gli attributi".
Procediamo quasi
Si faccia molta attenzione all'opzione "Preserva gli attributi" e si eviti di includere nella selezione da copiare le directory /media /mnt
link a filesystem in uso
/cdrom

Il comando cp invece sarebbe qualcosa come:
$: sudo cp -a /bin /boot /dev /etc /home /initrd /lib /lost+found /opt /proc /root /sbin /srv /sys /tmp /usr /var /media/hdb6
L'intero processo può durare alcuni minuti, molto dipende dalle dimensioni della distribuzione da copiare e dalla velocità del computer sul quale si effettua l'operazione. Una volta completata la copia si potranno creare le directory che abbiamo precedente omesso, in questo caso /media
e /mnt
, e creare gli eventuali link, come /cdrom
, /initrd.img
/vmlinuz
e così via.
Il prossimo passo è rendere il nuovo sistema avviabile e adeguarlo alla nuova partizione. Per fare questo agiamo sostanzialmente su un unico file, che indica al sistema la sua disposizione su disco: /etc/fstab
. Si dovrà aver cura di adeguare soprattutto la voce che fa riferimento alla "root", la directory radice, che adesso avrà un campo /dev/hdxn
differente, nel caso che vedete nella schermata di MC in alto, il nuovo campo diverrebbe /dev/hdb6
, dal momento che si sta spostando il sistema in quella partizione. L'ultimo tocco sarà quello di aggiungere una voce al bootloader, lilo o grub, per caricare A-copia.