Linux ed i dischi: parliamone

Partizioni su un Hard DiskSpesso ci avviciniamo a Linux quando siamo giù utenti di un altro sistema operativo. Magari abbiamo un computer già ben configurato e l’idea di installare un nuovo sistema operativo ci spaventa o addirittura ci fa desistere dal provare. Ma in effetti è possibile installare il nostro sistema operativo preferito (Linux) a fianco di quello che già abbiamo, senza dover quindi perdere qualcosa di quello che abbiamo. Una volta installato Linux, ad ogni avvio di computer sarà possibile scegliere quale sistema operativo usare, quello che già avevamo o il nostro nuovo Linux. Questo grazie ad un programma, il “Boot Loader” , che verrà eseguito all’accensione del computer, prima dell’avvio del sistema operativo.

Per avere più sistemi operativi (e altro) sullo stesso disco è necessario avere più partizioni. La scelta delle partizione di installazione è una delle prime domande che vengono poste durante l’installazione di Linux, domanda che lascia dubbi o timori, magari fino a far desistere dall’installazione. Vediamo di capire qualche cosa di più.

 Cosa sono le partizioni

Dividono lo spazio disco in aree gestibili separatamente. Possono avere formati differenti, ospitare sistemi operativi diversi e permettono separazioni logiche di dati aiutando l’organizzazione del lavoro.

Le partizioni possono essere viste dal sistema come dischi separati, mentre invece sono sempre parte della stessa unità fisica.

A cosa servono le partizioni di un disco

  • Ospitare sistemi operativi differenti
  • Separare il sistema operativo dai dati

Linux e le partizioni

Linux, come tutti i sistemi Unix, permette di montare le partizioni su dei rami dell’albero delle cartelle del sistema, chiamati punti di mount. In pratica accederemo ad una partizione come se navigassimo su una normale cartella.

I punti di mount durante l’installazione

Oggi la procedura di installazione di Linux è molto semplificata rispetto al passato. Può scegliere per noi, quali partizioni creare, le loro dimensioni e quali mounting point usare. Ma se lo desideriamo, possiamo specificare noi quali partizioni usare in base alle nostre esigenze e preferenze.

E’ possibile specificare partizioni specifiche per i seguenti mounting points:

  • / (root)
  • /boot (che ospiterà il kernel 20-30 MB)
  • /var (files di log ed altri tipi di file che per loro natura aumentano di grandezza)
  • /home (files utenti)
  • /tmp (files temporanei)

Qualche ulteriore indicazione:

/ (root) – E’ necessario assegnare una partizione. Se si assegna solo questo mounting point, tutto il nostro sistema verrà installato su una sola partizione (oltre a quella di swap, vedi di seguito).

/boot – Se non si usano volumi logici (LVM), crittografie del volume di root, RAID, etc… non è necessario specificare una partizione [1]

/var – In questa cartella verranno memorizzati tutti quei file o gruppi di file che crescono nel tempo come ad esempio i file di log che registrano le attività effettuate sul sistema. Se questi files non venissero archiviati e/o cancellati, si rischierebbe che il disco diventasse pieno con il conseguente blocco del sistema che potrebbe non trovare più spazio per dati essenziali. Se creiamo una partizione dedicata per questa cartella, evitiamo questo rischio: il sistema non potrà più fare le registrazioni richieste, ma il sistema rimarrà funzionante, La dimensione dipenderà dall’utilizzo che faremo del sistema e ogni quanto andremo ad effettuare la pulizia della cartella. Una partizione di qualche GB potrebbe andare bene [2].

/home – Conterrà i file degli utenti del sistema. E’ fortemente indicato usare una partizione dedicata per questo volume. Creeremo una separazione fra i nostri dati ed il sistema. Se per una qualsiasi ragione il nostro sistema non riuscirà più a partire, i nostri dati (documenti, foto, immagini, etc…) saranno comunque salvi su un’altra partizione. La reinstallazione del sistema non provocherà la cancellazione dei nostri dati.

/tmp – Cartella simile alla /var e quindi la logica di utilizzo potrebbe essere la solita. Con un volume dedicato si evita il blocco del sistema, quando i files temporanei non vengono cancellati (da noi o dal sistema).

Occorre notare che se usiamo partizioni dedicate per / (root) e /home (le due che consiglierei di considerare sempre) dovremmo pianificare le loro dimensioni per evitare di trovarci poi con una partizione vuota e l’altra piena. Per fare una pianificazione occorre avere un pò di esperienza e conoscere lo spazio usato dal nostro sistema operativo, dagli applicativi e dai nostri dati. Quando avremo installato il nostro sistema, periodicamente andiamo a vedere quanto spazio disco occupa la /home rispetto a tutto il resto del sistema. Potremo pianificare un sistema più affidabile.

GPartedE’ anche vero che sarà possibile modificare le loro dimensioni ad esempio con GParted, ma sono operazioni da eseguire sempre con molta cautela e dopo aver effettuato il backup del nostro sistema.

La partizione di swap

E’ sempre consigliabile riservare una (ormai) piccola parte del disco ad una partizione di swap. Linux userà questa partizione in maniera totalmente automatica per estendere la memoria RAM del nostro sistema. Esiste una regola empirica per la dimensione della partizione di swap: 1 o 2 volte la quantità di memoria RAM presente sul nostro sistema.

Identificare un partizione

Linux chiama le partizioni con delle sigle del tipo sda1, sdb2, hda1, etc… Le sigle in effetti identificano le unità fisiche (sda, sdb, hda, hdb, etc…) seguite da un numero che identifica la partizione. “sda1” sarà quindi la prima partizione del disco “sda”.

Il nome del disco, “sda” o “hda” dipende dal tipo di disco. Le installazioni più recenti trattano tutti i dischi come se fossero dischi “SCSI”, quindi troveremo quasi sempre solo dischi “sda”, “sdb” e le lor partizioni.

Comandi, strumenti e applicazioni

Una volta installato, Linux mette a disposizione diversi strumenti e comandi per analizzare e lavorare con i dischi e le partizioni. Oltre al già menzionato GParted, dalla linea di comando possiamo usare:

  • fdisk
  • cfdisk
  • parted
Riferimenti

[1] Is a /boot partition necessary anymore?
[2] How large should I make root, home, usr, var, and tmp partitions?