Ich möchte mein Dateisystem beim runter fahren prüfen, um nicht jedes mal beim starten ewig zu warten. Dazu habe ich angehängtes Script geschrieben, was auch halbwegs tut*.
Mein Problem ist, dass der Zähler für die Partition nicht zurückgesetzt wird und beim starten das System wieder anfängt, die Partition zu prüfen. Ich habe für fsck bisher auch keine Option gefunden. Die von mir durchsuchten Bootscripte erhellen mich nicht, deshalb meine Frage: Welche Option setzt den Zähler zurück?
Wenn es keine gibt, wie kann ich den Rückgabewert von fsck abgreifen um dann durch eine if-Schleife mit tunefs den Zähler setzen zu lassen? (Da fehlt mir momentan die Ahnung dazu)
* Wenn ein Benutzer auf der Shell eingeloggt ist, können die home-Verzeichnisse nicht ausgehängt werden und dann prüft fsck nur im readonly-Modus
Andreas
Hallo,
Andreas Oettel Andreas Oettel rc5.dresden@gmx.de:
Ich möchte mein Dateisystem beim runter fahren prüfen, um nicht jedes mal beim starten ewig zu warten. Dazu habe ich angehängtes Script geschrieben, was auch halbwegs tut*.
Mein Problem ist, dass der Zähler für die Partition nicht zurückgesetzt wird und beim starten das System wieder anfängt, die Partition zu prüfen. Ich habe für fsck bisher auch keine Option gefunden. Die von mir durchsuchten Bootscripte erhellen mich nicht, deshalb meine Frage: Welche Option setzt den Zähler zurück?
man tune2fs
Freundlich grüßend,
Erik
Am 06.02.2010 17:05, schrieb Erik Schanze:
Hallo,
Andreas Oettel Andreas Oettelrc5.dresden@gmx.de:
Ich möchte mein Dateisystem beim runter fahren prüfen, um nicht jedes mal beim starten ewig zu warten. Dazu habe ich angehängtes Script geschrieben, was auch halbwegs tut*.
Mein Problem ist, dass der Zähler für die Partition nicht zurückgesetzt wird und beim starten das System wieder anfängt, die Partition zu prüfen. Ich habe für fsck bisher auch keine Option gefunden. Die von mir durchsuchten Bootscripte erhellen mich nicht, deshalb meine Frage: Welche Option setzt den Zähler zurück?
man tune2fs
Das man damit den Zähler zurücksetzen kann weiß ich und dass ist nicht dass Problem. Mein Problem ist: Wenn ich im Script erst fsck aufrufe und danach tune2fs ist doch noch lange nicht garantiert, dass fsck erfolgreich das Dateisystem geprüft hat. tune2fs setzt dann aber wie befohlen den Zähler auf 0. Mir fehlt da die Verbindung. Ich sollte doch vorher erst mal den exitstatus von fsck abfragen und nur wenn dort 0 steht tune2fs die 0 setzen lassen. Auf welche Art und Weise komme ich an den Exitstatus heran, um sie dann meinen Skript zur Auswertung zu übergeben?
Aber alles oben geschriebene ist meiner Ansicht nach ein drumherumgedoktore. Debian setzt doch beim booten auch den Zähler zurück ohne dass irgendwo tunefs aufgerufen wird (ich habe nichts gefunden). Was ruft Debian mit welchen Optionen auf?
Andreas
Hallo Andreas,
Andreas Oettel rc5.dresden@gmx.de:
Das man damit den Zähler zurücksetzen kann weiß ich und dass ist nicht dass Problem. Mein Problem ist: Wenn ich im Script erst fsck aufrufe und danach tune2fs ist doch noch lange nicht garantiert, dass fsck erfolgreich das Dateisystem geprüft hat. tune2fs setzt dann aber wie befohlen den Zähler auf 0. Mir fehlt da die Verbindung. Ich sollte doch vorher erst mal den exitstatus von fsck abfragen und nur wenn dort 0 steht tune2fs die 0 setzen lassen. Auf welche Art und Weise komme ich an den Exitstatus heran, um sie dann meinen Skript zur Auswertung zu übergeben?
Zu Skriptprogrammierung gibt es viel im Internet oder schau dir andere Skripte an.
Aber alles oben geschriebene ist meiner Ansicht nach ein drumherumgedoktore. Debian setzt doch beim booten auch den Zähler zurück ohne dass irgendwo tunefs aufgerufen wird (ich habe nichts gefunden). Was ruft Debian mit welchen Optionen auf?
grep fsck /etc/init.d/*
sollte erste Anhaltspunkte liefern.
Freundlich grüßend,
Erik
On 06.02.10 Andreas Oettel (rc5.dresden@gmx.de) wrote: ^^^^^^^^^^^ Gibts die Truppe noch? Moin,
Mein Problem ist:
Wenn ich im Script erst fsck aufrufe und danach tune2fs ist doch noch lange nicht garantiert, dass fsck erfolgreich das Dateisystem geprüft hat. tune2fs setzt dann aber wie befohlen den Zähler auf 0. Mir fehlt da die Verbindung. Ich sollte doch vorher erst mal den exitstatus von fsck abfragen und nur wenn dort 0 steht tune2fs die 0 setzen lassen. Auf welche Art und Weise komme ich an den Exitstatus heran, um sie dann meinen Skript zur Auswertung zu übergeben?
Ich wuerde den exit code von fsck abfragen:
The exit code returned by fsck is the sum of the following conditions: 0 - No errors 1 - File system errors corrected 2 - System should be rebooted 4 - File system errors left uncorrected 8 - Operational error 16 - Usage or syntax error 32 - Fsck canceled by user request 128 - Shared library error
Ganze genau brauchst Du es sicher nicht, so dasz ein fsck && tune2fs reichen d?rfte.
Debian setzt doch beim booten auch den Zähler zurück ohne dass irgendwo tunefs aufgerufen wird (ich habe nichts gefunden). Was ruft Debian mit welchen Optionen auf?
Ich denke eher, mount setzt den Zaehler hoch und fsck macht den reset auf 0. Mit Verbiegen der fstab kannst Du mount dazu bringen den Counter in Ruhe zu lassen, aber ratsam ist das sicher nicht.
H.
Am 06.02.2010 19:06, schrieb Hilmar Preusse:
On 06.02.10 Andreas Oettel (rc5.dresden@gmx.de) wrote: ^^^^^^^^^^^ Gibts die Truppe noch?
Die Webseite http://www.distributed.net/ ist schon noch online. Ich rechne aber seit Studienende nicht mehr für andere.
und fsck macht den reset auf 0.
Und wie man fsck dazu bringt ist mir ein Rätsel. Von alleine macht es das bei mir nicht.
Andreas
On Saturday 06 February 2010, Andreas Oettel wrote:
und fsck macht den reset auf 0.
Und wie man fsck dazu bringt ist mir ein Rätsel. Von alleine macht es das bei mir nicht.
Kleiner Tipp: fsck läuft ganz am Anfang vor dem Mounten, weil dann (nahezu) garantiert ist, dass fsck die einzige App ist, die auf die Platte schreiben darf. Wenn Du fsck am Ende machst es also auch laufen lassen, wenn die Platten schonwieder abgehängt sind.
(man umount) (man mount, Optionen remount und ro)
Konrad
Am Sun den 07 Feb 2010 um 11:38:22AM +0100 schrieb Konrad Rosenbaum:
Kleiner Tipp: fsck läuft ganz am Anfang vor dem Mounten, weil dann (nahezu) garantiert ist, dass fsck die einzige App ist, die auf die Platte schreiben darf. Wenn Du fsck am Ende machst es also auch laufen lassen, wenn die Platten schonwieder abgehängt sind.
An sich willst du doch die Integrität deiner Dateisysteme sicherstellen, aber nicht ewig warten. Wenn fsck beim Starten ständig meint, das Dateisystem sei nicht sauber ausgehangen worden, dann ist da etwas grundsätzliches faul. Da vorsorglich fsck zu machen ist keine Lösung und es hat ja auch nichts gebracht. Mit tunefs dann so zu tun als wäre alles i.O. ist sehr zweifelhaft. Scheinbar sind deine Start/Stop Skripte in der Reihenfolge kaputt. Wie Konrad schon gesagt hat, sollte das Dateisystem nicht gemountet sein, wenn du es überprüfst. Wenn du dann die periodischen fscks (die ja normal sind) auf das Herunterfahren vorverlegen willst, könntest du mittels tunefs die Anzahl der mounts angucken und im Bedarfsfall einen fsck vor dem Herunterfahren aber nach dem unmount des Dateisystems machen. Das ganze funktioniert aber nur bei nicht root Dateisystemen. Daten sollten am besten auf eigene Dateisysteme (gerade bei den heutigen Dateisystemgrößen).
Tschau, andre
lug-dd@mailman.schlittermann.de