Erzwinge fsck.ext4 beim Neustart, aber wirklich „kraftvoll“

Erzwinge fsck.ext4 beim Neustart, aber wirklich „kraftvoll“

Einer meiner Ubuntu 10.04-Server macht mir Probleme. Wenn ich ihn ausführe, fsck.ext4 -n /dev/sda5wird mir angezeigt, dass es Fehler bei der Anzahl der freien Inodes, der Anzahl der freien Blöcke usw. gibt.

Ich habe versucht:

touch /forcefsck

Auch versucht:

shutdown -rF now

und trotzdem werden mir nach dem Neustart Fehler angezeigt.

Ich habe es auch gerade auf meinem eeePC-Netbook, Ubuntu 10.10, überprüft und habe das gleiche Problem!

Wie kann ich beim Neustart ein wirklich „erzwungenes“, „kraftvolles“, „mein Dateisystem ernsthaft reparierendes“ fsck des „/“-Dateisystems erzwingen?

Klärung:Ich führe es aus fsck.ext4 -n, weil es ein gemountetes Dateisystem ist, um zu prüfen, ob Fehler vorliegen. Dies sagt mir, dass es welche gibt. Ich dachte, dass das automatische fsck alle 30 Mounts während des Bootvorgangsgenauum Fehler im Root-Dateisystem zu beheben. Aber in meinem Fall funktioniert das nicht. Ich könnte mit einer Live-CD neu starten, die Fehler beheben und dann erneut neu starten, aber das ist eine erhebliche Ausfallzeit für einen Live-Server. Ein Neustart, ein automatisches Fsck und dann das Weiterbooten ist auf einem Live-Server viel nachhaltiger und sollte meiner Meinung nach das richtige Verhalten sein.

Zusätzliche Information:Hier ist die Ausgabe. Sieht aus wie etwas, das Autofsck beheben könnte, nicht wahr?

root@server:~# fsck.ext4 -n /dev/sda5
e2fsck 1.41.11 (14-Mar-2010)
Warning!  /dev/sda5 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda5 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (1849368, counted=1948909).
Fix? no

Free inodes count wrong (545504, counted=552134).
Fix? no


/dev/sda5: ********** WARNING: Filesystem still has errors **********

/dev/sda5: 116752/662256 files (0.2% non-contiguous), 795324/2644692 blocks

Antwort1

Ich weiß, dass das ein sehr alter Thread ist, aber ich musste dieses Problem vor Kurzem lösen, deshalb wollte ich posten, wie man das Betriebssystem zwingt, beim Booten gefundene Probleme mit fsck zu beheben (für 12.04).

Sie müssen den Befehl ausführen sudo touch /forcefsck. Dadurch wird beim nächsten Start ein fsck ausgeführt. Sie können die Ergebnisse des fsck in /var/log/boot.log sehen.

Es besteht jedoch keine Garantie, dass fsck alle gefundenen Fehler behebt. Dazu müssen Sie die Datei /etc/default/rcS bearbeiten. Am Ende dieser Datei befindet sich eine Zeile:

FSCKFIX=no

Dies muss wie folgt geändert werden:

FSCKFIX=yes

Dies hat dieselbe Wirkung wie das Ausführen von fsck mit der Option -y, wodurch die Implementierung aller möglichen Korrekturen erzwungen wird und keine Benutzerinteraktion erforderlich ist.

Auf diese Weise können Sie das fsck wie vom OP gefordert ausführen, ohne auf das Booten von einer Live-Disk zurückgreifen zu müssen, was insbesondere dann nicht immer möglich ist, wenn Sie sich auf einem Remote-System befinden.

Antwort2

sudo touch /forcefsck
sudo reboot

Sie haben einen Tippfehler – Sie berühren /forcefcsk. Das „c“ und das „s“ sind vertauscht. fsck ist die Abkürzung für FileSystemCheckK.

Antwort3

Aus der Manpage von e2fsck:

"Beachten Sie, dass es im Allgemeinen nicht sicher ist, e2fsck auf gemounteten Dateisystemen auszuführen. Die einzige Ausnahme ist, wenn die Option -n angegeben ist und die Optionen -c, -l oder -L nicht angegeben sind. Aber auch wenn dies sicher ist, sind die von e2fsck ausgegebenen Ergebnisse nicht gültig, wenn das Dateisystem gemountet ist. Wenn e2fsck fragt, ob Sie ein gemountetes Dateisystem überprüfen sollen oder nicht, ist die einzige richtige Antwort "nein". Nur Experten, die wirklich wissen, was sie tun, sollten in Erwägung ziehen, diese Frage auf eine andere Weise zu beantworten."

Wenn Sie also ein gemountetes FS mit fsck prüfen, ist das Ergebnis möglicherweise sogar mit der Option -n ungültig. Prüfen Sie keine gemounteten Dateisysteme. Verwenden Sie eine Live-CD/Live-USB.

Wenn Sie das Dateisystem nicht überprüfen, während es gemountet ist, verstehe ich nicht, warum Sie touch /forcefsckes verwenden müssen. Sie können es einfach unmounten und reparieren. Aber wenn dies der Fall ist und Ihr FS nach einer Reparatur immer noch Fehler aufweist, können Sie Folgendes in Betracht ziehen:

e2fsck -cy /dev/sda5

Dadurch wird ein möglicherweise vorhandenes Festplattenproblem mit der Bezeichnung „Bad Blocks“ behoben (dies wird lange dauern).

Wenn Sie ein gemountetes Dateisystem überprüfen möchten, weiß ich nicht, wie ich vorgehen soll, aber ich denke, Sie sollten eine weitere Frage stellen.

Antwort4

Sie können die Revisionen folgendermaßen automatisch durchführen lassen:

Tune2fs -c 5 -i 10 / dev / sda1

-cist die maximale Anzahl von Mounts vor dem Ausführen fsckund -iist die maximale Anzahl von Tagen vor dem Ausführen fsck.

In diesem Fall erfolgt dies alle 5 Montierungen oder alle 10 Tage, je nachdem, was zuerst eintritt.

Ich habe zwei Computer, einen mit Linux SuSE 13.2 und den anderen mit Linux Mint 18.0 und auf beiden funktioniert es perfekt.

verwandte Informationen