CodeGym /Corsi /Docker SELF /Formattazione delle partizioni: `mkfs`

Formattazione delle partizioni: `mkfs`

Docker SELF
Livello 6 , Lezione 1
Disponibile

Formattazione delle partizioni: mkfs

1. Cosa succede durante la formattazione?

Quando formattiamo una partizione, stiamo letteralmente creando una "pagina bianca" per i dati. La formattazione elimina tutto il contenuto della partizione e crea un nuovo file system, che definisce come i file saranno organizzati e come sarà possibile accedervi.

Immagina una biblioteca. La formattazione è proprio il momento in cui rimuovi tutti i vecchi libri, sistemi nuovi scaffali e attacchi un'etichetta su ogni scaffale con il genere. Ora tutto è organizzato — sai dove deve andare ogni nuovo libro.

Perché è necessario formattare i dispositivi?

  1. Preparazione di un nuovo dispositivo (disco o partizione): Nessun dispositivo può essere usato senza una formattazione preliminare. È come pagine vuote in un quaderno — inutili finché non ne definisci lo scopo.
  2. Cambio di file system: Ad esempio, se hai bisogno di passare da FAT32 a ext4, avrai bisogno di formattare.
  3. Pulizia dei vecchi dati: Quando vuoi cancellare completamente un dispositivo e ricominciare da zero, la formattazione è la scelta migliore.

Importante: Dopo la formattazione tutti i dati sulla partizione saranno eliminati. Quindi controlla sempre che non ci siano informazioni importanti sul dispositivo.


2. Strumento mkfs: sintassi e utilizzo

Il programma mkfs è il tuo strumento principale per formattare le partizioni. Supporta una vasta gamma di file system, quindi si può utilizzare praticamente in qualsiasi situazione.

Sintassi generale del comando

mkfs.<tipo_di_file_system> <dispositivo>

Ad esempio, per formattare una partizione /dev/sdb1 come file system ext4:

mkfs.ext4 /dev/sdb1

File system supportati

mkfs funziona con la maggior parte dei file system più comuni. Eccone alcuni:

File system Comando Applicazione
ext4 mkfs.ext4 Il principale file system di Linux, supporta file e dischi di grandi dimensioni.
xfs mkfs.xfs Prestazioni elevate, adatto per file di grandi dimensioni e carichi server.
vfat (FAT32) mkfs.vfat Perfetto per lo scambio di dati tra Linux, Windows e MacOS.
ntfs mkfs.ntfs Per la compatibilità con Windows (anche se la modifica da Linux può essere problematica).

Per ottenere un elenco completo dei file system supportati, usa il comando:

mkfs -t help

3. Esempio: formattazione di una partizione in ext4

Dai, vediamo passo dopo passo come formattare una partizione.

1. Verifica il dispositivo

Prima di tutto, trova il nome del dispositivo che vuoi formattare. Usa il comando lsblk:

lsblk

L’output mostrerà l’elenco di tutti i dispositivi collegati e le loro partizioni. Ad esempio:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0   50G  0 part /
├─sda2   8:2    0   45G  0 part /home
└─sda3   8:3    0    5G  0 part [SWAP]
sdb      8:16   0  200G  0 disk 
└─sdb1   8:17   0  200G  0 part 

Supponiamo di voler formattare la partizione /dev/sdb1.

2. Assicurati che la partizione non sia montata

Prima della formattazione, il dispositivo non deve essere montato. Per verificare, usa:

sudo umount /dev/sdb1

3. Avvia la formattazione

Ora creiamo un file system ext4 nella partizione selezionata:

sudo mkfs.ext4 /dev/sdb1

Il comando genererà qualcosa del genere:

mke2fs 1.45.7 (28-Jan-2021)
Creating filesystem with 52428800 4k blocks and 13107200 inodes
Filesystem UUID: 5634f623-7b2d-4d6b-b8f5-abcdef123456
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, ...
Nota:

UUID è un identificatore univoco del file system. Consigliamo di utilizzarlo per specificare il punto di mount in /etc/fstab.

4. Verifica il risultato

Controlla che il file system sia stato creato:

sudo blkid /dev/sdb1

L’output mostrerà che il dispositivo ora ha un file system ext4:

/dev/sdb1: UUID="5634f623-7b2d-4d6b-b8f5-abcdef123456" TYPE="ext4"

4. Scelta del file system

Quale file system scegliere? Tutto dipende dalle tue esigenze. Ecco alcune raccomandazioni:

  1. ext4: Scelta universale per Linux. Adatto alla maggior parte degli scenari.
  2. XFS: Se hai bisogno di alte prestazioni per file grandi o server.
  3. FAT32 (vfat): Se devi utilizzare il dispositivo con Windows e MacOS. Nota bene, la dimensione massima dei file qui è limitata a 4 GB.
  4. NTFS: Per compatibilità con Windows, ma le prestazioni potrebbero essere inferiori rispetto a ext4 su Linux.
Consiglio per gli studenti:

Se sei incerto, usa semplicemente ext4. Ti deluderà raramente.


5. Errori comuni nella formattazione

La formattazione è un compito che richiede molta attenzione. Ecco alcuni possibili errori e come evitarli:

  • Formattazione del dispositivo sbagliato: Per evitarlo, controlla sempre su quale dispositivo stai lavorando (lsblk e blkid possono aiutarti).

  • Dispositivo lasciato montato: Se il dispositivo è montato, il comando mkfs genererà un errore. Assicurati che il dispositivo sia smontato.

  • Cancellazione accidentale dei dati: Non eseguire mai mkfs su una partizione senza essere consapevole che tutto verrà eliminato. Se non sei sicuro, meglio fare un backup prima di formattare.

Applicazione pratica

Conoscere la formattazione è importante non solo per gli amministratori di sistema, ma anche per gli sviluppatori. Ad esempio, se lavori con piattaforme cloud come AWS o Azure, crei e formatti spesso le partizioni per le tue applicazioni. Inoltre, se vuoi configurare un disco rigido esterno o una chiavetta USB per l'archiviazione dati, queste competenze ti saranno utili.

Non dimenticare che un file system ben configurato è la base per il funzionamento stabile delle tue applicazioni. Alla fine, chi vuole ricevere l'errore "file system non trovato" 5 minuti prima della scadenza?

Ora che sai come formattare un dispositivo e come scegliere un file system, sei pronto per passare al passo successivo: controllare e correggere i file system utilizzando il comando fsck.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION