fsck läuft nicht durch

to stream or not to stream
wolgade
Semiprofi
Semiprofi
Beiträge: 1313
Registriert: Donnerstag 2. Dezember 2004, 00:18

Beitrag von wolgade »

400 GByte
Fernsehjunkie! :lol:
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

wolgade hat geschrieben:
400 GByte
Fernsehjunkie! :lol:
Nach Mittermayer: TV Junkie ;o)
Geht mir eher darum ne Filmsammlung zu haben - Die Box kann man so ja auch Prima zu nem Video Abend mitschleppen..
Ausserdem steht meine Süsse auf Hörbücher...

@DrStoned: den Sectionsd möcht ich ungern abschiessen, weil ich EPG speichern nutzen will. Bin grad am testen...
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

So siehts nun nach "etwas" testen bei mir aus:
/bin/controld
/bin/nhttpd

# Ergebnis des fsck anzeigen
sleep 25 && msgbox size=27 title="Festplattencheck" popup=/var/tuxbox/fsck.log timeout=20 &

/bin/neutrino -u -f

pzapit -kill

i=5
while expr $i != 0 > /dev/null; do
if pidof controld > /dev/null; then echo "Waiting for controld (max. $i seconds)"
elif pidof timerd > /dev/null; then echo "Waiting for timerd (max. $i seconds)"
elif pidof zapit > /dev/null; then echo "Waiting for zapit (max. $i seconds)"
else break;
fi
i=`expr $i - 1`
sleep 1
done

# Filesystemcheck durchführen
if [ -e /var/etc/.start_ide ] ; then
ls /hdd > /dev/null
sleep 5
if [ -e /tmp/tuxmaild.pid ]; then kill $(cat /tmp/tuxmaild.pid); fi
if [ -e /tmp/tuxcald.pid ]; then kill $(cat /tmp/tuxcald.pid); fi
if [ -e /tmp/inetd.pid ]; then kill $(cat /tmp/inetd.pid); fi
killall camd2
killall nhttpd
killall sectionsd
umount /hdd &&
if [ -e /var/etc/.force_fsck ] ; then
fsck.ext2 -fvy /dev/ide/host0/bus0/target0/lun0/part2 > /var/tuxbox/fsck.log
else
fsck.ext2 -vy /dev/ide/host0/bus0/target0/lun0/part2 > /var/tuxbox/fsck.log
fi;
sleep 5
fi;
Habe aber den Eindruck, dass man sich bereits mit nem Neustart ein korruptes Filesystem einfangen kann :(
Ausserdem beschleicht mich das Gefühl, dass der "kswapd" einen gewissen Einfluss auf die Performance oder gar das Ruckeln haben könnte(?)...
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

wolgade hat geschrieben:
400 GByte
Fernsehjunkie! :lol:
Ich stell mir gerade vor wie er die 400GB mal auf DVD sichern will mit 10mbits Netzwerk dazwischen :) *g*

Also ich hab nur ne 40GB NotebookHDD drin in der Box, und das reicht doch vollkommen ( die grossen Platten sind in den Dreamboxen *g*)

Gruß Riker
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

UPDATE:

habe den fsck nun an den Anfang der start_neutrino gehängt.
Grund: Grad wenn die Box abkackt, sollte sie beim hochfahren gecheckt werden (in der init_ide geht es nicht, da (derzeit) dort das System parallel weiter hochgefahren wird).

In der "init_ide" habe ich dazu den Mountbefehl entfernt.

Die start_neutrino sieht nun so aus:
#!/bin/sh
# JTG-Team-Image start_neutrino v1.03 # 07.03.2006

if [ -e /var/etc/.no_neutrino ] ; then
exit 0
fi;

# Filesystemcheck durchführen
if [ -e /var/etc/.start_ide ] ; then
if [ -e /var/etc/.force_fsck ] ; then
fsck.ext2 -fvy /dev/ide/host0/bus0/target0/lun0/part2 > /tmp/fsck.log
else
fsck.ext2 -vy /dev/ide/host0/bus0/target0/lun0/part2 > /tmp/fsck.log
fi;
/bin/mount -t ext2 /dev/ide/host0/bus0/target0/lun0/part2 /hdd
fi;

/bin/sectionsd
/bin/timerd
Ohne "/var/etc/.force_fsck" sollte die Partition alle 180 Tage oder alle ca. 20 Mounts (wird beim Erstellen des FS angezeigt) oder bei nichtgesetztem consistency Flag - sprich: Absturz - gecheckt werden.
Dies ist leider so noch nicht der Fall. Grund weiss ich nicht, ausser, dass alle 180 Tage nicht geht, weil das Datum zu diesem Zeitpunkt noch nicht gesetzt ist.

EDIT: Ferner frage ich mich, ob ein umount am Ende der start_neutrino Sinn machen würde?

Für ext3 müsste entsprechend geändert werden.
Vorteil: Mit Sicherheit schnellere Checks!!!
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Beitrag von Innuendo »

palace hat geschrieben:EDIT: Ferner frage ich mich, ob ein umount am Ende der start_neutrino Sinn machen würde?
schau mal in das script /etc/init.d/halt - hier gehört ein umount von mmc/hdd devices rein.

innu
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

Okay...

Also wird derzeit nucht unmountet?
Und was ist bei einem Reboot?

Habe folgendes getestet:

Filesystem eingerichtet...

Etwas aufgenommen

Aufnahme gelöscht (Filebrowser bei TS Abspielen)

Neustart (EPG speichern auf ein)

Nach dem Reboot war das Filesystem korrupt...

Tipps?
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Habe heute ein HDD-Check-Script gebastelt. Wenn ich Zeit und Lust habe, bin gerade etwas müde, lade ich es spätestens Morgen ins JtG-Plugin. Sowie es drin ist, werde ich Euch hier informieren.

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

HDD-Check 0.1 - Dateisystem der Dbox2-Festplatte überprüfen

Beitrag von DrStoned »

So, das Plugin ist fertig und zum Download bereit.
HDD-Check 0.1 - Dateisystem der Dbox2-Festplatte überprüfen

Das Dateisystem der Festplatte in der Dbox zu überprüfen, ging bis jetzt nur über Telnet unter Eingabe der entsprechenden Befehle. Deswegen habe ich jetzt ein Shellskript erstellt, das es auch ungeübten Benutzern ermöglicht, das extfs3-Dateisystem auf ihrer Dbox-Festplatte zu überprüfen und gegebenfalls zu reapieren.

Anwendung:

Das Plugin HDD-Check dient dazu, das extfs3-Dateisystem der Dbox-Festplatte zu überprüfen und nötigenfalls zu reparieren. Die Idee dazu kam mir, als es mir während einer Aufnahme das Dateisystem der Festplatte zerschossen hat. Vermutlich kam dieser Fehler daher, dass mir die Dbox vorher mehrmals während der Aufnahme abgestürzt ist. Dabei wurden wahrscheinlich einige Dateien nicht mehr geschlossen oder irgendwo auf der Festplatte Datenmüll produziert, was letztendlich dann das Dateisystem der Festplatte zerschossen hat. Um dem vorzubeugen, habe ich dieses Shellskript geschrieben.

Das Skript sollte regelmäßig ausgeführt werden, vor allem jedesmal, wenn die Dbox während einer Aufnahme abgestürzt ist, oder wenn eine Aufnahme unvermittelt abbricht. Damit wird einem größeren Fehler im Dateisystem der Festplatte vorgebeugt.

Vorraussetzung:

Zuallererst muss natürlich eine Festplatte in die Dbox eingebaut sein. Für alle Benutzer, die nicht das JtG-Image verwenden, wie zum Beispiel das DietmarW-Image oder Eigenkompilate, ist ausserdem noch das Messagebox-Plugin msgbox wichtig. Es ist diesem Archiv nicht beigefügt, da es im JtG-Image bzw. dem Image von Hallenberg bereits eingebaut ist.
Erhältlich ist das Messagebox-Plugin hier. Die Installation des Messagebox-Plugins ist in der zugehörigen readme.txt beschrieben.

Wichtig:

Sehr wichtig ist ausserdem, dass dieses Skript nur für das extfs3-Dateisystem geschrieben wurde. Wenn Ihr es für das extfs2-Dateisystem verwenden wollt, müsst Ihr das Skript mit einem UNIX-Editor entsprechend abändern.

Installation:

Die Dateien werden per FTP in folgende Verzeichnisse kopiert und mit den entsprechenden Rechten versehen. Es ist sehr wichtig die Dateien im BINÄR-Modus zu übertragen, sonst läuft das Plugin nicht.

Achtung:
  • Bitte beim FTP-Programm Filezilla beachten, dass dieses Programm standardmäßig, Dateien mit der Endung .sh, im ASCII-Modus uberträgt. Dann läuft das Plugin aber nicht. Also darauf achten, wenn Ihr dieses Programm verwendet, es entsprechend zu konfigurieren. Um zu kontrollieren, ob die Dateien ordnungsgemäß übertragen wurden, einfach nach der Übertragung die Dateigrößen vergleichen.

Code: Alles auswählen

Datei               Speicherort                 Rechte      Größe in Bytes
--------------------------------------------------------------------------

hddcheck.sh          /var/tuxbox/plugins/        755         3001
hddcheck.cfg         /var/tuxbox/plugins/        644          138
Wenn Ihr alle Dateien installiert habt, ist noch folgende Aktion durchzuführen: Dbox-Taste -> Service -> Plugins neu laden.
Wenn ihr alles richtig gemacht habt, findet Ihr das Skript unter Dbox-Taste -> Skripte -> HDD-Check - Festplatte ueberpruefen.

Bild

Funktion:

Ruft man das Skript HDD-Check - Festplatte ueberpruefen auf, wird zuerst getestet, ob der IDE-Treiber aktiviert ist. Sollte dies nicht der Fall sein, bricht das Skript mit einer entsprechenden Fehlermeldung ab.

Bild

Ist dieser Treiber aktiviert, so kommt man in ein Auswahlmenü, in dem erklärt wird, was bei der Ausführung des Skripts zu beachten ist. Hier kann man sich entscheiden, ob man das Skript ausführen möchte oder nicht. Hier die Auswahl zwischen nein/ja treffen und mit der OK-Taste bestätigen. Nicht die Home-Taste verwenden, sonst wird das Skript ausgeführt, auch wenn man es nicht will. Dies ist eine Eigenheit des Messagebox-Plugins und kann nicht so einfach abgefangen werden.

Bild

Bitte die Hinweise im Auswahlmenü sorgfältig durchlesen und auch befolgen, ich gebe keine Haftung für einen Datenverlust.

Bild

Hat man sich dafür entschieden, das Skript auszuführen, so darf jetzt auf keinen Fall mehr die Box ausschalten oder resetten bzw. den Stecker ziehen.

!!! Sonst droht Datenverlust !!!

Bitte unbedingt das Skript bis zum Ende laufen lassen.

Zunächst wird die Festplatte ungemountet. Danach wird getestet, ob das Unmounten auch erfolgt ist. Sollte die Festplatte nicht ungemountet werden können, so wird das Skript mit einer entsprechenden Fehlermeldung abgebrochen.

Bild

Eine Ursache dafür kann sein, dass noch irgendein Programm, das auf der Festplatte liegt, noch nicht beendet wurde. Mir ist dies passiert, weil ich das WOL-Timer-Plugin auf die Festplatte ausgelagert hatte und dessen woltimerd (Daemon) noch lief. Deswegen ist die Unmount-Überprüfung von mir eingebaut worden.

Danach wird die Festplatte mit dem im Image eingebauten Befehl fsck.ext3 überprüft. Falls Fehler im Dateisystem vorhanden sind, wird versucht das Dateisystem zu reparieren. Diese Überprüfung dauert einige Zeit, bei meiner 100 GB-Fujitsu 2,5"-Zoll Notebookfestpatte gehen dafür 5 Minuten ins Land. Also nicht ungeduldig werden, und das Skript zu Ende laufen lassen.

Ist die Überprüfung beendet, so wird die Datenpartition der Festplatte wieder nach /hdd gemountet. Dann wird noch das Ergebnis der Festplattenüberprüfung auf dem Bildschirm für 30 Sekunden angezeigt.

Bild

Wer sich die Daten der Überprüfung genauer ansehen möchte, findet sie in der Datei /tmp/fsck.log.


Ich wünsche Euch noch viel Spaß mit dem HDD-Check-Plugin.

Das HDD-Check-Plugin kann hier heruntergeladen werden.

Bitte alle Fragen und Diskussionen zu diesem Plugin nur in diesen Thread posten, damit das Forum übersichtlich bleibt.

Bitte denkt daran, dass Ihr ich Euch im JtG-Forum anmelden und einloggen müsst, um die Downloadlinks zu sehen.
Greetz von DrStoned :lol: :lol: :lol:
Zuletzt geändert von DrStoned am Samstag 9. September 2006, 06:27, insgesamt 1-mal geändert.
kosl
Interessierter
Interessierter
Beiträge: 65
Registriert: Montag 10. Juli 2006, 21:12

Beitrag von kosl »

Hi,

funktioniert perfekt - wie immer - vielen Dank.
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

DrStoned, der Herr der Skripte :)
Klasse!
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Dieses Skript wurde jetzt fest in den aktuellen Snapshot des JtG-Images integriert. Wenn Ihr diesen verwendet, braucht Ihr es nicht mehr selbst einzubauen.

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Neue Version HDD-Check 0.2

Da einige User mit großen Festplatten Probleme hatten, den Filesystem-Check zur Laufzeit von Neutrino auf Grund von RAM-Speichermangel auszuführen, habe ich eine neue Version erstellt. Bei dieser Version wird zuerst Neutrino beendet, dann werden alle noch laufenden unnötigen Deamons ausgeschaltet um mehr RAM-Speicher zur Verfügung zu haben. Erst dann erfolgt der eigentliche Festplattencheck. Ist dieser beendet, wird die Box neu gestartet.

Ausserdem kann jetzt noch optional ein halbautomatischer Check beim Beenden von Neutrino ausgeführt werden. Dabei wird beim Beenden von Neutrino ein Fenster eingeblendet, ob man den Check ausführen möchte. Bestätigt man die Abfrage jetzt innerhalb von 10 Sekunden, so wird der Plattencheck ausgeführt. Ist dieser beendet, wird noch kurz das Ergebnis eingeblendet, dann wird die Box entweder heruntergefahren oder ausgeschaltet, je nachdem wie man Neutrino beendet hat. Wird die Abfrage nicht aktiviert, so wird die Neutrino ohne Check ganz normal beendet, die Dbox also entweder ausgeschaltet, oder heruntergefahren.

Da das Ergebnis des Checks in einer Datei gespeichert wird, wird es beim nächsten Start der Box kurz auf dem Bildschirm angezeigt. Da die Anzeige vor dem eigentlichen Start von Neutrino erfolgt, und in dieser Zeit während der Anzeige im Hintergrund noch weitere Treiber geladen werden, verzögert sich der Startvorgang nur unmerklich.

Möchte man sich das Ergebnis noch in Ruhe anschauen, findet man dazu unter Skripte jetzt noch ein neues Skript mit dem Namen HDD-Check - Ergebnis anzeigen - Ergebnis des letzten Festplattenchecks anzeigen

Da das Datum und die Uhrzeit mit ins Ergebnis eingefügt werden, hat man so eine gute Kontrolle, wann man die letzte Überprüfung der Festplatte gemacht hat.

Code: Alles auswählen

HDD-Check - Festplatte der Dbox2 überprüfen
===========================================

Plugin:     Hdd-Check für große Festplatten, auf denen Version 0.1 wegen 
            RAM-Speichermangel nicht läuft. Im Gegensatz zur Version 0.1,
            wird bei dieser Variante die Box nach jedem Festplattencheck
            neu gestartet. Ausserdem wurde es für den automatischen HDD-
            Check beim Ausschalten oder Neustarten der Box programmiert. 

Version:    0.2
Autor:      DrStoned
Datum:      11.09.2006


Anwendung:
----------

Das Plugin HDD-Check dient dazu, das extfs3-Dateisystem der Dbox-Festplatte 
zu überprüfen und nötigenfalls zu reparieren. Die Idee dazu kam mir, als es mir 
während einer Aufnahme die Festplatte zerschossen hat. Vermutlich kam dieser 
Fehler daher, dass mir die Dbox vorher mehrmals während der Aufnahme 
abgestürzt ist. Dabei wurden wahrscheinlich einige Dateien nicht mehr 
geschlossen oder irgendwo auf der Festplatte Datenmüll produziert, 
was letztendlich dann das Dateisystem der Festplatte zerschossen hat. 
Um dem vorzubeugen, habe ich dieses Shellskript geschrieben. 

Das Skript sollte regelmäßig ausgeführt werden, vor allem jedesmal dann, 
wenn die Dbox während einer Aufnahme abgestürzt ist, oder wenn eine Aufnahme 
unvermittelt abbricht. Damit wird einem größeren Fehler im Dateisystem der 
Festplatte vorgebeugt. 

Vorraussetzung:
---------------

Zuallererst muss natürlich eine Festplatte in die Dbox eingebaut sein. 
Für alle Benutzer, die nicht das JtG-Image verwenden, wie z.B. das DietmarW-Image 
ist ausserdem noch das Messagebox-Plugin 'msgbox' wichtig. Es ist diesem Archiv 
nicht beigefügt, da es im JtG-Image bzw. dem Image von Hallenberg bereits 
eingebaut ist. 
Erhältich ist es bei http://www.jackthegrabber.de/viewtopic.php?t=6036
Die Installation des Messagebox-Plugins ist in der zugehörigen readme.txt 
beschrieben. 

Wichtig:
--------

Sehr wichtig ist ausserdem, dass dieses Skript nur für das extfs3-Dateisystem 
geschrieben wurde. Wenn Ihr es für das extfs2-Dateisystem verwenden wollt, 
müsst Ihr das Skript mit einem UNIX-Editor entsprechend abändern. 


Installation:
-------------

Die Dateien werden per FTP in folgende Verzeichnisse kopiert und mit den 
entsprechenden Rechten versehen. Es ist sehr wichtig die Dateien im 
BINÄR-Modus zu übertragen, sonst läuft das Plugin nicht. 

Achtung: Bitte beim FTP-Programm 'Filezilla' beachten, dass dieses Programm 
         standardmäßig, Dateien mit der Endung '.sh', im ASCII-Modus uberträgt. 
         Dann läuft das Plugin aber nicht. Also darauf achten, wenn Ihr dieses 
         Programm verwendet, es entsprechend zu konfigurieren. 
         Um zu kontrollieren, ob die Dateien ordnungsgemäß übertragen wurden, 
         einfach nach der Übertragung die Dateigrößen vergleichen. 
         

Datei             Speicherort           Rechte    Größe   Funktion
--------------------------------------------------------------------------------------
hddcheck2.sh      /var/tuxbox/plugins/  755       6159    Skript für HDD-Check
hddcheck2.cfg     /var/tuxbox/plugins/  644        132    cfg-Datei für HDD-Check
hddcheck2anz.sh   /var/tuxbox/plugins/  755        187    Skript für Ergebnisanzeige
hddcheck2anz.cfg  /var/tuxbox/plugins/  644        146    cfg-Datei für Ergebnisanzeige

Optional für den halbautomatischen Start von HDD-Check beim Beenden von Neutrino
--------------------------------------------------------------------------------------
start_neutrino    /var/tuxbox/          755       1568    Neutrino starten
.autocheck_hdd    /var/etc/             644          0    Schalterdatei für Autocheck

Optional den halbautomatischen Start von HDD-Check über das Flexmenü ein- und ausschalten
--------------------------------------------------------------------------------------
shellexec.conf    /var/tuxbox/config/   644        507    einfügen in shellexec.conf


Wenn Ihr alle Dateien installiert habt, ist noch folgende Aktion durchzuführen. 
Dbox-Taste -> Service -> Plugins neu laden. 
Wenn ihr alles richtig gemacht habt, findet Ihr 2 neue Skripte unter Dbox-Taste -> Skripte

HDD-Check - Festplatte ueberpruefen - HDD-Check fuer grosse Festplatten 
HDD-Check - Ergebnis anzeigen - Ergebnis des letzten Festplattenchecks anzeigen 

Da mittlerweile HDD-Check Version 0.1 mit dem aktuellen Snapshot fest ins 
Image eingebaut wurde, hat man die Möglichkeit, wenn man die Version 0.1 
nicht verwenden möchte, sie durch die Version 0.2 zu ersetzen. 
Dazu sind folgende Dateien entsprechend umzubennen:

hddcheck2.sh      ->      hddcheck.sh
hddcheck2.cfg     ->      hddcheck.cfg

Ich habe dies aber bewusst nicht selbst so gemacht, um Euch die Möglichkeit zu 
geben, beide Versionen zu testen, und sich dann für die zu entscheiden, die einem 
besser gefällt. 


Funktion:
=========

1. Manueller Aufruf von HDD-Check über das Skripte-Menü
-------------------------------------------------------

Ruft man das Skript 'HDD-Check - Festplatte ueberpruefen' auf, wird zuerst 
getestet, ob der IDE-Treiber aktiviert ist. Sollte dies nicht der Fall sein, 
bricht das Skript mit einer entsprechenden Fehlermeldung ab. 
Ist dieser Treiber aktiviert, so kommt man in ein Auswahlmenü, in dem erklärt wird, 
was bei der Ausführung des Skripts zu beachten ist. Hier kann man sich entscheiden, 
ob man das Skript ausführen möchte oder nicht. Hier die Auswahl zwischen nein/ja 
treffen und mit der OK-Taste bestätigen. Nicht die Home-Taste verwenden, sonst 
wird das Skript ausgeführt, auch wenn man es nicht will. Dies ist eine Eigenheit 
des Messagebox-Plugins und kann nicht so einfach abgefangen werden. 
Bitte die Hinweise im Auswahlmenü sorgfältig durchlesen und auch befolgen, ich 
gebe keine Haftung für einen Datenverlust. 

Hat man sich dafür entschieden, das Skript auszuführen, so darf jetzt auf keinen 
Fall mehr die Box ausschalten oder resetten bzw. den Stecker ziehen. 
!!! Sonst droht Datenverlust !!! 
Bitte unbedingt das Skript bis zum Ende laufen lassen. 

Zunächst wird die Festplatte ungemountet. Danach wird getestet, ob das Unmounten 
auch erfolgt ist. Sollte die Festplatte nicht ungemountet werden können, 
so wird das Skript mit einer entsprechenden Fehlermeldung abgebrochen. 

Eine Ursache dafür kann sein, dass noch irgendein Programm, das auf der 
Festplatte liegt, noch nicht beendet wurde. Mir ist dies passiert, weil ich das 
WOL-Timer-Plugin auf die Festplatte ausgelagert hatte und dessen 'woltimerd' 
(Daemon) noch lief. Deswegen ist die Unmount-Überprüfung von mir eingebaut worden. 
Im Skript "hddcheck2.sh" ist die Stelle vermerkt, wo Ihr Programme abschießen 
bzw. beenden könnt, die Ihr eventuell auf der Festplatte laufen habt. 
Ihr müsst aber unbedingt einen UNIX-Editor verwenden, um dort Änderungen zu machen. 

Es hat sich gezeigt, dass Benutzer von sehr großen Festplatten mit der Version 0.1 
von HDD-Check Probleme hatten. Versuche von "Palace" und "Gorcon" haben ergeben, 
dass für den Festplattencheck zu wenig RAM-Speicher zur Verfügung stand. Deswegen 
werden in der Version 0.2 von HDD-Check, zuerst Neutrino, und noch einige 
speicherfressenden Programme, wie z.B. 'sectionsd' beendet, um dann mehr 
RAM-Speicher für den Festplattencheck zur Verfügung zu haben. Ich konnte dies 
allerdings nicht testen, da ich mit meiner 100 GB-Festplatte mit der Version 0.1 
keine Probleme hatte. Ich hoffe aber, dass der HDD-Check jetzt auch mit großen 
Festplatten funktioniert. 

Sind Neutrino und die Speicherfresser beendet, startet der eigentliche HDD-Check. 
Jetzt wird die Festplatte mit dem im Image eingebauten Befehl 'fsck.ext3' 
überprüft. Falls Fehler im Dateisystem vorhanden sind, wird versucht das 
Dateisystem zu reparieren. Diese Überprüfung dauert einige Zeit, bei meiner 
100 GB-Fujitsu 2,5"-Zoll Notebookfestpatte gehen dafür 5 Minuten ins Land. 
Also nicht ungeduldig werden, und das Skript zu Ende laufen lassen. 
Das Ergebnis der Prüfung, wird in der Datei '/var/etc/fsck.log' gespeichert. 
Ist die Überprüfung beendet, so wird die Datenpartition der Festplatte wieder 
nach /hdd gemountet. Dann wird noch das Ergebnis der Festplattenüberprüfung auf 
dem Bildschirm für 10 Sekunden angezeigt. Danach wird die Box neu gestartet. 

Wer sich die Daten der Überprüfung genauer ansehen möchte, kann sie nach dem 
Neustart mit diesem Skript aufrufen und anschauen: 
HDD-Check - Ergebnis anzeigen - Ergebnis von Festplattencheck anzeigen 
Es zeigt die Daten an, die beim letzten Festplattencheck in der Datei 
'/var/etc/fsck.log' gespeichert wurden. 

2. Halbautomatischer Aufruf beim Ausschalten oder Neustarten der Box
--------------------------------------------------------------------

Die Version 0.2 von HDD-Check kann auch optional beim Beenden von Neutrino 
gestartet werden. Dies geschieht dadurch, dass man eine geänderte 
'start_neutrino' in das Verzeichnis '/var/tuxbox/' kopiert, und ihr 
Ausführrechte (755) vergibt. Bitte dies nicht vergessen, sonst startet 
Neutrino nach dem nächsten Neustart nicht mehr. Am besten, Ihr übt erst mal 
mit den Skripten. Wenn diese funktionieren, bekommt Ihr das mir der Datei 
'start_neutrino' auch noch hin. 

Achtung: Die 'start_neutrino' aus diesem Archiv ist an die originale aus 
         '/etc.init.d/' angepasst. Solltet Ihr in Eurer 'start_neutrino' bereits 
         irgendwelche Anpassungen vorgenommen haben, so müsst ihr diese Anpassungen 
         selbst in die aus diesem Archiv einfügen. 

Um diese Funktion zu aktivieren, muss natürlich der IDE-Treiber geladen sein. 
Dies geschieht durch die Abfrage auf das Vorhandensein der Datei '.start_ide' 
im Verzeichnis '/var/etc/'. Diese Datei ist mit den meisten FTP-Programmen, 
wie alle Dateien mit einem führenden . (Punkt) nur dann sichtbar, wenn man 
im FTP-Progamm die Option "Versteckte Dateien im Netz anzeigen" aktiviert.  
Somit wird verhindert, dass das HDD-Check-Menü aufgerufen wird, wenn der 
IDE-Treiber nicht aktiviert wurde. Ausserdem muss im Verzeichnis 
'/var/etc/' auch noch eine Datei namens '.autocheck_hdd' vorhanden sein. 
Diese Datei könnt Ihr Euch entweder selbst erstellen, oder die beigefügte 
aus dem Archiv verwenden. Sind alle Dateien ordnungsgemäß installiert, 
ist die Box neu zu starten. 

Beim nächsten Herunterfahren oder Neustart wird beim Beenden von Neutrino ein 
Auswahlmenü eingeblendet. Werden jetzt nicht innerhalb von 10 Sekunden die Taste 
Pfeil-rechts und Ok-Taste gedrückt, also "ja" aktiviert, wird die Box ganz normal 
heruntergefahren. Es wird lediglich noch ein Fenster eingeblendet, ob die Dbox 
neu gestartet oder ausgeschaltet wird. 
Möchte man das automatische Abbrechen des Skripts ausschalten, so ist folgende 
Zeile aus der 'start_neutrino' zu entfernen oder mit einer # auszukommentieren: 

sleep 10 && rcsim KEY_OK &

Aktiviert man jedoch rechtzeitig den "HDD-Check", so wird jetzt zuerst das 
Datenverzeichnis '/hdd' der Festplatte ungemountet. Das Unmounten wird überprüft, 
sollte es fehlschlagen, wird eine entsprechendes Fehlermeldung eingeblendet, 
und die Box wird dann wie vorgewählt entweder ausgeschaltet oder neu gestartet. 
Dann werden wieder, wie in Kapitel 1 beschrieben, Neutrino und 'sectionsd' beendet. 
Dann erst wird der eigentliche Festplattencheck durchgeführt. Ist dieser beendet, 
so wird die Festplatte wieder gemountet. Dann wird die Box wie vorgewählt, entweder 
ausgeschaltet oder neu gestartet. Vorher wird noch für 10 Sekunden das Ergebnis 
des Festplattenchecks eingeblendet. Da das Ergebnis des Plattenchecks in der Datei 
'/var/etc/fsck.log' gespeichert wurde, kann es nach dem nächsten Neustart durch den 
Aufruf des Skripts "HDD-Check - Ergebnis anzeigen" angezeigt werden. 
Beim nächsten Start der Box wird das Ergebnis des letzten Festplattenchecks für 
10 Sekunden auf dem Bildschirm angezeigt. Da dies vor dem Start von Neutrino geschieht, und die Box in dieser Zeit weitere Treiber lädt, wird der Startvorgang von Neutrino nur unmerklich verzögert.

3. Integration ins Flexmenü
---------------------------

Für alle, die das Flexmenü (shellexec) auf Ihrer Box installiert haben, habe ich 
noch eine Beispiel-Konfigurationsdatei 'shellexec.conf' erstellt, die es ermöglicht 
die oben beschrieben Plugins mit dem Flexmenü aufzuführen. Auch das Erstellen bzw. 
Löschen der Schalterdatei '/var/etc/.autocheck_hdd' wurde in dieser Datei integriert. 
Diese Datei kommt nach '/var/tuxbox/config/'. Falls Ihr das Flexmenü bereits auf 
Euer Dbox2 installiert habt, kopiert einfach die Zeilen aus der Beispieldatei in 
Eure 'shellexec.conf'. Dazu gibt es zu beachten, dass man dazu einen UNIX-Editor 
(Ultraedit, Crimson-Editor, Proton-Editor, vi) verwenden muss. Dies gilt für die 
Bearbeitung aller Dateien auf der Dbox2 unter Linux.

Das Flexmenü-Plugin ist in diesem Archiv nicht enthalten, es ist aber im 
JtG-Plugin-Forum unter folgendem Thread zum Runterladen erhältlich:
http://www.jackthegrabber.de/viewtopic.php?t=6040
Die Installation und Verwendung dieses Plugins ist in dessen 'readme.txt' erklärt. 

4. Hilfe, Fragen und Anregungen zu HDD-Check
--------------------------------------------

Ich hoffe, ich habe alles verständlich geschildert und erklärt. Bei Fragen und 
Anregungen zu diesem Plugin, meldet Euch bitte in folgendem Diskussionsthread 
im Jack-the-Grabber-Plugin-Forum: http://www.jackthegrabber.de/viewtopic.php?t=9854
Dann werde ich sehen, was ich für Euch tun kann. 

Ich wünsche Euch noch viel Spaß mit dem HDD-Check-Plugin. 

Greetz von DrStoned :-) :-) :-)
Ich wünsche Euch noch viel Spaß mit dem HDD-Check-Plugin.

Das HDD-Check-Plugin Version 0.2 kann hier heruntergeladen werden.

Bitte alle Fragen und Diskussionen zu diesem Plugin nur in diesen Thread posten, damit das Forum übersichtlich bleibt.

Bitte denkt daran, dass Ihr ich Euch im JtG-Forum anmelden und einloggen müsst, um die Downloadlinks zu sehen.

Greetz von DrStoned :lol: :lol: :lol:


P.S.: @ Gorcon und palace, bitte testen und Rückmeldung geben.
Zuletzt geändert von DrStoned am Montag 11. September 2006, 16:46, insgesamt 2-mal geändert.
Greetz von DrStoned :lol: :lol: :lol:
Z80
Erleuchteter
Erleuchteter
Beiträge: 710
Registriert: Dienstag 3. September 2002, 12:54

Beitrag von Z80 »

DrStoned hat geschrieben:Da einige User mit großen Festplatten Probleme hatten, den Filesystem-Check zur Laufzeit von Neutrino auf Grund von RAM-Speichermangel auszuführen, habe ich eine neue Version erstellt. Bei dieser Version wird zuerst Neutrino beendet, dann werden alle noch laufenden unnötigen Deamons ausgeschaltet um mehr RAM-Speicher zur Verfügung zu haben. Erst dann erfolgt der eigentliche Festplattencheck. Ist dieser beendet, wird die Box neu gestartet.
wenn das hdd-swapping mal liefe, könnte man sich den ganzen aufwand schenken. :(
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

@DrStoned: So ähnlich hatte ich das ja bereits weiter oben http://forum.tuxbox-cvs.sourceforge.net ... 937#310937 erfolgreich probiert.

Mein Ansatz liegt immer noch beim Booten.
Der Grund ist ganz einfach, dass ich nicht auf ein bereits korruptes FS streamen will.

Code: Alles auswählen

#!/bin/sh
# JTG-Team-Image start_neutrino v1.03 # 07.03.2006

# Filesystemcheck durchführen  --- ab hier ---
if [ -e /var/etc/.start_ide ] ; then
 rdate -s ptbtime1.ptb.de
 if [ -e /var/etc/.force_fsck ] ; then
  fsck.ext2 -fvy /dev/ide/host0/bus0/target0/lun0/part2 > /tmp/fsck.log
  rm /var/etc/.force_fsck
 else
  fsck.ext2 -vy /dev/ide/host0/bus0/target0/lun0/part2 > /tmp/fsck.log
 fi;
 echo ~c~YFestplattencheck vom `date "+%d.%m.%Y  %H:%M Uhr"` >> /tmp/fsck.log
 msgbox size=26 title="Festplattencheck" popup=/tmp/fsck.log timeout=10 &
 /bin/mount -t ext2 /dev/ide/host0/bus0/target0/lun0/part2 /hdd
fi;
# --- bis hier ---

/bin/sectionsd
/bin/timerd
...
Das Anzeigen des Logs hab ich mir von Dir hergenommen.
Zum Setzen des .force_fsck hab ich noch nix gemacht, geht aber per Skript oder FlexMenue

Wichtig ist imho noch ein "umount /hdd" am ENDE der start_neutrino (vor if .reboot ...), da das sonst scheinbar nirgends gemacht wird; zumindest nicht bei "reboot"/"Neu Starten" und die HDD nicht auf clean gesetzt wird.

evtl gibt es hier noch Lösungen für
a) einen rdate ersatz (z.B. ein schreiben des Datums in eine Datei)
b) die Aufnahme aus dem DeepStandby

Getestet habe ich nun, dass (ohne .force_fsck) die Box beim Starten lapidar "Clean" meldet, solange das CleanFlag gesetzt ist, keine 180 Tage seit dem letzten Check vergingen oder die HDD weniger als ca. 20 Mal gemountet wurde.
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

@DrStoned:

Bestätige, dass Dein Skript 0.3 mit SWAP bei mir ordentlich läuft (teilw. bis zu 40MB im swap)!
Gegen Ende des Checks wird die Anzeige nochmal von oben abgearbeitet (umount usw... oder sind das die msgboxen, die verschwinden? Und ein "Bitte Warten" schleicht sich ans Ende des Logs).
Ansonsten: Superklasse!
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

palace hat geschrieben:@DrStoned:

Bestätige, dass Dein Skript 0.3 mit SWAP bei mir ordentlich läuft (teilw. bis zu 40MB im swap)!
0.3 ? wo bekommt man das?
und wie groß ist Deine HDD?

Gruß Gorcon
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

Gorcon hat geschrieben:
palace hat geschrieben:@DrStoned:

Bestätige, dass Dein Skript 0.3 mit SWAP bei mir ordentlich läuft (teilw. bis zu 40MB im swap)!
0.3 ? wo bekommt man das?
und wie groß ist Deine HDD?

Gruß Gorcon
Ist im JtG Snap von gestern drin.
400G
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

dann werde ich mir das mal ziehen. (hatt heute nur in die updatefunktion geschaut aber da gabs nichts neues)

Danke für die Info.

Gruß Gorcon
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

Gorcon hat geschrieben:dann werde ich mir das mal ziehen. (hatt heute nur in die updatefunktion geschaut aber da gabs nichts neues)

Danke für die Info.

Gruß Gorcon
Doch, sollte bei "Update" sichtbar sein...
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

palace hat geschrieben:
Gorcon hat geschrieben:dann werde ich mir das mal ziehen. (hatt heute nur in die updatefunktion geschaut aber da gabs nichts neues)

Danke für die Info.

Gruß Gorcon
Doch, sollte bei "Update" sichtbar sein...
Nein, da ist nur das vom 10.09 drinn.

Das Script 0.3 lauft auch nicht.
Pass 1: Checking inodes, blocks, and sizes
Error allocating block bitmap (4): Communication error on send
~BDateisystem mit~Y ~Yfsck.ext3 ~Bgepr~uft am 18.09.2006 18:22 Uhr ~t~Y! Bitte warten !
Die Box wird auch nicht resetet wie beim 0.2er In weniger als 10sek ist das Script durchgelaufen. :roll:

Gruß Gorcon
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

Du musst vorher "SWAP" aktivieren (Boot & Treiber Einstellungen)...

Hm... wenn ich auf "Nach neuer Version suchen" gehe, erscheint ein Snap vom 17.9. :gruebel:
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

palace hat geschrieben:Du musst vorher "SWAP" aktivieren (Boot & Treiber Einstellungen)...

Hm... wenn ich auf "Nach neuer Version suchen" gehe, erscheint ein Snap vom 17.9. :gruebel:
Das war aber erst nach dem Aufspielen des neuen Images der Fall, heute fruh war es definitiv noch nicht drinn.

So jetzt scheint der Check zu laufen, wenn auch ich daus überhaupt nicht schlau werde. :gruebel:
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
/lost+found not found. Create? yes

Pass 4: Checking reference counts
Pass 5: Checking group summary information

/dev/ide/host0/bus0/target0/lun0/part2: ***** FILE SYSTEM WAS MODIFIED *****

40 inodes used (0%)
1 non-contiguous inode (2.5%)
# of inodes with ind/dind/tind blocks: 14/13/0
6931261 blocks used (9%)
4 large files

28 regular files
2 directories
0 character device files
0 block device files
0 fifos
0 links
0 symbolic links (0 fast symbolic links)
0 sockets--------

30 files
~BDateisystem mit~Y ~Yfsck.ext3 ~Bgepr~uft am 01.01.1970 12:07 Uhr ~t~Y! Bitte warten !
Gruß Gorcon
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

Nun, Dein Filesystem war korrupt und der Check hats richten können ;)
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

palace hat geschrieben:Nun, Dein Filesystem war korrupt und der Check hats richten können ;)
Na dann ist das aber extrem leicht aus dem Tritt zu bringen. Bei meinem NAS habe ich bis jetzt nach 20 Monaten keinen Fehler feststellen können. (dort gibts den Check per Webinterface).

Gruß Gorcon