GNU/Linux >> Znalost Linux >  >> Linux

Příklady příkazů Linux mkfs, mke2fs (Vytvořit souborový systém ext2, ext3, ext4)

Nástroj mkfs se používá k vytvoření souborového systému (ext2, ext3, ext4 atd.) na vašem systému Linux. Do mkfs byste měli zadat název zařízení, na kterém má být souborový systém vytvořen.

VAROVÁNÍ:Provedení těchto příkazů zničí všechna data ve vašem souborovém systému. Vyzkoušejte tedy tyto příkazy pouze na testovacím systému, kde vám nezáleží na ztrátě dat.

1. Zobrazit dostupné příkazy pro tvorbu souborového systému

Tvůrci souborového systému (příkazy mkfs*) se obvykle hledají v adresářích jako /sbin/, /sbin/fs, /sbin/fs.d, /etc/fs a /etc. Pokud nenalezen, nakonec prohledá adresáře nalezené v proměnné PATH.

Následující seznam ukazuje dostupné příkazy mkfs* v systému.

# cd /sbin

# ls mkfs*
mkfs  mkfs.bfs  mkfs.cramfs  mkfs.ext2  mkfs.ext3  mkfs.ext4  mkfs.ext4dev  
mkfs.minix  mkfs.msdos  mkfs.ntfs  mkfs.vfat

Pokud jste se souborovým systémem noví, přečtěte si o Ext2 vs Ext3 vs Ext4.

2. Vybudujte souborový systém na konkrétním zařízení

Aby bylo možné sestavit souborový systém pomocí příkazu mkfs, požadované argumenty jsou název_souboru zařízení a typ souborového systému, jak je uvedeno níže. Následující příklad vytvoří souborový systém ext3 na oddílu /dev/sda6.

# mkfs -t ext3 /dev/sda6 
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1120112 inodes, 4476416 blocks
223820 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
137 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

Upozorňujeme, že výchozí typ souborového systému pro příkaz mkfs je ext2. Pokud nezadáte volbu „-t“, vytvoří se souborový systém ext2.

Také můžete použít metodu, kterou jsme probrali dříve, abyste zjistili, zda máte souborový systém ext2 nebo ext3 nebo ext4.

3. Vytvořte souborový systém s deníkem pomocí volby -j

Níže uvedený příklad vytváří souborový systém s žurnálováním.

# mke2fs /dev/sda6 -j
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1120112 inodes, 4476416 blocks
223820 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
137 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

Pokud nepotřebujete žurnálování na souborovém systému, spusťte příkaz mke2fs, jak je ukázáno níže.

# mke2fs /dev/sda6 

4. Zkontrolujte chybné bloky na zařízení

Před vytvořením souborového systému můžete zkontrolovat, zda v systému nejsou žádné špatné bloky pomocí volby -c, jak je uvedeno níže. To provede test pouze pro čtení na souborovém systému, aby se ujistil, že neexistují žádné špatné bloky. Můžete také provést test čtení a zápisu, abyste ověřili, že neexistují žádné špatné bloky pomocí volby „-c -c“. Upozorňujeme, že to bude pomalejší než volba „-c“.

# mke2fs -c /dev/sda6 
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1120112 inodes, 4476416 blocks
223820 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
137 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

5. Vynutit vytvoření souborového systému na připojeném oddílu

Doporučuje se neprovádět žádné operace se souborovým systémem na připojeném oddílu. Stále jej však můžete vynutit, aby vytvořil souborový systém na používaném oddílu nebo připojeném oddílu pomocí volby -F, jak je uvedeno níže.

# mke2fs -F /dev/sda6

6. Bajtů na skupinu inodů na oddílu

Možná budete chtít pomocí příkazu df vypsat použité a dostupné inody v oddílu, jak je uvedeno níže.

# df -i /dev/sda6 
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/sda6      1120112    11 1120101    1% /mydata

Jak je vidět výše, na /dev/sda6 je IUsed 11 z 1120112. Jakmile se na něm vytvoří nový soubor, hodnota IUsed se odpovídajícím způsobem změní, jak je uvedeno níže.

# cd /mydata
# touch sample.txt
# ls
sample.txt

# df -i /dev/sda6 
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/sda6      1120112    12 1120100    1% /mydata

Můžete také použít příkaz tune2fs k zobrazení podrobností Inode:

# tune2fs -l /dev/sda6 | grep Inode
Inode count:              1120112
Inodes per group:         8176
Inode blocks per group:   511
Inode size:	          256

Chcete-li změnit inode-per-group výše uvedeného oddílu (tj.:/dev/sda6), použijte volbu -i následovně:

# mke2fs -i 8192 /dev/sda6 
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2240224 inodes, 4476416 blocks
223820 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
137 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done   

Jak je vidět výše, bajty na inod se změnily na 8192 z výchozí hodnoty 16384. Nyní se limit inodů oddílu zvýšil, jak je uvedeno níže.

# df -i /dev/sda6 
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/sda6      2240224    11 2240213    1% /mydata

# tune2fs -l /dev/sda6 | grep Inode
Inode count:              2240224
Inodes per group:         16352
Inode blocks per group:   1022
Inode size:	          256

Změna hodnoty inodů na skupinu prostě nic jiného než ovlivnění počtu souborů, které mají být na oddílu zachovány. Snížení této hodnoty znamená zvýšení počtu souborů na oddílu.

7. Změňte velikost Inode na oddílu

Je možné změnit velikost inodu na oddílu pomocí volby I a i, jak je uvedeno níže.

# mke2fs -I 128 -i 8192 /dev/sda6 
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2240224 inodes, 4476416 blocks
223820 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
137 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done   

Jak je vidět výše, velikost se mění z 256 na 128, což vede ke zvýšení celkového počtu inodů na oddílu:

# tune2fs -l /dev//sda6 | grep Inode
Inode count:              2240224
Inodes per group:         16352
Inode blocks per group:   511
Inode size:	          128

8. Nastavte štítek svazku pro oddíl

Název/název pro oddíl můžete vytvořit pomocí volby -L. V následujícím příkladu přiřazujeme DATA jako označení oddílu /dev/sda6.

# mke2fs -L DATA /dev/sda6 
mke2fs 1.42 (29-Nov-2011)
Filesystem label=DATA
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1120112 inodes, 4476416 blocks
223820 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
137 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

Název štítku výše uvedeného oddílu můžete zobrazit pomocí příkazu e2label, jak je uvedeno níže:

# e2label /dev/sda6 
DATA

Dalším způsobem, jak zobrazit štítek oddílu, je použití příkazu blkid, jak je ukázáno níže:

# blkid /dev/sda6 
/dev/sda6: LABEL="DATA" UUID="0de74d35-6050-4838-99b0-46cb1d518da8" TYPE="ext2" 

9. Simulovat vytváření souborového systému

Při provádění příkazu mkfs zobrazí obsah, jako by to udělal na stdout. Tyto zprávy můžete dokonce zobrazit na stdout, aniž byste ve skutečnosti vytvořili souborový systém pomocí volby -n, jak je uvedeno níže:

# mkfs -t ext3 -n /dev/sda6 
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1120112 inodes, 4476416 blocks
223820 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
137 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

10. Vytvořte souborový systém s určitým počtem inodů

mkfs poskytuje možnost vytvořit souborový systém s počtem požadovaných inodů. Umožňuje vám přepsat výchozí počet inodů na souborový systém na základě poměru bajtů na inod, jak je ukázáno níže.

# mkfs -t ext3 -v -N 700000 /dev/sda6 
mke2fs 1.42 (29-Nov-2011)
fs_types for mke2fs.conf resolution: 'ext3'
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
701440 inodes, 4476416 blocks
223820 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
137 block groups
32768 blocks per group, 32768 fragments per group
5120 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

Výše uvedené lze ověřit pomocí příkazu tune2fs i df, jak je ukázáno níže.

# tune2fs -l /dev/sda6 | grep -i inode
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super large_file
Inode count:              701440
Free inodes:              701429
Inodes per group:         5120
Inode blocks per group:   320
First inode:              11
Inode size:	          256
Journal inode:            8
Journal backup:           inode blocks

# df -i /dev/sda6 
Filesystem     Inodes IUsed  IFree IUse% Mounted on
/dev/sda6      701440    11 701429    1% /mnt

Linux
  1. Příkaz Linux ln

  2. Souborové systémy Linux:Ext2 vs Ext3 vs Ext4

  3. 7 Příklady příkazů Linux df

  1. 8 Příklady příkazů Linux TR

  2. Příklady příkazů rm v Linuxu

  3. Příklady příkazů ps v Linuxu

  1. Vlastnosti a rozdíly v souborovém systému Linux Ext2, Ext3 a Ext4

  2. Příklady příkazů mke2fs v Linuxu

  3. w Příklady příkazů v Linuxu