Come scrivere un file fstab su Linux

I piatti all

zentilia/Shutterstock.com



Vuoi aggiungere un nuovo disco rigido o un'unità a stato solido al tuo computer Linux? Dovrai modificare il tuo |_+_| file. Molte persone trovano l'idea stessa spaventosa. Sì, è fondamentale che tu lo faccia bene, ma armato delle giuste conoscenze, non è davvero difficile. Ti guidiamo attraverso il processo di modifica del tuo |_+_| file per integrare la nuova unità nel file system.

fstab, la tabella dei file system

Sebbene l'aggiunta di un nuovo disco rigido a un computer Linux non sia troppo complicata, può creare confusione la prima volta che provi. Connetti l'hardware, accendi il computer e accedi al sistema operativo. Ma non puoi vedere la tua nuova unità da nessuna parte. Perché non si presenta? Come si fa a far vedere a Linux l'unità in modo da poter iniziare a configurarla?





In realtà, Linux ha visto il tuo hardware, ma non lo annuncia prontamente. O anche darti un suggerimento che ha trovato il tuo nuovo hardware. Devi interrogare Linux per ottenere le informazioni che dovrai inserire nel tuo |_+_| file.

Ecco come configurare il tuo nuovo disco rigido in modo che Linux e tu possa vederlo e usarlo. Ci sono due parti del processo. La prima parte consiste nell'effettuare una ricognizione per identificare il disco rigido e raccogliere alcune informazioni su di esso. La seconda parte è la modifica di |_+_| file, utilizzando le informazioni che abbiamo raccolto nella fase di ricognizione.



Trovare la tua nuova unità

Stiamo aggiungendo due nuove unità a questo sistema. Uno è un disco rigido meccanico (HD) da 32 GB e l'altro è un 16 GB unità a stato solido (SSD) .

Annuncio pubblicitario

Dobbiamo sapere che Linux può vederli e quali dispositivi a blocchi utilizza Linux per loro. Nei sistemi operativi Linux e Unix-like, un dispositivo a blocchi è un file speciale che funge da interfaccia per un dispositivo da cui è possibile leggere e scrivere i dati (a meno che non sia di sola lettura). I dispositivi a blocchi spesso rappresentano un'unità di memorizzazione di massa di qualche tipo (ad esempio, una partizione su un disco rigido o un CD-ROM. Vengono creati nella directory |_+_|.

Possiamo usare il |_+_| comando a elenca i dispositivi di blocco collegato al tuo computer Linux.



fstab

L'output di |_+_| è in colonne.

Le colonne sono:

    Nome: questo è il nome del dispositivo. I nomi dei dispositivi che iniziano con sd e sono seguiti da una lettera rappresentano Dischi rigidi SCSI . La lettera identifica i singoli dischi rigidi, dove a è il primo, b. essendo il secondo e così via. Se viene aggiunto un numero, indica una partizione. Ad esempio, sdb2 sarebbe la partizione 2 sul secondo disco rigido SCSI. Mag: Min: questa colonna contiene i numeri principali e secondari del dispositivo. Il numero maggiore indica il tipo di dispositivo (o, più precisamente, il tipo di driver utilizzato per parlare con quel dispositivo). Il numero minore è un conteggio del numero di dispositivi di quel tipo. Rm: questa colonna mostra se il dispositivo è rimovibile o meno. Nota che il dispositivo |_+_| ha valore 1, a indicare che è rimovibile. Questa è un'unità CD-ROM. Misurare: Questa è la quantità di dati che possono essere memorizzati nel dispositivo. Ro: Questa colonna mostrerà 1 per i dispositivi di sola lettura e 0 per i dispositivi di lettura-scrittura. Il |_+_| dispositivi sono tutti di sola lettura . Tipo: identifica il tipo di dispositivo. La voce disk indica un'unità disco, la voce part sta per partizione e rom significa Memoria di sola lettura (CD ROM). punto di montaggio: mostra il punto nel file system in cui è montato questo dispositivo. Se questo è vuoto, il dispositivo non è montato.

Nello screenshot qui sopra, puoi vedere che |_+_| ai dispositivi viene assegnato un numero maggiore di 7 (che significa un loopback, o loop, dispositivo ), e i numeri minori incrementano semplicemente di 1 ogni volta. i dispositivi loop sono usati con |_+_| sistema di file. A |_+_| il file system viene creato ogni volta che viene installata un'applicazione utilizzando il elegante sistema di gestione dei pacchetti.

Ai dischi rigidi SCSI vengono dati nomi come |_+_|, |_+_| e |_+_| e tutti hanno un numero maggiore di 8 (disco rigido SCSI). I numeri minori sono raggruppati in 16. I numeri minori per la prima unità, |_+_| , eseguire da 0 a 15. Lo 0 rappresenta l'unità fisica e il numero minore di 1 rappresenta la prima partizione su tale unità. Per la seconda unità, |_+_| , i numeri minori vanno da 16 a 31. 16 rappresenta l'unità fisica e 17 rappresenta la prima partizione su tale unità. I successivi 16 numeri, da 32 a 47, sono usati per i numeri minori di |_+_| , e così via.

Altri numeri maggiori comuni sono 3 (per a Disco rigido IDE ) e 11 per i CD-ROM.

In realtà, il |_+_| style per le unità CD-ROM SDCSI è deprecato. Il formato approvato è |_+_|. Nonostante ciò, il |_+_| era ancora in uso su tutte le macchine utilizzate per la ricerca di questo articolo.

Annuncio pubblicitario

La documentazione del kernel contiene un lungo elenco di tutti i valori che i numeri maggiori e minori possono assumere. È un elenco sorprendentemente lungo.

Per riordinare l'output da |_+_| possiamo usare |_+_| solo per selezionare gli elementi di interesse a noi. Sappiamo di non aver aggiunto un dispositivo loop, quindi selezioniamo tutti i dischi rigidi SCSI. sappiamo che questi avranno sd nei loro nomi.

fstab

Questo comando causerà |_+_| per stampare solo le righe che hanno sd nel file. Sulla nostra macchina di prova, vediamo:

Quindi, abbiamo tre unità SCSI. Il primo, |_+_| , è montato alla radice del file system, |_+_|. Gli altri due non sono affatto montati, come è prevedibile per le unità nuove di zecca. Possiamo vedere quell'unità |_+_| ha una dimensione di 32 GB, il che significa che è la nostra unità meccanica tradizionale. Guida |_+_| ha una dimensione di 16 GB e questa è la nostra unità SSD.

In realtà, poiché questo è un computer virtuale, anche questi sono dischi virtuali. Quindi l'SSD si presenta proprio come un'unità meccanica SCSI. Sul mio desktop normale my SSD NVMe si presenta come |_+_| e la prima partizione su di essa è |_+_|. Il suo numero principale è 259. Queste differenze non cambiano ciò che dobbiamo fare nel |_+_| file, ma tieni presente che se hai un SSD, non verrà visualizzato come unità fisica.

Inoltre, le tue unità probabilmente non avranno una partizione su di esse se sono nuove di zecca. Puoi usare |_+_| per creare una partizione, se necessario.

IMPARENTATO: Come usare Fdisk per gestire le partizioni su Linux

Identificazione di azionamenti rotanti e non rotanti

Se usiamo |_+_| (uscita) opzione con |_+_| e aggiungi |_+_| colonna (rotante) sul display, |_+_| utilizzerà un 1 per indicare un dispositivo di archiviazione rotante (unità meccanica) e uno 0 per indicare un dispositivo di archiviazione non rotante (unità a stato solido).

fstab

Annuncio pubblicitario

Otteniamo una colonna in più a destra del display, che è |_+_| (rotante) colonna. Come puoi vedere, l'SSD ha uno 0 per il dispositivo e la partizione. Ciò ha senso perché un SSD è un dispositivo di archiviazione non rotante.

Montaggio dei file system

Prima di iniziare a pensare al |_+_| file, controlliamo che possiamo montare le unità a mano. In questo modo, se qualcosa non funziona quando usiamo |_+_| file, sapremo che il problema deve essere la nostra sintassi e non un problema con l'unità stessa.

Creeremo alcuni punti di montaggio temporanei in |_+_| directory. Dovrai usare |_+_| , e sarai richiesto per la tua password .

fstab

/dev

Ora montiamo l'unità SCSI sul nuovo punto di montaggio. Useremo il |_+_| comando nella sua forma più semplice. Gli diremo il nome del partizione vogliamo montare e il punto di montaggio su cui vogliamo che sia montato. |_+_| monterà il file system su quella partizione nel punto di montaggio che specifichiamo.

Stiamo specificando la partizione che contiene il file system, non l'unità, quindi assicurati di includere la cifra per la partizione, in questo caso, 1.

lsblk

Annuncio pubblicitario

Se tutto va bene, non ci sarà risposta da |_+_|. Sei tornato silenziosamente al prompt dei comandi.

Il montaggio dell'SSD è altrettanto semplice. Diciamo |_+_| quale partizione su quale dispositivo montare e il punto di montaggio su cui montarlo.

lsblk

Ancora una volta, il silenzio è d'oro.

IMPARENTATO: Come montare e smontare i dispositivi di archiviazione dal terminale Linux

Controllo dei supporti

Per verificare che i montaggi siano avvenuti, useremo |_+_| ancora. Indirizzeremo il suo output attraverso |_+_| e selezionare le voci sda1, sdb2 e sdc1.

sr0

|_+_| ci mostra le tre partizioni montate. Questi sono i due che abbiamo appena montato e la partizione originale montata su /.

La partizione |_+_| è montato su |_+_| e si trova su un dispositivo di archiviazione rotante. La partizione |_+_| è montato su |_+_| e si trova su un dispositivo di archiviazione non rotante. Tutto sembra a posto.

Ora dobbiamo configurare il |_+_| file in modo che questi dispositivi vengano montati ogni volta che si avvia il computer.

Il file fstab

Il |_+_| file contiene una voce per ogni file system che viene montato al riavvio del computer. Ogni voce è composta da sei campi. I campi sono:

    File system: Non, come suggerisce il nome, il tipo di file system sulla partizione (è quello che genere campo è per). Questo è l'identificatore per la partizione che dovrebbe essere montata. Punto di montaggio: La posizione nel filesystem in cui si desidera che la partizione venga montata. Tipo: il tipo di file system sulla partizione. OpzioniNota: ogni file system può avere opzioni specificate per attivare o disattivare la funzionalità. Scarico: Un riferimento a un mezzo quasi obsoleto per il backup dei file system, in cui l'intero file system è stato scaricato su nastro. Passaggio: Questa è la bandiera di passaggio. Dice a Linux quali partizioni dovrebbero essere controllate per errori usando |_+_| , e in quale ordine . Il tuo avvio principale e la partizione del sistema operativo dovrebbero essere 1 e il resto può essere impostato su 2. Se il flag è impostato su zero, significa che non controlla affatto. Se il tuo file system non è un file system journaling (come ext2 o FAT16/32, ad esempio), è meglio disattivarlo impostandolo su 0.
Annuncio pubblicitario

Questi campi devono essere specificati in questo ordine e devono avere uno spazio o una tabulazione tra di loro. Trovare i valori per questi campi può essere scoraggiante, in particolare i valori per il campo delle opzioni. Il campo delle opzioni opzioni deve essere in un elenco separato da virgole senza spazi tra di loro.

Il |_+_| pagina per ogni file system elencherà le opzioni che possono essere utilizzate. |_+_| ha circa 40 opzioni . Ecco alcune delle opzioni più comuni:

    Auto:Il file system verrà montato automaticamente all'avvio. noauto: Il file system viene montato solo quando si immette |_+_| comando. EsecutivoNota: l'esecuzione di binari è consentita su questo file system. NoexecNota: l'esecuzione di binari non è consentita su questo file system. Ro: il file system deve essere montato in sola lettura. Rw: Il file system dovrebbe essere montato come lettura-scrittura. Sincronizza: le scritture sui file devono essere eseguite immediatamente e non memorizzate nel buffer. Riservato al meglio per i floppy disk, se qualcuno li sta ancora utilizzando. Incorre in una penalizzazione delle prestazioni. Asincrono: le scritture dei file devono essere memorizzate nel buffer e ottimizzate. UtenteNota: qualsiasi utente può montare il file system. WeerNota: l'utente root è l'unico utente che può montare questo file system. Predefiniti: questo è un modo abbreviato per specificare un insieme di impostazioni comuni: rw, suid, dev, exec, auto, nouser e async). Sud: Permette il funzionamento del |_+_| e |_+_| bit. Il |_+_| bit viene utilizzato per consentire l'esecuzione di un file come root, da un utente normale, senza dare all'utente tutti i privilegi di root . Quando il |_+_| bit è impostato su una directory, i file e le directory creati all'interno di quella directory hanno la proprietà del gruppo impostato su quello della directory , non al gruppo dell'utente che li ha creati. nosuid: Non consentire l'uso del |_+_| e |_+_| bit. Noatime:– Non aggiornare i tempi di accesso ai file sul file system. Questo può aiutare le prestazioni sul vecchio hardware. Nodiratime: non aggiorna i tempi di accesso alla directory sul file system. relativo: Aggiorna i tempi di accesso al file relativi all'ora di modifica del file.

L'opzione di default è una buona mossa di apertura. È possibile aggiungere o rimuovere ulteriori opzioni se è necessaria una messa a punto. Se solo ci fosse un modo accurato per ottenere le impostazioni di cui hai bisogno, nell'ordine devi inserirle nel |_+_| file.

Inserisci il |_+_| file.

Il file mtab

Il |_+_| il file è l'elenco di file system attualmente montati . Questo è in contrasto con |_+_| file che elenca i file system che dovrebbero essere montati all'avvio. Il |_+_| file include file system montati manualmente. Abbiamo già montato le nostre nuove unità, quindi dovrebbero essere visualizzate in |_+_| file.

Possiamo vedere il contenuto del |_+_| utilizzando |_+_|. Limiteremo l'output reindirizzandolo a |_+_| e guardando |_+_| e |_+_| solo.

loop

Annuncio pubblicitario

L'output mostra il |_+_| voci per queste due partizioni.

Potremmo sollevare quei valori e rilasciarli direttamente nel |_+_| file, assicurandosi che ci fosse uno spazio o una tabulazione tra ogni campo. E sarebbe quello. Le unità verrebbero montate al riavvio.

Ci sono due avvertimenti a riguardo. Uno è il punto di montaggio. Abbiamo creato punti di montaggio temporanei solo per dimostrare che potevamo montare le nuove partizioni sui nuovi dischi. Avremmo bisogno di inserire i punti di montaggio reali invece di quelli temporanei, se fossero diversi.

La seconda avvertenza è, se usiamo le impostazioni dal |_+_| file, utilizzeremo il file del dispositivo a blocchi come identificatore per ogni partizione. Funzionerebbe, ma i valori |_+_| e |_+_| e così via rischiano di cambiare se al computer viene aggiunto nuovo hardware di archiviazione di massa. Ciò significherebbe le impostazioni in |_+_| il file non sarebbe corretto.

Ogni partizione ha un Identificatore univoco universale (UUID), che possiamo usare per identificare la partizione. Questo non cambierà mai. Se usiamo l'UUID per identificare le partizioni in |_+_| file, le impostazioni rimarranno sempre accurate e vere.

Se stai usando le tue nuove partizioni come parte di a Array ridondante di dischi economici (RAID), verificare con la documentazione per quel sistema. Potrebbe specificare che è necessario utilizzare l'identificatore del dispositivo a blocchi invece dell'UUID.

Trovare l'UUID di una partizione

Per trovare l'UUID di una partizione, possiamo usare |_+_| a stampa gli attributi dei dispositivi a blocchi . Limiteremo l'output alle nostre due nuove partizioni sulle nostre nuove unità:

loop

L'output include l'UUID per ogni partizione.

usando blkid per ottenere l

Annuncio pubblicitario

Il PARTUUID è una forma di UUID che può essere utilizzata con il Tabelle delle partizioni GUID (GPT) metodo di partizionamento (se non si utilizza il Record di avvio principale (MBR) metodo di partizionamento).

Modifica del file fstab

Apri il |_+_| file in un editor. Erano usando |_+_| , un editor facile da usare che si trova nella maggior parte delle distribuzioni Linux.

squashfs

L'editor appare con il tuo |_+_| file caricato al suo interno.

il file fstab prima della modifica

Questo |_+_| file contiene già due voci. Sono la partizione sul disco rigido esistente |_+_| e il file system di scambio. Fare attenzione a non alterare queste voci.

Annuncio pubblicitario

Dobbiamo aggiungere due nuove voci al |_+_| file. Uno per la partizione sull'unità SCSI e uno per la partizione sull'unità SSD. Aggiungeremo prima la partizione SCSI. Nota che le righe che iniziano con un cancelletto |_+_| sono commenti.

  • Nel campo del file system, useremo l'UUID che |_+_| recuperato per noi in precedenza. Inizia la riga con UUID= e poi incolla l'UUID. Premi spazio o tab.
  • Per il campo del punto di montaggio, utilizzeremo il punto di montaggio che abbiamo creato in precedenza, |_+_|. Utilizzerai il punto di montaggio appropriato dal tuo sistema. Premi spazio o tab.
  • Per il tipo andremo a inserire |_+_| , che è il tipo di file system sulla nostra partizione. Premi spazio o tab.
  • Nel campo delle opzioni utilizzeremo le opzioni che abbiamo recuperato usando cat |_+_|. Questi sono rw, relativi. Premi spazio o tab.
  • Il campo dump è impostato su zero. Premi spazio o tab.
  • Il campo pass è impostato su zero.

Ora aggiungeremo |_+_| partizione di ingresso sull'unità SSD su una riga separata.

  • Nel campo del file system, inseriremo l'UUID che |_+_| recuperato per la partizione sull'unità SSD. Inizia la riga con UUID= e poi incolla l'UUID. Premi spazio o tab.
  • Per il campo del punto di montaggio, utilizzeremo il punto di montaggio che abbiamo creato in precedenza, |_+_|. Premi spazio o tab.
  • Per il tipo andremo a inserire |_+_| , che è il tipo di file system sulla nostra partizione. Premi spazio o tab.
  • Nel campo delle opzioni, solo per rendere diverse le due nuove voci nel nostro esempio, utilizzeremo l'opzione di default. Premi spazio o tab.
  • Il campo dump è impostato su zero. Premi spazio o tab.
  • Il campo pass è impostato su zero.

fstab dopo aver modificato e aggiunto le unità SCSI e SSD

Salva il file e chiudi l'editor.

IMPARENTATO: Come modificare graficamente i file di testo su Linux con gedit

Testare fstab senza riavviare

Possiamo smontare le nostre nuove unità e quindi forzare un aggiornamento su |_+_| file. Il corretto montaggio delle nostre nuove partizioni verificherà che le impostazioni e i parametri che abbiamo inserito siano sintatticamente corretti. Ciò significa che il nostro |_+_| Il file deve essere elaborato correttamente durante un riavvio o una sequenza di accensione.

Per smontare l'unità SCSI, utilizzare questo comando. Nota che c'è solo un n in umount:

squashfs

Per smontare l'unità SSD, utilizzare questo comando:

sda

Ora useremo |_+_| per verificare se questi dispositivi a blocchi sono montati.

sdb

E vediamo che i dispositivi a blocchi sono presenti nel computer, ma non montati da nessuna parte.

Possiamo usare il |_+_| comando con |_+_| (all) opzione per rimontare tutti i file system in |_+_|.

sdc

Annuncio pubblicitario

E possiamo controllare ancora una volta con |_+_| per vedere se le nostre nuove partizioni sono ora montate:

sda

Tutto è montato dove dovrebbe essere. Tutto quello che dobbiamo fare ora è cambiare la proprietà dei punti di montaggio, altrimenti |_+_| sarà l'unico che potrà accedere ai nuovi dispositivi di archiviazione.

Possiamo farlo facilmente usando |_+_| . Questo è il comando per il punto di montaggio SCSI:

sdb

E questo è il comando per il punto di montaggio SSD:

sdc

Ora possiamo riavviare il nostro computer con sicurezza, sapendo che le partizioni che abbiamo aggiunto verranno montate per noi e che abbiamo accesso ad esse.

Non così spaventoso dopotutto

Tutto il duro lavoro è nella fase di ricognizione, e nemmeno quella è stata dura. Modifica di |_+_| file una volta raccolte le informazioni di cui hai bisogno è un gioco da ragazzi. La preparazione è tutto.

Comandi Linux
File catrame · pv · gatto · tac · chmod · presa · differenza · sed · Con · uomo · spinto · popd · fsck · testdisk · seguito · fd · pandoc · cd · $PATH · awk · giuntura · jq · piega · unico · journalctl · coda · stato · ls · fstab · buttato fuori · meno · chgrp · chown · rev · Guarda · stringhe · genere · rinominare · cerniera lampo · decomprimere · montare · smontare · installare · fdisk · mkfs · rm · rmdir · rsync · df · gpg · noi · nano · mkdir · a partire dal · ln · toppa · convertire · rclone · brandello · SRM
Processi alias · schermo · superiore · Bello · renice · progresso · strace · sistema · tmux · chsh · storia · in · lotto · libero · quale · dmesg · usermod · ps · chroot · xargs · tty · mignolo · lsof · vmstat · tempo scaduto · parete · · uccisione · dormire · sudo · il suo · volta · gruppoaggiungi · usermod · gruppi · lshw · spegnimento · riavviare · fermare · spegni · passwd · lscpu · crontab · Data · bg · fg
Rete netstat · ping · traceroute · ip · ss · chi è · fail2ban · bmon · voi · dito · nmap · ftp · arricciare · wget · chi · chi sono · In · iptables · ssh-keygen · ufw

IMPARENTATO: I migliori laptop Linux per sviluppatori e appassionati

LEGGI SUCCESSIVO Foto del profilo di Dave McKay Dave McKay
Dave McKay ha usato per la prima volta i computer quando era in voga il nastro di carta perforata, e da allora ha programmato. Dopo oltre 30 anni nel settore IT, ora è un giornalista tecnologico a tempo pieno. Durante la sua carriera ha lavorato come programmatore freelance, manager di un team internazionale di sviluppo software, project manager di servizi IT e, più recentemente, come Data Protection Officer. I suoi scritti sono stati pubblicati da howtogeek.com, cloudavvyit.com, itenterpriser.com e opensource.com. Dave è un evangelista di Linux e un sostenitore dell'open source.
Leggi la biografia completa

Articoli Interessanti