Allocare spazio disco

Schemi di partizionamento

Non è facile partizionare un disco nel modo migliore possibile. Peggio ancora, non c'è nessun modo corretto per farlo, sono coinvolti troppi fattori.

La procedura più comune da seguire è avere un filesystem radice (relativamente) piccolo, che contenga /bin, /etc, /dev, /lib, /tmp, ed altre cose necessarie per fare partire il sistema: in questo modo il filesystem radice (nella sua partizione o sul suo disco) è tutto quello che serve per avviare il sistema. Il ragionamento è che se il filesystem radice è piccolo e non viene usato pesantemente, è meno probabile che venga corrotto quando si ha un crash del sistema e quindi sarà più facile risolvere qualsiasi problema che si venga a creare. Poi si creano delle partizioni separate o si usano dischi separati per l'albero delle directory sotto /usr, le home directory degli utenti (di solito sotto /home) e lo spazio di swap. Separare le home directory (con i file degli utenti) in una partizione distinta rende più facili i backup, dato che spesso non è necessario farlo per i programmi (che risiedono sotto /usr). In un ambiente di rete è anche possibile condividere /usr tra svariate macchine (ad esempio usando NFS) e riducendo così lo spazio disco totale richiesto di diverse decine o centinaia di megabyte moltiplicato per il numero di macchine.

Il problema di avere molte partizioni è che ciò divide lo spazio libero totale in piccoli pezzi; oggigiorno che i dischi e (speriamo) i sistemi operativi sono più affidabili, molte persone preferiscono avere solo una partizione che contenga tutti i file. D'altra parte può essere meno doloroso fare il backup (e il restore) di una partizione piccola.

Per un hard disk piccolo (assumendo che non sviluppiate il kernel), il modo migliore è probabilmente avere una sola partizione. Per dischi grandi è probabilmente meglio avere alcune partizioni grandi, giusto in caso vada bene qualcosa (notate che `piccola' o `grande' sono termini usati in senso relativo: le soglie sono dettate dal vostro bisogno di spazio disco).

Se avete più di un disco potete pensare di tenere il filesystem radice (compreso /usr) su uno e le home degli utenti su un altro.

È una buona idea essere pronti a sperimentare un po' con diversi schemi di partizionamento (nel tempo, non solo alla prima installazione del sistema): è un lavoraccio, dato che richiede essenzialmente di reinstallare il sistema da zero diverse volte, ma è l'unico modo di essere sicuri di farlo bene.

Requisiti di spazio

Nella documentazione della vostra distribuzione di Linux troverete alcune indicazioni sullo spazio disco necessario per svariate configurazioni; i programmi installati separatamente possono fare lo stesso. In questo modo vi sarà possibile pianificare l'uso dello spazio disco, ma dovreste prepararvi per il futuro e riservare dello spazio extra per le cose di cui vi accorgerete di avere bisogno.

La quantità di spazio che vi serve per i file degli utenti dipende da cosa essi vogliono fare. Sembra che la maggior parte delle persone abbiano bisogno del maggiore spazio possibile per i propri file, ma la quantità con cui vivranno in pace varia molto: alcuni lavorano solo sui testi e sopravviveranno con qualche megabyte, altri fanno manipolazione pesante di immagini e avranno bisogno di gigabyte.

Tra l'altro, quando si paragonano le dimensioni dei file in kilobyte o in megabyte e lo spazio disco misurato in megabyte, è importante sapere che le due unità possono essere diverse. Alcuni produttori di dischi amano pensare che un kilobyte è 1000 byte e che un megabyte è 1000 kilobyte, mentre tutto il resto del mondo informatico usa 1024 per entrambi i fattori. Quindi, il mio hard disk da 345 MB in realtà è un hard disk da 330 MB[1].

L'allocazione dello spazio di swap viene discussa nella la sezione Allocare lo spazio di swap nel Capitolo 5.

Esempi di allocazione di hard disk

Io avevo un hard disk da 109 MB; ora ne uso uno da 330 MB. Spiegherò come e perché ho partizionato entrambi.

Ho partizionato il disco da 109 MB in moltissimi modi, a seconda delle mie necessità e dei sistemi operativi che usavo: illustrerò due scenari tipici. All'inizio usavo l'MS-DOS insieme a Linux; per quello avevo bisogno più o meno di 20 MB di hard disk, o lo spazio appena sufficiente per avere l'MS-DOS, un compilatore C, un editor, pochi altri programmi, quello su cui stavo lavorando e un minimo per non farmi sentire claustrofobico. Per Linux avevo una partizione di swap di 10 MB ed il resto, cioè 79 MB, era una partizione singola con tutti i file che avevo sotto Linux. Ho sperimentato con delle partizioni radice, /usr e /home separate, ma non c'era mai abbastanza spazio disco libero insieme per fare molto di interessante.

Quando non ho più avuto bisogno dell'MS-DOS, ho ripartizionato l'hard disk in modo di avere una partizione di swap di 12 MB ed il resto di nuovo in un singolo filesystem.

Il disco da 330 MB è partizionato in diverse partizioni, così:

5 MBfilesystem radice
10 MBpartizione di swap
180 MBfilesystem /usr
120 MBfilesystem /home
15 MBpartizione di scratch

La partizione di scratch è per giocherellare con cose che richiedono una propria partizione, cioè provare diverse distribuzioni di Linux, o paragonare le velocità dei filesystem. Quando non serve per nient'altro, la uso come spazio di swap (mi piace tenere moltissime finestre aperte).

Aggiungere altro spazio disco per Linux

Aggiungere altro spazio disco per Linux è facile, almeno dopo che l'hardware è stato installato correttamente (cosa che va oltre lo scopo di questo libro): si formatta, se necessario, poi si creano le partizioni ed i filesystem come è stato spiegato nei paragrafi precedenti e si aggiungono le linee adatte in /etc/fstab in modo che vengano montate automaticamente.

Suggerimenti per risparmiare spazio su disco

Il modo migliore per risparmiare spazio disco è evitare di installare programmi non necessari. La maggior parte delle distribuzioni hanno un'opzione per installare solo una parte dei pacchetti che contengono e analizzando le vostre necessità potrete accorgervi di non aver bisogno della maggior parte di essi. Vi aiuterà a risparmiare spazio disco, dato che molti programmi sono piuttosto grandi. Anche se avete bisogno di un pacchetto o di un programma particolare, non è detto che vi servano tutti. Ad esempio può non essere necessaria parte della documentazione in linea, o alcuni file Elisp di GNU Emacs, font di X11 o librerie di programmazione.

Se non potete disinstallare i pacchetti, potete provare con la compressione. I programmi di compressione come gzip o zip comprimono (e decomprimono) file individuali o gruppi di file. Il sistema gzexe comprime e decomprime i programmi in maniera invisibile all'utente (i programmi che non vengono usati vengono compressi e decompressi quando si usano), il sistema sperimentale DouBle comprime tutti i file di un filesystem in maniera invisibile ai programmi che li usano (se avete familiarità con prodotti come Stacker per l'MS-DOS, il principio è lo stesso).

Note

[1]

Sic transit discus mundi.