ständig falscher mounpoint in mit freetz

Kommt darauf an, was genau Du damit meinst, bzw. was genau Du vor hast.
Einen regulären Mount kannst Du nicht entfernen, wegen Busy. Einen Bind-Mount auch nicht.
Wenn ein Sym-Link auf ein Zeil zeigt, kann man den Link ohne Probleme ersetzen.
Man kann auch die Dateien löschen und danach neue Dateien anlegen.
Und dann gibt es noch die Möglichkeit mit Mount-Move.
 
Also ich stell mir folgende Situation vor: Viel ausgelagerte Daemons & Libraries, alle laufen. Dann wird der Pfad (Link oder Mount) geändert. Kann das funktionieren?
 
Den Link zu ändern ist überhaupt kein Problem, weil der niemanden mehr interessiert, nachdem die Datei geöffnet wurde.
Ein Mount-Move funktioniert auch.
Worum konkret geht es Dir? Den Pfad zu ändern, oder die Dateien für einen Update auszutauschen?
 
Dass man den Link ändern kann ist klar, nur was ist mit den Programmen/Libs die währenddessen offen sind?
 
Wie schon beschrieben, merken die Programme nichts davon, wenn man den Link ändert oder entfernt, nachdem die Dateien geöffnet wurden. Die Programme laufen also einfach weiter.
 
Okay, ich mach das mit external dann so, dass man ohne Neustart ändern kann
 
Ich würde das auch so sehen, cuma. Lass uns es einfach ausprobieren.
Außerdem hast du doch irgendein Automatismus in external eingebaut, dass es automatisch erkannt wird, welche Dienste/Programme ausgelagert sind. Wäre es vielleicht sinnvoll diese Dienste für so eine Aktion mit "rc.dienst stop" herunterzufahren und mit "rc.dienst start" neu zu starten, nachdem das "ummounten" beendet ist. Selbst, wenn die Dateien nach dem unmounten nicht da sein sollten, würde "start" einfach fehl schlagen, was in einem solchen Falle nicht schlimm wäre.

Im Zusammenhang mit FREETZMOUNT hatte ich bereits nach Möglichkeiten gesucht festzustellen, warum ein mount "busy" ist, bzw. wer der Verursacher dafür ist. Leider ist es nicht ohne Weiteres möglich. Zwar kann man ein konkretes Programm darauf checken, ob es denn daran schuld wäre, man kann aber nicht komplett uStorXY durchchecken und als Ergebnis eine Liste mit betroffenen Dateien bekommen. Zumindest nicht direkt. Aber da wir im Falle von external zumindest alle ausgelagerten Dateien namentlich kennen, könnte man sich sowas vorstellen, wie diese Dateien durchzuforsten und nach "busy" checken.
Um solche Probleme aber generell zu vermeiden, würde ich eine separate Partition für external empfehlen und sie sogar als RO mounten. Fürs Update von external kann man dann kurzzeitig RO nach RW ändern.
Und zu deinem Link unter /tmp. Warum willst du es so tief verstecken, cuma? Lass uns mal doch diesen Symlink direkt im Wurzelverzeichnis unter /external reinpacken. /tmp ist für mich ein temporäres Verzeichnis in dem ich jede Datei bedenkenlos löschen kann. Dass AVM /tmp dafür missbraucht, um RW-Configs aus /etc dahin zu packen ist keine gute Idee und wir sollen es meiner Meinung nach nicht unbedingt nachaffen, wenn es nicht aus Kompatibilitätsgründen mit AVM notwendig ist.

MfG
 
Wo gibt es denn lsof auf der Box? Ist es ein busybox-Applet? Oder zu welchem Paket gehört es?

Edit: Ich hatte es mit fuser ausprobiert.

MfG
 
lsof ist ein eigenständiges "Paket".

Gruß
Oliver
 
Hat es jemand auf der Box? Wie groß ist es denn? Da wären wir wieder beim gleichen Thema, wie blkid. Ich war nämlich gerade auf der Suche, ob lsof als busybox-Applet gibt. Leider Fehlanzeige.

MfG
 
Das Programm lsof ist über 100 kB groß.
Aber Du bekommst auch schon einiges an Informationen mit
Code:
( cat /proc/*/maps; ls -l /proc/*/cwd /proc/*/root /proc/*/exe /proc/*/fd/* ) 2> /dev/null |
grep uStor
Man könnte auch ein lsof schreiben, daß nur diesen Teil ausführt, das sollte relativ kompakt sein, und trotzdem eine hübschere Ausgabe liefern können.

Auf diese Art bekommt man aber nicht alles heraus. Swap-Dateien, Loop-Devices, NFS-Freigaben werden davon nicht erfaßt. Deswegen hatte ich oben auch schon geschrieben, daß man damit nicht alles angezeigt bekommt. Aber in vielen Fällen hilft es.
 
Danke für deine Tipps, Ralf! Wenn an meiner 7170 mc läuft, bekomme ich Folgendes angezeigt:
Code:
root@fritz:/var/mod/root# ( cat /proc/*/maps; ls -l /proc/*/cwd /proc/*/root /proc/*/exe /proc/*/fd/* ) 2> /dev/null | grep SYSTEM
00400000-00487000 r-xp 00000000 08:02 3096       /var/media/ftp/SYSTEM/external/usr/bin/mc.bin
00497000-0049d000 rw-p 00087000 08:02 3096       /var/media/ftp/SYSTEM/external/usr/bin/mc.bin
2aabe000-2ab66000 r-xp 00000000 08:02 4099       /var/media/ftp/SYSTEM/external/usr/lib/freetz/libglib-2.0.so.0.2200.5
2ab75000-2ab77000 rw-p 000a7000 08:02 4099       /var/media/ftp/SYSTEM/external/usr/lib/freetz/libglib-2.0.so.0.2200.5
2ab77000-2ab7f000 r-xp 00000000 08:02 4106       /var/media/ftp/SYSTEM/external/usr/lib/freetz/libintl.so.8.0.1
2ab8e000-2ab8f000 rw-p 00007000 08:02 4106       /var/media/ftp/SYSTEM/external/usr/lib/freetz/libintl.so.8.0.1
2ab8f000-2abbf000 r-xp 00000000 08:02 4102       /var/media/ftp/SYSTEM/external/usr/lib/freetz/libpcre.so.0.0.1
2abce000-2abcf000 rw-p 0002f000 08:02 4102       /var/media/ftp/SYSTEM/external/usr/lib/freetz/libpcre.so.0.0.1
lrwxrwxrwx    1 root     root             0 Jan  1 23:02 /proc/2976/exe -> /var/media/ftp/SYSTEM/external/usr/bin/mc.bin
Die Frage ist, ob man wirklich doppelte und teilweise dreifache Einträge von der gleichen Datei da sehen will. Müssen wir wirklich alle Prozesse durchforsten, oder kann man einige rausschmeißen.
Wenn man die Ausgabe nicht mit grep filtert, würde man vor den Augen bekommen, welche Unmengen an Daten da durchsucht werden. Aleine aus dieser Sicht wäre es sinnvoll sowas in C zu schreiben, anstatt cat und ls zu quelen.
Die Anwendung für den Fall hätte ich parat: mounted.cgi. Man könnte zusammen mit den Fehlermeldungen zum misslungenen Unmount per WebIF auch schreiben, woran es denn gescheitert ist.

MfG
 
Klar kann man das in C hübscher machen. Das mit grep war die einfache Version, um das Prinzip zu testen.
Wobei man durchaus das Ganze auch als Skript schreiben könnte.
 
Und zu deinem Link unter /tmp. Warum willst du es so tief verstecken, cuma? Lass uns mal doch diesen Symlink direkt im Wurzelverzeichnis unter /external reinpacken. /tmp ist für mich ein temporäres Verzeichnis in dem ich jede Datei bedenkenlos löschen kann. Dass AVM /tmp dafür missbraucht, um RW-Configs aus /etc dahin zu packen ist keine gute Idee und wir sollen es meiner Meinung nach nicht unbedingt nachaffen, wenn es nicht aus Kompatibilitätsgründen mit AVM notwendig ist.

/tmp hat den Vorteil dass man ohne irgendeine Verrenkung Dateien anlegen& ändern kann. Oliver hatte dann noch die Idee den Link /mod/external zu nennen, was mir auch besser gefällt. /mod ist wie /tmp auch schreibbar.
 
ok, du hast Recht cuma. Ich dachte, dass man im Wurzelverzeichnis neue Dateien/Verzeichnisse anlegen kann. Dem ist es nicht so. Dann ziehe es bitte nach /mod/external um. /mod ist sozusagen unsere "Abbildung" vom Wurzelverzeichnis. Von daher gefällt es mir besser als tmp.

Zwar hast du in dem Sinne Recht, dass es genau so gut unter /mod gelöscht werden kann und von den Rechten her und von der Platzierung gibt es keinen Unterschied, es ist aber meiner Meinung so, dass derjenige, der etwas unter /mod ohne zu wissen löscht, der handelt vorsätzlich. Unter /tmp dagegen nicht, denn tmp ist halt "temporär", was in meinem Verständis nicht so weit von "überflüssig" und "kann ohne wenn und aber gelöscht werden" steht.

MfG
 
Das sind halt Eigenheiten von Embedded-Systeme, dass dem man nicht in allen Bereichen schreiben kann. Ich würde /tmp auf der Fritzbox auch auf keinen Fall im Betrieb leeren. Dies geschieht bei einem Reboot eh automatisch da es im Ram liegt
 
r6117

@cuma: wollte mal fragen, warum denn /mod/etc/external? Es sind doch überwiegend Binaries. Könntest Du es eventuell in /mod/external ändern? Danke!
 
Meint ihr nicht dass der "Konfigurationslink" doch besser unter /mod/etc/ aufgehoben ist? /mod/ allein gefält mir nicht so ganz
 
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.