Gestione dei dischi e file system in Linux

In questo articolo parlerò delle operazioni piu comuni relative alla manutenzione dei file system in Linux.

Lo spazio nelle periferiche di archiviazione, come gli Hard Disk, è organizzato in blocchi (o settori) di dimensione fissa (in genere 512 byte, ma può anche essere superiore). Per questa ragione sono definiti dispositivi a blocchi.

L’accesso ai dischi comunemente avviene tramite interfacce, IDE/ATA oppure SATA. In Linux le periferiche di storage sono associate a file di dispositivo. Il nome di tale file, nel caso di HDD SATA inizia con “sd” ed è seguito da una lettera in ordine alfabetico, ovviamente diversa per ogni dispositivo.

Nel caso di memorie flash, come eMMC, SD microSD, invece il nome dispositiv potrebbe iniziare con “/dev/mmcblk0”.

Il Raspberry Pi chiama la SD o microSD (dipende dalla versione del Raspberry Pi, alcuni vogliolo la SD altri la microSD) “/dev/mmcblk0”.

Alcuni esempi di nomi di dispositivo sono quindi /dev/sda, dev/sdb.

Per utilizzare il disco è però necessario prepararlo, ovvero suddividere lo spazio in partizioni. Generalmente questa operazione viene effettuata in fase di installazione del sistema operativo oppure manualmente in un secondo momento.

Il partizionamento permette di suddivedere il disco in piu volumi logici, consentendo l’accesso a questi come se fossero dischi distinti.

Il metodo di partizionamento tradizionale, ancora molto usato tutt’oggi, salva tutte le informazioni sulle partizioni nel master boot record (MBR) che corrisponde al primo settore del disco. Il primo settore contiene la tabella delle partizioni, il primo e l’ultimo settore del disco. Data la dimensione limitata del MBR, la tabella non può contenere piu di 4 partizioni primarie. E’ però possibile superare questa limitazione marcando una partizione primaria (in genere l’ultima) come estesa, e da questa creare nuove partizioni logiche, o secondarie. Questo processo non fa altro che creare una seconda tabella delle partizioni all’interno della partizione marcata come estesa, e che contiene le partizioni secondarie.

Il kernel legge la lista delle partizioni e ad ognuna di esse viene assegnato un numero che va da 1 a 4 per le partizioni primarie, e parte da 5 per le secondarie.

Il nome di ogni partizione sarà quindi composto dal suffisso che identifica il tipo di dispositivo + la lettera alfabetica che lo identifica + il numero della partizione, ad esempio /dev/sda1 .

Per visualizzare l’elenco delle partizioni è sufficiente utilizzare il seguente comando su un emulatore di terminale:

# fdisk -l

Sempre con lo stesso programma, è possibile eseguire svariate operazioni, tra le quali, la modifica delle partizioni esistenti e la creazione di nuove.

Quando viene lanciato si deve dare come argomento il nome di un file di dispositivo corrispondente al disco sul quale si vuole operare.

Ad esempio
# fdisk /dev/sda

Il programma a questo punto chiederà di inserire la lettera corrispondente all’operazione che si vuol fare.

Se inseriamo “n” per creare una nuova partizione, verrà richiesto di specificare se la partizione dovrà essere primaria o secondaria, il numero, la dimensione, il primo e l’ultimo settore.

Con la lettera “d” è possibile cancellare una partizione esistente.

È possibile cambiare il tipo di file system di una partizione premendo il tasto t, e selezionarne uno tra quelli dell’elenco accessibile premendo il tasto “l” (L minuscolo).

È possibile accedere visualizzare tutte le operazioni possibili con il comando “m“.

Per scrivere le modifiche sul disco è necessario inviare il comando “w“, mentre per uscire dal programma senza salvare alcuna modifica basta il comando “q .

Nei computer piu recenti dove al posto del BIOS è presente UEFI, è possibile sfruttare il formato GPT (GUID Partition Table). Lo schema GPT utilizza i primi 34 e gli ultimi 33 settori; il primo settore è riservato e non viene mai utilizzato. A differenza di MBR, non esiste il limite delle 4 partizioni primarie, e la tabella delle partizioni è salvata sia all’inizio che alla fine del disco, rendendo questo metodo piu sicuro. Siccome lo schema di partizionamento GPT è molto differente da da MBR, è necessario utilizzare programmi per la gestione dei file system diversi, il cui funzionamento però rimane molto simile a quelli per MBR. Ad esempio il corrispettivo di fdisk è gdisk.

Esistono utility complete e con GUI user friendly create appositamente per la gestione dei File System, come GPARTED, scaricabile gratuitamente da https://gparted.org

Per utilizzare Gparted è sufficiente installarlo sulla propria distro oppure creare un’unità USB avviabile. Quest’ultima modalità è molto utile nel caso in cui non sia possibile avviare il sistema operativo dall’Hard Disk normalmente.

 

Author: andrea__93

Hi, my name is Andrea, I’m 24 years old. I come from Taranto (Italy).

Programming Skills:
Python3, Java

System Skills:
Knowledge GNU/Linux (Debian/Arch)
Virtualization (Oracle Virtualbox/ Vmware)
Knowledge about Routing and Switching