fstab file-system-table | Linuxiano.it
Privacy Policy

fstab file-system-table

Come funziona fstab – introduzione al file / etc / fstab su Linux

fstab (/etc/fstab) (da file-system-table, tabella dei file di sistema) è, nei sistemi Unix e Unix-like (come ad esempio GNU/Linux e FreeBSD) un file di configurazione che si trova all’interno della cartella /etc (secondo lo standard FHS) ed il cui proprietario è l’utente root

Il file elenca tutti i dischi e le partizioni disponibili e come montarli o comunque preparati per integrarsi nel file di sistema principale. Fstab è tuttora usato per la configurazione di sistema, ma è solitamente affiancato dal montaggio automatico dei dischi da parte di esso.

Il file fstab è solitamente usato dal comando mount per leggere il file per determinare le opzioni da utilizzare per il montaggio di una determinata periferica. In alcune versioni di Unix il file si chiama diversamente: in Solaris, ad esempio, si trova come /etc/vfstab.

Utilizzo moderno

Fstab viene letto dai programmi,  e non è mantenuto automaticamente (è invece scritto manualmente dall’amministratore di sistema o dalla routine di installazione). Tuttavia, alcuni strumenti di amministrazione possono manipolare automaticamente fstab. Vi sono anche degli editor grafici, come l’utility Kfstab, disponibile per KDE.

I sistemi Linux moderni usano udev come automounter per montare i device a caldo invece di riscrivere al volo fstab. I programmi come pmount permettono agli utenti non root di montare e smontare i filesystem senza una corrispondente voce nel fstab; le versioni tradizionali di Unix hanno sempre permesso agli utenti con sufficienti privilegi di montare o smontare i device senza una voce fstab.

Etc/fstab è uno dei file più importanti in un sistema basato su Linux, poiché memorizza informazioni statiche sui filesystem, i loro mountpoint e le opzioni di mount. In questo tutorial impareremo a conoscerne la struttura nei dettagli e la sintassi che possiamo usare per specificare ogni voce nel file.

In questo tutorial imparerai:

  1. Come usare il file fstab per fornire informazioni sul filesystem statico
  2. Come è strutturato il file fstab
  3. Qual è lo scopo di ciascun campo di immissione nel file

tutorial

Familiarità con concetti di base come “mountpoint” e “filesystem”
Convegni # – richiede che i comandi linux forniti siano eseguiti con i privilegi di root direttamente come utente root o usando il comando sudo
$ – richiede che i comandi linux forniti siano eseguiti come un normale utente non privilegiato

Il ruolo di fstab

La prima cosa che dobbiamo sapere sul file fstab è che deve essere letto solo dai programmi e mai scritto tranne che dall’amministratore di sistema. Ogni riga nel file descrive un filesystem e contiene campi usati per fornire informazioni sul suo mountpoint, le opzioni che dovrebbero essere usate durante il montaggio ecc. Ciascun campo può essere separato da un altro da spazi o tab. Analizziamo ogni campo e il suo ruolo in una voce.

Campi Fstab

Ogni riga di ingresso nel file fstab contiene sei campi, ognuno dei quali descrive informazioni specifiche su un filesystem.

Primo campo: il dispositivo a blocchi

Il primo campo in ogni voce fstab contiene informazioni sul dispositivo di blocco locale o remoto che dovrebbe essere montato. Il modo più tipico per far riferimento a un dispositivo a blocchi è usando il suo nodo all’interno della /dev, quindi ad esempio per fare riferimento alla prima partizione del dispositivo a blocchi sda che usiamo /dev/sda1 come valore.

Modi alternativi per fare riferimento a un dispositivo a blocchi sono utilizzando LABEL o UUID (Universal Unique IDentifier). Quest’ultimo è il metodo assolutamente preferito, poiché garantisce un riferimento univoco a un filesystem, come afferma il suo nome. Sui dischi partizionati GPT possiamo far riferimento a un filesystem utilizzando PARTUUID o PARTLABEL.

Per ottenere informazioni sui filesystem possiamo eseguire il comando lsblk, eventualmente con l’opzione -o per specificare i campi che vogliamo recuperare, o usando quello -fs, che equivale a usare -o e fornire NAME,FSTYPE,LABEL,UUID,MOUNTPOINT come argomenti. Per impostazione predefinita, il programma visualizzerà informazioni su tutti i filesystem esistenti. Per evitare questo comportamento, un riferimento al filesystem deve essere passato come argomento:

Terminale
  • lsblk -d -fs /dev/sdb1

Risultato

NAME FSTYPE LABEL UUID MOUNTPOINT
sda1 ext4 Ubuntu 17.04 amd64 9171a31b-38af-436c-xxxx-974c56668b7b

Nell’esempio sopra abbiamo usato anche l’opzione -d per lsblk , abbreviazione di –nodeps, per nascondere gli alberi della struttura dei filesystem dall’output. Ora che abbiamo raccolto informazioni su un filesystem, possiamo creare una voce in fstab. Nel primo campo della voce, per fare riferimento a /dev/sdb1 useremo il suo UUID :

UUID = 80b496fa-ce2d-4dcf-9afc-bcaa731a67f1

Secondo campo: il mountpoint

In ogni voce di fstab, il secondo campo specifica il mountpoint per il filesystem: quale directory nel sistema dovrebbe essere usata per accedere al suo contenuto. Questo è sempre fornito, tranne se il dispositivo a blocchi a cui ci riferiamo viene usato come swap. In tal caso, “none” dovrebbe essere utilizzata. Supponiamo di voler montare il nostro filesystem su “/mnt/esempio”; vorremmo scrivere:

UUID = 80b496fa-ce2d-4dcf-9afc-bcaa731a67f1 /mnt/esempio

Terzo campo: il tipo di filesystem

Il terzo campo di una voce fstab specifica il tipo di filesystem in uso sul dispositivo a blocchi grezzi o sulla partizione. Il filesystem deve essere tra quelli supportati dal sistema operativo come, ad esempio ext4, xfs ecc. Nel caso di un filesystem remoto possiamo usare, ad esempio cifs come valore di questo campo se il filesystem è condiviso via samba o nfs se è condiviso tramite il Network File System. Nel caso del nostro esempio, sappiamo che il dispositivo sdb1 è formattato con il filesystem ext4, quindi la nostra voce fstab diventa:

UUID = 80b496fa-ce2d-4dcf-9afc-bcaa731a67f1 /mnt/esempio ext4

Quarto campo: opzioni di montaggio

Il quarto campo di ogni voce nel file fstab viene utilizzato per fornire un elenco di opzioni da utilizzare durante il montaggio del filesystem. Per utilizzare il set predefinito di opzioni di montaggio, specifichiamo default come valore. Le opzioni predefinite sono:

  • rw (lettura-scrittura);
  • suid (rispetto dei bit setuid e setgid );
  • dev (interpretare i caratteri e bloccare i dispositivi sul filesystem);
  • exec (consenti l’esecuzione di binari e script);
  • auto (monta il filesystem quando viene usata l’opzione -a del comando mount);
  • nouser (rende il filesystem non montabile da un utente standard);
  • async (esegue le operazioni di I/O sul filesystem in modo asincrono).

Per vedere l’elenco delle opzioni disponibili possiamo consultare il manuale di mount:

Terminale
  • man mount

A questo punto, la nostra voce diventa:

UUID = 80b496fa-ce2d-4dcf-9afc-bcaa731a67f1 /mnt/esempio ext4 default

Quinto campo – Il filesystem dovrebbe essere scaricato?

Il quinto campo in ciascuna voce può essere 0 o 1. Il valore viene utilizzato dal programma di backup del dump (se installato) per sapere quale file system deve essere scaricato. In genere la nostra voce diventa:

UUID = 80b496fa-ce2d-4dcf-9afc-bcaa731a67f1 /mnt/esempio ext4 valori predefiniti 0

Sesto campo – Ordine Fsck

Il sesto campo viene utilizzato per stabilire l’ordine con cui un’altra utility, fsck , dovrebbe controllare i filesystem all’avvio. Il valore 1 deve essere sempre utilizzato per il filesystem di root; per tutti gli altri possiamo usare il valore 2. Se questo valore non viene fornito, il valore predefinito è 0 e il file system non verrà controllato. Con quest’ultimo campo la nostra voce di esempio è finalmente completa:

UUID = 80b496fa-ce2d-4dcf-9afc-bcaa731a67f1 /mnt/esempio ext4 valori predefiniti 0 2

conclusioni

In questo tutorial abbiamo imparato come è strutturato /etc/fstab, uno dei file più importanti in un sistema operativo basato su Linux. Abbiamo appreso che contiene informazioni statiche sui filesystem e abbiamo visto che ogni voce esaminata nel file è composta da sei campi, ognuno con uno scopo specifico.

Grazie! per l’utilizzo della Guida di Linuxiano.

Trovi questo tutorial utile? Condividi con i tuoi amici per tenerlo in vita.
Sii il primo a commentare, apprezzo i tuoi suggerimenti. Per ulteriori domande potete commentare qui sotto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Iscriviti al sito

Il tuo nome (richiesto)

La tua email (richiesto)

Oggetto

Il tuo messaggio


Ho letto

l’informativa Privacy

e autorizzo il trattamento dei miei dati personali per le finalità ivi indicate.

Risolvi il reCAPTCHA per dimostrare che non sei un robot:
[recaptcha]

clicca qui per tornare a Linuxiano