Hur Montera och Avmontera lagringsenheter från Linux Terminal

0
802

Filsystem i Linux och Unix-liknande operativsystem som macOS kan monteras, omonterad, och återmonteras på att använda terminalen. Det här är ett kraftfullt och mångsidigt verktyg—här hittar du allt du behöver veta.

Filsystemet För Linux

Filsystem i Linux, macOS, och andra Unix-liknande operativsystem inte använder separat volym kännetecken för lagringsenheter på det sätt som, säg, Windows gör. Windows tilldelar varje volym en enhetsbeteckning C: eller D: och filsystem för varje volym är ett träd av kataloger sitter under att enhetsbeteckning.

I Linux filsystem är ett allt-i-ett katalogträd. En monterad anordning för lagring har sitt filsystem ympade på det trädet, så att det verkar vara en integrerad del av en sammanhängande fil systemet. Den nyligen monterade filsystem kommer att vara tillgänglig via katalog till vilken den är monterad. Denna katalog kallas monteringspunkt för att filsystemet.

Många filsystem är automatiskt monterad vid uppstart eller on-the-fly som lagervolymer ansluten till datorn under körning. Försiktiga system-administratörer kan inaktivera runtime-auto-montera funktioner så att de kan kontrollera anslutningar till systemet.

Detta innebär lagringsenheter som är anslutna under körning inte kan auto-montera och kräver montering manuellt. Montera ett filsystem manuellt kan du fatta beslut om att filsystemet, till exempel om mount punkt kommer att vara och om filsystemet kommer att vara läs-eller läs-och skriv.

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

Förhöra Dina filsystem Med mount

Berget har många alternativ, men att lista alla monterade filsystem på din dator kräver inga alternativ alls. Skriv helt enkelt montera och tryck på Retur:

berget kommer att lista alla anslutna filsystem i terminalfönstret.

Det kan vara svårt att välja genom att dumpa data för att hitta vad du letar efter.

Du kan förbättra produktionen genom att ställa mount för att endast lista de filsystem som är av intresse för dig. De -t (typ) alternativet talar om för mount vilken typ av fil system för att rapportera om.

mount -t tmpfs
mount -t ext4

Som ett exempel, vi har bett mount bara lista tmpfs-filsystem. Vi får en betydligt mer hanterbar utgång.

En tmpfs file system verkar som om det var en vanlig, monterade filsystem, men det är faktiskt lagras i flyktigt minne—tmp-står för tillfälligt—i stället för på en beständig lagring enhet.

Du vill ersätta tmpfs parameter för den filtyp som du är intresserad av.

Vi har också utfärdat ett kommando för att lista ext4-filsystem. På detta test dator, det är en enda filsystemet ext4, det är på enheten sda—den första lagringsenheten monterad, vanligtvis den huvudsakliga hårddisk—och monterad på /, som är roten till filsystemet träd.

Övriga indikatorer:

  • rw: file system är läs-och skrivbara.
  • relatime: kärnan är att använda ett optimerat system för att spela in filen tillgång och modifiering av meta-data.
  • errors=remount -o: Om en tillräckligt allvarliga fel upptäcks, filsystem kommer att återmonteras i skrivskyddat läge för att möjliggöra diagnos.

RELATERAT: Vilken Linux-filsystem Ska Du Använda?

Förhöra Dina filsystem Med df

Df-kommandot kan också användas för att visa vilka filsystem som är monterade och där deras monteringspunkter.

df används utan parametrar ger dig samma information overload problem som berget. Som ett exempel, i Ubuntu Linux, det är en squashfs pseudo-filsystem skapas för varje program som har installerats med kick kommandot. Vem vill se alla dessa?

För att tvinga df för att ignorera dem—eller något annat filsystem av typ— använda -x (utesluta) alternativ:

df -x squashfs

Du kan enkelt se namnen på de filsystem, till sin kapacitet, som används och ledigt utrymme, och deras monteringspunkter.

RELATERAT: Hur du kan Visa ledigt Utrymme och diskanvändning Från Linux Terminal

Att montera Alla filsystem i fstab

Alla filsystem monteras vid uppstart har poster i en fil som heter fstab, som är den file system tabell som ligger i /etc.

Du kan använda mount för att tvinga fram en “refresh” och montera alla filsystem som anges i fstab. Under normala driftsförhållanden, det behövs inte. Det kommer verkligen till sin rätt om du har problem med flera filsystem.

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

sudo mount-a

Visserligen på ett korrekt drift dator, det är en liten besvikelse.

På en dator med filsystemet frågor, men remount kan klara problemen. Om det inte händer, då du kommer åtminstone få diagnostiska meddelanden på skärmen och i systemet loggar som kommer att leda dig att söka reda på orsaken till problemet.

RELATERAT: Vad Är Linux fstab Fil, och Hur Fungerar Det?

Att montera en ISO-Avbildning

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

Detta fungerar med alla ISO-avbildningen. I detta exempel kommer vi råkar vara med en Liten Kärna Linux ISO eftersom det är bekvämt liten och snabb att ladda ner. (En liten Linux-distribution med ett GUI, i 18 MB! Du har antagligen .mp3-filer större än så.)

I samma katalog som den ISO bild, fråga det här kommandot. Ersätta namnet för ISO-fil som du monterar på.

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

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

De -t (typ) alternativet talar om för mount vilken typ av filsystem som vi monterar. Det är en ISO-fil, så vi ger iso9660 typ av föreskrivaren.

-O (alternativ) flagga som används för att skicka extra parametrar att montera. Våra parameter är loop.

Vi använder slingan för att tvinga mount för att använda en loop-enhet-fil för att ansluta till vår ISO-avbildningen. En loop-enhet fil gör att en fil (som den ISO bild) för att monteras och behandlas som om det vore en lagringsenhet.

Enhetsfiler är speciella filer som används som ett gränssnitt så att anslutna enheter visas som om de vore en normal file system file. Detta är en del av allt i Linux är en fil design filosofi.

Det finns många olika typer av enhetsfiler. Vi såg en tidigare när vi konstaterade att endast filsystemet ext4 på detta test maskinen var monterad på / och kallades sda.

För att vara mer exakt, att filsystemet ext4 är på en lagringsenhet som är ansluten till filsystemet via /dev/sda-enhet och filen systemet för lagring enhet monterad på /.

Vi har att ge namnet på den ISO bild av kursen, och vi måste låta montera vet vart vi vill filsystem monteras. Vi har valt att i /mnt.

ISO-avbildningen är monterad. En påminnelse om att ISO-bilder är alltid monterad i read-only läge visas i terminalfönstret.

Utforska ISO-Avbildningen

Nu när det är monterat vi kan navigera kataloger i ISO-avbildningen på samma sätt som alla andra delar av filsystemet. Låt oss lista filer i ISO-avbildningen. Den är monterad på /mnt komma ihåg.

ls /mnt
ls /mnt/cde/

Avmontera ISO-Avbildningen

Att avmontera ett monterat filsystem, använd kommandot umount. Observera att det inte “n” mellan “u” och “m”—kommandot umount och inte “avmontera.”

Du måste berätta umount vilket filsystem du avmonterar. Gör detta genom att tillhandahålla den filsystem mount point.

sudo umount /mnt

Inga nyheter är goda nyheter. Om det finns något att rapportera, så allt gick bra.

Att skapa en monteringspunkt

Du kan skapa och använd dina egna monteringspunkter. Vi kommer att skapa en som heter isomnt och montera vår ISO-avbild på det. En monteringspunkt är bara en katalog. Så att vi kan använda mkdir att skapa vår nya monteringspunkt.

sudo mkdir /media/dave/isomnt

Nu kan vi använda samma kommando format för att montera vår ISO-avbildningen. Den här gången kommer vi inte att montera den på /mnt, vi ska montera den på /media/dave/isomnt/:

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

Vi kan nu få tillgång till den monterade filsystem från vår nya monteringspunkt.

ls /media/dave/isomnt/cde/tillval

Men dessa vägar blir mycket lång. Som snabbt kommer att bli tröttsamt. Låt oss göra något åt det.

Bindande en monteringspunkt

Du kan binda en monteringspunkt till en annan katalog. Den monterade filsystem kan sedan kommas åt antingen genom att den ursprungliga monteringspunkt eller via katalog som är bunden till det.

Här är ett räkneexempel. Vi ska skapa en katalog i vår hemkatalog som heter iso. Sedan ska vi binda monteringspunkt för den ISO bild /media/dave/isomnt till den nya iso-katalogen i vår hemkatalog.

Vi kommer att kunna öppna ISO-avbild genom den ursprungliga monteringspunkten /media/dave/isomnt och genom den nya iso-katalogen. -B (binda) alternativ kräver att namnet på monteringspunkten och namnet på katalogen för att binda det till.

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

Med umount Med Binder

Ett filsystem som har haft sin monteringspunkten är bunden till en annan katalog kräver avmontera från mount point och binda punkt.

Även om vi avmontera filsystem från sin ursprungliga mount point, du kan fortfarande komma åt filsystemet från sina bundna katalog. Filsystemet måste vara avmonterad från att katalogen också.

sudo umount /media/dave/isomnt
ls iso

sudo umount iso
ls iso

Montera en Diskett

En diskettenhet (med en diskett i det) är en lagringsenhet. Det innebär ett sd-minneskort (för lagringsenhet) enhet som filen kommer att användas för att ansluta till den fysiska enheten. Vi måste fastställa vilka är nästa gratis-sd-enheten filen. Vi kan göra detta genom rör produktionen av df genom grep och söker efter poster med “sd” i dem.

df | grep /dev/sd

På den här datorn, det är en enda sd-enhet använder. Detta är /dev/sda. Nästa sd-enhet fil som lämnas ut kommer att vara /dev/sdb. Det innebär att när vi ansluter diskettenhet till datorn, Linux kommer att använda /dev/sdb för att ansluta till diskettenheten.

Vi kommer att tala om för mount att montera filsystem på diskett i diskettenheten som är ansluten till /dev/hdb /mnt monteringspunkt.

Sätt in disketten i diskettenheten och anslut floppy-enheten till en USB-port på datorn. Ge följande kommando:

sudo mount /dev/hdb /mnt

Filsystemet Etiketter

Vi kan använda-l (etikett) alternativ med mount för att ta reda på vad, om något, etiketten är kopplad till en fil systemet. Etiketter är inte mer än godtyckligt namn. De har inget funktionellt syfte.

Vi använder de -t (typ) möjlighet att begära mount för att rapportera om vfat filsystem.

mount -l -t vfat

Du hittar etikett i hakparentes i slutet av prospektet. Den etikett för detta diskettenheten är NORTUN.

Vi kan få tillgång till diskettenheten genom /mnt monteringspunkt.

cd /mnt
ls
ls -l AMATCH.C

Disketten innehåller C-språk källkodsfiler. Datum stämpel av en fil visar den ändrades senast i oktober 1992. Det är förmodligen äldre än många av våra läsare. (Onödigt att säga att den mening som avses i NORTUN som en etikett som är vilse i dimma tid.)

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

df | grep /dev/sd

Våra diskettenheten är att visa monterad på /dev/sdb som vi väntat. Filsystem på diskett i enheten är monterad på /mnt .

Att avmontera den diskett som vi använder umount och passera den enhet som filen som en 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 att demontera det? Avmontera kommer att misslyckas.

sudo umount /dev/sdb

Det misslyckades eftersom den aktuella arbetskatalogen av användaren inom filsystemet han försöker att avmontera. Linux är smart nog att inte låta dig såga av den gren du sitter på.

För att lösa detta använder-l (lat) alternativ. Detta orsakar umount att vänta tills filen kan systemet vara säkert omonterad.

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

Även om kommandot umount utfärdas, filsystemet är fortfarande monterad och användaren kan lista filer som vanligt.

Så snart användaren förändringar katalog till sin hemkatalog, floppy file system är släppt och är omonterad. Försöker att lista filerna i /mnt ger inga resultat.

Montering av en Samba Dela

Samba är en programvara som gör att nätverket aktier som ska kunna nås omväxlande mellan Linux-och Unix-liknande operativsystem och Windows-operativsystem.

Konfigurera Samba ligger utanför ramen för denna artikel. Men, om du har tillåtit tillgång till en Samba-aktie som har gjorts tillgängliga för dig, detta är hur du kan montera den i Linux.

En Raspberry Pi som är ansluten till samma nätverk som testet maskinen har en Samba dela på det. Det är en katalog som heter Backup som har gett Samba namn på “dela”. Låt oss göra en SSH-anslutning till det och titta på innehållet i den delade katalogen. Den delade katalogen finns på en USB-pinne monterad på Pi.

Användarnamnet är pi och nätverkets namn på Raspberry Pi är marineville.lokala.

ssh pi@marineville.local
ls /media/pi/USB64/Backup
avsluta

Användaren frågor SSH kommandot och uppmanas för deras Raspberry Pi lösenord.

De ger sina lösenord och autentiserade. Terminal-fönstret snabba förändringar pi@marineville eftersom den är ansluten till Raspberry Pi.

De lista innehållet i den delade katalogen på /media/pi/USB64/Backup . Innehållet är två kataloger, en som heter dave och en som heter pat. Så nu vet vi vad som väntar när vi montera Samba aktie.

De skriver avsluta om du vill koppla från Raspberry Pi och snabb ändringar tillbaka till dave@howtogeek.

Att använda Samba, måste du installera cifs-utils.

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

sudo apt-get install cifs-utils

När installationen har slutförts, montera aktie med ett kommando som det följande, ändra IP-adress, andel namn och monteringspunkt (som redan finns) för att passa dina förhållanden.

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

Låt oss bryta ner delar av detta kommando.

  • -t cifs: file system type är cifs.
  • -o credentials=/etc/samba/creds,uid=1000,gid=1000: alternativ parametrar är sökvägen till en fil som heter creds som är säkra och innehåller användarnamn och lösenord för Raspberry Pi användarnamn, Användar-ID (UID) och Grupp-ID (GID) som används för att ställa ägaren och gruppen root file system.
  • //192.168.4.13/aktie: Den plats i nätverket av enheten med Samba dela på det, och Samba namnet på den delade katalogen. Roten av en aktie som är en katalog som heter Backup, men dess Samba dela namn är inställd på att dela.
  • /media/dave/NAS: namnet på monteringspunkten. Du måste skapa din mount point i förväg.

Genom att besöka vår mount punkt på /media/dave/NAS-vi har åtkomst till den delade katalogen på Raspberry Pi över nätverket. Vi kan se två mappar på Raspberry Pi heter dave och pat.

cd /media/dave/NAS

Skapa och Montera ett filsystem

Du kan använda kommandot dd för att skapa en image-fil, och använd sedan mkfs för att skapa ett filsystem i den. Som filsystem kan därefter monteras. Detta är ett bra sätt att öva och experimentera med fäste.

Vi använder if (input-fil) möjlighet att berätta dd att använda den ström av nollvärden från att /dev/zero som gedcom-fil.

Den av (utfil) är en ny fil som heter geek_fs.

Vi använder bs (block size) möjlighet att begära ett block size 1 MB.

Vi använder räkna möjlighet att berätta dd till att omfatta 20 block i utdatafilen.

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

Som skapar vår bild-filen för oss. Det innehåller inget annat än noll värden.

Vi kan skapa en fungerande fil system inom geek_fs fil med mkfs-kommandot. De -t (typ) alternativ gör det möjligt för oss att välja file system typ. Vi skapar en ext4-system.

mkfs -t ext4 ./geek_fs

Det är all tid det tar att få en fungerande fil systemet.

Låt oss montera den på /media/dave/geek och sedan använda chown att ägare och grupp delägarskap för att ge tillgång till det.

sudo mount ./geek_fs /media/dave/geek
sudo chown dave:användare /media/dave/geek

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

cd /media/dave/geek
cp /etc/fstab .

ls -l

Vi kunde ändra katalog till den nya filsystemet, och vi har gjort en kopia av /etc/fstab. Det fungerar!

Om vi använder mount för att lista de monterade filsystem men begränsa sin produktion till ext4-filsystem med hjälp av t (typ) alternativ, vi får se att det nu finns två monterade ext4-filsystem.

mount -t ext4

Att montera ett filsystem

Att montera ett filsystem använder -o remount alternativ. Det är vanligtvis göra för att ändra på ett filsystem från en skrivskyddad (testning) tillstånd till en läsa-skriva (produktion).

Låt oss montera vår diskettenhet igen. Denna tid vi kommer att använda -r (read-only) flagga. Sedan ska vi montera röret genom grep och titta på detaljerna i den diskett filsystemet.

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

Som du kan se på den markerade ro anger filsystem som är monterade read-only.

Hjälp -o remount alternativ med rw (läs-och skrivbehörighet) flagga vi kan demontera och montera filsystem med de nya inställningarna, allt i ett kommando.

sudo mount -o remount,rw /mnt

Upprepa rörsystem av berget genom grep visar oss att ro har ersatts av rw (markerad). Filen är nu i läsa-skriva-läge.

mount | grep /mnt

(Inte) om du Flyttar en Fil System

Du använde för att kunna demontera ett filsystem och montera den på en annan monteringspunkt med ett enda kommando.

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

Om vi försöker att flytta en fil från /mnt ./geek, det misslyckas och ger felmeddelande visas nedan. Försöker att lista filer i filer systemprogram igenom ./geek returnerar inga resultat.

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

Lösningen är att använda-B (binda) alternativ som vi tidigare använt för att binda de ursprungliga monteringspunkt för den nya kopplingspunkten.

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

Bortsett från att inte frigöra den ursprungliga monteringspunkt, detta kommer att ha samma praktiska resultat.

Avslutande Synpunkter

Hjälp-gör-privata alternativ det var möjligt att tvinga väg att ta plats på systemd versioner av Linux. Denna teknik är inte presenteras här av två skäl.

  1. Det kan ha oförutsägbara beteende.
  2. Det var inte långlivade och skulle behöva upprepa vid varje omstart.

Devuan Linux använder SysV init inte systemd. Datorn var laddad med den senaste versionen av Devuan och testade. -M (flytta) alternativ arbetat som väntat på det systemet.

Bortsett från systemd problem med -Msek (flytta) alternativ, bör du hitta användningen av mount och umount enkelt. Dessa är bra kommandon att få upp ärmen när man står inför ett skadat system, och du har för att börja pussla filsystemet tillbaka ihop för hand.