Jak připojit a odpojit úložná zařízení z terminálu Linux

Souborové systémy v operačních systémech Linux a Unix, jako je macOS, lze připojit, odpojit a znovu připojit pomocí terminálu. Jedná se o výkonný a všestranný nástroj - zde je vše, co potřebujete vědět.

Systém souborů Linux

Souborové systémy v Linuxu, macOS a dalších operačních systémech podobných Unixu nepoužívají samostatné identifikátory svazků pro úložná zařízení způsobem, který, řekněme, dělá Windows. Systém Windows přiřadí každému svazku písmeno jednotky, například C: nebo D:, a souborový systém pro každý svazek je strom adresářů pod tímto písmenem jednotky.

V systému Linux je souborový systém adresářovým stromem typu vše v jednom. Připojené úložné zařízení má svůj systém souborů naroubovaný na tento strom, takže se jeví jako nedílná součást jednoho soudržného systému souborů. Nově připojený souborový systém bude přístupný prostřednictvím adresáře, ke kterému je připojen. Tento adresář se nazývá přípojný bod pro daný systém souborů.

Mnoho souborových systémů je připojeno automaticky při spuštění nebo za chodu jako úložné svazky připojené k počítači za běhu. Opatrní správci systému mohou vypnout funkce automatického připojení za běhu, aby mohli ovládat připojení k systému.

To znamená, že úložná zařízení připojená za běhu se nemusí připojit automaticky a budou vyžadovat ruční připojení. Ruční připojení systému souborů vám umožní rozhodovat o tomto systému souborů, například kde bude přípojný bod a zda systém souborů bude jen pro čtení nebo pro čtení a zápis.

Ať už je to z nutnosti, nebo prostřednictvím volby jsou mount, umounta remountpříkazy vám možnost převzít kontrolu nad tímto důležitým aspektem systému Linux.

Dotazujte se na svůj souborový systém s připojením

Mount má mnoho možností, ale seznam všech připojených souborových systémů v počítači nevyžaduje vůbec žádné možnosti. Jednoduše zadejte mounta stiskněte klávesu Enter:

mount zobrazí seznam všech připojených souborových systémů v okně terminálu.

Může být obtížné procházet tímto výpisem dat a najít to, co hledáte.

Výstup můžete zpřesnit tak, že požádáte mounto vypsání pouze těch souborových systémů, které vás zajímají. Volba -t(typ) určuje, o  mountjakém typu souborového systému se má hlásit.

mount -t tmpfs
mount -t ext4

Jako příklad jsme požádali, mountabychom vypsali pouze  tmpfssouborové systémy. Získáváme mnohem lépe zvládnutelný výstup.

tmpfsSouborový systém se zdá, jako by se jednalo o běžné, namontované souborový systém, ale to je ve skutečnosti uložena v energeticky nezávislé paměti-na tmp znamená dočasné místo na trvalé úložiště.

Budete chtít nahradit tmpfsparametr typu souboru, o který máte zájem.

Vydali jsme také příkaz k vypsání ext4souborových systémů. Na tomto testovacím počítači existuje jediný ext4souborový systém, který je na zařízení sda- prvním připojeném úložném zařízení, obvykle hlavním pevném disku - a na /kterém je kořen stromu systému souborů.

Ostatní ukazatele znamenají:

  • rw : Systém souborů je čitelný a zapisovatelný.
  • relatime : Jádro používá optimalizované schéma pro záznam přístupu k souborům a modifikace metadat.
  • errors = remount -o : Pokud je zjištěna dostatečně závažná chyba, systém souborů bude znovu nainstalován v režimu jen pro čtení, aby bylo možné diagnostikovat.

SOUVISEJÍCÍ: Který systém souborů Linux byste měli použít?

Dotazujte se na váš souborový systém pomocí df

dfPříkaz lze také použít k zobrazení, které systémy souborů jsou uloženy a kde jejich Připojovací body jsou.

df použitý bez parametrů vám dá stejný problém s přetížením informací jako mount. Jako příklad lze uvést, že v systému Ubuntu Linux je squashfsvytvořen systém pseudo souborů pro každou aplikaci nainstalovanou pomocí snappříkazu. Kdo je chce vidět?

Chcete-li je donutit dfje ignorovat - nebo jakýkoli jiný typ systému souborů - použijte možnost -x(vyloučit):

df -x squashfs

Můžete snadno vidět názvy souborových systémů, jejich kapacity, použité a volné místo a jejich přípojné body.

SOUVISEJÍCÍ: Jak zobrazit volné místo na disku a využití disku z terminálu Linux

Opětovné připojení všech souborových systémů na fstab

Všechny systémy souborů připojené při spuštění mají položky v souboru s názvem fstab, což je tabulka systému souborů umístěná uvnitř /etc.

Můžete použít mountk vynucení „obnovení“ a opětovnému připojení všech souborových systémů uvedených v seznamu fstab. Za normálních provozních podmínek to není nutné. Opravdu si přijde na své, pokud máte problémy s více systémy souborů.

Budete muset použít sudo, takže budete vyzváni k zadání hesla.

sudo mount -a

Je pravda, že na správně fungujícím počítači je to trochu ohromující.

V počítači s problémy se systémem souborů by však opětovné připojení mohlo problémy vyřešit. Pokud se tak nestane, dostanete alespoň diagnostické zprávy na obrazovce a v systémových protokolech, které vás provedou hledání příčiny problému.

SOUVISEJÍCÍ: Co je soubor Linux fstab a jak to funguje?

Upevnění obrazu ISO

Připojit obraz ISO je snadné, abyste měli přístup k jeho obsahu jako součást systému souborů.

To bude fungovat s jakýmkoli obrazem ISO. V tomto příkladu používáme Tiny Core Linux ISO, protože je pohodlně malý a rychle se stahuje. (Malá distribuce Linuxu s grafickým uživatelským rozhraním, 18 MB! Pravděpodobně máte větší soubory .mp3.)

Ve stejném adresáři jako obraz ISO zadejte tento příkaz. Nahraďte název souboru ISO, který připojujete.

sudo mount -t iso9660 -o smyčka TinyCore-current.iso / mnt

Protože potřebujeme použít sudo, budete muset zadat své heslo.

Možnost -t(typ) říká, mountjaký typ systému souborů připojujeme. Jedná se o soubor ISO, proto poskytujeme iso9660specifikátor typu.

-o(Options) vlajka je používána předat další parametry mount. Náš parametr je loop.

Používáme  loopk vynucení mountpoužití souboru smyčkového zařízení pro připojení k našemu obrazu ISO. Soubor smyčkového zařízení umožňuje připojit soubor (například obraz ISO) a zacházet s ním, jako by šlo o úložné zařízení.

Soubory zařízení jsou speciální soubory používané jako rozhraní, takže připojená zařízení vypadají, jako by šlo o normální souborový systém. Toto je součást všeho v Linuxu je filozofie návrhu souborů.

Existuje mnoho různých typů souborů zařízení. Jeden jsme viděli dříve, když jsme si všimli, že jediný ext4souborový systém na tomto testovacím stroji byl připojen /a byl volán sda.

Přesněji řečeno, tento ext4systém souborů je na úložném zařízení připojeném k systému souborů prostřednictvím souboru  /dev/sda zařízení a systému souborů na tomto úložném zařízení připojeném na /.

Samozřejmě musíme uvést název ISO obrazu a musíme mountvědět, kam chceme souborový systém připojit. Vybrali jsme si /mnt.

ISO obraz je připojen. V okně terminálu se zobrazí připomenutí, že obrázky ISO jsou vždy připojeny v režimu jen pro čtení.

Zkoumání obrazu ISO

Nyní, když je připojen, můžeme navigovat v adresářích v obrazu ISO stejným způsobem jako v jakékoli jiné části systému souborů. Uveďme seznam souborů v obrazu ISO. Je namontován při /mnt zapamatování.

ls / mnt
ls / mnt / cde /

Odpojení obrazu ISO

Chcete-li odpojit připojený souborový systém, použijte umountpříkaz. Všimněte si, že mezi „u“ a „m“ není žádné „n“ - příkaz je, umount nikoli „odpojit“.

Musíte zjistit, umountkterý souborový systém odpojujete. Udělejte to poskytnutím bodu připojení systému souborů.

sudo umount / mnt

Žádné zprávy, dobré zprávy. Pokud není co hlásit, všechno proběhlo dobře.

Vytvoření bodu připojení

Můžete si vytvořit a použít vlastní přípojné body. Vytvoříme jeden s názvem isomnta připojíme k tomu náš ISO obraz. Přípojný bod je pouze adresář. Takže můžeme použít mkdirk vytvoření našeho nového přípojného bodu.

sudo mkdir / media / dave / isomnt

Nyní můžeme k připojení obrazu ISO použít stejný formát příkazu jako dříve. Tentokrát nebudeme namontovat ho na /mnt, budeme jej připojit na /media/dave/isomnt/:

sudo mount -r -t iso9660 -o smyčka TinyCore-current.iso / media / dave / isomnt /

Nyní můžeme přistupovat k připojenému systému souborů z našeho nového bodu připojení.

ls / media / dave / isomnt / cde / volitelné

Ale tyto cesty se prodlužují. To se rychle stane únavným. Pojďme s tím něco udělat.

Vazba přípojného bodu

Můžete připojit přípojný bod k jinému adresáři. K připojenému systému souborů lze poté přistupovat buď přes původní bod připojení, nebo prostřednictvím adresáře, který je k němu připojen.

Zde je fungující příklad. Vytvoříme adresář v našem domovském adresáři s názvem iso. Poté svážeme bod připojení obrazu ISO /media/dave/isomntk novému isoadresáři v našem domovském adresáři.

Budeme mít přístup k obrazu ISO prostřednictvím původního bodu připojení /media/dave/isomnta prostřednictvím nového isoadresáře. Možnost -B(bind) vyžaduje název bodu připojení a název adresáře, ke kterému se má vázat.

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

Použití umount s vazbami

Souborový systém, který má připojovací bod vázán na jiný adresář, vyžaduje odpojení od svého připojovacího bodu a bodu připojení.

I když odpojíme souborový systém z jeho původního bodu připojení, stále k němu můžeme přistupovat z jeho vázaného adresáře. Od tohoto adresáře musí být také odpojen souborový systém.

sudo umount / media / dave / isomnt
jsem iso 
sudo umount iso
jsem iso

Montáž diskety

Disketová jednotka (s disketou v ní) je úložné zařízení. To znamená, že k připojení k fyzickému zařízení bude použit soubor zařízení sd (pro úložné zařízení). Musíme zjistit, který je další bezplatný soubor sd zařízení. Můžeme to udělat pipetováním výstupu dfskrz grepa hledáním záznamů s „sd“ v nich.

df | grep / dev / sd

V tomto počítači je používán jeden soubor sd zařízení. To je /dev/sda. Další vydaný soubor sd zařízení bude /dev/sdb. To znamená, že když připojíme disketovou jednotku k počítači, Linux se /dev/sdbk ní připojí.

Řekneme mountnamontovat souborový systém na disketě v disketové jednotky, který je připojen k /dev/sdbna /mntpřípojný bod.

Vložte disketu do disketové jednotky a připojte disketovou jednotku k portu USB v počítači. Zadejte následující příkaz:

sudo mount / dev / sdb / mnt

Štítky systému souborů

Pomocí možnosti -l(štítek) mountmůžeme zjistit, jaké štítky jsou připojeny k systému souborů. Štítky nejsou nic jiného než libovolné názvy. Nemají žádný funkční účel.

Pomocí možnosti -t(typ) požadujeme  mounthlášení pouze v vfatsouborových systémech.

mount -l -t vfat

Štítek najdete v hranatých závorkách na konci výpisu. Štítek pro tuto disketovou jednotku je NORTUN.

K disketové jednotce můžeme přistupovat přes /mntpřípojný bod.

cd / mnt
je
je -l AMATCH.C

Disketa obsahuje soubory zdrojového kódu jazyka C. Datové razítko jednoho souboru ukazuje, že byl naposledy upraven v říjnu 1992. Je pravděpodobně starší než mnoho našich čtenářů. (Není třeba říkat, že význam NORTUN jako štítku je ztracen v mlhách času.)

Pokud zopakujeme náš příkaz df piped through, grepabychom vypsali soubory sd zařízení, uvidíme, že nyní existují dva z nich.

df | grep / dev / sd

Naše disketová jednotka se zobrazuje tak, /dev/sdbjak jsme očekávali. Souborový systém na disketě v jednotce je připojen na /mnt.

K odpojení diskety, kterou používáme, umounta předání souboru zařízení jako parametru.

sudo umount / dev / sdb

Umount Lazy Option

Co se stane, když (nebo jiný uživatel) používáte systém souborů při pokusu o odpojení? Odpojení se nezdaří.

sudo umount / dev / sdb

To se nezdařilo, protože aktuální pracovní adresář uživatele je v systému souborů, který se pokouší odpojit. Linux je dost chytrý na to, aby vás nenechal odříznout větev, na které sedíte.

Chcete-li to překonat, použijte možnost -l(líný). To způsobí, umountže počkáte, dokud nebude možné bezpečně odpojit systém souborů.

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

I když je umountpříkaz vydán, systém souborů je stále připojen a uživatel může soubory vypsat jako obvykle.

Jakmile uživatel změní adresář na domovský, disketový systém je uvolněn a je odpojen. Pokus o zařazení souborů do seznamu /mntnepřinese žádné výsledky.

Připojení sdílené složky Samba

Samba je sada softwarových služeb, které umožňují zaměnitelný přístup k sdíleným položkám v síti mezi operačními systémy Linux a Unix a operačními systémy Windows.

Nastavení Samby je nad rámec tohoto článku. Pokud však máte autorizovaný přístup ke sdílené položce Samba, která vám byla zpřístupněna, můžete ji takto připojit v Linuxu.

Raspberry Pi připojený ke stejné síti jako testovací stroj má sdílenou složku Samba. Jedná se o adresář s názvem Backup, který pojmenoval Sambu jako „share“. Vytvořme k němu připojení SSH a podívejme se na obsah sdíleného adresáře. Sdílený adresář je na USB flash disku připojeném k Pi.

Uživatelské jméno je pia síťový název Raspberry Pi je marineville.local.

ssh [email protected]
ls / media / pi / USB64 / Backup
výstup

Uživatel vydá SSHpříkaz a bude vyzván k zadání hesla Raspberry Pi.

Poskytují své heslo a jsou ověřeni. Výzva okna terminálu se změní na, [email protected]protože je připojena k Raspberry Pi.

Uvádějí obsah sdíleného adresáře na /media/pi/USB64/Backup. Obsahem jsou dva adresáře, jeden volaný davea druhý volaný pat. Takže teď víme, co můžeme očekávat, když připojíme sdílenou složku Samba.

Typicky exitse odpojí od Raspberry Pi a výzva se změní zpět na [email protected].

Abyste mohli používat Sambu, musíte si cifs-utilsbalíček nainstalovat .

Slouží apt-getk instalaci tohoto balíčku do vašeho systému, pokud používáte Ubuntu nebo jinou distribuci založenou na Debianu. V jiných distribucích Linuxu místo toho použijte nástroj pro správu balíků vaší distribuce Linuxu.

sudo apt-get install cifs-utils

Po dokončení instalace připojte sdílenou složku pomocí příkazu, jako je následující, změňte IP adresu, název sdílené položky a připojovací bod (který již musí existovat) podle vašich okolností.

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

Rozdělme si části tohoto příkazu.

  • -t cifs : Typ systému souborů je cifs.
  • -o credentials = / etc / samba / creds, uid = 1000, gid = 1000 : Parametry voleb jsou cesta k souboru s názvem, credskterý je zabezpečený a obsahuje uživatelské jméno a heslo pro uživatele Raspberry Pi; ID uživatele (UID) a ID skupiny (GID), které se používají k nastavení vlastníka a skupiny kořenového adresáře systému souborů.
  • //192.168.4.13/share : Síťové umístění zařízení, na kterém je sdílená složka Samba, a název Samba sdíleného adresáře. Kořenem sdílené složky je adresář s názvem Backup, ale její název sdílené složky Samba je nastaven na share.
  • / media / dave / NAS : Název bodu připojení. Přípojný bod musíte vytvořit předem.

Přístupem k našemu přípojnému bodu v /media/dave/NASsíti přistupujeme ke sdílenému adresáři na Raspberry Pi. Můžeme vidět dvě složky na Raspberry Pi s názvem davea pat.

cd / media / dave / NAS

Vytvoření a připojení systému souborů

Příkaz můžete použít ddk vytvoření obrazového souboru a poté mkfsk vytvoření souborového systému v něm. Tento souborový systém lze poté připojit. Toto je dobrý způsob, jak cvičit a experimentovat mount.

Používáme ifmožnost (vstupní soubor) říci ddpoužívat proud nulové hodnoty od /dev/zerojako vstupní soubor.

of(Výstupní soubor) je nový soubor s názvem geek_fs.

Pomocí možnosti  bs(velikost bloku) požadujeme velikost bloku 1 MB.

Pomocí této countmožnosti můžeme dddo výstupního souboru zahrnout 20 bloků.

dd if = / dev / zero of./geek_fs bs = 1M počet = 20

Tím se vytvoří náš obrazový soubor pro nás. Neobsahuje nic než nulové hodnoty.

Můžeme vytvořit funkční souborový systém uvnitř geek_fssouboru pomocí mkfspříkazu. Možnost -t(typ) nám umožňuje vybrat typ systému souborů . Vytváříme ext4systém.

mkfs -t ext4 ./geek_fs

To je vše, co potřebujete, abyste měli funkční souborový systém.

Pojďme ho připojit /media/dave/geek a poté pomocí chown nastavit vlastníka a vlastnictví skupiny, aby k němu umožnil přístup.

sudo mount ./geek_fs / media / dave / geek
sudo chown dave: uživatelé / média / dave / geek

Funguje to? Pojďme se přepnout do nového systému souborů a zkopírovat do souboru.

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

Podařilo se nám změnit adresář na nový systém souborů a úspěšně jsme vytvořili kopii /etc/fstabsouboru. Funguje to!

Pokud použijeme mountseznam připojených souborových systémů, ale omezíme jeho výstup na ext4 souborové systémy pomocí možnosti -t(typ), uvidíme, že nyní existují dva připojené ext4souborové systémy.

mount -t ext4

Opětovná instalace systému souborů

Opětovná instalace systému souborů využívá tuto -o remountmožnost. Obvykle se provádí změna systému souborů ze stavu jen pro čtení (testování) do stavu pro čtení a zápis (produkce).

Pojďme znovu připojit naši disketovou jednotku. Tentokrát použijeme -rpříznak (jen pro čtení). Pak budeme potrubí mountskrz grepa podívat se na podrobnosti o floppy souborového systému.

sudo mount -r / dev / sdb / mnt
připojit | grep / mnt

Jak vidíte, zvýrazněná rooznačuje, že systém souborů je připojen pouze pro čtení.

Pomocí  -o remountmožnosti s rwpříznakem (čtení-zápis) můžeme odpojit a znovu připojit souborový systém s novým nastavením, vše v jednom příkazu.

sudo mount -o remount, rw / mnt

Opakování potrubí mountskrz grepukazuje, že robyl nahrazen  rw (zvýrazněn). Souborový systém je nyní v režimu čtení a zápisu.

připojit | grep / mnt

(Ne) Přesun systému souborů

Dříve jste byli schopni odpojit souborový systém a znovu jej připojit na jiný přípojný bod pomocí jediného příkazu.

Možnost -M(přesunout)  mountexistuje konkrétně, aby vám to umožnila. Ale to už nefunguje v linuxových distribucích, které přešly na systemd. A to je většina velkých jmen.

Pokud se pokusíme přesunout souborový systém z /mntdo ./geek, nezdaří se a zobrazí se chybová zpráva uvedená níže. Pokus o výpis souborů v souborech, přes které ystem ./geeknevrací žádné výsledky.

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

Řešením je použít možnost -B (bind), kterou jsme dříve použili k vytvoření vazby původního bodu připojení k novému bodu připojení.

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

Kromě uvolnění původního bodu připojení to bude mít stejný praktický výsledek.

Závěrečná pozorování

Pomocí této --make-privatemožnosti bylo možné vynutit, aby se tah uskutečnil ve systemdverzích Linuxu. Tato technika zde není uvedena ze dvou důvodů.

  1. Může mít nepředvídatelné chování.
  2. Nebylo to trvalé a bylo by to nutné opakovat při každém restartu.

Devuan Linux nepoužívá  SysVinit systemd. Do počítače byla načtena nejnovější verze Devuanu a otestována. Možnost -M(přesun) v tomto systému fungovala podle očekávání.

Kromě systemdproblémů s možností -M (přesunout) byste měli najít použití mounta umount přímočaré. Jedná se o skvělé příkazy, které vám pomohou dostat se do rukávu, když se setkáte s poškozeným systémem, a musíte začít ručně sestavovat souborový systém.