Il partizionamento Linux

Partizionare un disco, almeno in ambito Unix/Linux, significa suddividerlo in sezioni sulle quali montare il file system.

L’operazione viene proposta in fase di installazione e, almeno per ciò che riguarda i client, solitamente il partizionamento di default è più che sufficiente. A volte per i server è però necessario partizionare in modo più personalizzato per ottenere un sistema facilmente reistallabile.
Il partizionamento di defaul infatti nella maggiorparte dei casi è di questo tipo

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1275    10238976+  83  Linux
/dev/sda2            1276        4462    25599577+  82  Linux swap / Solaris
/dev/sda3            4463      243201  1917671017+  83  Linux

che equivale a

File system            Dimens. Usati Disp. Uso% Montato su
rootfs                9,7G  2,8G  6,5G  31% /
/dev/root             9,7G  2,8G  6,5G  31% /
/dev                   12G  172K   12G   1% /dev
none                   12G     0   12G   0% /dev/shm
none                   12G  116K   12G   1% /var/run
none                   12G     0   12G   0% /var/lock
none                   12G     0   12G   0% /lib/init/rw
/dev/sda3             1,8T  6,1G  1,7T   1% /home

E’ una soluzione relativamente efficace in quanto in caso di reinstallazione la home può essere preservata, in modo da non perdere siti, database, caselle di posta eccetera. Purtroppo però ci si presenta anche un altro problema…se reinstalliamo, perdiamo tutti i programmi e tutte le configurazioni e siamo obbligati a reinstallare ogni singolo programma e a riconfigurarlo.

Una possibile soluzione quindi può essere la seguente

File system                        Dim. Usati Dispon. Uso% Montato su
/dev/sda1                          1,9G  932M    865M  52% /
udev                               2,0G  4,0K    2,0G   1% /dev
tmpfs                              791M  932K    790M   1% /run
none                               5,0M     0    5,0M   0% /run/lock
none                               2,0G   12K    2,0G   1% /run/shm
tmpfs                          749M   42M    670M   6% /tmp
/dev/sda5                          265M   46M    205M  19% /boot
/dev/sda10                         204G  107G     87G  56% /home
/dev/sda7                           14G  3,8G    9,5G  29% /usr
/dev/sda8                          3,7G  1,9G    1,7G  54% /var

Con una partizione come questa abbiamo una serie di vantaggi.
Reinstallando il sistema, ci basta formattare solamente la partizione di boot (/dev/sda5 nell’esempio) e procedere successivamente alla installazione dei vari software (i cui nomi, indicativamente, ricaviamo dal contenuto della /etc). In questo caso oltre a non perdere i log (il mount point /var è infatti una partizione separata che non abbiamo formattato!) avremo salve anche il 99% delle configurazioni di sistema preesistenti, praticamente tutte le eventuali lib accessorie che abbiamo dovuto installare o aggiornare (/usr) e avremo anche una direcotry temporanea estremamente veloce, essendo fondamentalmente salvata in ram.

L’unico compito che ci toccherebbe con un partizionamento come quello esposto è quindi la reinstallazione del sistema e l’installazione dei software. Tutto il resto è praticamente “salvo”.
Ultimo accorgimento. Se dovete reinstallare un SO è praticamente certo che vi perdiate qualunque cronjob configurato perchè, sebbene i crontab risiedano nella /var/spool/cron/crontabs (e quindi in teoria sarebbero salvi, essendo la /var una partizione separata), verrebbero comunque resettati in fase di installazione, quindi conviene salvarvi il contenuto di quella directory (es. nella home) e poi ripristinarla nella corretta posizione.