GNU/Linux >> Znalost Linux >  >> Linux

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

Souborový systém umístěný na zařízení SATA/PATA nebo SCSI musí být pro přístup k němu připojen ručně. Příkaz mount umožňuje uživateli root ručně připojit systém souborů. První argument příkazu mount určuje systém souborů, který se má připojit. Druhý argument určuje cílový adresář, kde je souborový systém po připojení zpřístupněn. Cílový adresář se nazývá bod připojení.

Obecná syntaxe pro připojení souborového systému pomocí připojení je:

# mount [-t file_system_type] [-o mount_options] device mount_point_directory

Pomocí mount můžete přepsat výchozí nastavení v /etc/fstab. Například zadáním následujícího připojíte oddíl /dev/sdd1 do adresáře /data:

# mount /dev/sdd1 /data

Typ souborového systému obvykle neuvádíte, protože je rozpoznán automaticky (pomocí magických čísel v superbloku, nebo jednoduše vyzkoušením různých typů souborového systému; podrobnosti viz man mount).

Níže jsou uvedeny některé z možností, které můžete použít při připojování souborového systému pomocí příkazu mount nebo jejich zadáním do /etc/fstab.

  • opětovné připojení . Tato možnost způsobí opětovné připojení souborových systémů, které jsou již připojeny. Když provedete změnu voleb v /etc/fstab, můžete použít remount k začlenění změn.
  • rw, ro . Tyto možnosti udávají, zda má být systém souborů zapisovatelný (rw) nebo pouze čitelný (ro).
  • synchronizovat, asynchronně . Tyto možnosti nastavují synchronní (synchronizace) nebo asynchronní (asynchronní) vstup a výstup v systému souborů. Výchozí nastavení je async.
  • atime, noatime . Tyto volby nastavují, zda je čas přístupu k souboru aktualizován v inode (atime) nebo ne (noatime). Možnost noatime by měla zlepšit výkon.
  • nodev, dev . Možnost nodev zabraňuje tomu, aby byly soubory zařízení jako takové v systému souborů interpretovány.
  • noexec, exec . Spouštění programů na souborovém systému můžete zakázat pomocí volby noexec.
  • nosuid, suid . Volba nosuid zajišťuje, že bity suid a sgid v systému souborů budou ignorovány.

Některé volby mají smysl pouze v souboru /etc/fstab. Tyto možnosti zahrnují následující:

  • auto, noauto . Souborové systémy nastavené s volbou noauto v souboru /etc/fstab nejsou připojeny automaticky při startu systému.
  • uživatel, nouser . Tato možnost umožňuje uživatelům připojit systém souborů. Normálně je to privilegium uživatele root.
  • výchozí . Tato možnost způsobí, že se použijí výchozí možnosti rw, suid, dev, exec, auto, nouser a async.

Možnosti noauto a uživatel jsou obvykle kombinovány pro vyměnitelná média, jako jsou diskety nebo jednotky CD-ROM.

Odpojte systém souborů

Jakmile je systém souborů připojen, můžete k odpojení systému souborů použít příkaz umount (bez „n“). Souborový systém můžete odpojit pomocí umount se zařízením nebo bodem připojení.
Chcete-li například odpojit souborový systém (dev/sdd1) připojený k /data, můžete zadat jednu z následujících možností:

# umount /data

nebo

umount /dev/sdd1

Za účelem odpojení systému souborů nesmí žádná aplikace ani uživatel používat systém souborů. Pokud je používán, Linux vidí souborový systém jako „zaneprázdněný“ a odmítne souborový systém odpojit a vyvolá níže uvedenou chybu.

# umount /data
umount: /data: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

Odpojení není možné, pokud k bodu připojení přistupuje proces. Aby bylo umount úspěšné, musí proces zastavit přístup k bodu připojení.

lsof příkaz vypíše všechny otevřené soubory a procesy, které k nim přistupují, v poskytnutém adresáři. Je užitečné zjistit, které procesy aktuálně brání systému souborů v úspěšném odpojení.

# lsof /data
COMMAND    PID    USER   FD   TYPE DEVICE  SIZE/OFF     NODE NAME
bash      1160    root  cwd    DIR  253,1       180  4194369 /root
rsyslogd   566    root  cwd    DIR  253,1       224       64 /
...

Pomocí příkazu fuser můžete také získat ID procesů aktuálně spuštěných na přípojném bodu, který chcete odpojit.

# fuser -cu /data

Všechny procesy na přípojném bodu můžete také ukončit pomocí příkazu fuser.

# fuser -ck /data

Jakmile jsou procesy identifikovány, lze provést akci, jako je čekání na dokončení procesu nebo odeslání signálu SIGTERM nebo SIGKILL procesu. V tomto případě stačí odpojit přípojný bod.

# umount /data
Poznámka :Běžnou příčinou zaneprázdnění souborového systému v přípojném bodu je, že aktuální pracovní adresář příkazového řádku je pod aktivním přípojným bodem. Proces přistupující k bodu připojení je bash. Změna do adresáře mimo bod připojení umožňuje odpojení zařízení.

Vynutit odpojení souborových systémů

Mohou nastat chvíle, kdy systém (jádro) vidí souborový systém jako zaneprázdněný, bez ohledu na to, co se pokusíte udělat. V těchto případech můžete zadat umount -f vynutit odpojení souborového systému. Toto však doporučujeme používat pouze jako poslední možnost, protože pravděpodobně existuje důvod, proč si jádro myslí, že souborový systém je stále připojený.

# umount -f /mount_point

Zobrazit aktuálně připojené systémy souborů

Aktuálně připojené systémy souborů můžete zobrazit zadáním příkazu mount. Zobrazí se informace podobné následujícím:

# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=487424k,nr_inodes=121856,mode=755)
/dev/vda1 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
...

Tyto informace můžete také zobrazit v souboru /proc/mounts .

Porozumění souboru /etc/fstab v Linuxu


Linux
  1. Jak přesměrovat výstup do souboru a Stdout v Linuxu

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

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

  1. Jak vytvořit a připojit souborový systém Btrfs (vysvětleno na příkladech)

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

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

  1. Jak zkontrolovat verzi OS a Linuxu

  2. Jak připojit soubor iso v Linuxu

  3. Jak připojit soubor ISO v Linuxu?