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
, umount
a remount
pří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 mount
a 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 mount
o vypsání pouze těch souborových systémů, které vás zajímají. Volba -t
(typ) určuje, o mount
jakém typu souborového systému se má hlásit.
mount -t tmpfs
mount -t ext4
Jako příklad jsme požádali, mount
abychom vypsali pouze tmpfs
souborové systémy. Získáváme mnohem lépe zvládnutelný výstup.
tmpfs
Souborový 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 tmpfs
parametr typu souboru, o který máte zájem.
Vydali jsme také příkaz k vypsání ext4
souborových systémů. Na tomto testovacím počítači existuje jediný ext4
souborový 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
df
Pří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 squashfs
vytvořen systém pseudo souborů pro každou aplikaci nainstalovanou pomocí snap
příkazu. Kdo je chce vidět?
Chcete-li je donutit df
je 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 mount
k 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á, mount
jaký typ systému souborů připojujeme. Jedná se o soubor ISO, proto poskytujeme iso9660
specifikátor typu.
-o
(Options) vlajka je používána předat další parametry mount
. Náš parametr je loop
.
Používáme loop
k vynucení mount
použ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ý ext4
souborový systém na tomto testovacím stroji byl připojen /
a byl volán sda
.
Přesněji řečeno, tento ext4
systé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 mount
vě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 umount
příkaz. Všimněte si, že mezi „u“ a „m“ není žádné „n“ - příkaz je, umount
nikoli „odpojit“.
Musíte zjistit, umount
který 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 isomnt
a připojíme k tomu náš ISO obraz. Přípojný bod je pouze adresář. Takže můžeme použít mkdir
k 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/isomnt
k novému iso
adresář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/isomnt
a prostřednictvím nového iso
adresář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 df
skrz grep
a 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/sdb
k ní připojí.
Řekneme mount
namontovat souborový systém na disketě v disketové jednotky, který je připojen k /dev/sdb
na /mnt
pří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) mount
můž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 mount
hlášení pouze v vfat
souborový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 /mnt
pří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, grep
abychom 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/sdb
jak jsme očekávali. Souborový systém na disketě v jednotce je připojen na /mnt
.
K odpojení diskety, kterou používáme, umount
a 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 umount
pří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 /mnt
nepř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 pi
a síťový název Raspberry Pi je marineville.local
.
ssh [email protected]
ls / media / pi / USB64 / Backup
výstup
Uživatel vydá SSH
pří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ý dave
a druhý volaný pat
. Takže teď víme, co můžeme očekávat, když připojíme sdílenou složku Samba.
Typicky exit
se odpojí od Raspberry Pi a výzva se změní zpět na [email protected]
.
Abyste mohli používat Sambu, musíte si cifs-utils
balíček nainstalovat .
Slouží apt-get
k 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,
creds
který 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 nashare
. - / 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/NAS
sí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 dave
a pat
.
cd / media / dave / NAS
Vytvoření a připojení systému souborů
Příkaz můžete použít dd
k vytvoření obrazového souboru a poté mkfs
k 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 if
možnost (vstupní soubor) říci dd
používat proud nulové hodnoty od /dev/zero
jako 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 count
možnosti můžeme dd
do 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_fs
souboru pomocí mkfs
příkazu. Možnost -t
(typ) nám umožňuje vybrat typ systému souborů . Vytváříme ext4
systé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/fstab
souboru. Funguje to!
Pokud použijeme mount
seznam 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é ext4
souborové systémy.
mount -t ext4
Opětovná instalace systému souborů
Opětovná instalace systému souborů využívá tuto -o remount
mož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 -r
příznak (jen pro čtení). Pak budeme potrubí mount
skrz grep
a 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á ro
označuje, že systém souborů je připojen pouze pro čtení.
Pomocí -o remount
možnosti s rw
pří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í mount
skrz grep
ukazuje, že ro
byl 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) mount
existuje 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 /mnt
do ./geek
, nezdaří se a zobrazí se chybová zpráva uvedená níže. Pokus o výpis souborů v souborech, přes které ystem ./geek
nevrací žá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-private
možnosti bylo možné vynutit, aby se tah uskutečnil ve systemd
verzích Linuxu. Tato technika zde není uvedena ze dvou důvodů.
- Může mít nepředvídatelné chování.
- Nebylo to trvalé a bylo by to nutné opakovat při každém restartu.
Devuan Linux nepoužívá SysV
init 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ě systemd
problémů s možností -M
(přesunout) byste měli najít použití mount
a 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.