Der Befehl tune2fs
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!