Typy systému souborů
Vytvoření systému souborů zapíše informace do zařízení a vytvoří pořadí prázdného místa. Tato data související se systémem souborů zabírají malé procento prostoru. Zbývající místo na disku je rozděleno do malých segmentů stejné velikosti, které se nazývají bloky. Linux podporuje řadu typů souborových systémů, z nichž některé jsou popsány následovně.
Systém souborů | Popis |
---|---|
ext2 | Vysoký výkon pro pevný disk a vyměnitelná média |
ext3 | Žurnálová verze ext2 |
ext4 | Podporuje větší soubory a velikosti systému souborů |
vfat | Souborový systém MS-DOS užitečný při sdílení souborů mezi Windows a Linux |
XFS | Vysoce výkonný žurnálovací souborový systém |
Btrfs | Řeší požadavky na škálovatelnost velkých úložných systémů |
Vytváření souborových systémů
Příkaz k vytvoření systému souborů Linux na zařízení nebo oddílu pevného disku je mkfs. Syntaxe příkazu je:
# mkfs [options] device
Příkaz mkfs je ve skutečnosti rozhraním pro různé nástroje pro tvorbu souborového systému, jako jsou mkfs.ext2 a mkfs.ext4. Tyto nástroje jsou spustitelné přímo z příkazového řádku. Při použití mkfs wrapperu zahrňte volbu -t fstype k určení typu systému souborů, který se má sestavit. Pokud není zadáno, vytvoří se výchozí typ systému souborů ext2.
Chcete-li zjistit, které podporované typy systému souborů jsou nainstalovány, použijte příkaz ls /sbin/mkfs*:
# ls -lrt /sbin/mkfs* -rwxr-xr-x. 1 root root 28624 Jun 10 2014 /sbin/mkfs.fat lrwxrwxrwx. 1 root root 8 Jan 7 2015 /sbin/mkfs.msdos -> mkfs.fat lrwxrwxrwx. 1 root root 8 Jan 7 2015 /sbin/mkfs.vfat -> mkfs.fat -rwxr-xr-x. 4 root root 96296 Aug 3 2017 /sbin/mkfs.ext4 -rwxr-xr-x. 4 root root 96296 Aug 3 2017 /sbin/mkfs.ext3 -rwxr-xr-x. 4 root root 96296 Aug 3 2017 /sbin/mkfs.ext2 -rwxr-xr-x. 1 root root 368464 Aug 4 2017 /sbin/mkfs.xfs -rwxr-xr-x. 1 root root 375240 Aug 6 2017 /sbin/mkfs.btrfs -rwxr-xr-x. 1 root root 37104 Dec 1 23:28 /sbin/mkfs.minix -rwxr-xr-x. 1 root root 36984 Dec 1 23:28 /sbin/mkfs.cramfs -rwxr-xr-x. 1 root root 11520 Dec 1 23:28 /sbin/mkfs
Soubory mkdosfs, mkfs.msdos a mkfs.vfat jsou symbolické odkazy na mkfs.fat.
Použití mkfs
Výchozí typ systému souborů vytvořený při použití příkazu mkfs je ext2. Jak již bylo zmíněno, mkfs je obal, který volá další nástroje pro sestavení souborového systému. Proto kterýkoli z následujících příkazů vytvoří na uvedeném zařízení souborový systém ext2:
# mkfs /dev/xvdd1 # mke2fs /dev/xvdd1 # mkfs.ext2 /dev/xvdd1
Chcete-li vytvořit souborový systém ext3, použijte některý z následujících příkazů:
# mkfs –t ext3 /dev/xvdd1 # mke2fs –t ext3 /dev/xvdd1 # mkfs.ext3 /dev/xvdd1
Chcete-li vytvořit souborový systém ext4, použijte některý z následujících příkazů:
# mkfs –t ext4 /dev/xvdd1 # mke2fs –t ext4 /dev/xvdd1 # mkfs.ext4 /dev/xvdd1
Konfigurační soubor
K dispozici je řada možností pro přizpůsobení velikosti bloku, velikosti fragmentu, bloků na skupinu, voleb žurnálu, počtu inodů a dalších parametrů. Bez zahrnutí jakýchkoli voleb, výchozí hodnoty uvedené v /etc/mke2fs.conf konfigurační soubor.
Ukázkový soubor /etc/mke2fs.confŠtítky systému souborů
Užitečnou možností pro nástroje pro sestavení souborového systému je -L možnost názvu. Tím se oddílu přiřadí štítek; tento štítek lze použít místo názvu zařízení při připojování systému souborů. Štítky jsou omezeny na maximální velikost 16 znaků . Pro stávající systémy souborů e2label příkaz se používá k zobrazení nebo nastavení štítku.
Systémům souborů je automaticky přiřazen univerzálně jedinečný identifikátor (UUID) . UUID lze použít při připojování systému souborů. Chcete-li zobrazit UUID, štítek a typ systému souborů, použijte blkid příkaz. Následující příklady ilustrují vytváření různých systémů souborů s popiskem a bez něj a zobrazování informací pomocí příkazu blkid. Chcete-li vytvořit systém souborů ext2 a zobrazit informace, zadejte:
# mkfs /dev/xvdf1 # blkid /dev/xvdf1 /dev/xvdf1: UUID="41bae7c3-396a-436d-9764-d27d4ca3f17b" TYPE="ext2"
Chcete-li vytvořit systém souborů ext3 a zobrazit informace, zadejte:
# mkfs -t ext3 /dev/xvdf1 # blkid /dev/xvdf1 /dev/xvdf1: UUID="c8e958f4-e5d0-4404-8a9a-2cea24675fcd" SEC_TYPE="ext2" TYPE="ext3"
Chcete-li vytvořit souborový systém ext4, přiřadit název štítku a zobrazit informace, zadejte:
# mkfs -t ext4 -L "Test Label" /dev/xvdf1 # blkid /dev/xvdf1 /dev/xvdf1: LABEL="Test Label" UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" TYPE="ext4"
Připojení souborových systémů
Systémy souborů na různých oddílech a vyměnitelných zařízeních, jako jsou disky CD, DVD nebo USB flash disky, musí být připojeny k hierarchii adresářů, aby k nim bylo možné přistupovat. Chcete-li připojit oddíl nebo zařízení, musí být vytvořen přípojný bod. Přípojný bod je jednoduše adresář vytvořený pomocí příkazu mkdir. Po vytvoření adresáře nebo bodu připojení připojte oddíl pomocí příkazu mount. Syntaxe příkazu mount je:
# mount [options] device_file mount_point
Následující příklad vytvoří bod připojení (/test) a připojí oddíl:
# mkdir /test # mount /dev/xvdf1 /test
Případně připojte oddíl nebo zařízení odkazem na UUID nebo štítek. Následující příklad zobrazuje UUID a štítek pomocí příkazu blkid a připojí oddíl odkazem na každý z nich:
# blkid /dev/xvdf1 /dev/xvdf1: LABEL="Test Label" UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" TYPE="ext4"
# mount LABEL="Test Label" /test # mount UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" /test
Příkaz mount bez jakýchkoli voleb zobrazí všechny aktuálně připojené systémy souborů:
# mount | grep test /dev/xvdf1 on /test type ext4 (rw,relatime,seclabel,data=ordered)
V tomto příkladu je oddíl /dev/xvdf1 připojen k /test. Typ souborového systému je ext4 a je připojen pro čtení i zápis. Příkaz df také zobrazí připojené systémy souborů. Příklad:
# df -hP /test Filesystem Size Used Avail Use% Mounted on /dev/xvdf1 923M 2.4M 857M 1% /test
Informace v systému souborů proc zobrazují připojené systémy souborů. Příklad:
# cat /proc/mounts | grep test /dev/xvdf1 /test ext4 rw,seclabel,relatime,data=ordered 0 0
Možnosti montáže
Chcete-li zadat možnosti připojení, použijte –o příznak následovaný řetězcem možností odděleným čárkou. Níže jsou uvedeny některé z dostupných voleb pro příkaz mount:
- automaticky :Umožňuje automatické připojení systému souborů pomocí příkazu mount –a
- smyčka :Připojí obraz jako smyčkové zařízení
- noauto :Zakáže automatické připojení systému souborů pomocí příkazu mount –a
- noexec :Zakáže spouštění binárních souborů v systému souborů
- noser :Zakáže běžnému uživateli (jinému než root) připojit a odpojit souborový systém
- opětovné připojení :Znovu připojí systém souborů v případě, že je již připojen
- ro :Připojí systém souborů pouze pro čtení
- rw :Připojí systém souborů pro čtení i zápis
- uživatel :Umožňuje běžnému uživateli (jinému než root) připojit a odpojit souborový systém
Chcete-li například připojit oddíl /dev/xvdf1 na bod připojení /test jako pouze pro čtení a pouze uživatel root může připojit a odpojit systém souborů, zadejte:
# mount –o nouser,ro /dev/xvdf1 /test
Chcete-li připojit obraz ISO pomocí zařízení smyčky (za předpokladu, že obraz ISO je přítomen v aktuálním adresáři a existuje bod připojení), zadejte:
# mount -o ro,loop rhel7-x86_64-dvd.iso /media/cdrom
Možnosti připojení deníku
Souborové systémy ext3 a ext4 mají tři úrovně žurnálování, které lze nastavit pomocí -o volba v příkazu mount nebo v sekci voleb v /etc/fstab:
- data=journal :Nejvyšší úroveň. Ten, který dělá nejvíce deníků. Tím se zapíší záznamy deníku pro všechny změny dat a metadat. Všechna data se před zapsáním do hlavního systému souborů uloží do žurnálu.
- data=ordered :Výchozí režim. Všechna data jsou vytlačena přímo do hlavního systému souborů předtím, než jsou jejich metadata odeslána do žurnálu.
- data=writeback :Nejnižší úroveň. Uspořádání dat není zachováno. Data mohou být zapsána do hlavního systému souborů poté, co byla jejich metadata odeslána do žurnálu.
Odpojení souborových systémů
Chcete-li odpojit systém souborů, použijte umount příkaz. Jako argument se používá název oddílu, název zařízení nebo bod připojení. Příklad:
# umount /dev/xvdd1 # umount /test
soubor/etc/fstab
Soubor /etc/fstab se nazývá tabulka připojení systému souborů a obsahuje všechny informace, které příkaz mount potřebuje k připojení zařízení. Při přidávání nového souborového systému vytvořte příslušnou položku v /etc/fstab, abyste zajistili, že souborový systém bude připojen při zavádění. Následuje příklad položek v souboru /etc/fstab:
# cat /etc/fstab LABEL=centos_root / ext4 defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 UUID=687eb83f-c16f-4fa9-bb49-1621eed3a35d /test ext4 defaults 0 0
První sloupec je zařízení, které se má namontovat. Místo názvu zařízení by měl být použit UUID nebo název štítku, protože názvy zařízení se mohou změnit. Druhý sloupec je bod připojení, kromě položky odkládacího oddílu. Třetí sloupec je typ systému souborů. Čtvrtý sloupec určuje možnosti připojení. Pátý sloupec používá příkaz dump. Číslo 1 znamená vypsat souborový systém a 0 znamená, že souborový systém není potřeba vypsat. Poslední sloupec používá program fsck k určení pořadí, ve kterém jsou kontroly souborového systému prováděny při restartu. Kořenový souborový systém by měl mít hodnotu 1 a ostatní systémy souborů by měly mít hodnotu 2. Hodnota 0 nekontroluje souborový systém.