V této příručce se naučíme, co je fstab v Linuxu a jaké je použití fstab
soubor, struktura /etc/fstab
a nakonec jak ladit problémy s fstab. Na konci si také probereme krátký úvod do mtab soubor, jeho použití a jak se mtab liší od fstab.
Co je fstab?
Jako správce serveru nebo desktopový uživatel Linuxu nebo kdokoli, kdo je v Linuxu nový, rozumíte /etc/fstab
soubor v Linuxu a jak ladit problémy s fstab jsou velmi důležité.
Fstab je f ile s ystem karta Soubor používaný jádrem během bootování k připojení souborového systému. Zjednodušeně řečeno, vytvoříte jeden nebo více oddílů na vašem pevném disku a pro každý oddíl vytvoříte záznam ve fstab, který bude číst jádro během zavádění a systém souborů bude automaticky připojen.
Ve výchozím nastavení budou všechny oddíly, které vytvoříte během instalace OS, automaticky přidány do souboru fstab. Pojďme se ponořit a podívat se, jak je fstab strukturován a jak jej používat.
POZNÁMKA: Před úpravou souboru fstab je nejlepším postupem vytvořit zálohu souboru. Pokud je něco v nepořádku, můžete vrátit záložní kopii.
Struktura souboru /etc/fstab
Fstab se nachází v /etc/
adresář a je vlastněn uživatelem root. Měli byste tedy soubor upravit pomocí sudo
oprávnění nebo jako root
uživatel.
Zobrazte soubor fstab spuštěním následujícího příkazu, abyste pochopili jeho strukturu.
$ cat /etc/fstab
$ cat /etc/fstab | grep -i -v "^#" | column -t # Skip comments and format
Soubor Fstab se skládá ze šesti sloupců (sekcí).
- Systém souborů - Blokovat zařízení, které je rozděleno na oddíly, a vytvořit na něm systém souborů.
- Mount Point - Kde je ve vašem systému připojen souborový systém.
- Typ - Typ systému souborů (Ext4, Ext3, swap, Xfs atd.)
- Možnosti - Toto rozhodne, jaké parametry připojení je třeba vzít v úvahu při připojování souborového systému
- Výpis - Toto je pro účely zálohování používané
dump
užitečnost. Nastavení na nulu znamená zakázání zálohování a jednička znamená povolení zálohování na dané zařízení/médium. - Přejít - Kontrola systému souborů při spouštění pomocí
fsck
užitečnost. Nula zakáže kontrolu souborového systému a pro kořenový souborový systém by měla být nastavena na 1 a pro ostatní oddíly na 2.
Každý souborový systém je popsán na samostatném řádku. Pole na každém řádku jsou oddělena tabulátory nebo mezerami.
Podívejme se na těchto šest parametrů podrobně.
1. Systém souborů
V prvním sloupci fstab musíte ukázat, na který oddíl se chystáte připojit. Buď můžete použít název blokovaného zařízení jako /dev/sda*
nebo použijte UUID.
Když vytvoříte souborový systém na jakékoli rozdělené jednotce pomocí mkfs
Pro tento konkrétní oddíl bude vytvořeno UUID.
Řekněme, že jste vytvořili nový oddíl a je to sdb1
. V tomto případě bude váš fstab vypadat následovně.
/dev/sdb1 /home ext4 defaults 0 0
Chcete-li získat ID bloku pro libovolný souborový systém, spusťte následující příkaz.
$ blkid # Print info about all fs. $ blkid /dev/sdb1 # Print info about given fs alone.
Nyní pomocí tohoto ID bloku můžete připojit systém souborů, jak je znázorněno na obrázku níže.
2. Mount Point
Ve druhém sloupci musíte zadat adresář bodu připojení. Bod připojení odkazuje na adresář v systému souborů, kam bude připojen váš rozdělený disk.
Jak vidíte na obrázku níže, každý oddíl je připojen do jiného adresáře. Například oddíl /dev/sdb1
je vyhrazen pro domovský adresář a je připojen pod /home
.
Řekněme, že jste vytvořili nový oddíl o velikosti 100 GB a s typem oddílu EXT4. Záznam fstab bude následující. Zde /mnt/data1
je bod připojení.
UUID=xxxx-xxx-xxx /mnt/data1/ ext4 defaults 0 0
Nebo
/dev/sdb2 /mnt/data1/ ext4 defaults 0 0
3. Typ souborového systému
Zde zmíníte typ souborového systému (EXT2, EXT3, EXT4, XFS, VFAT, SWAP atd.). Pokud chcete znát typ systému souborů pro blokové zařízení použijte blkid
nebo lsblk
příkaz.
$ lsblk -f /dev/sdb1 NAME FSTYPE LABEL UUID MOUNTPOINT sdb1 ext4 365c64d7-4d65-4cdf-8ce1-0def8bb41997 /home
$ blkid /dev/sdb1 /dev/sdb1: UUID="365c64d7-4d65-4cdf-8ce1-0def8bb41997" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8f174339-01"
4. Možnosti připojení
Toto je důležitý sloupec, kde budete předat možnosti připojení pro systém souborů. Existuje mnoho možností upevnění, které lze použít. Pro běžné použití stačí použít výchozí možnost. Výchozí volba ukazuje na kombinaci sedmi (rw
, suid
, dev
, exec
, auto
, nouser
a async
) možnosti.
Podívejme se, co dělá výchozí možnost.
rw
- Toto říká systému souborů, aby byl připojen v režimu čtení a zápisu. Když dojde k chybě, můžete pomocí volbyerrors=remount-ro
.suid
- Jakákoli operace související ssuid
asgid
bude prostřednictvím této možnosti povoleno.dev
- Bude interpretovat znaky a blokovat zařízení v systému souborů. Pokud si nepřejete interpretovat znaky a blokovat zařízení, můžete explicitně použít volbu nodev.exec
- Ze systému souborů můžete spustit binární soubory nastavením možnosti exec. Naproti tomu můžete použítnoexec
možnost nespouštět binární soubory ze systému souborů.auto
- Tato volba je zodpovědná za automatické připojení souborového systému během spouštění nebo kdykoli spustíte příkaz mount -a z terminálu. Naproti tomu existujenoauto
možnost, která umožní připojit souborový systém pouze jednotlivě.nouser
- Pouze superuživatel může připojit systém souborů. Můžete také použít možnosti „user“ a „users“, které mohou běžnému uživateli nastavit připojení a odpojení systému souborů.async
- Všechny IO operace by měly být prováděny asynchronně. Pokud použijete možnost „synchronizovat“, operace IO bude provedena synchronně.
V závislosti na požadavcích budete možná muset použít různé možnosti. Pokud máte ve svém prostředí nějaký existující produkční server, doporučuji vám podívat se na soubor fstab, který vám dá dobrou představu o tom, jaké jsou použité možnosti připojení.
5. Dump
Tento sloupec je specifický pro účely zálohování. Když je nastavena na 1, bude nástroj výpisu zálohy provádět. Toto je nyní zastaralá funkce, protože byla původně navržena pro zálohování na pásky pro starší systémy souborů.
Doporučujeme jej nastavit na nulu .
6. Pass
Během bootování fsck
obslužný program provede kontrolu systému souborů na základě hodnoty, kterou poskytujeme v šestém sloupci. Pokud nastavíte hodnotu na nulu nebo jej nechte prázdné , bude deaktivována kontrola souborového systému.
Kořenový souborový systém by měl být vždy specifikován na hodnotu 1 . Pro ostatní systémy souborů můžete nastavit hodnotu na 2 . Protože pro demonstraci používám VM, nastavil jsem všechny hodnoty na nulu.
Oprava problémů se zaváděním souvisejících se souborem Fstab
Pokud jste v souboru fstab udělali nějakou chybu a když restartujete počítač, přejde do nouzového režimu . V nouzovém režimu nebude k dispozici žádné síťové rozhraní, takže budete muset ladit přímo v konzole.
Musíte zadat root
heslo pro vstup do nouzového režimu. Spusťte následující příkaz a pomalu se posouvejte, abyste viděli chybové zprávy. V mém případě jsem úmyslně odstranil oddělovač (/) v /dev/sdb1
.
V nouzovém režimu, pokud je souborový systém připojen v režimu pouze pro čtení, musíte se připojit v rw
režimu a upravte fstab
soubor k vyřešení problému. Chcete-li znovu připojit systém souborů v rw
režimu spusťte následující příkaz.
$ mount -o rw,remount /
Nyní upravte fstab, abyste chybu opravili a restartujte počítač. Nyní by měl být váš počítač schopen správně zavést.
$ reboot
Chcete-li se vyhnout problémům během spouštění, můžete spustit mount
po přidání fstab
záznamy.
Podívejte se na obrázek níže, kam jsem přidal nový záznam pro /dev/sdb2
. Nezadal jsem typ souborového systému, takže mi to při spuštění mount
vyhodí chybu příkaz.
$ mount -a mount: /mnt: unknown filesystem type 'defaults'.
Co je soubor Mtab?
Když spustíte příkaz mount bez předání jakýchkoli argumentů, vytiskne se seznam připojených souborových systémů.
$ mount
Existuje také soubor s názvem mtab v /etc/
adresář. Když se podíváte na /etc/mtab
, bude přesně stejný jako výstup mount
příkaz.
Podívejme se, co o souboru mtab říká manuálová stránka.
Soubor /etc/mtab
soubor je symbolicky propojen s připojeními v proc
souborový systém. Pokud spustíte mount
nebo umount
výsledek bude aktualizován v připojeních.
$ ls -ln /etc/mtab
lrwxrwxrwx 1 0 0 19 Jan 9 17:45 /etc/mtab -> ../proc/self/mounts
Abychom shrnuli rozdíl mezi fstab a mtab, fstab se používá k připojení souborového systému během zavádění a mtab se používá k zobrazení seznamu připojených souborových systémů.
Pokud /etc/mtab
je náhodně poškozen nebo odstraněn, můžete jej obnovit pomocí následujícího příkazu.
$ sudo sh -c 'grep -v rootfs /proc/mounts > /etc/mtab'
Závěr
V tomto článku jsme diskutovali o tom, co je fstab a mtab a jak je důležité, aby systém během spouštění ukládal a četl informace o oddílech. Také jsme probrali, co se stane, když dojde k chybě v souboru fstab.