Slik bruker du mkfs-kommandoen på Linux

Du må opprette et filsystem før du kan bruke en datalagringsenhet koblet til en Linux-datamaskin. Lær hvordan du bruker mkfs og andre verktøy for å gjøre nettopp det for alle slags filsystemer. Vi viser deg hvordan.

mkfs lager filsystemer

mkfs-kommandoen lager filsystemer. På andre operativsystemer kalles det å lage et filsystem formatering. Uavhengig av navnet er det prosessen som forbereder en partisjon slik at den kan lagre data. Partisjonen trenger en måte å lagre filer på, ja. Men den trenger også en mekanisme for å lagre navnene og plasseringene til disse filene, sammen med deres metadata, for eksempel tidsstempelet for filoppretting, det endrede tidsstempelet for filen, størrelsen på filen, og så videre. Når mkfs har bygget det nødvendige rammeverket for håndtering og lagring av filmetadata, kan du begynne å legge til filer til partisjonen.

Syntaksen er veldig enkel. Du bare forteller mkfs enhetspartisjonen du vil at filsystemet skal opprettes på, og hvilken type filsystem du vil ha. Det er på forsiden av det. Bak kulissene er det litt annerledes. I noen tid har mkfs på de fleste Linux-distribusjoner vært en innpakning for mke2fs. mkfs-kommandoen kaller opp mke2fs-kommandoen og sender den alternativene du har spesifisert. Stakkars gamle mke2fs gjør alt arbeidet men får ikke noe av æren.

Syntaksen til mkfs har blitt oppdatert, og det gamle formatet er avviklet. Begge formene vil fungere, men vi bruker den moderne stilen i denne artikkelen.

Valget av filsystemer

Den moderne måten å bruke mkfs på er å skrive «mkfs.» og deretter navnet på filsystemet du ønsker å opprette.

For å se filsystemene som mkfs kan lage, skriv «mkfs» og trykk deretter Tab-tasten to ganger. Det er ingen mellomrom etter «mkfs», bare trykk Tab to ganger.

Listen over tilgjengelige filsystemer vises i terminalvinduet. Skjermbildet er fra Ubuntu 18.04 LTS. Andre distribusjoner kan tilby flere eller færre alternativer. Vi går gjennom disse og beskriver hver enkelt kort. Etter et raskt ord om journalføring.

Journalføring er et viktig begrep i filsystemer. Filsystemene registrerer de ventende filskrivingene til en journal. Etter hvert som hver fil skrives til, oppdateres journalen, og de ventende skrivepostene oppdateres. Dette gjør at filsystemet kan reparere ødelagte, delvis skrevne filer som har oppstått på grunn av en katastrofal hendelse som et strømbrudd. Noen av de eldre filsystemene støtter ikke journalføring. De som ikke gjør det, skriver til disken sjeldnere fordi de ikke trenger å oppdatere journalen. De kan fungere raskere, men de er mer utsatt for skade på grunn av avbrutt filskriving.

  Hvordan bruke Pipes på Linux

Ext2: Det aller første filsystemet for Linux var MINIX-filsystemet. Det ble senere erstattet av det første filsystemet noensinne skrevet spesielt for Linux, som var Ekst. Ext2 var Exts etterfølger. Ext2 er ikke et journalfilsystem.
Ext3: Dette var etterfølger til Ext2og kan tenkes på som Ext2 med journalføring, som beskytter filsystemet ditt mot datakorrupsjon forårsaket av krasj og plutselig strømtap.
Ext4: Ext4 er standard filsystem for mai Linux-distribusjoner. Det er et solid, velprøvd og pålitelig filsystem. Den har funksjoner som redusere filfragmentering og kan brukes med større stasjoner, partisjoner og filer enn Ext3.
BFS: Dette er Oppstart filsystem, som er designet for én jobb og kun én: for å håndtere filene i oppstartspartisjonen. Det er sjelden du lager et oppstartsfilsystem for hånd. Linux-installasjonsprosessen vil gjøre dette for deg.
FETT: Den Filfordelingstabell filsystemet ble designet for disketter av et konsortium av tungvektere fra dataindustrien. Det ble introdusert i 1977. Den eneste grunnen til at du vil bruke dette filsystemet som ikke er journalføring, er for kompatibilitet med ikke-Linux-operativsystemer.
NTFS: Den Ny teknologi filsystem er et Microsoft journaling filsystem introdusert med Windows NT. Det var etterfølgeren til FAT. Den eneste grunnen til at du vil bruke dette filsystemet er for kompatibilitet med ikke-Linux-operativsystemer.
MINIX: Opprinnelig laget av Andrew S. Tanenbaum som et pedagogisk hjelpemiddel, MINIX er et «mini-Unix» operativsystem. I dag er det rettet mot å gi et selvhelbredende og feiltolerant operativsystem. MINIX-filsystemet ble designet som en forenklet versjon av Unix-filsystemet. Kanskje hvis du kryssutvikler på en Linux-datamaskin og målretter mot en MINIX-plattform, kan du bruke dette filsystemet. Eller kanskje du trenger kompatibilitet med en MINIX-datamaskin av andre grunner. Brukstilfeller for dette filsystemet på en Linux-datamaskin hopper ikke på meg, men det er tilgjengelig.
VFAT: Virtuell filallokeringstabell, ble introdusert med Windows 95, og fjernet grensen på åtte tegn for filnavn. Filnavn på opptil 255 tegn ble mulig. Den eneste grunnen til at du vil bruke dette filsystemet er for kompatibilitet med ikke-Linux-operativsystemer.
CRAMFS: The Komprimert ROM-filsystem er et skrivebeskyttet filsystem designet for innebygde systemer og spesialist skrivebeskyttet bruk, for eksempel i oppstartsprosessene til Linux-datamaskiner. Det er vanlig å ha et lite, forbigående filsystem lastet først slik at bootstrap-prosesser kan startes for å forberede det «ekte» oppstartssystemet som skal monteres.
MSDOS: Filsystemet til Microsoft Disk operativsystem. Utgitt i 1981, er det et elementært filsystem som er så grunnleggende som det blir. Den første versjonen hadde ikke engang kataloger. Den har en fremtredende plass i datahistorien, men utover kompatibilitet med eldre systemer er det liten grunn til å bruke den i dag.

  Hvordan spille Overlord på Linux

En sikker måte å eksperimentere med filsystemer

Å lage et filsystem på en partisjon er ødeleggende for alle data som allerede kan ligge på den partisjonen. Å bruke en ekstra harddisk – eller til og med en ekstra datamaskin – er den perfekte måten å eksperimentere med å lage og bruke forskjellige filsystemer. Men selvfølgelig er det mange som ikke har ekstra maskinvare liggende og venter på å bli eksperimentert med.

Vi kan imidlertid lage en bildefil og lage filsystemer innenfor den. Når vi har montert den, kan vi bruke den som om den var en vanlig partisjon. Vi kan utforske og eksperimentere med filsystemer uten behov for ekstra maskinvare. Vi bruker dd-kommandoen til lage vår bildefil.

Bildefilen lages ved å ta kildedata og legge dem inn i et bilde. Vi må fortelle dd hvor de skal hente kildedataene. Vi bruker alternativet if (inndatafil) for å fortelle dd å bruke /dev/null som inndatakilde. Dette blir en strøm av nuller.

Alternativet av (utdatafil) lar oss gi et navn for bildefilen. Vi kaller det «wdzwdz.img».

Størrelsen på bildefilen bestemmes av størrelsen og antall blokker vi legger til den. Vi bruker alternativet bs (blokkstørrelse) for å be om en blokkstørrelse på 1 MB og tellingsalternativet for å be om 250 blokker. Dette vil gi oss et filsystem på 250 MB. Når du utsteder denne kommandoen, juster antall blokker for å passe dine behov og ledig kapasitet du har på Linux-datamaskinen.

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

Filen er opprettet for oss og dd rapporterer at det ble opprettet 250 blokker for oss, som forespurt.

Vi kan se på bildefilen vår med ls :

ls -hl

Det er 250 MB som forventet, noe som er oppmuntrende.

Opprette filsystemet

La oss velge et filsystem å bruke. Vi går tilbake i tid og bruker Ext2, som er den tidligste versjonen av Ext som denne implementeringen av mkfs kan lage. Dette er et filsystem som ikke er journalført, så ikke lagre noe verdifullt i det uten å ha sikkerhetskopier andre steder. Vi bruker mkfs.ext2-varianten av mkfs-kommandoen, og vi ber den bruke bildefilen vår som mål.

mkfs.ext2 ~/wdzwdz.img

Filsystemet opprettes, og noen detaljer om filsystemet vises.

Som du kan se fra den uthevede teksten, dukker mke2fs opp.

  Slik installerer du AppImages på Linux på den enkle måten

Nå har vi en beholder for filsystemet – bildefilen – som står for en harddisk i dette scenariet. Inne i beholderen har vi laget et filsystem. Nå må vi montere filsystemet slik at vi kan bruke det.

Dette er et midlertidig oppsett, så vi lager en monteringspunkt innenfor /mnt kalt «geek.» Vi fjerner den når vi er ferdige.

sudo mkdir /mnt/geek

Nå kan vi montere bildefilen vår.

sudo mount ~/wdzwdz.img /mnt/geek

Vi må endre fileierskap av monteringspunktet slik at vi har lese- og skrivetilgang til det.

sudo chown dave:users /mnt/geek/

Og nå skal vi kunne bruke vårt nye filsystem. La oss bytte til filsystemet og kopiere noen filer til det.

cd /mnt/geek
cp ~/Documents/Code/*.? .

Dette vil kopiere alle filer med en bokstavsutvidelse fra ~/Documents/Code-katalogen til vårt nye filsystem. La oss sjekke at de ble kopiert.

ls

Filene er kopiert, så vårt filsystem er opprettet, montert og brukt. Eller det tror vi. La oss dobbeltsjekke. Fra hjemmekatalogen vår demonterer vi filsystemet. Merk at det bare er en «n» i umount.

sudo umount /mnt/geek

Nå, hvis vi går tilbake til /mnt/geek og ser etter filer, bør vi ikke finne noen fordi de er inne i bildefilen vår, og den har blitt avmontert.

cd /mnt/geek
ls

Videre leting

Nå har vi løst prosessen, det skal være enkelt å prøve et annet filsystem. Vi bruker MINIX-filsystemet denne gangen. I hjemmekatalogen vår kan vi lage et nytt filsystem i vår eksisterende bildefil.

Vær forsiktig! Hvis det er noen viktige filer på filsystemet inne i bildefilen, monter bildefilen og hent dem før du oppretter et nytt filsystem.

mkfs.minix ~/wdzwdz.image

Uten antydning til å spørre deg «hvis du er sikker», opprettes det nye filsystemet over det gamle. Vi kan montere bildefilen vår med nøyaktig samme kommando som før:

sudo mount ~/wdzwdz.img /mnt/geek

La oss bytte til det nye filsystemet på /mnt/geek og se om vi kan lage en fil.

touch geek.txt

ls -ahl geek.txt

Og så enkelt og raskt som det, vi har laget et nytt filsystem, montert det, og vi kan bruke det.

Fjerning av monteringspunktet

Når du er ferdig, kan vi fjerne «geek»-festepunktet. For å gjøre det vil vi bruke rmdir:

cd /mnt
sudo rmdir geek

Sjonglering med ild

Med Linux, som med de fleste ting, lærer du ved å gjøre. Problemet med noen kommandoer er at de er potensielt destruktive. Dilemmaet er hvordan du kan øve på å bruke dem uten å sette systemet eller dataene i fare?

Du har nå en enkel metode for å lage og prøve ut filsystemer med mkfs som lar datamaskinen din være urørt.