Hvordan montere og demontere lagringsenheter fra Linux-terminalen

Oppdag hvordan du monterer, avmonterer og remonterer filsystemer i Linux og Unix-lignende operativsystemer via terminalen—et essensielt verktøy for effektiv systemadministrasjon.

Filssystemer i Linux og Unix-lignende operativsystemer som macOS kan monteres, avmonteres og remonteres ved bruk av terminalen. Dette er et kraftig og allsidig verktøy—her er alt du trenger å vite.

Filsystemet i Linux

Filsystemene i Linux, macOS og andre Unix-lignende operativsystemer bruker ikke separate volumidentifikatorer for lagringsenheter på samme måte som, for eksempel, Windows gjør. Windows tildeler hvert volum en stasjonsbokstav som C: eller D:, og filsystemet for hvert volum er et tre av mapper som ligger under den stasjonsbokstaven.

I Linux er filsystemet et alt-i-ett mappetree. En montert lagringsenhet har sitt filsystem integrert i dette treet, slik at det fremstår som en integrert del av ett sammenhengende filsystem. Det nymonterte filsystemet vil være tilgjengelig via mappen det er montert til. Den mappen kalles monteringspunktet for det filsystemet.

Mange filsystemer blir automatisk montert ved oppstart eller fortløpende som lagringsvolumer som kobles til datamaskinen under drift. Forsiktige systemadministratorer kan deaktivere automatisk montering under drift for å få kontroll over tilkoblinger til systemet.

Dette betyr at lagringsenheter som kobles til under drift kanskje ikke vil bli automatisk montert, og at de vil kreve manuell montering. Manuell montering av et filsystem lar deg ta beslutninger om det filsystemet, som hvor monteringspunktet vil være og om filsystemet skal være skrivebeskyttet eller skrivbart.

Enten det er av nødvendighet eller av valg, gir mount, umount og remount kommandoene deg muligheten til å ta kontroll over denne viktige delen av Linux-systemet ditt.

Interrogere filsystemet ditt med mount

Mount har et stort antall opsjoner, men for å liste alle de monterte filsystemene på datamaskinen din kreves det ingen opsjoner i det hele tatt. Skriv ganske enkelt mount og trykk Enter:

mount vil liste alle de tilkoblede filsystemene i terminalvinduet.

Det kan være vanskelig å lete gjennom den dumpen av data for å finne det du ser etter.

Du kan forbedre utdataene ved å be mount om å liste kun de filsystemene som er interessante for deg. -t (type) opsjonen forteller mount hvilken type filsystem det skal rapportere om.

mount -t tmpfs

mount -t ext4

Som et eksempel har vi bedt mount om å liste kun tmpfs filsystemer. Vi får et mye mer håndterlig utdata.

Et tmpfs filsystem ser ut som om det var et vanlig, montert filsystem, men det lagres faktisk i volatilt minne—tmp står for midlertidig—i stedet for på en vedvarende lagringsenhet.

Du vil erstatte tmpfs parameteren med filtypen du er interessert i.

Vi har også utstedt en kommando for å liste ext4 filsystemer. På denne testdatamaskinen finnes det et enkelt ext4 filsystem, det er på enhet sda—den første lagringsenheten som er montert, som vanligvis er hovedharddisken—og montert på /, som er roten av filsystemtreet.

De andre indikatorene betyr:

  • rw: Filsystemet er lesbart og skrivbart.
  • relatime: Kjernen bruker et optimalisert system for å registrere filtilgang og modifikasjonsmetadata.
  • errors=remount -o: Hvis en tilstrekkelig alvorlig feil oppdages, vil filsystemet bli remontert i skrivebeskyttet modus for å tillate diagnose.

Interrogere filsystemet ditt med df

Kommandoen df kan også brukes for å vise hvilke filsystemer som er montert og hvor monteringspunktene deres er.

df brukt uten parametere gir deg det samme informasjonsoverskuddet som mount. Som et eksempel, i Ubuntu Linux, finnes det et squashfs pseudofilsystem som blir opprettet for hver enkelt applikasjon som har blitt installert ved hjelp av snap kommandoen. Hvem vil se alle disse?

For å tvinge df til å ignorere dem—eller hvilken som helst annen filsystemtype—bruk -x (ekskluder) opsjonen:

df -x squashfs

Du kan lett se navnene på filsystemene, deres kapasitet, brukt og ledig plass, samt deres monteringspunkter.

Remounting All File Systems in fstab

Alle filsystemene som monteres ved oppstart har oppføringer i en fil kalt fstab, som er filsystemtabellen som ligger i /etc.

Du kan bruke mount for å tvinge en "oppdatering" og remontere alle filsystemene som er oppført i fstab. Under normale driftsforhold er dette ikke nødvendig. Det blir virkelig nyttig hvis du har problemer med flere filsystemer.

Du må bruke sudo, så du vil bli bedt om passordet ditt.

sudo mount -a

Så sant alt fungerer som det skal, er det litt nedtonet.

Men på en datamaskin med filsystemproblemer kan remounting rydde opp i problemene. Hvis ikke, vil du i det minste få diagnostisk meldinger på skjermen og i systemloggene som vil veilede deg til å finne årsaken til problemet.

Mounting an ISO Image

Det er enkelt å montere et ISO-bilde slik at du kan få tilgang til innholdet som en del av filsystemet.

Dette vil fungere med ethvert ISO-bilde. I dette eksemplet bruker vi et Tiny Core Linux ISO fordi det er praktisk lite og raskt å laste ned. (En liten Linux-distribusjon med GUI, på 18 MB! Du har sannsynligvis MP3-filer som er større enn det.)

I samme mappe som ISO-bildet, skriver du inn denne kommandoen. Erstatt navnet på ISO-filen du monterer.

sudo mount -t iso9660 -o loop TinyCore-current.iso /mnt

Fordi vi må bruke sudo, må du skrive inn passordet ditt.

-t (type) alternativet forteller mount hva slags filsystem vi monterer. Det er et ISO-fil, så vi gir iso9660 type spesifikatoren.

-o (alternativer) flagget brukes til å sende ekstra parametere til mount. Vår parameter er loop.

Vi bruker loop for å tvinge mount til å bruke en loop-enhetsfil for å koble til ISO-bildet vårt. En loop-enhetsfil gjør at en fil (som ISO-bildet) kan monteres og behandles som om det var en lagringsenhet.

Enhetsfiler er spesielle filer brukt som et grensesnitt slik at tilkoblede enheter fremstår som om de var normale filsystemfiler. Dette er en del av filosofi om at alt i Linux er en fil.

Det finnes mange forskjellige typer enhetsfiler. Vi så en tidligere da vi bemerket at det eneste ext4 filsystemet på denne testmaskinen var montert på / og ble kalt sda.

For å være mer presis, er det ext4 filsystemet på en lagringsenhet tilkoblet filsystemet gjennom /dev/sda enhetsfilen, og filsystemet på den lagringsenheten er montert på /.

Vi må naturligvis oppgi navnet på ISO-bildet, og vi må la mount vite hvor vi ønsker å montere filsystemet. Vi har valgt /mnt.

ISO-bildet er montert. En påminnelse om at ISO-bilder alltid monteres i skrivebeskyttet modus vises i terminalvinduet.

Exploring the ISO Image

Nå som det er montert, kan vi navigere i katalogene i ISO-bildet på samme måte som med hvilken som helst annen del av filsystemet. La oss liste opp filene i ISO-bildet. Det er montert på /mnt, husk det.

ls /mnt

ls /mnt/cde/

Unmounting the ISO Image

For å avmontere et montert filsystem, bruk kommandoen umount. Legg merke til at det ikke er noe "n" mellom "u" og "m" — kommandoen er umount og ikke "unmount."

Du må fortelle umount hvilket filsystem du avmonterer. Gjør det ved å gi filsystemets monteringspunkt.

sudo umount /mnt

Ingen nyheter er gode nyheter. Hvis det ikke er noe å rapportere, gikk alt bra.

Creating a Mount Point

Du kan opprette og bruke dine egne monteringspunkter. Vi skal opprette en som heter isomnt og montere ISO-bildet vårt på det. Et monteringspunkt er bare en katalog. Så vi kan bruke mkdir for å lage vårt nye monteringspunkt.

sudo mkdir /media/dave/isomnt

Nå kan vi bruke samme kommandoformat som før for å montere ISO-bildet vårt. Denne gangen vil vi ikke montere det på /mnt, vi vil montere det på /media/dave/isomnt/:

sudo mount -r -t.
iso9660 -o loop TinyCore-current.iso /media/dave/isomnt/

Vi kan nå få tilgang til det monterte filsystemet fra vårt nye monteringspunkt.

ls /media/dave/isomnt/cde/optional

Men de stiene blir veldig lange. Det vil raskt bli kjedelig. La oss gjøre noe med det.

Binding av Monteringspunkt

Du kan binde et monteringspunkt til en annen katalog. Det monterte filsystemet kan deretter nås enten gjennom det originale monteringspunktet eller gjennom den katalogen som er bundet til det.

Her er et eksempel. Vi skal opprette en katalog i hjemmekatalogen vår kalt iso. Deretter vil vi binde monteringspunktet til ISO-bildet /media/dave/isomnt til den nye iso-katalogen i hjemmekatalogen vår.

Vi vil kunne få tilgang til ISO-bildet gjennom det originale monteringspunktet /media/dave/isomnt og gjennom den nye iso-katalogen. Alternativet -B (bind) krever navnet på monteringspunktet og navnet på katalogen det skal bindes til.

mkdir iso
sudo mount -B /media/dave/isomnt/ iso
ls iso
ls /media/dave/isomnt
cd iso
ls
cd cde

Bruke umount Med Binder

Et filsystem som har fått sitt monteringspunkt bundet til en annen katalog krever å bli demontert fra både sitt monteringspunkt og bindepunktet.

Selv om vi demonterer filsystemet fra sitt originale monteringspunkt, kan du fortsatt få tilgang til filsystemet fra sin bundne katalog. Filsystemet må også demonteres fra den katalogen.

sudo umount /media/dave/isomnt
ls iso
sudo umount iso
ls iso

Montering av Floppy Disk

En floppy-stasjon (med en floppy-disk i den) er en lagringsenhet. Det betyr at en sd (for lagringsenhet) enhetsfil vil bli brukt for å koble til den fysiske enheten. Vi må finne ut hvilken som er neste ledige sd-enhetsfil. Vi kan gjøre dette ved å pipe utdataene fra df gjennom grep og se etter oppføringer med "sd" i dem.

df | grep /dev/sd

På denne datamaskinen er det en enkelt sd-enhetsfil i bruk. Dette er /dev/sda. Den neste sd-enhetsfilen som utstedes vil være /dev/sdb. Dette betyr at når vi kobler floppy-stasjonen til datamaskinen, vil Linux bruke /dev/sdb for å koble til floppy-stasjonen.

Vi vil fortelle mount å montere filsystemet på floppy-disket i floppy-stasjonen som er koblet til /dev/sdb til /mnt monteringspunktet.

Sett floppy-disket inn i floppy-stasjonen og koble floppy-stasjonen til en USB-port på datamaskinen. Kjør følgende kommando:

sudo mount /dev/sdb /mnt

Filsystem Etiketter

Vi kan bruke alternativet -l (etikett) med mount for å finne ut hvilke etiketter, om noen, som er knyttet til et filsystem. Etiketter er ikke mer enn vilkårlige navn. De har ingen funksjonell hensikt.

Vi bruker alternativet -t (type) for å be mount rapportere om vfat filsystemer kun.

mount -l -t vfat

Du vil finne etiketten i kantene i firkantene på slutten av oppføringen. Etiketten for denne floppy-stasjonen er NORTUN.

Vi kan få tilgang til floppy-stasjonen gjennom /mnt monteringspunktet.

cd /mnt
ls
ls -l AMATCH.C

Floppy-disket inneholder C språk kildekodefiler. Datoen for en fil viser at den sist ble endret i oktober 1992. Den er sannsynligvis eldre enn mange av våre lesere. (Unødvendig å si at betydningen av NORTUN som en etikett er tapt i tidens tåke.)

Hvis vi gjentar vår df kommando pipet gjennom grep for å liste sd-enhetsfiler, vil vi se at det nå er to av dem.

df | grep /dev/sd

Vår floppy-stasjon vises som montert på /dev/sdb som vi forventet. Filsystemet på floppy-disket i stasjonen er montert på /mnt.

For å demontere floppy-en bruker vi umount og gir den enhetsfilen som parameter.

sudo umount /dev/sdb

Umount Lazy Alternativet

Hva skjer hvis du (eller en annen bruker) bruker filsystemet når du prøver å demontere det? Demontering vil mislykkes.

sudo umount /dev/sdb

Det mislyktes fordi den nåværende jobben...

Brukermappen er innenfor filsystemet han prøver å demontere. Linux er smart nok til å ikke la deg sage av grenen du sitter på.

For å omgå dette, bruk -l (lat) alternativet. Dette får umount til å vente til filsystemet kan demonteres trygt.

sudo umount -l /dev/sdb
ls
cd ~
ls /mnt

Selv om umount-kommandoen er utstedt, er filsystemet fortsatt montert, og brukeren kan liste filene som vanlig.

Så snart brukeren endrer katalog til sin hjemmekatalog, blir floppy-filsystemet frigitt og demontert. Å prøve å liste filene i /mnt gir ingen resultater.

Montering av Samba-del

Samba er et sett med programvare-tjenester som lar nettverksandeler bli tilgjengelige på tvers av Linux og Unix-liknende operativsystemer, samt Windows-operativsystemer.

Oppsett av Samba er utenfor omfanget av denne artikkelen. Men hvis du har autorisert tilgang til en Samba-del som er gjort tilgjengelig for deg, er dette hvordan du kan montere den i Linux.

En Raspberry Pi som er koblet til det samme nettverket som testmaskinen har en Samba-del på seg. Det er en katalog kalt Backup som har fått Samba-navnet "share." La oss lage en SSH-tilkobling til den og se innholdet i den delte katalogen. Den delte katalogen er på en USB-stasjon montert på Pi.

Brukernavnet er pi, og nettverksnavnet til Raspberry Pi er marineville.local.

ssh [email protected]
ls /media/pi/USB64/Backup
exit

Brukeren gir SSH-kommandoen og blir bedt om sitt Raspberry Pi-passord.

De oppgir passordet sitt og blir autentisert. Terminalvinduets prompt endres til pi@marineville fordi det er koblet til Raspberry Pi.

De lister innholdet i den delte katalogen på /media/pi/USB64/Backup. Innholdet er to kataloger, en kalt dave og en kalt pat. Så nå vet vi hva vi kan forvente når vi monterer Samba-delingen.

De skriver exit for å koble fra Raspberry Pi, og prompten endres tilbake til dave@howtogeek.

For å bruke Samba, må du installere cifs-utils-pakken.

Bruk apt-get for å installere denne pakken på systemet ditt hvis du bruker Ubuntu eller en annen Debian-basert distribusjon. På andre Linux-distribusjoner, bruk pakkebehandlingsverktøyet til din Linux-distribusjon i stedet.

sudo apt-get install cifs-utils

Når installasjonen er fullført, monter delingen med en kommando som følgende, og endre IP-adresse, delingsnavn og monteringspunkt (som må eksistere fra før) for å passe til dine omstendigheter.

sudo mount -t cifs -o credentials=/etc/samba/creds,uid=1000,gid=1000 //192.168.4.13/share /media/dave/NAS

La oss bryte ned delene av den kommandoen.

  • -t cifs: Filtype er cifs.
  • -o credentials=/etc/samba/creds,uid=1000,gid=1000: Alternativparametrene er stien til en fil kalt creds som er sikret og inneholder brukernavn og passord for Raspberry Pi-brukeren; Bruker-ID (UID) og Gruppe-ID (GID) som brukes for å sette eier og gruppe av roten i filsystemet.
  • //192.168.4.13/share: Nettverkslokasjonen til enheten med Samba-deling på, og Samba-navnet til den delte katalogen. Roten av delingen er en katalog kalt Backup, men dens Samba-delingsnavn er satt til share.
  • /media/dave/NAS: Navnet på monteringspunktet. Du må opprette monteringspunktet ditt på forhånd.

Ved å få tilgang til monteringspunktet vårt på /media/dave/NAS får vi tilgang til den delte katalogen på Raspberry Pi over nettverket. Vi kan se de to mappene på Raspberry Pi kalt dave og pat.

cd /media/dave/NAS

Opprettelse og montering av filsystem

Du kan bruke dd kommandoen for å opprette en bilde-fil, og deretter bruke mkfs for å opprette et filsystem inne i den. Dette filsystemet kan deretter bli montert. Dette er en god måte å øve og eksperimentere med mount.

Vi bruker if (inngangsfil) alternativet for å fortelle dd å bruke strømmen av nullverdier fra /dev/zero som input.

Fil.

Utdatafilen er en ny fil kalt geek_fs.

Vi bruker bs (blokker størrelse) alternativet for å be om en blokkstørrelse på 1 MB.

Vi bruker count alternativet for å instruere dd til å inkludere 20 blokker i utdatafilen.

dd if=/dev/zero of=./geek_fs bs=1M count=20

Dette oppretter bildefilen vår. Den inneholder ingenting annet enn nullverdier.

Vi kan lage et fungerende filsystem inne i geek_fs filen ved å bruke kommandoen mkfs. -t (type) alternativet lar oss velge filsystemtype. Vi lager et ext4 system.

mkfs -t ext4 ./geek_fs

Det er alt som skal til for å ha et fungerende filsystem.

La oss montere det på /media/dave/geek og deretter bruke chown for å sette eier- og gruppeeiendommene for å tillate tilgang til det.

sudo mount ./geek_fs /media/dave/geek

sudo chown dave:users /media/dave/geek

Fungerer det? La oss bytte til det nye filsystemet og kopiere inn en fil for å se.

cd /media/dave/geek

cp /etc/fstab .

ls -l

Vi klarte å endre katalog til det nye filsystemet, og vi klarte å lage en kopi av /etc/fstab filen. Det fungerer!

Hvis vi bruker mount for å liste de monterte filsystemene, men begrenser utdataene til ext4 filsystemer ved å bruke -t (type) alternativet, vil vi se at det nå er to monterte ext4 filsystemer.

mount -t ext4

Remontering av et filsystem

Remontering av et filsystem bruker alternativet -o remount. Dette gjøres vanligvis for å endre et filsystem fra en skrivebeskyttet (testing) tilstand til en leseskrive (produksjon) tilstand.

La oss montere floppy-stasjonen vår igjen. Denne gangen bruker vi flagget -r (kun lesing). Deretter vil vi pipe mount gjennom grep og se detaljene i floppy-filsystemet.

sudo mount -r /dev/sdb /mnt

mount | grep /mnt

Som du kan se, indikerer den uthevede ro at filsystemet er montert i skrivebeskyttet modus.

Ved å bruke alternativet -o remount med flagget rw (leseskrive) kan vi avmontere og remontere filsystemet med de nye innstillingene, alt i én kommando.

sudo mount -o remount,rw /mnt

Gjentar vi piping av mount gjennom grep, viser det oss at ro er blitt erstattet av rw (uthevet). Filsystemet er nå i leseskrive-modus.

mount | grep /mnt

Ikke flytting av et filsystem

Du kunne tidligere avmontere et filsystem og montere det på et annet monteringspunkt med én enkelt kommando.

Alternativet -M (flytt) i mount eksisterer spesifikt for å la deg gjøre det. Men det fungerer ikke lenger i Linux-distribusjoner som har gått over til systemd. Og det gjelder de fleste av de store navnene.

Hvis vi prøver å flytte et filsystem fra /mnt til ./geek, mislykkes det og gir feilmeldingen vist nedenfor. Å prøve å liste filene i filsystemet gjennom ./geek gir ingen resultater.

sudo mount -M /mnt ./geek

ls ./geek

Arbeidsrundgangen er å bruke alternativet -B (bind) som vi brukte tidligere for å binde det opprinnelige monteringspunktet til det nye monteringspunktet.

sudo mount -B /mnt ./geek

ls ./geek

Bortsett fra at det ikke frigjør det opprinnelige monteringspunktet, vil dette ha samme praktiske utfall.

Avsluttende observasjoner

Ved å bruke alternativet --make-private var det mulig å tvinge flyttingen til å finne sted på systemd versjoner av Linux. Den teknikken er ikke presentert her av to grunner.

  1. Det kan ha uforutsigbar atferd.
  2. Det var ikke vedvarende og ville trenge å gjentas ved hver omstart.

Devuan Linux bruker SysV init, ikke systemd. En datamaskin ble lastet med den nyeste versjonen av Devuan og testet. Alternativet -M (flytt).

Fungerte som forventet på det systemet.

Bortsett fra systemd problemene med -M (flytt) alternativet, bør du finne bruken av mount og umount enkel. Dette er gode kommandoer å ha i bakhånd når du står overfor et skadet system, og du må begynne å sette filsystemet sammen igjen for hånd.

Hvis du vil lese flere artikler som Hvordan montere og demontere lagringsenheter fra Linux-terminalen, kan du besøke kategorien Linux.

Index
  1. Filsystemet i Linux
  2. Interrogere filsystemet ditt med mount
  3. Interrogere filsystemet ditt med df
  4. Remounting All File Systems in fstab
  5. Mounting an ISO Image
  6. Exploring the ISO Image
  7. Unmounting the ISO Image
  8. Creating a Mount Point
  9. Binding av Monteringspunkt
  10. Bruke umount Med Binder
  11. Montering av Floppy Disk
  12. Filsystem Etiketter
  13. Umount Lazy Alternativet
  14. Montering av Samba-del
  15. Opprettelse og montering av filsystem
  16. Remontering av et filsystem
  17. Ikke flytting av et filsystem
  18. Avsluttende observasjoner

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Go up