Der Befehl tune2fs

tune2fs-featured

In diesem Beitrag wird der Befehl tune2fs behandelt, welcher unter UNIX- / Linux-Betriebssystemen zur Änderung der Einstellungen von Dateisystemen verwendet wird. Unterstützt wird die Anpassung von Dateisystem-Parametern für ext2-, ext3- oder ext4-Dateisysteme.

Installation

tune2fs ist Teil des Pakets e2fsprogs und auf vielen Systemen (z.B. Debian, Ubuntu) bereits vorinstalliert. Eine manuelle Installation mit apt ist jedoch durch Ausführung des folgenden Befehls möglich:

apt-get install e2fsprogs

Nähere Informationen zur Paket- und Quellenverwaltung mit apt können Sie in unserem Beitrag zu diesem Thema nachlesen.

Allgemeine Syntax

Die allgemeine Syntax des Befehls tune2fs lautet folgendermaßen:

tune2fs [Optionen] [Gerät]

Ausführen und nutzen lässt sich tune2fs nur unter Angabe von Optionen. Des Weiteren muss der Aufruf von tune2fs mit Root-Rechten erfolgen.

Wichtige Optionen

Die wichtigsten Optionen, die für tune2fs zur Verfügung stehen, werden in diesem Abschnitt vorgestellt.

-e - Fehlerverhalten festlegen

Stellt e2fsck Fehler im Dateisystem fest, dann sind für das System verschiedene Verhaltensweisen möglich. In jedem Fall führt ein Dateisystemfehler dazu, dass e2fsck das Dateisystem beim nächsten Reboot überprüft. Mit der Option -e des Befehls tune2fs lässt das Verhalten beim Eintreten des Fehlers einstellen. Mögliche Werte sind "continue" (Fortfahren), "remount-ro" (Partition schreibgeschützt neu mounten) und "panic" (Kernel-Panic auslösen).

tune2fs -e [continue|remount-ro|panic] [Gerät]

-f - Auftretende Fehler ignorieren

Die Option -f erzwingt die vollständige Ausführung einer tune2fs Operation, wobei eventuell auftretende Fehler ignoriert werden.

tune2fs -f [Optionen] [Gerät]

-g - Gruppe festlegen

Die Gruppe, welche die reservierten Dateisystem-Blöcke verwenden darf, wird mit der Option -g festgelegt. Angegeben werden kann die Gruppe in Form einer numerischen Gruppen-ID (GID), oder als Gruppenname. Wird ein Gruppenname übergeben, so wandelt tune2fs diesen in eine GID um, bevor er in den Superblock geschrieben wird.

tune2fs -g [Gruppe] [Gerät]

-j - ext3-Journal hinzufügen

Mithilfe der Option -j kann ein ext3-Journal zum Dateisystem hinzugefügt werden. Wenn die Option -J dabei nicht zusätzlich angegeben wird, dann verwendet tune2fs die standardmäßigen Journal-Parameter, um ein für die Größe des Dateisystems angemessenes Journal anzulegen. Es ist zu beachten, dass für die Verwendung des Journals ein Kernel mit ext3-Unterstützung benötigt wird.

tune2fs -j [Gerät]

-J - ext3-Journal-Einstellungen festlegen

Die Option -J wird verwendet, um die standardmäßigen Journal-Einstellungen bei Erstellung eines ext3-Journals zu überschreiben. Die Einstellungen werden der Option kommasepariert übergeben und dürfen, hinter einem Gleichheitszeichen "=", auch Parameter erhalten.

tune2fs -J [Journal-Einstellungen] [Gerät]

Unterstützt werden die folgenden Einstellungen:

Einstellung

Funktion

size=[Size]

Ein Journal der Größe [Size] in Megabyte auf dem Dateisystem erstellen. Die Mindestgröße beträgt 1024 Dateisystem-Blöcke (z.B. 1MB bei 1K-Blöcken). Die Maximalgröße ist 10.240.000. Vor Erstellung muss sichergestellt sein, dass ausreichend freier Speicher im Dateisystem vorhanden ist.

location=[Location]

Gibt den Speicherort des Journals an. Als [Location] kann entweder eine Blocknummer, oder, durch Hinzufügen eines Einheitensuffix (z.B. "M", "G", etc.), ein Offset vom Anfang des Dateisystems angegeben werden. 

device=[Device]

Hängt das Dateisystem an das angegebene Journal-Blockgerät an. Letzteres externes Journal muss bereits mit dem Befehl "mke2fs -O journal_dev [Device]" erstellt worden sein. Es ist zu beachten, dass das externe Journal mit derselben Blockgröße formatiert sein muss, wie das Dateisystem, welches dieses nutzt.

-l - Dateisystem-Superblock auflisten

Mit der Option -l können die aktuellen Inhalte des Dateisystem-Superblocks aufgelistet werden. Ausgegeben werden auch die Werte der Einstellungen, die mit tune2fs gesetzt werden können.

tune2fs -l [Gerät]

-L - Volume-Label festlegen

Das Volume-Label des Dateisystems kann mit der Option -L gesetzt werden. Bei ext2-Dateisystemen darf das Volume-Label maximal 16 Zeichen lang sein. Überschreitet der mit der Option -L angegebene Wert diese Grenze, dann kürzt tune2fs ihn und gibt eine Warnung aus.

tune2fs -L [Label] [Gerät]

-m - Prozentuale Reservierung festlegen

Die Option -m erlaubt die Festlegung des für privilegierte Prozesse reservierten Anteils des Dateisystems in Prozent. In der Regel werden einige Dateisystemblöcke für die Nutzung durch privilegierte Prozesse reserviert, damit System-Dienste (z.B. syslogd) auch dann noch richtig funktionieren, wenn unprivilegierte Prozesse bereits am Schreiben auf das Dateisystem gehindert werden. Standardmäßig werden 5% der Blöcke reserviert.

tune2fs -m [Anteil] [Gerät]

-o - Standard-Mount-Optionen festlegen

Mithilfe der Option -o lassen sich die Standard-Mount-Optionen des Dateisystems setzen oder leeren. Die festgelegten Standard-Mount-Optionen können mit anderen Mount-Optionen, wie sie in der /etc/fstab spezifiziert sind oder dem Befehl mount übergeben werden, überschrieben werden. Ältere Kernel unterstützen diese Funktion teilweise nicht. Insbesondere Kernel-Versionen vor 2.4.20 ignorieren die Standard-Mount-Optionen im Superblock.

tune2fs -o [Mount-Optionen] [Gerät]

Es können mehrere Mount-Optionen geleert oder gesetzt werden, indem diese kommasepariert hintereinander angegeben werden. Eine Mount-Option mit dem Präfix "^" wird dabei im Superblock geleert. Das Hinzufügen einer Mount-Option ist durch Verwendung des Präfix "+" oder ohne Präfix möglich.

Der folgenden Tabelle sind die verfügbaren Mount-Optionen und ihre jeweiligen Funktionen zu entnehmen:

Option

Funktion

debug

Aktiviert Debugging-Code für dieses Dateisystem.

bsdgroups

BSD-Verhalten beim Erstellen neuer Dateien emulieren. Die GID des Verzeichnisses, in dem eine Datei erstellt wird, wird dabei übernommen.

user_xattr

Aktiviert benutzerdefinierte erweiterte Attribute.

acl

Aktiviert POSIX Access Control Lists.

uid16

Deaktiviert 32-Bit UIDs und GIDs.

journal_data

Wenn das Dateisystem mit aktiviertem Journalling gemountet ist, dann werden alle Daten (nicht nur die Metadaten) dem Journal hinzugefügt, bevor sie in das Hauptdateisystem geschrieben werden.

journal_data_ordered

Wenn das Dateisystem mit aktiviertem Journalling gemountet ist, dann werden alle Daten direkt in das Hauptdateisystem geschrieben, bevor ihre Metadaten dem Journal hinzugefügt werden.

journal_data_writeback

Wenn das Dateisystem mit aktiviertem Journalling gemountet ist, dann dürfen Daten in das Hauptdateisystem geschrieben werden, nachdem ihre Metadaten dem Journal hinzugefügt wurden. Die Option kann den Durchsatz erhöhen, erlaubt jedoch unter Umständen auch das Auftauchen alter Dateien nach einem Crash und Journal-Recovery.

nobarrier

Das Dateisystem wird mit deaktivierten Barrier-Optionen im Journal gemountet. Die Option wird derzeit nur von ext4-Dateisystem-Treibern in Kernel-Versionen 2.6.35 und höher unterstützt.

block_validity

Das Dateisystem wird mit aktivierter "block_validity" Option gemountet, wodurch zusätzliche Überprüfungen nach dem Lesen und Schreiben vom Dateisystem durchgeführt werden. Die Option führt zu einem erhöhten Speicher- und CPU-Overhead und sollte entsprechend nur zu Debugging-Zwecken aktiviert werden. Unterstützt wird die Option von Kernel-Versionen 2.6.35 und höher.

discard

Das Dateisystem wird mit aktivierter "discard" Mount-Option gemountet. Der Dateisystemtreiber versucht dann, die Trim/Discard-Funktion einiger Speichergeräte zu nutzen, um das Speichergerät darüber zu informieren, dass Blöcke, die zu gelöschten Dateien gehören, für andere Zwecke wiederverwendet werden können. Die Option wird von Kernel-Versionen 2.6.35 und höher unterstützt.

nodelalloc

Das Dateisystem wird mit aktivierter "nodelalloc" Option gemountet, wodurch die verzögerte Zuordnung (delayed allocation) deaktiviert wird.

-O - Dateisystemfeatures festlegen

Dateisystemfeatures lassen sich mit der Option -O setzen oder leeren. Mehrere Features können dabei in einem Befehl gesetzt oder geleert werden, indem sie kommasepariert hintereinander angegeben werden. Genau wie auch bei der Option -o werden solche Features, die mit einem Präfix "^" versehen werden, geleert. Der Präfix "+" oder kein Präfix führen zum Setzen des entsprechenden Features.

tune2fs -o [Mount-Optionen] [Gerät]

In der folgenden Tabelle sind die verfügbaren Dateisystemfeatures aufgelistet:

Feature

Funktion

dir_index

Gehashte B-Bäume verwenden, um das Nachschlagen (Lookups) für große Verzeichnisse zu beschleunigen.

dir_nlink

Mehr als 65000 Unterverzeichnisse pro Verzeichnis erlauben.

encrypt

Verschlüsselung auf Dateisystem-Ebene erlauben. tune2fs unterstützt derzeit nur das Setzen dieses Features.

extent

Erlaubt die Nutzung von Extent-Bäumen zur Speicherung der Position von Datenblöcken in Inodes. tune2fs unterstützt derzeit nur das Setzen dieses Features.

extra_isize

Aktiviert die erweiterten Inode-Felder, die von ext4 verwendet werden.

filetype

Dateityp-Informationen in Verzeichniseinträgen speichern.

flex_bg

Erlaubt die Platzierung von Bitmaps und Inode-Tabellen für eine Blockgruppe an jeglicher Position auf dem Speichermedium. tune2fs führt keine Reorganisation der Positionen der Inode-Tabellen und Zuordnungs-(Allocation-)Bitmaps durch. Dies wird von mke2fs durchgeführt, wenn ein neu formatiertes Dateisystem mit aktiviertem "flex_bg" erstellt wird. Dieses Feature wird nur von dem ext4-Dateisystem unterstützt.

has_journal

Ein Journal zur Gewährleistung der Dateisystem-Konsistenz, auch über unsaubere Abschaltungen hinweg, verwenden. 

huge_file

Dateien größer als 2 Terabyte unterstützen.

large_file

Das Dateisystem darf Dateien größer als 2 Gigabyte beinhalten.

metadata_csum

Eine Checksumme zum Schutz der Inhalte jedes Metadaten-Blocks speichern.

mmp

Aktiviert das Multiple-Mount-Protection (MMP) Feature.

quota

Aktiviert interne Dateisystem-Quota-Inodes.

read-only

Zwingt den Kernel dazu, das Dateisystem im Read-Only-Modus (nur lesen) zu mounten. 

resize-inode

Reserviert Speicher, sodass die Blockgruppen-Deskriptor-Tabelle in Zukunft wachsen darf. tune2fs erlaubt nur das Leeren dieses Dateisystem-Features.

sparse_super

Limitiert die Anzahl der Backup-Superblöcke, um Speicher auf großen Dateisystemen zu sparen. tune2fs erlaubt derzeit nur das Setzen dieses Dateisystem-Features.

uninit_bg

Erlaubt dem Kernel die Lazy-Initialisierung von Bitmaps und Inode-Tabellen. Der erste Durchlauf von e2fsck nach Aktivierung dieses Features benötigt die volle Zeit.  Nachfolgende Durchläufe von e2fsck benötigten dann jedoch, je nachdem wie belegt das Dateisystem ist, nur noch einen Bruchteil der Zeit. Dieses Feature wird nur von dem ext4-Dateisystem unterstützt.

Nach dem Setzen oder leeren der Dateisystem-Features "sparse_super", "uninit_bg", "filetype" oder "resize_inode" muss das Dateisystem eventuell mithilfe von e2fsck überprüft werden, um es wieder in einen konsistenten Zustand zu versetzen. Wenn benötigt, dann gibt tune2fs eine entsprechende Meldung aus.

Weiterhin kann nach dem Setzen des Features "dir_index" der folgende Befehl ausgeführt werden, um existierende Verzeichnisse in das gehashte B-Baum-Format zu konvertieren:

e2fsck -D

Schließlich ist zu beachten, dass die Aktivierung einiger Dateisystem-Features dazu führt, dass sich das Dateisystem nicht mehr von Kernels mounten lässt, die diese Features nicht unterstützen.

-r - Anzahl reservierter Blöcke festlegen

Die Anzahl reservierter Dateisystemblöcke kann mit der Option -r festgelegt werden:

tune2fs -r [Anzahl] [Gerät]

-u - Benutzer festlegen

Der Benutzer, der die reservierten Dateisystem-Blöcke verwenden darf, wird mit der Option -u festgelegt. Die Angabe des Benutzers kann in Form einer numerischen User-ID (UID), oder als Benutzername erfolgen. Wird ein Benutzername übergeben, so wandelt tune2fs diesen in eine UID um, bevor er in den Superblock geschrieben wird.

tune2fs -u [Benutzer] [Gerät]

-U - Dateisystem-UUID festlegen

Mit der Option -U kann die UUID des Dateisystems festgelegt werden. Das Format der UUID entspricht einer Reihe von Hex-Ziffern die durch Minuszeichen "-" getrennt sind. Beispiel für eine UUID ist "7f22b916-06b0-46de-a87d-fe27f66588a8".

tune2fs -U [UUID] [Gerät]

Alternativ darf als UUID auch einer der folgenden Werte angegeben werden:

Wert

Funktion

clear

Leert die Dateisystem UUID.

random

Generiert eine neue zufällige UUID.

time

Generiert eine neue zeitbasierte UUID.

Abonniere JETZT unseren Newsletter!


Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!

Joel Benseler

Click Here to Leave a Comment Below

Leave a Comment: