[Frage] USB Stick per Skript unmounten / mounten für Filesystemchecks

dad401

Neuer User
Mitglied seit
26 Aug 2007
Beiträge
86
Punkte für Reaktionen
2
Punkte
8
Hallo,

da meine Fritzboxen doch das ein oder andere mal einen Reboot durchführen und regelmäßig Schreibvorgänge auf dem Stick stattfinden (digitemp, fhem) würde ich den Stick gern regelmäßig mit e2fsck prüfen lassen.

Ist es möglich, den Stick Unmounten und wieder zu Mounten, so dass beim Unmounten alles "externalisierte" entladen und beim Mounten wieder geladen wird? Ebenfalls sollte der Stick wieder mit der Datenträgerbezeichnung eingehangen werden.

Welche Befehle müsste ich hier unter Freetz nutzen?

Gruss
Marcus
 
Hallo,

Antwort: Ja

1.) Normalerweise stehen die Einhängpunkte (mountpoints) in /etc/fstab - Schau mal nach ob dein USB-Dingens da nicht schon eingetragen ist.
2.) Filesystemchecks unter Linux werden immer auf ausgehängte Geräte durchgeführt. Ganz selten, wenn man sie nicht aushängen kann, mounted man sie schreibgeschützt.
3.) Ein Einhängpunkt läßt sich nicht aushängen wenn noch Zugriff auf Ordner/Dateien besteht. (Die entsprechenden Programme müssen beendet werden)
4.) Umgekehrt: Ist das Gerät nicht auf das Verzeichnis gemountet, Programme aber gestartet die da reinschreiben, wird in den Mountpoint geschrieben, nicht auf das Gerät.

Wenn du diese 4 Punkte beachtest, ist es kein Problem deinen USB-Stick auszuhängen, zu checken/reparieren und anschließend wieder einzuhängen.
Befehle unter Freetz? (Ick gloob die kochen och nur mit Wasser und benutzen Linux-Kommandos)
Also:
/etc/fstab <--> enthält alle bekannten Einhängpunkte (angefangen von / über /proc und denn ganzen rest)
mount <--> zeigt ohne Angabe von Parametern was im System wo und als was mit welchen Filesystem eingehängt ist.
unmount <--> Einhängpunkt freigeben, wichtig für deinen fsck
fsck.ext2 oder e2fsck <--> damit kannste dann deinen USB-Stick überprüfen/reparieren, aber nur wenn der auch wirklich ext2 partitioniert/formatiert wurde!

Beispiel:
1# Programme beenden die auf den Stick zugreifen
2# umount /dev/usb1
zu 2#) Klappt mit jeden gemounteten Gerät, auch wenn es nicht in fstab steht. (Es wird kein mountpoint beim unmounten benötigt)
3# e2fsck /dev/usb1
zu 3#) Mit den Programmargumenten bitte selber beschäftigen: e2fsck -h oder e2fsck --help
4# mount /dev/usb1
zu 4#) Klappt nur wenn /dev/usb1 auch einen Eintrag in /etc/fstab hat (weil kein mountpoint angegeben ist, den holt sich mount dann aus der fstab)
Umgekehrt: z.B. mount /mnt/keydrive holt sich mount das Gerät und die Optionen aus der fstab, wenn vorhanden.
5# Programme wieder starten


hoffe das war hilfreich,


koy
 
Zuletzt bearbeitet:
@koy: Zwar gut für Linux-Allgemeinheit, allerdings wenig hilfreich für dad401 und für FREETZ. Hier werden diese Dinge etwas anders gelöst, verknüpft und automatisiert.
@dad401: Schau dir mount- und storage-Skripte von AVM sowie FREETZMOUNT. Dort kannst du die passende "Einschleuse-Schnittstelle" für deine Idee finden. Oder schau bitte auch unter dem "unmount"-Knopf in mounted.cgi. So ähnlich kannst du es "einschleusen". Der Vorteil für dich wäre, dass du dich um nichts kümmern muss und alle vorbereitenden Arbeiten (Entladen von external, etc.) automatisch laufen würden.
Wie du allerdings die unmounte Partition wieder "zurückholst" und die Dienste wieder startest, weiß ich nicht. Möglich ist es (theoretisch), man muss aber schauen, wie man es genau tut und wo. AVM hat es leider in ihrem Konzept nicht vorgesehen, dass du eine Partition wieder "zurückmounten" willst. Es wird normalerweise bei AVM vom Erkennungsmodul für USB-Medien angestoßen. So sind die Storage-Skripte ausgelegt.
Aber wie gesagt, lies dich in FREETZMOUNT ein. Es ist Shell und eigentlich selbsterklärend. Wenn du die Mechanismen verstanden hast, dann klappt es.

EDIT: Und man kann ext-Checks auch als "Read-Only" machen. Dafür muss man nichts unmounten. Schau mal einfach unter Optionen zu e2fsck. Ob solche Tests denn immer durchlaufen werden und Sinn machen, weiß ich nicht. Könnte kritisch sein. Sollte man aber dennoch als Option betrachten.

MfG
 
Zuletzt bearbeitet:
Hallo,

Danke hermann72pb genau so etwas meinte ich. Mount/umount ist bekannt - aber eben nicht wie das mit Freetz funktioniert. Ich werde mir freetzmount mal ansehen. Von einem normalen PC her, kenne ich das mit udev, welches es m.E. auf der Box nicht gibt und es dort anders gelöst ist. Händisch kann man das unmounten ja per Weboberfläche erledigen und dann den fsck ausführen. Bloss das mounten ist mir bisher das größte Rätsel. Danke für den Tipp mit freetzmount...

Marcus
 
Du kannst es dir in mounted.cgi anschauen. Hinter den Knöpfen stehen ja Shell-Befehle, die du auch verwenden kannst. Sie verweisen auf hotplug-Skripte von AVM die von uns mit dem FREETZMOUNT gepatcht sind.
Und udev gibt es schon auf der Box und AVM scheint es letzte Zeit nun vermehrt zu nutzen. Allerdings sind die Sachen trotzdem AVM-spezifisch gelöst.
Mit dem "zurückmounten" ist es (wie ich bereits sagte) ein relativ großes Problem, weil AVM es schlicht und einfach so nicht vorgesehen hat. D.h. du wirst in den hotplug-Skripten vermutlich keine passende "Quersprung-Stelle" dafür finden. Schau es dir aber trotzdem an. Wenn du da Ideen hast, kannst du ruhig die durch FREETZMOUNT ausgelagerte Bereiche der hotplug-Skripte anfassen, um so eine Schnittstelle zu verschaffen. Das Problem mit den AVM hotplug-Skripten ist Folgendes:
1. Du musst relativ kryptisch wissen, welche Partition und welches Medium du hast. AVM numeriert da relativ eigenartig. Und mit /dev/sdXY kommst du an der Stelle leider nicht weiter.
2. Wenn du diese Zahlenparameter irgendwie kennst, kannst du unter Umständen run_mount()-Funktion in den Hotplug-Skripten ansprechen. Der Aufruf enthält aber sehr viele kryptischen Parameter.
3. Die AVM-Skripte machen es sich einfach, indem diese Zahlenparameter beim Einstecken vom Stick automatisch ermittelt werden und von einem hotplug-Skript zum anderen übermittelt werden. Faktisch laufen da einfach Zähler, die die Partitionen durchzählen und dann die Reihe nach mounten.
4. Wenn du allerdings jetzt die Partition Nr. 5 vom 3-ten Stick unmounten willst und dann wieder mounten, dann fehlen dir diese Nummer für die Partition (was noch zu erraten wäre) und vom Stick (was nicht so einfach zu erraten ist).

Wie gesagt, das Problem ist sicherlich lösbar. Bis jetzt hat sich aber dazu keiner hier Gedanken gemacht. Von daher, wenn du es löst, tust du nicht nur dir gut, sondern der Allgemeinheit, weil man basierend darauf schon einige wilden Sachen mit dem mounten realisieren könnte.

MfG
 
Marcus,
wenn deine Boxen sowieso öfters mal rebooten, wie wäre es denn nach dem FS-Check ein Reboot auszulösen? Dann werden die USB-Geräte ja ohne Änderung wieder wie gehabt erkannt.
Ist vielleicht nicht die schönste Lösung, aber scheinbar ein recht einfache.
 

Statistik des Forums

Themen
244,878
Beiträge
2,220,016
Mitglieder
371,602
Neuestes Mitglied
Bullschied
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.