GNU/Linux >> Znalost Linux >  >> Linux

Jak připojit a odpojit souborový systém / oddíl v Linuxu (Příklady příkazů Mount/Umount)

Jakmile do systému vložíte nové pevné disky, budete k vytváření oddílů obvykle používat nástroje jako fdisk nebo parted. Jakmile vytvoříte oddíl, použijete příkaz mkfs k vytvoření oddílu ext2, ext3 nebo ext4.

Jakmile vytvoříte oddíl, měli byste použít příkaz mount k připojení oddílu do bodu připojení (adresáře), abyste mohli začít používat souborový systém.

Tento tutoriál vysvětluje vše, co potřebujete vědět o příkazu mount a umount, s 15 praktickými příklady.

Obecná syntaxe příkazu mount pro připojení zařízení:

mount -t type device destination_dir

1. Připojte disk CD-ROM

Soubor zařízení pro CD by existoval v adresáři /dev. Například zařízení CD-ROM bude připojeno, jak je znázorněno níže.

# mount -t iso9660 -o ro /dev/cdrom /mnt

Ve výše uvedeném příkladu volba „-o ro“ označuje, že cdrom by měl být připojen s přístupem pouze pro čtení. Před spuštěním příkazu mount se také ujistěte, že cílový adresář (ve výše uvedeném příkladu /mnt) existuje.

2. Zobrazit všechny držáky

Poté, co spustíte připojení oddílu nebo souborového systému, spusťte příkaz mount bez jakýchkoli argumentů, abyste zobrazili všechna připojení.

V níže uvedeném příkladu po připojení jednotky USB k systému vypadá výstup připojení jako níže. Jak je vidět níže, USB zařízení (tj.:/dev/sdb) je připojeno k /media/myusb, které se zobrazí jako poslední řádek v příkazu mount.

# mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda6 on /mydata type ext2 (rw)
/dev/sda7 on /backup type vfat (rw)
gvfs-fuse-daemon on /home/bala/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=bala)
/dev/sdb on /media/myusb type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks)

Můžete také použít příkaz df k zobrazení všech přípojných bodů.

# df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda5      195069136 128345036  56958520  70% /
udev             2008336         4   2008332   1% /dev
tmpfs             806244       928    805316   1% /run
none                5120         0      5120   0% /run/lock
none             2015604       228   2015376   1% /run/shm
/dev/sda6       17729076    176200  16657596   2% /mydata
/dev/sda7       11707200    573312  11133888   5% /backup
/dev/sdb         3910656   2807160   1103496  72% /media/myusb

3. Připojte všechny souborové systémy uvedené v /etc/fstab

Souborové systémy uvedené v /etc/fstab se připojí během zavádění. Po zavedení systému může správce systému z různých důvodů odpojit některé oddíly. Pokud chcete, aby byly všechny souborové systémy připojeny tak, jak je uvedeno v /etc/fstab, použijte volbu -a s připojením, jak je uvedeno níže:

Příklad položek souboru /etc/fstab:

# cat /etc/fstab
#
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda5 during installation
/dev/sda5 /               ext4    errors=remount-ro 0       1
# /mydata was on /dev/sda6 during installation
/dev/sda6 /mydata         ext2    defaults        0       2
# /backup was on /dev/sda7 during installation
/dev/sda7 /backup         vfat    defaults        0       3

Proveďte příkaz mount s volbou -a pro připojení všech položek /etc/fstab.

# mount -a

# mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda6 on /mydata type ext2 (rw)
/dev/sda7 on /backup type vfat (rw)
gvfs-fuse-daemon on /home/bala/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=bala)

Stejnou volbu -a lze použít s umount k odpojení všech souborových systémů uvedených v /etc/mtab

# umount -a
umount: /run/shm: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /run: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /dev: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

Některé souborové systémy nejsou odpojeny, protože jsou zaneprázdněné nebo právě používané. Všimněte si, že obsah souborů /etc/mtab a /proc/mounts by byl podobný.

4. Připojte pouze konkrétní souborový systém z /etc/fstab

Když pro připojení předáte pouze název adresáře, vyhledá položky bodu připojení, pokud je nenajde, pak bude nepřetržitě hledat zařízení v /etc/fstab a připojí se.

# mount | grep /mydata

# cat /etc/fstab | grep mydata
##########/mydata was on /dev/sda6 during installation##########
 /dev/sda6 /mydata         ext2    defaults        0       2

Jak je vidět výše, adresář /mydata není přípojný bod, ale je přítomen v /etc/fstab.

# mount /mydata

# mount | grep /mydata
/dev/sda6 on /mydata type ext2 (rw)

Pokud totéž provedete znovu, zobrazí se následující chybová zpráva:

# mount /mydata
mount: /dev/sda6 already mounted or /mydata busy
mount: according to mtab, /dev/sda6 is already mounted on /mydata

Zde můžete také zadat název zařízení místo názvu adresáře (který lze získat ze souboru /etc/fstab).

# mount /dev/sda6

Všimněte si, že obsah souborů /etc/mtab a /proc/mounts by byl podobný.

5. Zobrazit všechny připojené oddíly konkrétního typu

Je možné vypsat pouze konkrétní typ připojeného souborového systému pomocí volby -l s -t, jak je uvedeno níže:

# mount -l -t ext2
/dev/sda6 on /mydata type ext2 (rw)

# mount -l -t ext4
/dev/sda5 on / type ext4 (rw,errors=remount-ro)

Jak je vidět výše, /dev/sda6 je jediný oddíl ext2 a /dev/sda5 je podle toho jediný oddíl ext4.

6. Připojte disketu

Soubor zařízení pro disketu by existoval v adresáři /dev. Například disketa bude připojena, jak je znázorněno níže.

# mount /dev/fd0 /mnt
# cd /mnt

Po úspěšném připojení budete mít přístup k obsahu diskety. Jakmile s tím skončíte, použijte umount, než disketu fyzicky odeberete ze systému.

# umount /mnt

7. Svázat přípojné body s novým adresářem

Přípojný bod lze svázat s novým adresářem. Takže budete moci přistupovat k obsahu souborového systému přes více než jeden přípojný bod současně.

Použijte volbu -B s olddir a newdir, aby byly svázány následovně,

# mount -B /mydata /mnt

Nyní je vazba hotová a můžete ji ověřit následovně

# mount | grep /mydata
/dev/sda6 on /mydata type ext2 (rw)
/mydata on /mnt type none (rw,bind)

Jak je vidět výše, vazba je provedena správně. Takže když provedete úpravy v souborovém systému na jednom místě, můžete vidět jeho odraz v jiném přípojném bodě, jak je ukázáno níže:

# cd /mydata
# ls
test
# mkdir dir1
# mkdir dir2
# ls
test    dir1    dir2
# cd /mnt
# ls
test    dir1    dir2

8. Přístup k obsahu z nového přípojného bodu

Připojení umožňuje přístup k obsahu přípojného bodu z nového přípojného bodu. Není to nic jiného než přesunout namontovaný strom na jiné místo.

V níže uvedeném příkladu bude bod připojení /mydata zpřístupněn z /mnt pomocí volby -M, jak je uvedeno níže:

# mount -M /mydata /mnt/

Jakmile je hotovo, nemůžete použít starý přípojný bod při jeho přesunutí do nového přípojného bodu, což lze ověřit, jak je uvedeno níže:

# mount | grep /mydata
# mount | grep /mnt
/dev/sda6 on /mnt type ext2 (rw)

9. Připojte bez zápisu položky do /etc/mtab

Během připojení pouze pro čtení /etc/ nelze položky souboru /etc/mtab upravit příkazem mount. Připojení však lze provést bez zápisu do /etc/mtab pomocí volby -n následovně,

# mount -n /dev/sda6 /mydata

Nemůžete vidět žádnou položku pro tento /mydata ve výstupu příkazu mount a také ze souboru /etc/mtab následovně:

# mount | grep /mydata
# cat /etc/mtab | grep /mydata

Přístup k obsahu připojeného adresáře /mydata:

# cd /mydata
# ls
dir1  dir2  test

10. Připojte souborový systém s přístupem pro čtení nebo čtení/zápis

Chcete-li připojit oddíl jako pouze pro čtení, použijte volbu -r, která je synonymem pro -o ro.

# mount /dev/sda6 /mydata -r
# mount  | grep /mydata
/dev/sda6 on /mydata type ext4 (ro)

Souborový systém ext3 a ext4 by vám stále umožňoval provádět operace zápisu, když je souborový systém špinavý. Takže možná budete muset použít „ro,noload“, abyste zabránili tomuto druhu operací zápisu.

# mount /dev/sda6 /mydata -t ext4 -o ro -o noload
# mount | grep /mydata
/dev/sda6 on /mydata type ext4 (ro,noload)

Chcete-li připojit oddíl s přístupem pro čtení/zápis, použijte volbu -w, která je stejná jako "-o rw" (tj.:výchozí).

11. Znovu připojte připojený souborový systém

Chcete-li připojit již připojený souborový systém, použijte volbu remount a běžně se používá k opětovnému připojení souborového systému s přístupem pro čtení/zápis, když byl dříve připojen s přístupem pro čtení.

Přípojný bod /mydata bude znovu připojen s přístupem pro čtení/zápis z přístupu pro čtení, jak je uvedeno níže:

# mount | grep /mydata
/dev/sda6 on /mydata type ext4 (ro,noload)
# mount -o remount,rw /mydata
# mount | grep /mydata
/dev/sda6 on /mydata type ext4 (rw)

12. Připojte obraz iso do adresáře

Obraz iso lze připojit následovně:

# mount -t iso9660 -o loop pdf_collections.iso /mnt
# cd /mnt
# ls
perl/    php/    mysql/

13. Odpojte více než jeden přípojný bod

Umount vám umožňuje odpojit více než přípojný bod v jednom provedení příkazu umount následovně:

# umount /mydata  /backup
# mount | grep /mydata
# mount | grep /backup

14. Líné odpojení souborového systému

Toto je speciální volba v umount pro případ, že chcete odpojit oddíl po dokončení diskových operací. S tímto oddílem můžete zadat příkaz umount -l a odpojení bude provedeno po dokončení diskových operací.

Zvažte například scénář, kdy úloha (tj. skript nebo jakýkoli jiný příkaz) provádí operaci kopírování na disk a zároveň máte povoleno provést odpojení pomocí -l, takže odpojení bude provedeno po kopírování je u konce (tj. operace disku).

# umount /mydata -l

15. Vynucené odpojení souborového systému

umount poskytuje možnost násilně odpojit souborový systém pomocí volby -f, když je zařízení zaneprázdněné, jak je uvedeno níže:

# umount -f /mnt

Pokud to pro vás nefunguje, můžete přejít na líné odpojení.

Mezitím se můžete také podívat na výstup příkazu ps, který proces aktuálně používá přípojný bod, jak je uvedeno níže:

# ps ajx | grep /mydata
 2540  3037  3037  2468 pts/2     3037 D+       0   0:00 cp -r /home/geekstuff/ProjectData/ /mydata

Můžete také spustit příkaz fuser, abyste zjistili, který proces drží adresář pro operace.

# fuser -cu /mydata
/mydata:              3087(root)

Poskytuje vám ID procesu s uživatelským jménem (nic než vlastník procesu). Pokud víte, co je to za proces, možná budete chtít tento proces zastavit a potom zkusit umount znovu.


Linux
  1. Jak připojit a odpojit disky v systému Linux

  2. Jak zjistit typ souboru Img a připojit jej?

  3. 10 Příklady příkazů Linux Fsck ke kontrole a opravě souborového systému

  1. Jak vytvořit a připojit souborové systémy v Linuxu

  2. Jak připojit a odpojit souborový systém v Linuxu

  3. Jak zaregistrovat typ souborového systému FUSE pomocí mount(8) a fstab?

  1. Jak zkontrolovat, zda je oddíl připojen jako „noexec“?

  2. Jak vytvořit soubor a připojit jej jako souborový systém?

  3. Jak připojit souborový systém v prostředí pouze pro čtení?