Hur man monterar och avmonterar lagringsenheter från Linux-terminalen

Hur man monterar och avmonterar lagringsenheter från Linux-terminalen
Index
  1. Det Linux Filsystemet
  2. Interrogation av Ditt Filsystem Med mount
  3. Interrogation av Ditt Filsystem Med df
  4. Remounting av alla filsystem i fstab
  5. Montera en ISO-bild
  6. Utforska ISO-bilden
  7. Avmontera ISO-bilden
  8. Skapa en monteringspunkt
  9. Bindning av en Monteringspunkt
  10. Använda umount Med Bindningar
  11. Montering av en Floppy Disk
  12. Filsystem Etiketter
  13. Umount Lat Alternativ
  14. Montera en Samba-dela
  15. Skapa och montera ett filsystem
  16. Ommontering av ett filsystem
  17. Inte flytta ett filsystem
  18. Slutliga observationer

Lär dig att montera, avmontera och ommontera filsysten i Linux och Unix-liknande system med kraftfulla terminalkommandon för att optimera din arbetsmiljö.

Filsystem i Linux och Unix-liknande operativsystem som macOS kan monteras, avmonteras och ommonteras med terminalen. Det här är ett kraftfullt och mångsidigt verktyg—här är allt du behöver veta.

Det Linux Filsystemet

Filsystemen i Linux, macOS och andra Unix-liknande operativsystem använder inte separata volymidentifierare för lagringsenheter på samma sätt som exempelvis Windows. Windows tilldelar varje volym ett enhetsbokstav som C: eller D: och filsystmet för varje volym är en trädstruktur av kataloger som ligger under den enhetsbokstaven.

I Linux är filsystmet en integrerad katalogträd. En monterad lagringsenhet har sitt filsystm upplagt på det trädet vilket gör att det verkar vara en del av ett enhetligt filsystm. Det nyligen monterade filsystmet kommer att vara tillgängligt via katalogen dit det är monterat. Den katalogen kallas monteringspunkt för det filsystmet.

Många filsystm är automatmonterade vid boot-tid eller under körning när lagringsvolymer kopplas till datorn. Försiktiga systemadministratörer kan stänga av automatmonteringsfunktioner under körning för att få bättre kontroll över anslutningarna till systemet.

Detta innebär att lagringsenheter som kopplas under körning kanske inte auto-monteras och kommer att kräva manuell montering. Att montera ett filsystm manuellt låter dig fatta beslut om det filsystmet, såsom var monteringspunkten kommer att vara och om filsystmet ska vara skrivskyddat eller skrivbart.

[enlazatom_show_links]

Oavsett om det är av nödvändighet eller genom val, ger kommandona mount, umount och remount dig möjlighet att ta kontroll över den här viktiga aspekten av ditt Linux-system.

Interrogation av Ditt Filsystem Med mount

Mount har ett väldigt stort antal alternativ, men för att lista alla monterade filsystm på din dator krävs inga alternativ alls. Skriv helt enkelt mount och tryck på Enter:

mount kommer att lista alla anslutna filsystm i terminalfönstret.

Det kan vara svårt att gå igenom den mängden data för att hitta vad du letar efter.

Du kan förfina utskriften genom att be mount att lista endast de filsystm som intresserar dig. Alternativet -t (typ) talar om för mount vilken typ av filsystm som ska rapporteras om.

mount -t tmpfs
mount -t ext4

Som ett exempel har vi bett mount att lista endast tmpfs filsystm. Vi får en mycket mer hanterbar utskrift.

Ett tmpfs filsystm verkar som om det vore ett vanligt, monterat filsystm men det lagras faktiskt i volatil minne—tmp står för temporära—in istället för på en konstant lagringsenhet.

Du kommer att vilja ersätta tmpfs parametern med den filtypen som du är intresserad av.

Vi har också utfärdat ett kommando för att lista ext4 filsystm. På den här testdatorn finns det ett enda ext4 filsystm, det är på enheten sda—den första lagringsenheten som monterades, vanligtvis huvuddisk—och monterat på /, vilket är roten av filsystmeträd.

De andra indikatorerna betyder:

  • rw: Filsystemet är läsbart och skrivbart.
  • relatime: Kärnan använder ett optimerat schema för att registrera filåtkomst och modifieringsmetadata.
  • errors=remount -o: Om ett tillräckligt allvarligt fel upptäcks, kommer filsystmet att monteras om i skrivskyddat läge för att tillåta diagnos.

Interrogation av Ditt Filsystem Med df

Kommandot df kan också användas för att visa vilka filsystm som är monterade och var deras monteringspunkter finns.

df som används utan parametrar ger dig samma informationsöverbelastningsproblem som mount. Som ett exempel, i Ubuntu Linux, finns det ett squashfs pseudo-filsystem skapat för varje applikation som har installerats med snap-kommandot. Vem vill se alla dessa?

För att tvinga df att ignorera dem—eller något annat filsystmtyp—använd alternativet -x (exkludera):

df -x squashfs

Du kan enkelt se namnen på filsystm, deras kapacitet, använt och ledigt utrymme, och deras monteringspunkter.

Remounting av alla filsystem i fstab

Alla filsystem som monteras vid boot-tid har poster i en fil som kallas fstab, vilket är filsystemtabellen som ligger inom /etc.

Du kan använda mount för att tvinga en "uppfräschning" och remontera alla filsystem som listas i fstab. Under normala driftsförhållanden är detta inte nödvändigt. Det kommer verkligen till sin rätt om du har problem med flera filsystem.

Du kommer att behöva använda sudo, så du kommer att bli ombedd att ange ditt lösenord.

sudo mount -a

Visserligen, på en korrekt fungerande dator, är det lite av en besvikelse.

På en dator med filsystemproblem kan dock remonte lösa problemen. Om det inte sker, får du åtminstone diagnostiska meddelanden på skärmen och i systemloggarna som vägleder dig att söka orsaken till problemet.

Montera en ISO-bild

Det är enkelt att montera en ISO-bild så att du kan komma åt dess innehåll som en del av filsystemet.

Detta fungerar med vilken ISO-bild som helst. I detta exempel använder vi en Tiny Core Linux ISO eftersom den är bekvämt liten och snabb att ladda ner. (En liten Linux-distribution med ett GUI, på 18 MB! Du har förmodligen MP3-filer som är större än så.)

I samma katalog som ISO-bilden, utför detta kommando. Ersätt namnet på ISO-filen som du monterar.

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

Eftersom vi behöver använda sudo kommer du att behöva ange ditt lösenord.

Alternativet -t (typ) talar om för mount vilken typ av filsystem vi monterar. Det är en ISO-fil, så vi anger typangivaren iso9660.

Flaggan -o (alternativ) används för att skicka extra parametrar till mount. Vår parameter är loop.

Vi använder loop för att tvinga mount att använda en loop-enhetsfil för att koppla till vår ISO-bild. En loop-enhetsfil gör att en fil (som ISO-bilden) kan monteras och behandlas som om den vore en lagringsenhet.

Enhetsfiler är speciella filer som används som ett gränssnitt så att anslutna enheter framstår som om de vore en vanlig filsystemfil. Detta är en del av designfilosofin att allt i Linux är en fil.

Det finns många olika typer av enhetsfiler. Vi såg en tidigare när vi noterade att det enda ext4 filsystemet på denna testmaskin var monterat på / och kallades sda.

För att vara mer exakt, det ext4 filsystemet är på en lagringsenhet som är ansluten till filsystemet genom en /dev/sda enhetsfil och filsystemet på den lagringsenheten är monterat på /.

Vi måste naturligtvis ange namnet på ISO-bilden, och vi behöver låta mount veta var vi vill att filsystemet ska monteras. Vi har valt /mnt.

ISO-bilden är monterad. En påminnelse om att ISO-bilder alltid monteras i läs- endast läge visas i terminalfönstret.

Utforska ISO-bilden

Nu när den är monterad kan vi navigera i katalogerna i ISO-bilden på samma sätt som med vilken annan del av filsystemet som helst. Låt oss lista filerna i ISO-bilden. Den är monterad på /mnt, kom ihåg.

ls /mnt
ls /mnt/cde/

Avmontera ISO-bilden

För att avmontera ett monterat filsystem, använd kommandot umount. Notera att det inte finns något "n" mellan "u" och "m" – kommandot är umount och inte "unmount."

Du måste ange för umount vilket filsystem du avmonterar. Gör så genom att ange filsystemets monteringspunkt.

sudo umount /mnt

Ingen nyhet är god nyhet. Om det inte finns något att rapportera, gick allt bra.

Skapa en monteringspunkt

Du kan skapa och använda dina egna monteringspunkter. Vi kommer att skapa en som kallas isomnt och montera vår ISO-bild på den. En monteringspunkt är bara en katalog. Så vi kan använda mkdir för att skapa vår nya monteringspunkt.

sudo mkdir /media/dave/isomnt

Nu kan vi använda samma kommandoformat som tidigare för att montera vår ISO-bild. Denna gång kommer vi inte att montera den på /mnt, vi kommer att montera den på /media/dave/isomnt/:

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

Vi kan nu komma åt det monterade filsystemet från vår nya monteringspunkt.

ls /media/dave/isomnt/cde/optional

Men de här sökvägarna blir mycket långa. Det kommer snart att bli tröttsamt. Låt oss göra något åt det.

Bindning av en Monteringspunkt

Du kan binda en monteringspunkt till en annan katalog. Det monterade filsystemet kan då nås antingen genom den ursprungliga monteringspunkten eller genom den katalog som är bunden till den.

Här är ett exempel. Vi skapar en katalog i vår hemkatalog som heter iso. Sedan binder vi monteringspunkten för ISO-avbilden /media/dave/isomnt till den nya iso-katalogen i vår hemkatalog.

Vi kommer att kunna komma åt ISO-avbilden genom den ursprungliga monteringspunkten /media/dave/isomnt och genom den nya iso-katalogen. Alternativet -B (bind) kräver namnet på monteringspunkten och namnet på katalogen att binda den till.

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

Använda umount Med Bindningar

En filsystem som har fått sin monteringspunkt bunden till en annan katalog kräver avmontering från sin monteringspunkt och bindningspunkten.

Även om vi avmonterar filsystemet från sin ursprungliga monteringspunkt kan du fortfarande komma åt filsystemet från den bundna katalogen. Filsystemet måste också avmonteras från den katalogen.

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

Montering av en Floppy Disk

En floppy-enhet (med en floppy-disk i den) är en lagringsenhet. Det betyder att en sd (för lagringsenhet) enhetsfil kommer att användas för att koppla till den fysiska enheten. Vi måste fastställa vilken som är nästa lediga sd-enhetsfil. Vi kan göra detta genom att pipeta utdata från df genom grep och leta efter poster med "sd" i dem.

df | grep /dev/sd

På den här datorn används en enda sd-enhetsfil. Detta är /dev/sda. Den nästa sd-enhetsfilen som utfärdas kommer att vara /dev/sdb. Det betyder att när vi kopplar floppy-enheten till datorn kommer Linux att använda /dev/sdb för att koppla till floppy-enheten.

Vi ska säga till mount att montera filsystemet på floppy-disketten i floppy-enheten som är kopplad till /dev/sdb till /mnt monteringspunkt.

Infoga floppy-disketten i floppy-enheten och koppla floppy-enheten till en USB-port på datorn. Utför följande kommando:

sudo mount /dev/sdb /mnt

Filsystem Etiketter

Vi kan använda alternativet -l (etikett) med mount för att ta reda på vilken etikett, om någon, som är kopplad till ett filsystem. Etiketter är inte mer än godtyckliga namn. De har ingen funktionell syfte.

Vi använder alternativet -t (typ) för att be mount att rapportera om vfat filsystem endast.

mount -l -t vfat

Du hittar etiketten inom hakparenteser i slutet av listan. Etiketten för denna floppy-enhet är NORTUN.

Vi kan nå floppy-enheten genom /mnt monteringspunkt.

cd /mnt
ls
ls -l AMATCH.C

Floppy-disketten innehåller C-språk källkodsfiler. Datumstämpeln på en fil visar att den senast ändrades i oktober 1992. Den är förmodligen äldre än många av våra läsare. (Det behöver kanske inte sägas att betydelsen av NORTUN som etikett är förlorad i tidens dimmor.)

Om vi upprepar vårt df pipade genom grep kommando för att lista sd-enhetsfiler, kommer vi att se att det nu finns två av dem.

df | grep /dev/sd

Vår floppy-enhet visas som monterad på /dev/sdb som vi förväntade oss. Filsystemet på floppy-disketten i enheten är monterat på /mnt.

För att avmontera floppy-enheten använder vi umount och anger enhetsfilen som parameter.

sudo umount /dev/sdb

Umount Lat Alternativ

Vad händer om du (eller en annan användare) använder filsystemet när du försöker avmontera det? Avmonteringen kommer att misslyckas.

sudo umount /dev/sdb

Det misslyckades eftersom det aktuella arbetet.

Användarens katalog ligger inom filsystemet som han försöker avmontera. Linux är smart nog att inte låta dig såga av den gren du sitter på.

För att övervinna detta, använd alternativet -l (lat). Detta får umount att vänta tills filsystemet kan avmonteras på ett säkert sätt.

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

Trots att kommandot umount utfärdas, är filsystemet fortfarande monterat, och användaren kan lista filerna som vanligt.

S så snart användaren byter katalog till sin hemkatalog släpps floppydiskfilsystemet och avmonteras. Försöker man lista filerna i /mnt ger inga resultat.

Montera en Samba-dela

Samba är en uppsättning mjukvarutjänster som gör att nätverksdelningar kan nås utbytbart mellan Linux och Unix-liknande operativsystem, samt Windows operativsystem.

Att sätta upp Samba är bortom ramen för denna artikel. Men om du har auktoriserad åtkomst till en Samba-dela som har gjorts tillgänglig för dig, så här kan du montera den i Linux.

En Raspberry Pi ansluten till samma nätverk som testmaskinen har en Samba-dela på sig. Det är en katalog som heter Backup och har fått Samba-namn "share." Låt oss göra en SSH-anslutning till den och titta på innehållet i den delade katalogen. Den delade katalogen finns på ett USB-minne monterat på Pi.

Användarnamnet är pi och nätverksnamnet på Raspberry Pi är marineville.local.

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

Användaren utfärdar SSH-kommandot och uppmanas ange sitt Raspberry Pi-lösenord.

De anger sitt lösenord och blir autentiserade. Terminalfönstrets prompt ändras till pi@marineville eftersom det är anslutet till Raspberry Pi.

De listar innehållet i den delade katalogen vid /media/pi/USB64/Backup. Innehållet är två kataloger, en som heter dave och en som heter pat. Så nu vet vi vad vi kan förvänta oss när vi monterar Samba-delan.

De skriver exit för att koppla från Raspberry Pi och prompten ändras tillbaka till dave@howtogeek.

För att använda Samba måste du installera paketet cifs-utils.

Använd apt-get för att installera detta paket på ditt system om du använder Ubuntu eller en annan Debian-baserad distribution. På andra Linux-distributioner, använd din Linux-distributions pakethanteringsverktyg istället.

sudo apt-get install cifs-utils

När installationen är klar, montera delningen med ett kommando som följande, och ändra IP-adressen, delningsnamnet och monteringspunkten (som måste finnas i förväg) för att passa din situation.

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

Låt oss bryta ner delarna av det kommandot.

  • -t cifs: Filsystemstypen är cifs.
  • -o credentials=/etc/samba/creds,uid=1000,gid=1000: Alternativets parametrar är sökvägen till en fil som heter creds som är säker och innehåller användarnamnet och lösenordet för Raspberry Pi-användaren; Användar-ID (UID) och Grupp-ID (GID) som används för att ställa in ägaren och gruppen för roten av filsystemet.
  • //192.168.4.13/share: Nätverksplatsen för enheten med Samba-delan på sig, och Samba-namnet för den delade katalogen. Roten av delan är en katalog som heter Backup, men dess Samba-dela namn är inställt på share.
  • /media/dave/NAS: Namnet på monteringspunkten. Du måste skapa din monteringspunkt i förväg.

Genom att komma åt vår monteringspunkt på /media/dave/NAS får vi åtkomst till den delade katalogen på Raspberry Pi över nätverket. Vi kan se de två mapparna på Raspberry Pi som heter dave och pat.

cd /media/dave/NAS

Skapa och montera ett filsystem

Du kan använda kommandot dd för att skapa en avbildningsfil, och sedan använda mkfs för att skapa ett filsystem inuti den. Det filsystemet kan sedan monteras. Detta är ett bra sätt att öva och experimentera med mount.

Vi använder alternativet if (ingångsfil) för att tala om för dd att använda strömmen av nollvärden från /dev/zero som ingång.

fil.

Utdatafilen of är en ny fil kallad geek_fs.

Vi använder alternativet bs (blockstorlek) för att begära en blockstorlek på 1 MB.

Vi använder alternativet count för att säga till dd att inkludera 20 block i utdatafilen.

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

Det skapar vår bildfil. Den innehåller endast nollvärden.

Vi kan skapa ett fungerande filsystem inuti geek_fs filen med kommandot mkfs. Alternativet -t (typ) låter oss välja filsystemtyp. Vi skapar ett ext4 system.

mkfs -t ext4 ./geek_fs

Det är allt som krävs för att få ett fungerande filsystem.

Låt oss montera det på /media/dave/geek och sedan använda chown för att sätta ägarskap och gruppägarskap för att tillåta åtkomst till det.

sudo mount ./geek_fs /media/dave/geek
sudo chown dave:users /media/dave/geek

Fungerar det? Låt oss byta till det nya filsystemet och kopiera in en fil för att se.

cd /media/dave/geek
cp /etc/fstab .
ls -l

Vi kunde byta katalog till det nya filsystemet, och vi lyckades göra en kopia av filen /etc/fstab. Det fungerar!

Om vi använder mount för att lista de monterade filsystemen men begränsar utdata till ext4 filsystem med hjälp av alternativet -t (typ), kommer vi att se att det nu finns två monterade ext4 filsystem.

mount -t ext4

Ommontering av ett filsystem

Ommontering av ett filsystem använder alternativet -o remount. Det görs vanligtvis för att ändra ett filsystem från ett skrivskyddat (test) tillstånd till ett läs- och skrivbart (produktions) tillstånd.

Låt oss montera vår diskett en gång till. Denna gång använder vi flaggan -r (endast läsning). Sedan pipar vi mount genom grep och tittar på detaljerna om diskettsystemet.

sudo mount -r /dev/sdb /mnt
mount | grep /mnt

Som du kan se indikerar det markerade ro att filsystemet är monterat som skrivskyddat.

Genom att använda alternativet -o remount med flaggan rw (skrivbart) kan vi avmontera och ommontera filsystemet med de nya inställningarna, allt i ett enda kommando.

sudo mount -o remount,rw /mnt

Genom att upprepa pipningen av mount genom grep ser vi att ro har ersatts av rw (markerat). Filsystemet är nu i läs- och skrivläge.

mount | grep /mnt

Inte flytta ett filsystem

Du kunde tidigare avmontera ett filsystem och ommontera det på en annan monteringspunkt med ett enda kommando.

Alternativet -M (flytta) i mount finns specifikt för att låta dig göra det. Men det fungerar inte längre i Linux-distributioner som har övergått till systemd. Och det är de flesta av de stora namnen.

Om vi försöker flytta ett filsystem från /mnt till ./geek misslyckas det och ger felmeddelandet som visas nedan. Att försöka lista filerna i filsystemet genom ./geek ger inga resultat.

sudo mount -M /mnt ./geek
ls ./geek

Arbetssättet är att använda alternativet -B (bind) som vi använde tidigare för att binda den ursprungliga monteringspunkten till den nya monteringspunkten.

sudo mount -B /mnt ./geek
ls ./geek

Förutom att det inte frigör den ursprungliga monteringspunkten, kommer detta att ge samma praktiska resultat.

Slutliga observationer

Genom att använda alternativet --make-private var det möjligt att tvinga flytten att äga rum på systemd versioner av Linux. Den tekniken presenteras inte här av två skäl.

  1. Den kan ha oförutsägbart beteende.
  2. Den var inte ihållande och skulle behöva upprepas vid varje omstart.

Devuan Linux använder SysV init inte systemd. En dator laddades med den senaste versionen av Devuan och testades. Alternativet -M (flytta).

Fungerade som förväntat på det systemet.

Bortsett från systemd-problemen med -M (flytta)-alternativet, bör du upptäcka att användningen av mount och umount är enkel. Dessa är bra kommandon att ha till hands när du står inför ett skadat system och måste börja sätta ihop filsystemet för hand.

Nu när du har läst klart Hur man monterar och avmonterar lagringsenheter från Linux-terminalen, inbjuder vi dig att utforska kategorin Linux ytterligare. Där hittar du fler intressanta artiklar som kommer att utöka dina kunskaper och hålla dig informerad. Sluta inte läsa och upptäcka mer!

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Go up