Scroll to navigation

FSCK(8) System-Administration FSCK(8)

BEZEICHNUNG

fsck - Linux-Dateisysteme prüfen und reparieren

ÜBERSICHT

fsck [-lsAVRTMNP] [-r [fd]] [-C [fd]] [-t Dateisystemtyp] [Dateisystem...] [--] [dateisystemspezifische-Optionen]

BESCHREIBUNG

fsck wird zum Überprüfen und optional zum Reparieren von einem oder mehreren Linux-Dateisystemen verwendet. Das Dateisystem kann ein Gerätename (zum Beispiel /dev/hdc1, /dev/sdb2), ein Einhängepunkt (zum Beispiel /, /usr, /home) oder eine Dateisystembezeichnung oder ein UUID-Kennzeichner sein (zum Beispiel UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd oder LABEL=root). Normalerweise versucht fsck, Dateisysteme auf verschiedenen physischen Laufwerken parallel zu überprüfen, um die Gesamtzeit zur Überprüfung aller Dateisysteme zu verringern.

Falls in der Befehlszeile keine Dateisysteme angegeben werden und auch die Option -A nicht angegeben ist, überprüft fsck die Dateisysteme in /etc/fstab nacheinander. Dies ist gleichbedeutend mit der Option -As.

Der Exit-Status von fsck ergibt sich aus den folgenden Bedingungen:

0

Keine Fehler

1

Dateisystemfehler wurden korrigiert

2

System sollte neu gestartet werden

4

Dateisystemfehler wurden nicht korrigiert

8

Betriebsfehler

16

Aufruf- oder Syntaxfehler

32

Fsck auf Benutzerwunsch abgebrochen

128

Fehler in dynamischer Bibliothek

Der beim Überprüfen mehrerer Dateisysteme zurückgegebene Exit-Status ist das bitweise ODER der Exit-Status-Werte für jedes der überprüften Dateisysteme.

Eigentlich ist fsck eine simple Oberfläche für die diversen unter Linux verfügbaren Werkzeuge zum Überprüfen von Dateisystemen (fsck.Dateisystemtyp). Nach den dateisystemspezifischen Prüfprogrammen wird zuerst in der Umgebungsvariable PATH gesucht und dann in /sbin.

Weitere Details hierzu finden Sie in den Handbuchseiten der dateisystemspezifischen Prüfprogramme.

OPTIONEN

-l

sperrt das gesamte Plattenlaufwerk mit einem exklusiven flock(2) mittels der Sperrdatei /run/fsck/<Plattenname>.lock. Diese Option kann nur mit einem einzelnen Gerät verwendet werden, das bedeutet, dass sich die Optionen -A und -l gegenseitig ausschließen. Dies wird empfohlen, wenn mehrere Instanzen von fsck(8) gleichzeitig ausgeführt werden. Diese Option wird ignoriert, wenn Sie mit mehreren Geräten ausgeführt oder auf nicht-rotierende Platten angewendet werden soll. fsck sperrt die zugrunde liegenden Geräte nicht, wenn es zum Überprüfen von gestapelten Geräten verwendet wird (zum Beispiel MD oder DM) – diese Funktion ist noch nicht implementiert.

-r [fd]

meldet Statistiken für jede Dateisystemüberprüfung, wenn sie beendet ist. Diese Statistiken enthalten den Exit-Status, die maximale bearbeitete Größe (in Kilobytes), die vergangene Gesamtzeit und die System-CPU-Zeit, die für die Dateisystemüberprüfung erforderlich war. Zum Beispiel:

/dev/sda1: status 0, rss 92828, real 4.002804, user 2.677592, sys 0.86186

Grafische Frontends können einen Dateisystemdeskriptor fd angeben. In diesem Falls werden die Informationen des Fortschrittsbalkens an diesen Dateideskriptor in einem maschinenlesbaren Format gespeichert. Beispiel:

/dev/sda1 0 92828 4.002804 2.677592 0.86186

-s

serialisiert die fsck-Operationen. Dies ist eine gute Idee, wenn Sie mehrere Dateisysteme prüfen wollen und die Prüfprogramme im interaktiven Modus ausgeführt werden. Beachten Sie, dass e2fsck(8) per Vorgabe im interaktiven Modus ausgeführt wird. Um es im nicht-interaktiven Modus auszuführen, müssen Sie entweder eine der Optionen -p oder -a angeben, wenn Fehler automatisch korrigiert werden sollen, oder die Option -n, wenn nicht.

-t Dateisystemliste

gibt den Typ oder die Typen der zu überprüfenden Dateisysteme an. Wenn die Option -A angegeben ist, dann werden nur die in der Dateisystem-Liste enthaltenen Dateisysteme überprüft. Der Parameter Dateisystem-Liste ist eine durch Kommata getrennte Liste der Dateisysteme einschließlich Optionsangaben. Allen Dateisystemen in dieser Liste kann ein Negationsoperator no oder ! vorangestellt werden, welcher bewirkt, dass nur die in der Dateisystemliste nicht enthaltenen Dateisysteme überprüft werden. Falls keinem der in der Dateisystem-Liste enthaltenen Dateisysteme ein solcher Negationsoperator vorangestellt ist, dann werden nur die aufgelisteten Dateisysteme überprüft.

In der durch Kommata getrennten Dateisystem-Liste können Optionen angegeben werden. Sie müssen das Format opts=Dateisystemoption haben. Falls eine Optionsangabe vorhanden ist, dann werden nur Dateisysteme überprüft, für die die Dateisystemoption in deren Einhängeoptionen in /etc/fstab> enthalten ist. Falls der Optionsangabe ein Negationsoperator vorangestellt ist, werden nur die Dateisysteme überprüft, für die die Dateisystemoption in deren Einhängeoptionen in /etc/fstab nicht enthalten ist.

Wenn beispielsweise opts=ro in der Dateisystemliste enthalten ist, dann werden nur die aufgelisteten Dateisysteme überprüft, für die in /etc/fstab die Option ro angegeben ist.

Zwecks Kompatibilät mit Mandrake-Distributionen, deren Boot-Skripte von einer nicht autorisierten Änderung der Benutzerschnittstelle abhängen, wird ein in der Dateisystemliste gefundenes Dateisystem des Typs loop so interpretiert, als wäre opts=loop als Argument zur Option -t angegeben worden.

Normalerweise wird der Dateisystemtyp daraus abgeleitet, welcher Dateisystemtyp in den entsprechenden Einträgen der /etc/fstab gefunden wird. Falls der Typ nicht ermittelt werden kann und nur ein einzelnes Dateisystem als Argument mit der Option -t angegeben wird, verwendet fsck den angegebenen Dateisystemtyp. Ist dieser Typ nicht verfügbar, wird der voreingestellte Dateisystemtyp verwendet (derzeit ext2).

-A

arbeitet die Datei /etc/fstab durch und versucht, alle Dateisysteme in einem Arbeitsgang zu überprüfen. Diese Option wird typischerweise in der Systeminitialisierungsdatei /etc/rc verwendet, anstatt mehrere Befehle zum Überprüfen einzelner Dateisysteme aufzurufen.

Die Dateisystemwurzel wird zuerst überprüft, es sei denn, die Option -P wurde angegeben (siehe unten). Danach werden die Dateisysteme in der Reihenfolge überprüft, wie sie in fs_passno, der sechsten Spalte in der Datei /etc/fstab angegeben sind. Dateisysteme mit einem fs_passno-Wert von 0 werden übersprungen und nicht geprüft. Dateisysteme mit einem fs_passno-Wert größer als 0 werden der Reihe nach überprüft, das Dateisystem mit dem niedrigsten fs_passno-Wert zuerst. Gibt es mehrere Dateisysteme mit dem gleichen fs_passno-Wert, dann versucht fsck, diese parallel zu prüfen, allerdings wird vermieden, mehrere Dateisystemüberprüfungen auf dem gleichen Laufwerk gleichzeitig auszuführen.

fsck überprüft keine gestapelten Geräte (RAIDs, dm-crypt, ...) parallel zu anderen Geräten. Siehe unten die Einstellung für FSCK_FORCE_ALL_PARALLEL. Das /sys-Dateisystem wird zum Ermitteln der Abhängigkeiten der Geräten untereinander verwendet.

Daher ist eine in /etc/fstab-Dateien sehr häufig anzutreffende Konfiguration, dass die Dateisystemwurzel auf einen fs_passno-Wert von 1 gesetzt ist und alle anderen Dateisysteme einen fs_passno-Wert von 2 haben. Dies ermöglicht fsck, Prüfprogramme automatisch parallel auszuführen, falls es vorteilhaft ist. Systemadministratoren könnten entscheiden, diese Konfiguration nicht zu verwenden, falls sie aus verschiedenen Gründen parallele Dateisystemüberprüfungen vermeiden wollen – zum Beispiel, wenn der jeweilige Rechner über wenig Speicher verfügt, so dass übermäßige Auslagerung zu erwarten ist.

Normalerweise überprüft fsck nicht, ob das Gerät tatsächlich existiert, bevor ein dateisystemspezifisches Prüfprogramm aufgerufen wird. Dadurch kann während des Systemstarts der Modus der Dateisystemreparatur aufgerufen werden, wenn das nicht vorhandene Dateisystem einen schwerwiegenden Fehler verursacht. Mit der /etc/fstab-Einhängeoption nofail können Sie fsck anweisen, nicht existierende Geräte zu überspringen. fsck überspringt auch jene nicht existierenden Geräte, für die der spezielle Dateisystemtyp auto angegeben ist.

-C [fd]

zeigt einfache Balkengrafiken zum Fortschritt bzw. zur Abarbeitung der Dateisystemüberprüfung an (gegenwärtig nur für ext2, ext3 und ext4), sofern die entsprechenden Prüfprogramme dies unterstützen. fsck verwaltet die Dateisystemprüfprogramme so, dass nicht mehrere solcher Balkengrafiken gleichzeitig angezeigt werden. Grafische Oberflächen können einen Dateideskriptor fd angeben, in diesem Fall wird die Fortschrittsbalken-Information an diesen Dateideskriptor gesendet.

-M

überprüft keine eingehängten Dateisysteme und gibt den Exit-Status 0 für eingehängte Dateisysteme zurück.

-N

führt nichts aus, sondern zeigt lediglich, was ausgeführt würde.

-P

Wenn der Schalter -A gesetzt ist, wird die Dateisystemwurzel parallel zu anderen Dateisystemen überprüft. Dies ist zugegebenermaßen nicht die sicherste Sache der Welt, da im Ernstfall Dinge wie e2fsck(8) die Dateisystemwurzel beschädigen könnten! Diese Option wird hauptsächlich für Systemadministratoren zur Verfügung gestellt, welche die Dateisystemwurzel nicht in kompakter Form neu partitionieren wollen (was wirklich die richtige Lösung ist).

-R

überspringt die Dateisystemwurzel, wenn der Schalter -A beim Überprüfen aller Dateisysteme gesetzt ist. Dies ist in dem Fall sinnvoll, wenn die Dateisystemwurzel bereits im Schreib-Lese-Modus eingehängt wurde.

-T

zeigt den Titel nicht beim Starten.

-V

erzeugt ausführliche Ausgaben, einschließlich derer von ausgeführten dateisystemspezifischen Befehlen.

-?, --help

zeigt einen Hilfetext an und beendet das Programm.

--version

zeigt Versionsinformationen an und beendet das Programm.

DATEISYSTEMSPEZIFISCHE OPTIONEN

Optionen, die von Fsck nicht verstanden werden, werden an das dateisystemspezifische Prüfprogramm weitergegeben!

Diese Optionen dürfen keine weiteren Argumente akzeptieren, da fsck nicht eindeutig bestimmen kann, welche Optionen Argumente akzeptieren und welche nicht.

Auf -- folgende Optionen und Argumente werden als dateisystemspezifische Optionen interpretiert und an das dateisystemspezifische Prüfprogramm weitergegeben.

Bitte beachten Sie, dass fsck nicht daraufhin entworfen wurde, beliebig komplizierte Optionen an dateisystemspezifische Prüfprogramme weiterzugeben. Falls Sie dies vorhaben, führen Sie besser das dateisystemspezifische Prüfprogramm direkt aus. Wenn Sie fsck solch entsetzlich komplizierte Optionen und Argumente übergeben, und es verhält sich nicht so wie erwartet, bemühen Sie sich nicht damit, so etwas als Fehler zu melden. Sie tun fast sicher etwas, was Sie mit fsck nicht tun sollten. Optionen für verschiedene dateisystemspezifische Fscks sind nicht standardisiert.

UMGEBUNGSVARIABLEN

Das Verhalten des Programms fsck wird durch die folgenden Umgebungsvariablen beeinflusst:

FSCK_FORCE_ALL_PARALLEL

Wenn diese Umgebungsvariable gesetzt ist, versucht fsck, alle angegebenen Dateisysteme parallel zu überprüfen, ungeachtet dessen, ob sich die Dateisysteme sich auf dem gleichen Gerät zu befinden scheinen. Dies ist sinnvoll für RAID-Systeme oder High-End-Speichersysteme, wie Sie beispielsweise von Unternehmen wie IBM oder EMC angeboten werden. Beachten Sie, dass der Wert fs_passno nicht verwendet wird.

FSCK_MAX_INST

Diese Umgebungsvariable begrenzt die maximale Anzahl der Prüfprogramme, die gleichzeitig ausgeführt werden können. Dies ermöglicht Konfigurationen für eine große Anzahl von Laufwerken, ohne dass zu viele Prüfprogramme auf einmal gestartet werden, was eine Überlastung des Prozessors und Speichers des Systems zur Folge haben könnte. Falls dieser Wert 0 ist, dann ist die Anzahl der Prozesse unbegrenzt. Dies ist gegenwärtig die Voreinstellung, aber zukünftige Versionen von fsck könnten versuchen, auf der Basis der vom System bereitgestellten Daten automatisch zu ermitteln, wie viele Dateisystemüberprüfungen gleichzeitig ausgeführt werden können.

PATH

Die Umgebungsvariable PATH wird nach den dateisystemspezifischen Prüfprogrammen durchsucht.

FSTAB_FILE

Diese Umgebungsvariable ermöglicht dem Systemadministrator, den vorgegebenen Ort der Datei /etc/fstab zu übergehen. Sie ist auch nützlich für Entwickler, die fsck testen wollen.

LIBBLKID_DEBUG=all

aktiviert die Debug-Ausgabe für libblkid.

LIBMOUNT_DEBUG=all

aktiviert die Fehlersuchausgabe für libmount.

DATEIEN

/etc/fstab

ANMERKUNGEN

During boot, systemd does not invoke fsck -A. Instead, it schedules the activation of mounts individually, taking into account dependencies on backing devices, networking, and other factors. Consequently, fsck is called individually for each device.

AUTOREN

Theodore Ts’o <tytso@mit.edu>>, Karel Zak <kzak@redhat.com>

SIEHE AUCH

fstab(5), mkfs(8), fsck.ext2(8) or fsck.ext3(8) oder e2fsck(8), fsck.cramfs(8), fsck.jfs(8), fsck.nfs(8), fsck.minix(8), fsck.msdos(8), fsck.vfat(8), fsck.xfs(8), reiserfsck(8)

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem auf <https://github.com/util-linux/util-linux/issues>.

VERFÜGBARKEIT

Der Befehl fsck ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann.

2024-10-01 util-linux 2.40.2