Der Befehl fsck

fsck-featured

In diesem Beitrag lernen Sie, wie Sie unter Linux-/UNIX-Betriebssystemen manuell eine Dateisystem-Überprüfung anstoßen und anschließend gegebenenfalls eine automatische Reparatur ausführen.

Bei Verwendung eines ext3- oder ext4-Dateisystems führt das System in regelmäßigen Abständen automatisch eine solche Überprüfung aus. Für Wechselmedien und verschlüsselte Partitionen müssen solche Überprüfungen jedoch manuell durchgeführt werden.

Allgemeine Syntax

Die allgemeine Syntax des Befehls fsck lautet folgendermaßen:

fsck [Optionen] [Dateisystem(e)]

Gültige Bezeichner für Dateisysteme sind Gerätenamen, wie beispielsweise /dev/sda2, Einhängepunkte, Ext2-Dateisystembezeichnungen oder UUID-Bezeichner.

Werden dem Befehl weder Optionen, noch ein Dateisystem übergeben, dann überprüft fsck nacheinander alle in der Konfigurationsdatei /etc/fstab eingetragenen Dateisysteme. Dies ist dabei gleichbedeutend dem Vorgehen bei Verwendung der beiden Optionen -A und -s, wobei letztere Option in diesem Beitrag nicht näher erläutert wird.

Beachten Sie, dass fsck nicht auf einem eingehängten Dateisystem ausgeführt werden darf! Wie Dateisysteme ein- und ausgehängt werden erfahren Sie in unserem Beitrag zum Thema mount.

Wichtige Optionen

Im folgenden Abschnitt sollen die wichtigsten Optionen des Befehls fsck einmal kurz erläutert werden.

-l - Plattenlaufwerk sperren

Bei Verwendung der Option -l sperrt fsck das gesamte Plattenlaufwerk mit flock(2) mithilfe der Sperrdatei /run/fsck/<Plattenname>.lock.

fsck -l [Dateisystem(e)]

Die Option wird nur dann verwendet, wenn dem Befehl fsck ein einzelnes Gerät übergeben wird und ist besonders dann hilfreich, wenn mehrere Instanzen von fsck gleichzeitig ausgeführt werden sollen.

-r - Statistiken ausgeben

Mit der Option -r können Sie nach Abschluss jeder Dateisystem-Überprüfung zusätzliche Statistiken ausgeben. Neben dem Exit-Status werden die maximal bearbeitete Größe (rss), die verstrichene Gesamtzeit (real), sowie die für die Überprüfung verwendete Benutzer- (user) und System-CPU-Zeit (sys) ausgegeben.

fsck -r [Dateisystem(e)]

Exit-Status

Der Exit-Status wird von fsck in 8-Bit ausgegeben, wobei das vorletzte Bit ignoriert wird. Werden mehrere Dateisysteme von fsck überprüft, so wird für die Ausgabe des Exit-Status das bitweise ODER aller Teilstatus berechnet. Es folgen die Bedingungen, aus denen sich der Rückgabewert zusammensetzt:

Wertigkeit

Bedeutung

0

Es sind keine Fehler aufgetreten

1

Es wurden Dateisystemfehler korrigiert

2

Das System sollte neugestartet werden

4

Dateisystemfehler wurden nicht korrigiert

8

Betriebsfehler

16

Aufruf- oder Syntaxfehler

32

fsck wurde auf Benutzerwunsch abgebrochen

128

Fehler in Laufzeitbibliothek aufgetreten

Beispiel: Option -r (Exit-Status)

In diesem Beispiel soll einmal der Befehl fsck mit der Option -r und der eingehängten Partition /dev/sda3 ausgeführt werden. Aufgrund letzteren Umstands ist ein Fehler zu erwarten.

Eingabe:

fsck -r /dev/sda3

Ausgabe:

In der Ausgabe ist zu erkennen, dass der Vorgang vor seiner vollständigen Ausführung abgebrochen wurde. Unten werden die durch die Option -r erzeugten Statistiken angezeigt: Der Exit-Status '8' signalisiert hier einen Betriebsfehler (siehe Tabelle oben). Weiterhin sind die Werte 'rss', 'real', 'user' und 'sys' abzulesen.

befehl-fsck-ausgabe-option-r

-t - Dateisystem-Typ spezifizieren

Die Option -t ermöglicht Ihnen die Angabe einer Dateisystem-Liste, welche den Typ bzw. die Typen der zu überprüfenden Dateisysteme angibt. Es handelt sich um eine durch Kommata separierte Liste von Dateisystemen, wobei jedem Dateisystem auch zusätzliche Optionen übergeben werden können. Solche dateisystem-spezifischen Optionen sind jedoch nicht standardisiert und werden in diesem Beitrag daher nicht näher behandelt.

Durch Voranstellen des Negationsoperators 'no' oder '!' vor allen angegebenen Dateisystemen ist es möglich, alle nicht aufgelisteten Dateisysteme zu überprüfen. Wird keine Negation durchgeführt, so werden alle in der Liste enthaltenen Dateisysteme überprüft.

Die Syntax lautet schließlich:

fsck -t [Dateisystem-Liste] [Dateisystem(e)]

Bei Verwendung der Option -A werden stets nur die in der Dateisystem-Liste angegebenen Dateisysteme überprüft.

-A - /etc/fstab durcharbeiten

Verwenden Sie die Option -A, so arbeitet fsck den gesamten Inhalt der /etc/fstab durch und versucht so, alle Dateisysteme in einem Durchgang zu überprüfen. Die Option wird aufgrund ihres kompakten Aufbaus typischerweise in der Systeminitialisierungsdatei /etc/rc verwendet. Offensichtlich wird keine zusätzliche Angabe von Dateisystemen benötigt.

fsck -A

fsck überprüft hierbei zuerst die Dateisystem-Wurzel und fährt dann mit der unter fs_passno in der /etc/fstab angegebenen Reihenfolge fort.

Beispiel: Option -A

Dieses Beispiel soll verdeutlichen, wie die Option -A eine Überprüfung aller Dateisysteme durchführt.

Eingabe:

fsck -A -V

Ausgabe:

In der Ausgabe ist zu erkennen, dass fsck eine Überprüfung aller Dateisysteme durchführt. Der Befehl kann nun beliebig mit anderen Optionen kombiniert werden, um beispielsweise einen Exit-Status nach Abschluss der Überprüfung zu erhalten.

befehl-fsck-ausgabe-option-A

-M - Eingehängte Dateisysteme nicht überprüfen

Bei Verwendung der Option -M überprüft fsck keine eingehängten Dateisysteme und gibt für diese den Exit-Status 0 zurück.

fsck -M [Dateisystem(e)]
Beispiel: Option -M

Hierbei soll der Versuch eine eingehängte Partition mit fsck zu überprüfen mit der Option -M verhindert werden. Es wird zusätzlich die Option -A verwendet, um alle in der /etc/fstab eingetragenen Geräte zu überprüfen, sowie die Option -V, um ausführliche Ausgaben zu erzeugen.

Eingabe:

fsck -A -M -V

Ausgabe:

In der Ausgabe werden die UUID-Bezeichnungen der Geräte ausgegeben, welche bei dieser Überprüfung übersprungen wurden.

befehl-fsck-ausgabe-option-M

-R - Dateisystemwurzel überspringen

Mit der Option -R können Sie die Überprüfung der Dateisystem-Wurzel bei Verwendung der Option -A überspringen:

fsck -A -R [Dateisystem(e)]

-V - Ausführliche Ausgaben

Wird die Option -V verwendet, so erzeugt fsck ausführliche Ausgaben. Dazu gehören auch Ausgaben von dateisystem-spezifischen Optionen.

fsck -V [Dateisystem(e)]

Wichtige Umgebungsvariablen

Solche Umgebungsvariablen, die den Befehl fsck in seinem Verhalten beeinflussen, sollen im Folgenden kurz aufgelistet und erläutert werden.

Umgebungsvariable

Bedeutung

FSCK_FORCE_ALL_PARALLEL

Alle angegebenen Dateisysteme parallel überprüfen.

fs_passno aus der /etc/fstab wird nicht verwendet.

FSCK_MAX_INST

Maximale Anzahl gleichzeitig laufender Prüfprogramme begrenzen.

PATH

PATH wird nach dateisystemspezifischen Prüfprogrammen durchsucht.

FSTAB_FILE

Vorgegebenen Ort der /etc/fstab hier überschreiben.

LIBBLKID_DEBUG=all

Aktiviert die Debug-Ausgabe.

LIBMOUNT_DEBUG=all

Aktiviert die Debug-Ausgabe für libmount.

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: