FSCK(8) System-Administration FSCK(8) BEZEICHNUNG fsck - Linux-Dateisysteme prufen und reparieren UBERSICHT fsck [-lsAVRTMNP] [-r [fd]] [-C [fd]] [-t Dateisystemtyp] [Dateisystem...] [--] [dateisystemspezifische-Optionen] BESCHREIBUNG fsck wird zum Uberprufen und optional zum Reparieren von einem oder mehreren Linux-Dateisystemen verwendet. Das Dateisystem kann ein Geratename (zum Beispiel /dev/hdc1, /dev/sdb2), ein Einhangepunkt (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 uberprufen, um die Gesamtzeit zur Uberprufung aller Dateisysteme zu verringern. Falls in der Befehlszeile keine Dateisysteme angegeben werden und auch die Option -A nicht angegeben ist, uberpruft 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 Uberprufen mehrerer Dateisysteme zuruckgegebene Exit-Status ist das bitweise ODER der Exit-Status-Werte fur jedes der uberpruften Dateisysteme. Eigentlich ist fsck eine simple Oberflache fur die diversen unter Linux verfugbaren Werkzeuge zum Uberprufen von Dateisystemen (fsck.Dateisystemtyp). Nach den dateisystemspezifischen Prufprogrammen wird zuerst in der Umgebungsvariable PATH gesucht und dann in /sbin. Weitere Details hierzu finden Sie in den Handbuchseiten der dateisystemspezifischen Prufprogramme. 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 Gerat verwendet werden, das bedeutet, dass sich die Optionen -A und -l gegenseitig ausschliessen. Dies wird empfohlen, wenn mehrere Instanzen von fsck(8) gleichzeitig ausgefuhrt werden. Diese Option wird ignoriert, wenn Sie mit mehreren Geraten ausgefuhrt oder auf nicht-rotierende Platten angewendet werden soll. fsck sperrt die zugrunde liegenden Gerate nicht, wenn es zum Uberprufen von gestapelten Geraten verwendet wird (zum Beispiel MD oder DM) - diese Funktion ist noch nicht implementiert. -r [fd] meldet Statistiken fur jede Dateisystemuberprufung, wenn sie beendet ist. Diese Statistiken enthalten den Exit-Status, die maximale bearbeitete Grosse (in Kilobytes), die vergangene Gesamtzeit und die System-CPU-Zeit, die fur die Dateisystemuberprufung erforderlich war. Zum Beispiel: /dev/sda1: status 0, rss 92828, real 4.002804, user 2.677592, sys 0.86186 Grafische Frontends konnen 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 prufen wollen und die Prufprogramme im interaktiven Modus ausgefuhrt werden. Beachten Sie, dass e2fsck(8) per Vorgabe im interaktiven Modus ausgefuhrt wird. Um es im nicht-interaktiven Modus auszufuhren, mussen 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 uberprufenden Dateisysteme an. Wenn die Option -A angegeben ist, dann werden nur die in der Dateisystem-Liste enthaltenen Dateisysteme uberpruft. Der Parameter Dateisystem-Liste ist eine durch Kommata getrennte Liste der Dateisysteme einschliesslich Optionsangaben. Allen Dateisystemen in dieser Liste kann ein Negationsoperator no oder ! vorangestellt werden, welcher bewirkt, dass nur die in der Dateisystemliste nicht enthaltenen Dateisysteme uberpruft werden. Falls keinem der in der Dateisystem-Liste enthaltenen Dateisysteme ein solcher Negationsoperator vorangestellt ist, dann werden nur die aufgelisteten Dateisysteme uberpruft. In der durch Kommata getrennten Dateisystem-Liste konnen Optionen angegeben werden. Sie mussen das Format opts=Dateisystemoption haben. Falls eine Optionsangabe vorhanden ist, dann werden nur Dateisysteme uberpruft, fur die die Dateisystemoption in deren Einhangeoptionen in /etc/fstab> enthalten ist. Falls der Optionsangabe ein Negationsoperator vorangestellt ist, werden nur die Dateisysteme uberpruft, fur die die Dateisystemoption in deren Einhangeoptionen in /etc/fstab nicht enthalten ist. Wenn beispielsweise opts=ro in der Dateisystemliste enthalten ist, dann werden nur die aufgelisteten Dateisysteme uberpruft, fur die in /etc/fstab die Option ro angegeben ist. Zwecks Kompatibilat mit Mandrake-Distributionen, deren Boot-Skripte von einer nicht autorisierten Anderung der Benutzerschnittstelle abhangen, wird ein in der Dateisystemliste gefundenes Dateisystem des Typs loop so interpretiert, als ware opts=loop als Argument zur Option -t angegeben worden. Normalerweise wird der Dateisystemtyp daraus abgeleitet, welcher Dateisystemtyp in den entsprechenden Eintragen 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 verfugbar, wird der voreingestellte Dateisystemtyp verwendet (derzeit ext2). -A arbeitet die Datei /etc/fstab durch und versucht, alle Dateisysteme in einem Arbeitsgang zu uberprufen. Diese Option wird typischerweise in der Systeminitialisierungsdatei /etc/rc verwendet, anstatt mehrere Befehle zum Uberprufen einzelner Dateisysteme aufzurufen. Die Dateisystemwurzel wird zuerst uberpruft, es sei denn, die Option -P wurde angegeben (siehe unten). Danach werden die Dateisysteme in der Reihenfolge uberpruft, wie sie in fs_passno, der sechsten Spalte in der Datei /etc/fstab angegeben sind. Dateisysteme mit einem fs_passno-Wert von 0 werden ubersprungen und nicht gepruft. Dateisysteme mit einem fs_passno-Wert grosser als 0 werden der Reihe nach uberpruft, 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 prufen, allerdings wird vermieden, mehrere Dateisystemuberprufungen auf dem gleichen Laufwerk gleichzeitig auszufuhren. fsck uberpruft keine gestapelten Gerate (RAIDs, dm-crypt, ...) parallel zu anderen Geraten. Siehe unten die Einstellung fur FSCK_FORCE_ALL_PARALLEL. Das /sys-Dateisystem wird zum Ermitteln der Abhangigkeiten der Geraten untereinander verwendet. Daher ist eine in /etc/fstab-Dateien sehr haufig 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 ermoglicht fsck, Prufprogramme automatisch parallel auszufuhren, falls es vorteilhaft ist. Systemadministratoren konnten entscheiden, diese Konfiguration nicht zu verwenden, falls sie aus verschiedenen Grunden parallele Dateisystemuberprufungen vermeiden wollen - zum Beispiel, wenn der jeweilige Rechner uber wenig Speicher verfugt, so dass ubermassige Auslagerung zu erwarten ist. Normalerweise uberpruft fsck nicht, ob das Gerat tatsachlich existiert, bevor ein dateisystemspezifisches Prufprogramm aufgerufen wird. Dadurch kann wahrend des Systemstarts der Modus der Dateisystemreparatur aufgerufen werden, wenn das nicht vorhandene Dateisystem einen schwerwiegenden Fehler verursacht. Mit der /etc/fstab-Einhangeoption nofail konnen Sie fsck anweisen, nicht existierende Gerate zu uberspringen. fsck uberspringt auch jene nicht existierenden Gerate, fur die der spezielle Dateisystemtyp auto angegeben ist. -C [fd] zeigt einfache Balkengrafiken zum Fortschritt bzw. zur Abarbeitung der Dateisystemuberprufung an (gegenwartig nur fur ext2, ext3 und ext4), sofern die entsprechenden Prufprogramme dies unterstutzen. fsck verwaltet die Dateisystemprufprogramme so, dass nicht mehrere solcher Balkengrafiken gleichzeitig angezeigt werden. Grafische Oberflachen konnen einen Dateideskriptor fd angeben, in diesem Fall wird die Fortschrittsbalken-Information an diesen Dateideskriptor gesendet. -M uberpruft keine eingehangten Dateisysteme und gibt den Exit-Status 0 fur eingehangte Dateisysteme zuruck. -N fuhrt nichts aus, sondern zeigt lediglich, was ausgefuhrt wurde. -P Wenn der Schalter -A gesetzt ist, wird die Dateisystemwurzel parallel zu anderen Dateisystemen uberpruft. Dies ist zugegebenermassen nicht die sicherste Sache der Welt, da im Ernstfall Dinge wie e2fsck(8) die Dateisystemwurzel beschadigen konnten! Diese Option wird hauptsachlich fur Systemadministratoren zur Verfugung gestellt, welche die Dateisystemwurzel nicht in kompakter Form neu partitionieren wollen (was wirklich die richtige Losung ist). -R uberspringt die Dateisystemwurzel, wenn der Schalter -A beim Uberprufen aller Dateisysteme gesetzt ist. Dies ist in dem Fall sinnvoll, wenn die Dateisystemwurzel bereits im Schreib-Lese-Modus eingehangt wurde. -T zeigt den Titel nicht beim Starten. -V erzeugt ausfuhrliche Ausgaben, einschliesslich derer von ausgefuhrten 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 Prufprogramm weitergegeben! Diese Optionen durfen 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 Prufprogramm weitergegeben. Bitte beachten Sie, dass fsck nicht daraufhin entworfen wurde, beliebig komplizierte Optionen an dateisystemspezifische Prufprogramme weiterzugeben. Falls Sie dies vorhaben, fuhren Sie besser das dateisystemspezifische Prufprogramm direkt aus. Wenn Sie fsck solch entsetzlich komplizierte Optionen und Argumente ubergeben, und es verhalt sich nicht so wie erwartet, bemuhen Sie sich nicht damit, so etwas als Fehler zu melden. Sie tun fast sicher etwas, was Sie mit fsck nicht tun sollten. Optionen fur 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 uberprufen, ungeachtet dessen, ob sich die Dateisysteme sich auf dem gleichen Gerat zu befinden scheinen. Dies ist sinnvoll fur 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 Prufprogramme, die gleichzeitig ausgefuhrt werden konnen. Dies ermoglicht Konfigurationen fur eine grosse Anzahl von Laufwerken, ohne dass zu viele Prufprogramme auf einmal gestartet werden, was eine Uberlastung des Prozessors und Speichers des Systems zur Folge haben konnte. Falls dieser Wert 0 ist, dann ist die Anzahl der Prozesse unbegrenzt. Dies ist gegenwartig die Voreinstellung, aber zukunftige Versionen von fsck konnten versuchen, auf der Basis der vom System bereitgestellten Daten automatisch zu ermitteln, wie viele Dateisystemuberprufungen gleichzeitig ausgefuhrt werden konnen. PATH Die Umgebungsvariable PATH wird nach den dateisystemspezifischen Prufprogrammen durchsucht. FSTAB_FILE Diese Umgebungsvariable ermoglicht dem Systemadministrator, den vorgegebenen Ort der Datei /etc/fstab zu ubergehen. Sie ist auch nutzlich fur Entwickler, die fsck testen wollen. LIBBLKID_DEBUG=all aktiviert die Debug-Ausgabe fur libblkid. LIBMOUNT_DEBUG=all aktiviert die Fehlersuchausgabe fur 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 For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>. VERFUGBARKEIT 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. util-linux 2.41 2025-03-29 FSCK(8)