GNU/Linux >> Tutoriels Linux >  >> Linux

Exemples de commandes Linux mkfs, mke2fs (créer un système de fichiers ext2, ext3, ext4)

L'utilitaire mkfs est utilisé pour créer un système de fichiers (ext2, ext3, ext4, etc.) sur votre système Linux. Vous devez spécifier le nom du périphérique à mkfs sur lequel le système de fichiers doit être créé.

AVERTISSEMENT :L'exécution de ces commandes détruira toutes les données de votre système de fichiers. Alors, essayez ces commandes uniquement sur un système de test où vous ne vous souciez pas de perdre vos données.

1. Afficher les commandes disponibles du générateur de système de fichiers

Les constructeurs de systèmes de fichiers (commandes mkfs*) sont généralement recherchés dans des répertoires tels que /sbin/, /sbin/fs, /sbin/fs.d, /etc/fs et /etc. S'il n'est pas trouvé, il recherche finalement les répertoires trouvés dans la variable PATH.

La liste suivante montre les commandes mkfs* disponibles dans un système.

# 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

Si vous êtes nouveau sur le système de fichiers, lisez Ext2 vs Ext3 vs Ext4.

2. Créer un système de fichiers sur un périphérique spécifique

Afin de construire le système de fichiers à l'aide de la commande mkfs, les arguments requis sont device-filename et filesystem-type comme indiqué ci-dessous. L'exemple suivant crée un système de fichiers ext3 sur la partition /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   

Veuillez noter que le type de système de fichiers par défaut pour la commande mkfs est ext2. Si vous ne spécifiez pas l'option "-t", cela créera un système de fichiers ext2.

En outre, vous pouvez utiliser la méthode dont nous avons discuté précédemment pour identifier si vous avez un système de fichiers ext2, ext3 ou ext4.

3. Créez un système de fichiers avec Journal en utilisant l'option -j

L'exemple ci-dessous crée un système de fichiers avec journalisation.

# 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   

Lorsque vous n'avez pas besoin de la journalisation sur un système de fichiers, exécutez la commande mke2fs comme indiqué ci-dessous.

# mke2fs /dev/sda6 

4. Rechercher les blocs défectueux sur un appareil

Avant de créer un système de fichiers, vous pouvez vérifier qu'il n'y a pas de blocs défectueux sur le système en utilisant l'option -c comme indiqué ci-dessous. Cela effectuera un test en lecture seule sur le système de fichiers pour s'assurer qu'il n'y a pas de blocs défectueux. Vous pouvez également effectuer un test de lecture-écriture pour vérifier qu'il n'y a pas de blocs défectueux à l'aide de l'option "-c -c". Veuillez noter que cela sera plus lent que l'option "-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. Forcer à créer un système de fichiers sur une partition montée

Il est recommandé de ne pas effectuer d'opérations sur le système de fichiers sur une partition montée. Mais vous pouvez toujours le forcer à créer un système de fichiers sur une partition en cours d'utilisation ou une partition montée avec l'option -F comme indiqué ci-dessous.

# mke2fs -F /dev/sda6

6. Octets par groupe d'inodes sur une partition

Vous voudrez peut-être répertorier les inodes utilisés et disponibles dans la partition, comme indiqué ci-dessous, à l'aide de la commande df.

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

Comme vu ci-dessus, sur /dev/sda6, l'IUsed est de 11 sur 1120112. Une fois le nouveau fichier créé, la valeur de l'IUsed change en conséquence, comme indiqué ci-dessous.

# 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

Vous pouvez également utiliser la commande tune2fs pour afficher les détails de l'inode :

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

Pour modifier l'inode par groupe de la partition ci-dessus (c'est-à-dire :/dev/sda6), utilisez l'option -i comme suit :

# 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   

Comme vu ci-dessus, le nombre d'octets par inode est changé à 8192 à partir de la valeur par défaut de 16384. Maintenant, la limite d'inodes de la partition a été augmentée comme indiqué ci-dessous.

# 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

Changer la valeur de inodes-per-group n'a qu'un impact sur le nombre de fichiers à conserver sur la partition. La réduction de cette valeur sert à augmenter le nombre de fichiers sur une partition.

7. Modifier la taille de l'inode sur une partition

Il est possible de modifier la taille d'un Inode sur une partition en utilisant l'option I et i comme indiqué ci-dessous.

# 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   

Comme vu ci-dessus, la taille passe de 256 à 128 et cela conduit à augmenter le nombre total d'inodes sur une partition :

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

8. Définir le nom du volume pour la partition

Vous pouvez créer un nom/une étiquette pour une partition en utilisant l'option -L. Dans l'exemple suivant, nous attribuons DATA comme étiquette pour la partition /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

Vous pouvez afficher le nom de l'étiquette de la partition ci-dessus en utilisant la commande e2label comme indiqué ci-dessous :

# e2label /dev/sda6 
DATA

Une autre façon d'afficher l'étiquette d'une partition consiste à utiliser la commande blkid comme indiqué ci-dessous :

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

9. Simuler une création de système de fichiers

Lors de l'exécution de la commande mkfs, il affiche le contenu comme ce qu'il ferait sur stdout. Vous pouvez même afficher ces messages sur stdout sans réellement créer de système de fichiers en utilisant l'option -n comme indiqué ci-dessous :

# 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. Créer un système de fichiers avec un nombre spécifique d'inodes

mkfs permet de créer le système de fichiers avec le nombre d'inodes souhaité. Il vous permet de remplacer le nombre par défaut d'inodes par système de fichiers en fonction du rapport octets par inode, comme indiqué ci-dessous.

# 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   

Ce qui précède peut être vérifié à l'aide des commandes tune2fs et df, comme indiqué ci-dessous.

# 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. 8 Exemples de commandes Linux TR

  2. Exemples de commande rm sous Linux

  3. Exemples de commandes ps sous Linux

  4. Exemples de commandes mke2fs sous Linux

  5. w Exemples de commandes sous Linux

Exemples de commandes Linux Groff pour créer un document formaté

Exemples de commandes id sous Linux

Exemples de commandes mkfs sous Linux

Exemples de commandes df sous Linux

du Exemples de commandes sous Linux

Exemples de commandes mkfs.ext4 sous Linux