GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-mkfs-, mke2fs-Befehlsbeispiele (Ext2-, Ext3-, Ext4-Dateisystem erstellen)

Das Dienstprogramm mkfs wird verwendet, um ein Dateisystem (ext2, ext3, ext4 usw.) auf Ihrem Linux-System zu erstellen. Sie sollten mkfs den Gerätenamen angeben, auf dem das Dateisystem erstellt werden soll.

WARNUNG:Das Ausführen dieser Befehle zerstört alle Daten in Ihrem Dateisystem. Probieren Sie diese Befehle also nur auf einem Testsystem aus, auf dem Sie sich nicht um den Verlust Ihrer Daten kümmern.

1. Sehen Sie sich die verfügbaren Filesystem Builder-Befehle an

Die Dateisystem-Builder (mkfs*-Befehle) werden normalerweise in Verzeichnissen wie /sbin/, /sbin/fs, /sbin/fs.d, /etc/fs und /etc gesucht. Wenn es nicht gefunden wird, durchsucht es schließlich die Verzeichnisse, die in der PATH-Variablen gefunden werden.

Die folgende Liste zeigt die verfügbaren mkfs*-Befehle in einem System.

# 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

Wenn Sie neu im Dateisystem sind, lesen Sie über Ext2 vs. Ext3 vs. Ext4.

2. Erstellen Sie ein Dateisystem auf einem bestimmten Gerät

Um das Dateisystem mit dem Befehl mkfs zu erstellen, sind die erforderlichen Argumente Gerätedateiname und Dateisystemtyp, wie unten gezeigt. Das folgende Beispiel erstellt ein ext3-Dateisystem auf der /dev/sda6-Partition.

# 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   

Bitte beachten Sie, dass der Standarddateisystemtyp für den mkfs-Befehl ext2 ist. Wenn Sie die Option „-t“ nicht angeben, wird ein ext2-Dateisystem erstellt.

Außerdem können Sie die zuvor besprochene Methode verwenden, um festzustellen, ob Sie ein ext2-, ext3- oder ext4-Dateisystem haben.

3. Erstellen Sie ein Dateisystem mit Journal mit der Option -j

Das unten angegebene Beispiel erstellt ein Dateisystem mit 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   

Wenn Sie das Journaling auf einem Dateisystem nicht benötigen, führen Sie den mke2fs-Befehl wie unten gezeigt aus.

# mke2fs /dev/sda6 

4. Auf fehlerhaften Blöcken auf einem Gerät suchen

Bevor Sie ein Dateisystem erstellen, können Sie überprüfen, ob das System keine fehlerhaften Blöcke enthält, indem Sie die Option -c wie unten gezeigt verwenden. Dadurch wird ein Nur-Lese-Test auf dem Dateisystem durchgeführt, um sicherzustellen, dass keine fehlerhaften Blöcke vorhanden sind. Sie können auch einen Lese-Schreib-Test durchführen, um zu überprüfen, ob keine fehlerhaften Blöcke vorhanden sind, indem Sie die Option „-c -c“ verwenden. Bitte beachten Sie, dass dies langsamer ist als die 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. Erzwingen, dass ein Dateisystem auf einer gemounteten Partition erstellt wird

Es wird empfohlen, keine Dateisystemoperationen auf einer gemounteten Partition durchzuführen. Aber dennoch können Sie es zwingen, ein Dateisystem auf einer in Gebrauch befindlichen Partition oder einer gemounteten Partition mit der Option -F zu erstellen, wie unten gezeigt.

# mke2fs -F /dev/sda6

6. Bytes pro Inode-Gruppe auf einer Partition

Sie können die verwendeten und verfügbaren Inodes in der Partition wie unten gezeigt mit dem Befehl df auflisten.

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

Wie oben zu sehen ist, ist IUsed auf /dev/sda6 11 von 1120112. Nachdem die neue Datei darauf erstellt wurde, ändert sich der Wert von IUsed entsprechend wie unten gezeigt.

# 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

Sie können auch den Befehl tune2fs verwenden, um die Inode-Details anzuzeigen:

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

Um die Inode-pro-Gruppe der obigen Partition (z. B.:/dev/sda6) zu ändern, verwenden Sie die Option -i wie folgt:

# 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   

Wie oben zu sehen, wurden die Bytes pro Inode vom Standardwert von 16384 auf 8192 geändert. Jetzt wurde das Inode-Limit der Partition wie unten gezeigt erhöht.

# 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

Das Ändern des Werts von Inodes-per-Group hat nur Auswirkungen auf die Anzahl der Dateien, die auf der Partition aufbewahrt werden sollen. Durch Verringern dieses Werts wird die Anzahl der Dateien auf einer Partition erhöht.

7. Ändern Sie die Inode-Größe auf einer Partition

Es ist möglich, die Größe eines Inodes auf einer Partition mit den Optionen I und i wie unten gezeigt zu ändern.

# 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   

Wie oben zu sehen ist, wird die Größe von 256 auf 128 geändert, was zu einer Erhöhung der Gesamtzahl der Inodes auf einer Partition führt:

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

8. Legen Sie die Datenträgerbezeichnung für die Partition fest

Mit der Option -L können Sie einen Namen/eine Bezeichnung für eine Partition erstellen. Im folgenden Beispiel weisen wir DATA als Bezeichnung für die /dev/sda6-Partition zu.

# 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

Sie können den Label-Namen der obigen Partition anzeigen, indem Sie den Befehl e2label wie unten gezeigt verwenden:

# e2label /dev/sda6 
DATA

Eine andere Möglichkeit, das Label einer Partition anzuzeigen, ist die Verwendung des blkid-Befehls, wie unten gezeigt:

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

9. Simulieren Sie eine Dateisystemerstellung

Beim Ausführen des mkfs-Befehls wird der Inhalt so angezeigt, wie er es auf stdout tun würde. Sie können diese Meldungen sogar auf stdout anzeigen, ohne tatsächlich ein Dateisystem zu erstellen, indem Sie die Option -n verwenden, wie unten gezeigt:

# 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. Erstellen Sie ein Dateisystem mit einer bestimmten Anzahl von Inodes

mkfs bietet die Möglichkeit, das Dateisystem mit der Anzahl der gewünschten Inodes zu erstellen. Es ermöglicht Ihnen, die Standardanzahl von Inodes pro Dateisystem basierend auf dem Byte-pro-Inode-Verhältnis zu überschreiben, wie unten gezeigt.

# 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   

Das obige kann sowohl mit tune2fs als auch mit dem df-Befehl überprüft werden, wie unten gezeigt.

# 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. 7 Beispiele für Linux-df-Befehle

  2. 8 Linux TR-Befehlsbeispiele

  3. rm-Befehlsbeispiele unter Linux

  4. ps-Befehlsbeispiele in Linux

  5. mke2fs-Befehlsbeispiele unter Linux

Linux-Groff-Befehlsbeispiele zum Erstellen eines formatierten Dokuments

Wie finde ich die Inode-Größe eines ext2/ext3/ext4-Dateisystems?

id-Befehlsbeispiele in Linux

mkfs-Befehlsbeispiele in Linux

du-Befehlsbeispiele in Linux

mkfs.ext4-Befehlsbeispiele unter Linux