[linux-l] fsck automatisieren

Frank Reker frank at reker.net
Mo Apr 19 19:30:58 CEST 2004


Boris Kirkorowicz disse:
> Hallo,
>
> Am 04/19/2004 05:11 PM schrieb Frank Reker:
>> Bei ext2 u.ae. fs. ist das auch der Standardfall. Bei journaled fs
>> (wie ext3 oder reiserfs) ist ein filesystemcheck nicht notwendeg,
>
> Offenbar doch, jedenfalls dann, wenn der letzte Rechnerlauf mit einem
> Kernel
> Panic beendet wurde. Zumindest meint die Maschine das von selbst beim
> Booten,
> setzt dann aber den nach meinem Geschmack falschen Default.

Eine Kernel Panic deutet meist auf einen Bug im Kernel hin.
Wenn der Fehler natuerlich im Filesystemtreiber (oder einer der
darunter liegenden Ebenen) auftrat, dann ist ein fs-check
empfehlenswert, ansonsten nicht. Dieser Fall ist jedoch sehr
selten, sodass es IMHO keinen Sinn macht ihn explizit abzufangen.
Immerhin hat man ja noch die Mglk. von Hand den check zu forcieren.
Das Problem ist, dass fsck nicht wissen kann, aus welchem Grund
nicht sauber heruntergefahren wurde. Beim mounten wird ein Flag im
Superblock gesetzt, dass beim unmounten wieder zurueckgesetzt wird.
fsck ueberprueft dieses Bit, und wenn es gesetzt ist, geht es
davon aus, dass nicht sauber heruntergefahren wurde. Bei z.B.
ext2 fuehrt das dann zu einem fs-check, bei z.B. ext3 nur zu einer
Warnung. Das ist IMHO auch das korekte Verhalten. Es gibt AFAIK
keine Option mit der du dieses Verhalten aendern kannst.
Ausser -f, was dazu fuehrt, dass immer geprueft wird. Du kannst
dir natuerlich ein Script schreiben, dass zuerst prueft ob und
aus welchem Grunde unsauber heruntergefahren wurde, und im Fall
einer Kernel-Panic dann mit -f den check forciert. Ich hab jedoch
z.Z. keine Idee, wie du festellen kannst, dass eine Kernel-Panic
stattgefunden hat, da nach selbiger aus sicherheitsgruenden nichts
mehr auf Platte geschrieben wird.
Oder du patchst fsck.

>
>
>> das ist ja gerade der Vorteil von journaled fs. Du kannst fsck aber
>> die option -f mitgeben, dann wird der check forciert.
>
> Dann wird aber immer gecheckt, oder? Was ich mir vorstelle, wäre ein
ja
> automatischer Check, wenn das Dateisystem nicht sauber ist. Wäre dafür die
> Option -p richtig, oder vielleicht besser -y?
weder noch! D.h. mglweise funktioniert -y (ist die Option nicht -a ?),
aber die Mglkt abzubrechen mit 'N' oder sowas hast du dann mit sicherheit
nicht.

>
>
>
>> Dazu
>> musst du eines der Startscripts in /etc/init.d/ anpassen. In suse
>> heisst es boot.localfs
>
> Eine Suche nach dem String fsck brachte mir mehrere Fundstellen. Jetzt
> müßte
> ich nur noch wissen, welche die richtige ist... Zumindest habe ich die
> englische Übersetzung der Meldung gefunden, die deutsche jedoch nicht...

Wird wahrscheinlich mittels gettext aus einem .po (bzw. .mo) file geholt.



-- 
Don't worry be happy ...
Ciao Frank



Mehr Informationen über die Mailingliste linux-l