GNU/Linux >> Linux Esercitazione >  >> Linux

Esempi di comandi Linux mkfs, mke2fs (Crea filesystem ext2, ext3, ext4)

L'utilità mkfs viene utilizzata per creare filesystem (ext2, ext3, ext4, ecc.) sul tuo sistema Linux. Dovresti specificare il nome del dispositivo in mkfs su cui creare il filesystem.

ATTENZIONE:L'esecuzione di questi comandi distruggerà tutti i dati sul tuo filesystem. Quindi, prova questi comandi solo su un sistema di test in cui non ti interessa perdere i tuoi dati.

1. Visualizza i comandi disponibili di Filesystem Builder

I costruttori di filesystem (comandi mkfs*) vengono solitamente cercati in directory come /sbin/, /sbin/fs, /sbin/fs.d, /etc/fs e /etc. Se non lo trova, cerca infine le directory trovate nella variabile PATH.

L'elenco seguente mostra i comandi mkfs* disponibili in un sistema.

# 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

Se non conosci il filesystem, leggi Ext2 vs Ext3 vs Ext4.

2. Crea un filesystem su un dispositivo specifico

Per costruire il filesystem usando il comando mkfs, gli argomenti richiesti sono device-filename e filesystem-type come mostrato di seguito. L'esempio seguente crea un filesystem ext3 sulla partizione /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   

Si noti che il tipo di filesystem predefinito per il comando mkfs è ext2. Se non specifichi l'opzione "-t", creerà il filesystem ext2.

Inoltre, puoi utilizzare il metodo discusso in precedenza per identificare se hai un file system ext2 o ext3 o ext4.

3. Crea un filesystem con Journal usando l'opzione -j

L'esempio riportato di seguito crea un file system con journaling.

# 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   

Quando non hai bisogno del journaling su un filesystem, esegui il comando mke2fs come mostrato di seguito.

# mke2fs /dev/sda6 

4. Verifica la presenza di blocchi danneggiati su un dispositivo

Prima di creare un filesystem, puoi verificare che non ci siano blocchi danneggiati sul sistema usando l'opzione -c come mostrato di seguito. Questo eseguirà un test di sola lettura sul filesystem per assicurarsi che non ci siano blocchi danneggiati. Puoi anche eseguire un test di lettura-scrittura per verificare che non ci siano blocchi danneggiati usando l'opzione "-c -c". Tieni presente che questo sarà più lento dell'opzione "-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. Forza per creare un filesystem su una partizione montata

Si consiglia di non eseguire alcuna operazione sul filesystem su una partizione montata. Ma puoi comunque forzarlo a creare un filesystem su una partizione in uso o su una partizione montata con l'opzione -F come mostrato di seguito.

# mke2fs -F /dev/sda6

6. Byte per gruppo di inode su una partizione

Potresti voler elencare gli inode usati e disponibili nella partizione come mostrato di seguito usando il comando df.

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

Come visto sopra, su /dev/sda6 IUsed è 11 su 1120112. Dopo che il nuovo file è stato creato su di esso, il valore di IUsed cambia di conseguenza, come mostrato di seguito.

# 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

Puoi anche usare il comando tune2fs per visualizzare i dettagli dell'Inode:

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

Per modificare l'inode-per-gruppo della partizione sopra (es:/dev/sda6) usa l'opzione -i come segue:

# 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   

Come visto sopra, il bytes-per-inode viene modificato in 8192 dal valore predefinito di 16384. Ora il limite di inode della partizione è stato aumentato come mostrato di seguito.

# 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

La modifica del valore di inodes-per-group non è altro che un impatto sul numero di file da mantenere nella partizione. La riduzione di questo valore serve per aumentare il numero di file su una partizione.

7. Modifica la dimensione dell'inode su una partizione

È possibile modificare la dimensione di un Inode su una partizione utilizzando l'opzione I e i come mostrato di seguito.

# 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   

Come visto sopra, la dimensione viene modificata da 256 a 128 e porta ad aumentare il conteggio totale degli Inode su una partizione:

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

8. Imposta l'etichetta del volume per la partizione

È possibile creare un nome/etichetta per una partizione utilizzando l'opzione -L. Nell'esempio seguente, stiamo assegnando DATA come etichetta per la partizione /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

È possibile visualizzare il nome dell'etichetta della partizione sopra utilizzando il comando e2label come mostrato di seguito:

# e2label /dev/sda6 
DATA

Un altro modo per visualizzare l'etichetta di una partizione è usare il comando blkid come mostrato di seguito:

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

9. Simula la creazione di un filesystem

Quando si esegue il comando mkfs, mostra il contenuto come farebbe su stdout. Puoi persino visualizzare quei messaggi su stdout senza creare effettivamente un filesystem usando l'opzione -n ​​come mostrato di seguito:

# 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. Crea un filesystem con un numero specifico di Inode

mkfs fornisce la possibilità di creare il filesystem con il numero di inode desiderati. Ti consente di sovrascrivere il numero predefinito di inode per filesystem in base al rapporto byte per inode come mostrato di seguito.

# 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   

Quanto sopra può essere verificato utilizzando sia il comando tune2fs che df come mostrato di seguito.

# 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. sa Esempi di comandi in Linux

  2. w Esempi di comandi in Linux

  3. ac Esempi di comandi in Linux

  4. Esempi di comandi df in Linux

  5. du Esempi di comandi in Linux

Esempi di comandi Linux Groff per creare documenti formattati

Esempi di comandi id in Linux

Esempi di comandi mkfs in Linux

Esempi di comandi rm in Linux

ps Esempi di comandi in Linux

Esempi di comandi mke2fs in Linux