Anzahl der "mounts" auslesen
Anzahl der "mounts" auslesen
Hi,
bei ubuntu kommt beim booten alle 30 mal die Meldung "/dev/... has been mounted 30 times without being checked. Check forced."
Um einen workaround für einen bug zu erstellen würde ich gerne selbst in einem (shell) script die anzahl der "mounts" einlesen. Wo bekomme ich die her bzw. wie kann ich das machen?
Habe schon die manpage von tune2fs durchgeblättert, aber leider nichts brauchbares gefunden.
bei ubuntu kommt beim booten alle 30 mal die Meldung "/dev/... has been mounted 30 times without being checked. Check forced."
Um einen workaround für einen bug zu erstellen würde ich gerne selbst in einem (shell) script die anzahl der "mounts" einlesen. Wo bekomme ich die her bzw. wie kann ich das machen?
Habe schon die manpage von tune2fs durchgeblättert, aber leider nichts brauchbares gefunden.
Re: Anzahl der "mounts" auslesen
Wie meinst du das? Das Überprüfen vom Dateisystem ist kein Bug. It's not a bug, it's a featuregunknown hat geschrieben:Um einen workaround für einen bug zu erstellen würde ich gerne selbst in einem (shell) script die anzahl der "mounts" einlesen.
Code: Alles auswählen
tune2fs -l /dev/sda1 | grep "Mount count"
mfg pluvo
Re: Anzahl der "mounts" auslesen
Es geht um diesen bug, für den es scheinbar keine lösung gibt.
Dabei hängt sich fsck bei einem automatischen check nach 30 bootvorgängen auf. Erst ein erfolgreiches (manuelles) ausführen von fsck auf das device ermöglicht es das os wieder zu starten.
Mein idee war einfach nach dem 29. mal booten fsck manuell auszuführen. Jetzt habe ich allerdings bemerkt, dass man fsck nicht auf eingehängte partitionen anwenden kann bzw. sollte.
Somit bleibt also weiterhin nur die möglichkeit jedes 30. mal von einer live cd zu booten
Danke trotzdem für die schnelle hilfe.
Dabei hängt sich fsck bei einem automatischen check nach 30 bootvorgängen auf. Erst ein erfolgreiches (manuelles) ausführen von fsck auf das device ermöglicht es das os wieder zu starten.
Mein idee war einfach nach dem 29. mal booten fsck manuell auszuführen. Jetzt habe ich allerdings bemerkt, dass man fsck nicht auf eingehängte partitionen anwenden kann bzw. sollte.
Somit bleibt also weiterhin nur die möglichkeit jedes 30. mal von einer live cd zu booten
Danke trotzdem für die schnelle hilfe.
Zuletzt geändert von gunknown am 06.07.2008 18:40:32, insgesamt 1-mal geändert.
-
- Beiträge: 1213
- Registriert: 09.11.2007 13:25:57
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Anzahl der "mounts" auslesen
Das kann man in der /etc/fstab/ doch auch abstellen. Oder nicht
Ist das sechste Feld nicht vorhanden oder Null, wird Null verwendet und fsck geht davon aus, dass das Dateisystem keiner Prüfung bedarf.
Zuletzt geändert von lemak am 06.07.2008 18:51:31, insgesamt 1-mal geändert.
Re: Anzahl der "mounts" auslesen
Die Frage ist aber wie empfehlenswert es ist auf fsck vollständig zu verzichten.i hat geschrieben:Das kann man in der /etc/fstab/ doch auch abstellen. Oder nicht
-
- Beiträge: 1213
- Registriert: 09.11.2007 13:25:57
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Anzahl der "mounts" auslesen
Aso du willst es bei jedem 29. Start selbst prüfen...
Das sollte doch weiterhelfenLinux prüft beim booten ob die Datei /forcefsck exisiert. Ist dies der Fall startet es die Fesplattenüberprüfung.
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Re: Anzahl der "mounts" auslesen
Hallo!
Versuch es mal so:
Die Partition musst du anpassen. tune2fs hat auch einen Parameter (-i interval-between-checks[d|m|w]) der einen zeitbasierten Dateisystemcheck erlaubt.
Gruß, habakug
Versuch es mal so:
Code: Alles auswählen
tune2fs -l /dev/sda1 | grep "Mount count:" | awk ' { print $3 } '
tune2fs -l /dev/sda1 | grep "Maximum mount count:" | awk ' { print $4 } '
Gruß, habakug
Re: Anzahl der "mounts" auslesen
Hi,
danke für eure hinweise, allerdings helfen diese, aufgrund eines denkfehlers meinerseits, nicht für einen workaround.
Ich sehe keine möglichkeit im laufenden betrieb fsck auf die root partition auszuführen.
Dank der Ausgabe von tune2fs weiß ich nun zwar wann der bug auftritt, umgehen kann ich ihn deshalb aber leider nicht.
Wie gesagt, ich wusste nicht, dass ich fsck auf eingehängte partitionen nicht ausführen kann. Das macht meine idee für den workaround leider zunichte.
danke für eure hinweise, allerdings helfen diese, aufgrund eines denkfehlers meinerseits, nicht für einen workaround.
Ich sehe keine möglichkeit im laufenden betrieb fsck auf die root partition auszuführen.
Dank der Ausgabe von tune2fs weiß ich nun zwar wann der bug auftritt, umgehen kann ich ihn deshalb aber leider nicht.
Wie gesagt, ich wusste nicht, dass ich fsck auf eingehängte partitionen nicht ausführen kann. Das macht meine idee für den workaround leider zunichte.
-
- Beiträge: 1213
- Registriert: 09.11.2007 13:25:57
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Anzahl der "mounts" auslesen
Schöne Sache mit AWK. So könnte ein Script aussehen wenn es mit dem -i argument von tune2fs nicht klappt...
Code: Alles auswählen
#!/bin/bash
STAT=`tune2fs -l /dev/sda1 | grep "Mount count:" | awk '{print $3}'`
DEF="28"
if [ $STAT == $DEF ]
then
touch /forcefsck
else
if [ -f /forcefsck ]
then
rm /forcefsck
fi
fi
Zuletzt geändert von lemak am 07.07.2008 15:14:39, insgesamt 1-mal geändert.
-
- Beiträge: 1213
- Registriert: 09.11.2007 13:25:57
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Anzahl der "mounts" auslesen
Funktioniert der Dateisystem-Check beim booten den überhaupt nicht?gunknown hat geschrieben:aufgrund eines denkfehlers meinerseits
Versuche doch mal
Code: Alles auswählen
shutdown -hF now
EDIT: es muss natürlich shutdown -hF now heissen
Zuletzt geändert von lemak am 06.07.2008 21:25:59, insgesamt 1-mal geändert.
Re: Anzahl der "mounts" auslesen
Nein, der automatische fsck beim booten funktioniert garnicht. Das programm scheint sich dabei einfach aufzuhängen.
Der fehler liegt auch nicht darin, dass er beim 30. bootvorgang auftritt, sondern vielmehr daran, dass das automatische fsck einfach nicht funktioniert. Nur ein manuell ausgeführtes fsck von einer live cd funktioniert vollständig und ermöglicht dadurch wieder ein einwandfreies booten.
Dem obigen link zufolge liegt der bug tief im kernel verborgen. Aber das gehört hier ja eigentlich nicht hin ...
Der fehler liegt auch nicht darin, dass er beim 30. bootvorgang auftritt, sondern vielmehr daran, dass das automatische fsck einfach nicht funktioniert. Nur ein manuell ausgeführtes fsck von einer live cd funktioniert vollständig und ermöglicht dadurch wieder ein einwandfreies booten.
Dem obigen link zufolge liegt der bug tief im kernel verborgen. Aber das gehört hier ja eigentlich nicht hin ...