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.