Dateisystemtypen
Das Erstellen eines Dateisystems schreibt Informationen auf das Gerät und schafft Ordnung im leeren Raum. Diese dateisystembezogenen Daten verbrauchen einen kleinen Prozentsatz des Speicherplatzes. Der verbleibende Speicherplatz auf dem Laufwerk wird in kleine Segmente einheitlicher Größe aufgeteilt, die als Blöcke bezeichnet werden. Linux unterstützt eine Reihe von Dateisystemtypen, von denen einige wie folgt beschrieben werden.
Dateisystem | Beschreibung |
---|---|
ext2 | Hochleistung für Festplatten und Wechselmedien |
ext3 | Journaling-Version von ext2 |
ext4 | Unterstützt größere Dateien und Dateisysteme |
vfat | MS-DOS-Dateisystem nützlich beim Austausch von Dateien zwischen Windows und Linux |
XFS | Hochleistungs-Journaling-Dateisystem |
Btrfs | Berücksichtigt die Skalierbarkeitsanforderungen großer Speichersysteme |
Dateisysteme erstellen
Der Befehl zum Erstellen eines Linux-Dateisystems auf einem Gerät oder einer Festplattenpartition lautet mkfs. Die Syntax für den Befehl lautet:
# mkfs [options] device
Der Befehl mkfs ist eigentlich ein Frontend für die verschiedenen Dateisystem-Builder-Dienstprogramme wie mkfs.ext2 und mkfs.ext4. Diese Dienstprogramme können direkt von der Befehlszeile aus ausgeführt werden. Schließen Sie bei Verwendung des mkfs-Wrappers die Option -t fstype ein, um den Typ des zu erstellenden Dateisystems anzugeben. Wenn nicht angegeben, wird der Standarddateisystemtyp ext2 erstellt.
Um zu sehen, welche unterstützten Dateisystemtypen installiert sind, verwenden Sie den Befehl 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
Die Dateien mkdosfs, mkfs.msdos und mkfs.vfat sind symbolische Links zu mkfs.fat.
mkfs verwenden
Der standardmäßige Dateisystemtyp, der bei Verwendung des mkfs-Befehls erstellt wird, ist ext2. Wie bereits erwähnt, ist mkfs ein Wrapper, der andere Dienstprogramme zum Erstellen von Dateisystemen aufruft. Daher erstellt jeder der folgenden Befehle ein ext2-Dateisystem auf dem angegebenen Gerät:
# mkfs /dev/xvdd1 # mke2fs /dev/xvdd1 # mkfs.ext2 /dev/xvdd1
Um ein ext3-Dateisystem zu erstellen, verwenden Sie einen der folgenden Befehle:
# mkfs –t ext3 /dev/xvdd1 # mke2fs –t ext3 /dev/xvdd1 # mkfs.ext3 /dev/xvdd1
Um ein ext4-Dateisystem zu erstellen, verwenden Sie einen der folgenden Befehle:
# mkfs –t ext4 /dev/xvdd1 # mke2fs –t ext4 /dev/xvdd1 # mkfs.ext4 /dev/xvdd1
Konfigurationsdatei
Es stehen eine Reihe von Optionen zur Verfügung, um Blockgröße, Fragmentgröße, Blöcke pro Gruppe, Journaloptionen, Anzahl der Inodes und andere Parameter anzupassen. Ohne irgendwelche Optionen einzubeziehen, die Standardwerte, die in /etc/mke2fs.conf angegeben sind Konfigurationsdatei verwendet werden.
Beispieldatei /etc/mke2fs.confDateisystemlabels
Eine nützliche Option für die Dienstprogramme zum Erstellen des Dateisystems ist das -L Namensoption. Dies weist der Partition ein Label zu; diese Bezeichnung kann beim Mounten des Dateisystems anstelle des Gerätenamens verwendet werden. Labels sind auf eine maximale Größe von 16 Zeichen beschränkt . Für vorhandene Dateisysteme ist das e2label Befehl wird verwendet, um ein Label anzuzeigen oder zu setzen.
Dateisystemen wird automatisch eine universell eindeutige Kennung (UUID) zugewiesen . UUIDs können beim Mounten des Dateisystems verwendet werden. Um die UUID, das Label und den Dateisystemtyp anzuzeigen, verwenden Sie blkid Befehl. Die folgenden Beispiele veranschaulichen das Erstellen verschiedener Dateisysteme mit und ohne Label und das Anzeigen der Informationen mit dem Befehl blkid. Geben Sie Folgendes ein, um ein ext2-Dateisystem zu erstellen und Informationen anzuzeigen:
# mkfs /dev/xvdf1 # blkid /dev/xvdf1 /dev/xvdf1: UUID="41bae7c3-396a-436d-9764-d27d4ca3f17b" TYPE="ext2"
Geben Sie Folgendes ein, um ein ext3-Dateisystem zu erstellen und Informationen anzuzeigen:
# mkfs -t ext3 /dev/xvdf1 # blkid /dev/xvdf1 /dev/xvdf1: UUID="c8e958f4-e5d0-4404-8a9a-2cea24675fcd" SEC_TYPE="ext2" TYPE="ext3"
Um ein ext4-Dateisystem zu erstellen, einen Bezeichnungsnamen zuzuweisen und Informationen anzuzeigen, geben Sie Folgendes ein:
# mkfs -t ext4 -L "Test Label" /dev/xvdf1 # blkid /dev/xvdf1 /dev/xvdf1: LABEL="Test Label" UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" TYPE="ext4"
Einhängen von Dateisystemen
Dateisysteme auf verschiedenen Partitionen und Wechselmedien wie CDs, DVDs oder USB-Flash-Laufwerke müssen an die Verzeichnishierarchie angehängt werden, um darauf zugreifen zu können. Um eine Partition oder ein Gerät anzuhängen, muss ein Einhängepunkt erstellt werden. Ein Einhängepunkt ist einfach ein Verzeichnis, das mit dem Befehl mkdir erstellt wird. Nachdem ein Verzeichnis oder Einhängepunkt erstellt wurde, hängen Sie die Partition mit dem Befehl mount an. Die Syntax für den Mount-Befehl lautet:
# mount [options] device_file mount_point
Das folgende Beispiel erstellt einen Einhängepunkt (/test) und hängt die Partition an:
# mkdir /test # mount /dev/xvdf1 /test
Alternativ können Sie die Partition oder das Gerät mounten, indem Sie auf die UUID oder das Label verweisen. Das folgende Beispiel zeigt die UUID und das Label mit dem blkid-Befehl an und stellt die Partition bereit, indem auf beide verwiesen wird:
# 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
Der Mount-Befehl ohne Optionen zeigt alle derzeit angehängten Dateisysteme an:
# mount | grep test /dev/xvdf1 on /test type ext4 (rw,relatime,seclabel,data=ordered)
In diesem Beispiel wird die Partition /dev/xvdf1 auf /test gemountet. Der Dateisystemtyp ist ext4 und wird sowohl zum Lesen als auch zum Schreiben gemountet. Der Befehl df zeigt auch gemountete Dateisysteme an. Beispiel:
# df -hP /test Filesystem Size Used Avail Use% Mounted on /dev/xvdf1 923M 2.4M 857M 1% /test
Die Informationen im proc-Dateisystem zeigen gemountete Dateisysteme an. Beispiel:
# cat /proc/mounts | grep test /dev/xvdf1 /test ext4 rw,seclabel,relatime,data=ordered 0 0
Mount-Optionen
Verwenden Sie zum Festlegen von Mount-Optionen das –o Flag gefolgt von einer durch Kommas getrennten Zeichenfolge von Optionen. Im Folgenden sind einige der verfügbaren Optionen für den Mount-Befehl aufgeführt:
- automatisch :Ermöglicht das automatische Mounten des Dateisystems mit dem Befehl mount –a
- Schleife :Mountet das Image als Loop-Gerät
- noauto :Verbietet das automatische Mounten des Dateisystems mit dem Befehl mount –a
- noexec :Verbietet die Ausführung von Binärdateien im Dateisystem
- nouser :Verbietet einem gewöhnlichen Benutzer (außer root) das Mounten und Unmounten des Dateisystems
- neu einhängen :Remountet das Dateisystem, falls es bereits gemountet ist
- ro :Mountet das Dateisystem nur zum Lesen
- w :Mountet das Dateisystem sowohl zum Lesen als auch zum Schreiben
- Benutzer :Erlaubt einem normalen Benutzer (außer root), das Dateisystem zu mounten und zu unmounten
Um beispielsweise die /dev/xvdf1-Partition auf dem Einhängepunkt /test als schreibgeschützt einzuhängen, wobei nur der Root-Benutzer das Dateisystem ein- und aushängen kann, geben Sie Folgendes ein:
# mount –o nouser,ro /dev/xvdf1 /test
Um ein ISO-Image mithilfe des Loop-Geräts zu mounten (vorausgesetzt, das ISO-Image befindet sich im aktuellen Verzeichnis und der Mount-Punkt existiert), geben Sie Folgendes ein:
# mount -o ro,loop rhel7-x86_64-dvd.iso /media/cdrom
Optionen für Tagebuch-Reittiere
Die Dateisysteme ext3 und ext4 haben drei Journaling-Ebenen, die mit -o eingestellt werden können Option im Mount-Befehl oder im Optionsabschnitt von /etc/fstab:
- data=journal :Die höchste Stufe. Derjenige, der am meisten Tagebuch führt. Dadurch werden die Journaleinträge für alle Daten- und Metadatenänderungen geschrieben. Alle Daten werden in das Journal geschrieben, bevor sie in das Hauptdateisystem geschrieben werden.
- data=bestellt :Der Standardmodus. Alle Daten werden direkt an das Hauptdateisystem ausgegeben, bevor ihre Metadaten an das Journal übergeben werden.
- data=writeback :Die niedrigste Stufe. Die Datenreihenfolge wird nicht beibehalten. Daten können in das Hauptdateisystem geschrieben werden, nachdem ihre Metadaten an das Journal übergeben wurden.
Unmounten von Dateisystemen
Um ein Dateisystem auszuhängen, verwenden Sie umount Befehl. Als Argument wird der Partitionsname, der Gerätename oder der Einhängepunkt verwendet. Beispiel:
# umount /dev/xvdd1 # umount /test
/etc/fstab-Datei
Die Datei /etc/fstab wird Dateisystem-Mount-Tabelle genannt und enthält alle Informationen, die der Befehl mount zum Mounten von Geräten benötigt. Erstellen Sie beim Hinzufügen eines neuen Dateisystems den entsprechenden Eintrag in /etc/fstab, um sicherzustellen, dass das Dateisystem beim Booten gemountet wird. Das Folgende ist ein Beispiel für Einträge in der Datei /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
Die erste Spalte ist das zu montierende Gerät. Anstelle des Gerätenamens sollte die UUID oder der Labelname verwendet werden, da sich Gerätenamen ändern können. Die zweite Spalte ist der Einhängepunkt, mit Ausnahme des Swap-Partitionseintrags. Die dritte Spalte ist der Dateisystemtyp. Die vierte Spalte gibt Mount-Optionen an. Die fünfte Spalte wird vom Dump-Befehl verwendet. Die Zahl 1 bedeutet, dass das Dateisystem gesichert werden soll, und 0 bedeutet, dass das Dateisystem nicht gesichert werden muss. Die letzte Spalte wird vom fsck-Programm verwendet, um die Reihenfolge festzulegen, in der Dateisystemprüfungen beim Neustart durchgeführt werden. Das Root-Dateisystem sollte mit einem Wert von 1 angegeben werden und die anderen Dateisysteme sollten einen Wert von 2 haben. Ein Wert von 0 überprüft das Dateisystem nicht.