Come usare il comando mkfs in Linux

Contenuti

Un terminale Linux su un laptop con un desktop in stile Ubuntu.

È necessario creare un file system prima di poter utilizzare qualsiasi dispositivo di archiviazione dati connesso a un computer Linux.. Impara come usare mkfs e altre utilità per fare esattamente questo per tutti i tipi di filesystem. Ti mostriamo come.

mkfs Crea file system

il mkfs comando crea file system. Su altri sistemi operativi, si chiama la creazione di un file system formattazione. Indipendentemente dal tuo nome, è la procedura che prepara una partizione in modo che possa memorizzare i dati. La partizione ha bisogno di un modo per archiviare i file, sì. Ma hai anche bisogno di un meccanismo per salvare i nomi e le posizioni di quei file, insieme ai suoi metadati, come timestamp di creazione del file, il timestamp di modifica del file, la dimensione del file, eccetera. Una volta mkfs hai creato il framework necessario per gestire e archiviare i metadati dei file, puoi iniziare ad aggiungere file alla partizione.

La sintassi è molto semplice. Solo conto mkfs la partizione sul dispositivo in cui si desidera creare il file system e il tipo di file system che si desidera. Questo è a prima vista. Dietro le quinte, è un po' diverso. Per molto tempo sulla maggior parte delle distribuzioni Linux mkfs era un Busta di mke2fs. il mkfs chiamate di comando mke2fs comando e ti passa le alternative che hai specificato. Povero vecchio mke2fs fa tutto il lavoro ma non ottiene la gloria.

La sintassi di mkfs è stato aggiornato e il vecchio formato è stato deprecato. Entrambi i modi funzioneranno, ma useremo lo stile moderno in questo post.

La scelta dei file system

Il modo moderno di usare mkfs È scrivere “mkfs”. e poi il nome del filesystem che vuoi creare.

Per vedere i file system che mkfs può creare, scriba “mkfs” e quindi premere il tasto Tab due volte. nessuno spazio dopo “mkfs”, basta premere Tab due volte.

L'elenco dei file system disponibili viene visualizzato nella finestra del terminale. Lo screenshot è di Ubuntu 18.04 È. Altre distribuzioni possono offrire più o meno opzioni. Li esamineremo e li descriveremo brevemente.. Dopo qualche parola sul diario.

Il journal è un concetto importante nei file system. Scritture di file in attesa del journal dei file system. Mentre ogni file viene scritto, il journal viene aggiornato e i record di scrittura in sospeso vengono aggiornati. Ciò consente al file system di riparare file danneggiati e parzialmente scritti che si sono verificati a causa di un evento catastrofico., come un'interruzione di corrente. Alcuni dei file system più vecchi non supportano il journaling. Quelli che non lo fanno, scrivono su disco meno frequentemente perché non hanno bisogno di aggiornare il journal. È possibile che funzionino più velocemente, ma sono più soggetti a danni a causa dell'interruzione della scrittura del file.

  • Est2: Il primo file system per Linux è stato il file system MINIX. Successivamente è stato sostituito dal primo filesystem scritto specificamente per Linux, cosa era Ext. Ext2 era Successore di Ext. Ext2 non è un file system journal.
  • Est3: Questo era il successore di Ext2, e può essere pensato come Ext2 con journaling, che protegge il tuo file system dalla corruzione dei dati causata da arresti anomali e improvvise interruzioni di corrente.
  • Est4: Ext4 è il file system standard per molte distribuzioni Linux. È un filesystem solido, testato e affidabile. Ha caratteristiche che ridurre la frammentazione dei file e può essere utilizzato con le unità, partizioni e file più grandi di Ext3.
  • BFS: Questo è il File system di avvio, che è progettato per un lavoro e un solo lavoro: gestire i file sulla partizione di avvio. È raro creare manualmente un filesystem avviabile. La tua procedura di installazione di Linux lo farà per te.
  • GRASSO: Il Tabella di allocazione dei file Il file system è stato progettato per i floppy disk da un consorzio di colossi dell'industria informatica.. È stato introdotto in 1977. L'unico motivo per cui utilizzerei questo file system senza journaling è per la compatibilità con i sistemi operativi non Linux.
  • NTFS: Il File system di nuova tecnologia è un file system journaling Microsoft inserito con Windows NT. Era il successore di FAT. L'unico motivo per cui utilizzerei questo file system è la compatibilità con i sistemi operativi non Linux.
  • MINIX: Originariamente creato da Andrea S. Tanenbaum come aiuto educativo, MINIX è un sistema operativo “mini-Unix”. Attualmente, mira a fornire auto-guarigione e tolleranza ai guasti. sistema operativo. Il MINIX File System è stato progettato come un versione semplificata del file system Unix. Forse se stai sviluppando in modo incrociato su un computer Linux e miri a una piattaforma MINIX, puoi usare questo file system. O forse hai bisogno della compatibilità con un computer MINIX per altri motivi. I casi d'uso per questo filesystem su un computer Linux non mi stanno saltando, ma è abilitato.
  • VFAT: Tabella di allocazione dei file virtuali, è stato introdotto con Windows 95 e rimosso il limite di otto caratteri per i nomi dei file. Nomi di file fino a 255 caratteri. L'unico motivo per cui utilizzerei questo file system è la compatibilità con i sistemi operativi non Linux.
  • CRAMFS: Il File system ROM compresso è un file system di sola lettura progettato per sistemi embedded e usi specializzati di sola lettura, come nei processi di avvio dei computer Linux. È comune caricare prima un piccolo file system temporaneo in modo che i processi di avvio possano essere avviati per prepararsi al montaggio del sistema di avvio “vero”.
  • MSDOS: Il file system del Sistema operativo disco Microsoft. Lanciato nel 1981, è un filesystem elementare che è la cosa più elementare fattibile. La prima versione non aveva nemmeno le directory. Occupa un posto di rilievo nella storia dell'informatica ma, oltre la compatibilità con i sistemi legacy, ci sono poche ragioni per usarlo attualmente.

IMPARENTATO: Quale filesystem Linux dovrei usare?

Un modo sicuro per sperimentare con i file system

La creazione di un filesystem su una partizione è distruttiva per qualsiasi dato che potrebbe già risiedere su quella partizione. Utilizzare un disco rigido sostitutivo, o anche un computer di riserva, è il modo perfetto per sperimentare la creazione e l'utilizzo di diversi file system. Ma, decisamente, molte persone non hanno hardware di riserva in attesa di essere sperimentato.

Nonostante questo, possiamo creare un file immagine e creare file system al suo interno. Una volta che lo cavalchiamo, possiamo usarlo come se fosse una normale partizione. Possiamo esplorare e sperimentare con i file system senza la necessità di hardware sostitutivo. Useremo il dd comando a crea il nostro file immagine.

Il file immagine viene creato prendendo i dati di origine e inserendoli in un'immagine. Dobbiamo dire dd dove ottenere i dati di origine. Useremo il if (file di input) possibilità di contare dd utilizzo / sviluppo / zero come fonte di dati di input. Questo sarà un flusso di zeri.

il of L'opzione (file di uscita) ci permette di fornire un nome per il file immagine. Ti chiameremo “systempeaker.img”.

La dimensione del file immagine è determinata dalla dimensione e dal numero di blocchi che aggiungiamo. Stiamo usando il bs (misura del blocco) per richiedere una dimensione del blocco di 1 MB e il count Possibilità di richiedere 250 blocchi. Questo ci darà un filesystem di 250 MB. Quando dai questo comando, regola il numero di blocchi in base alle tue esigenze e alla capacità di riserva che hai sul tuo computer Linux.

dd if=/dev/zero of=~/systempeaker.img bs=1M count=250

dd se = / sviluppo / zero di = ~ / howtogeek.img bs = 1M conteggio = 250

Il file è stato creato per noi e dd riferisce che sono stati creati 250 blocchi per noi, Come richiesto.

Possiamo guardare il nostro file immagine con ls :

ls -hl

Figlio 250 MB come previsto, che è incoraggiante.

Crea il file system

Scegliamo un filesystem da usare. Torneremo indietro nel tempo e utilizzeremo Ext2, che è la versione precedente di Ext rispetto a questa implementazione di mkfs può creare. Questo è un file system non journaling, quindi non conservare nulla di prezioso su di esso senza avere backup altrove. Noi usiamo il mkfs.ext2 variante di mkfs comando, e gli diciamo di usare il nostro file immagine come destinazione.

mkfs.ext2 ~/systempeaker.img

Il file system viene creato e vengono visualizzati alcuni dettagli del file system.

Come puoi vedere nel testo evidenziato, mke2fs fa un'apparizione.

Ora abbiamo un contenitore per il filesystem, il file immagine, che sostituisce un disco rigido in questo scenario. Dentro quel contenitore, abbiamo creato un file system. Ora dobbiamo montare il filesystem per poterlo usare.

Questa è un'impostazione temporanea, quindi faremo un punto di montaggio entro / non ha chiamato “La virgoletta singola o l'apostrofo della parola”. Lo rimuoveremo quando avremo finito.

sudo mkdir /mnt/geek

Ora possiamo montare il nostro file immagine.

sudo mount ~/systempeaker.img /mnt/geek

Dobbiamo cambiare il proprietà del file del punto di montaggio in modo da avere accesso in lettura e scrittura.

sudo chown dave:utenti /mnt/geek/

E ora dovremmo essere in grado di usare il nostro nuovo filesystem. Passiamo al file system e copiamo alcuni file su di esso.

cd /mnt/geek
cp ~/Documenti/Codice/*.? .

Questo copierà tutti i file con un'estensione a lettera singola dalla directory ~ / Documenti / Codice per il nostro nuovo file system. Controlliamo che siano stati copiati.

ls

I file sono stati copiati, quindi il nostro filesystem è stato creato, assemblato e usato. O almeno così pensiamo. Controlliamo due volte. Dalla nostra home directory, smonteremo il file system. Nota che ce n'è solo uno “n” Su smontare.

sudo umount /mnt/geek

Ora, se torniamo a / mnt / geek e cerchiamo file, non dovremmo trovarne nessuno perché sono all'interno del nostro file immagine, e che è stato smontato.

cd /mnt/geek
ls

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

Esplorazione aggiuntiva

Ora che abbiamo risolto la procedura, provare un altro filesystem dovrebbe essere facile. Questa volta useremo il file system MINIX. Nella nostra home directory, possiamo creare un nuovo filesystem all'interno del nostro file immagine esistente.

Stai attento! Se ci sono file importanti nel file system all'interno del file immagine, monta il file immagine e recuperalo prima creare un nuovo filesystem.

mkfs.minix ~/systempeaker.image

Senza alcun accenno di domanda “se sei sicuro”, il nuovo filesystem si basa su quello vecchio. Possiamo montare il nostro file immagine esattamente con lo stesso comando di prima:

sudo mount ~/systempeaker.img /mnt/geek

Passiamo al nuovo filesystem in / mnt / geek e vediamo se riusciamo a creare un file.

toccare geek.txt

ls -ahl geek.txt

E, così semplice e veloce, abbiamo creato un nuovo file system, lo montiamo e possiamo usarlo.

Rimuovere il punto di montaggio

Quando è finito, possiamo eliminare il punto di montaggio “La virgoletta singola o l'apostrofo della parola”. Per farlo useremo rmdir:

cd /mnt
sudo rmdir geek

Giocoleria con il fuoco

Con Linux, come con la maggior parte delle cose, si impara facendo. Il problema con alcuni comandi è che sono potenzialmente distruttivi. Il dilemma è come esercitarsi a utilizzarlo senza mettere a rischio il sistema o i dati..

Ora hai un metodo semplice per creare e testare i filesystem con mkfs che lascia intatto il tuo computer.

impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.