[im trunk]: Mountfähige mounted.cgi

hermann72pb

IPPF-Promi
Mitglied seit
6 Nov 2005
Beiträge
3,724
Punkte für Reaktionen
16
Punkte
38
Wie bereits in anderen Threads diskutiert, gibt es Möglichkeit (und auch Bedarf) im laufenden Betrieb Partitionen zu "remounten", also entweder schreibend oder nur lesend machen. Bis jetzt ging es nur mit Shell-Befehlen, nun habe ich es vorgenommen auch in WebGUI zu implementieren.
Als Vorlage hatte ich mir die bekannte "mounted.cgi" genommen. Das ist die cgi zum Anzeigen der Belegung von Partitionen. Nun zeigt die cgi farbig nicht nur den aktuellen Status, sondern ermöglicht auch zwischen "RO" und "RW" umzuschalten.
Ich habe zunächst nur die cgi auf meiner Box "on the fly" angepasst und biete diese angepasste cgi hier so unverändert zum Testen. "on the fly" bedeutet, dass man es ohne neu zu flashen begrenzt ausprobieren könnte. Um dies zu ermöglichen, löscht man auf der Box den symlink
Code:
rm /mod/usr/lib/cgi-bin/mod
und kopiert an diese Stelle dann die verlinkten cgis
Code:
cp -R /usr/lib/cgi-bin/mod /mod/usr/lib/cgi-bin/mod
anschließend ersetzt man die Datei "/mod/usr/lib/cgi-bin/mod/mounted.cgi" mit der aus diesem Posting. Auf die Box kriegt man die Datei per SCP/SAMBA/...
Unter "Einstellungen" aktiviert man "Gemountete Partitionen auf: Untermenü" und Klikt man dann auf Status->Partitionen. Leider funktioniert es nur dort und nicht eingebettet in die Hauptseite.

Viel Spass beim testen!
22.09.2009: v0.2 mit geänderten Design und "unmount"-Funktion.
01.10.2009: v0.3: Erste "offline"-Version als Patch gegen trunk 3722
03.10.2009: seit heute ist mounted.cgi im trunk drin.
14.11.2009: v0.4: Einige erkannte Bugs behoben.

MfG
 

Anhänge

  • mounted_cgi_v_0_1.jpg
    mounted_cgi_v_0_1.jpg
    55.7 KB · Aufrufe: 94
  • mounted_cgi_v_0_1.gz
    1.2 KB · Aufrufe: 6
  • mounted_cgi_v_0_2.jpg
    mounted_cgi_v_0_2.jpg
    58.2 KB · Aufrufe: 75
  • mounted_cgi_v_0_2.gz
    1.4 KB · Aufrufe: 17
  • mounted_cgi_v_0_3.jpg
    mounted_cgi_v_0_3.jpg
    98.3 KB · Aufrufe: 76
  • mounted_cgi_v0_3.patch.bz2
    5.5 KB · Aufrufe: 16
  • mounted_0_4_error.jpg
    mounted_0_4_error.jpg
    79 KB · Aufrufe: 31
  • mounted_cgi_v0_4.patch.bz2
    2.2 KB · Aufrufe: 4
Zuletzt bearbeitet:
Moin moin...
Wie cool iss das denn bitte...
Das werd ich sofort wenn ich wieder an meine Box komme einbauen und testen...
Wenn das läuft, muss das echt in den Trunk...
Grüße!
 
@Darky: Das ist nur der erste Schuss. Warte mal ab, es kommen noch diverse Kritikpunkte zur Farbe, Layout, Benennung. Deswegen hab ich diesmal mit der "lite"-Version angefangen, damit man es ohne neu zu flashen testen kann. Und diese Knöpfe sind nur dazu da, dynamisch zwischen RO und RW umzuschalten. Daran, dass eine oder andere Partition z.B. permanent als RO eingebunden wird oder andere Mountpoints bekommt, müssen wir noch arbeiten.
Mir persönlich gefällt die Seite eigentlich nicht so ganz, obwohl ich mir schon viel Mühe beim Erstellen gegeben hatte. Erstens ist sie etwas überfüllt und zweitens finde ich keine triftigen deutschen Begriffe fürs "ReadOnly", "Mounted" usw. Deswegen bin ich auf eure Vorschläge eingewiesen.

MfG
 
Ich denke, zu viel übersetzen ist da einfach falsch. mount, readonly, read/write & co sind stehende Begriffe und sollten so auch verwendet werden. Denn mal ehrlich, das "eingehängt", "nur-lesen", "lesen-schreiben" und co klingt schlicht.... untypisch für "Bastler"? ;)
 
"schreibgeschützt" und "verfügbar" für ReadOnly und Mounted klingen z.b. für mich klasse...
Wollte das ja auch nicht als..immer rein in den Trunk...sagen, sondern das ich das als ne wirklich Interessante Ansicht/Funktion ansehe.
Könnte man dabei nicht nun auch gleich den OnlineSpeicher soweit vorhanden mit "Verbrauchsanzeige" integrieren?
Oder ist das in Ermangelung eines auslesbaren Datenträgers nicht möglich?
 
Könnte man dabei nicht nun auch gleich den OnlineSpeicher soweit vorhanden mit "Verbrauchsanzeige" integrieren?
Oder ist das in Ermangelung eines auslesbaren Datenträgers nicht möglich?

Code:
https://meine.onlinespeicher.url
                        121.7M         0    121.7M   0% /var/media/ftp/Online-Speicher
da steht zumindest per "df" nur die bisherige Datenmenge zur Verfügung.
 
Der hermann72pb, hat mal wieder 'ne richtig gute Idee. Wo nimmst Du die nur immer her?
Werde das heute Abend mal in mein Image einbauen und testen.
 
Der hermann72pb, hat mal wieder 'ne richtig gute Idee. Wo nimmst Du die nur immer her?

Er leiest hier aufmerksam mit und kann einen Bedarf feststellen. Ein wenig Bastlen später, und schon ist der Bedarf nicht nur gedeckt, es wird auch weiterer "produziert" ;)
 
Man, das hat der Hermann ja wieder was feines ausm Hut gezaubert.
Was mich direkt zur ersten Frage bringt:
Wäre es auch möglich nicht nur zwischen ro und rw umzuschalten, sondern auch Partitions komplett zu unmounten?
Das wäre dann interessant, wenn z.B. an einem Hub mehrere HDD's/Sticks hängen.
Oder geht das schon, und ich hab wieder was übersehn?
Heut Abend oder morgen werd ich das jedenfalls mal testen. :)
 
Zu den Ideen. Wenn man hier schon etwas länger unterwegs ist, dann erkennt man den Bedarf schnell. Außerdem reite ich immer so um WebIF-herum und hatte mir vor Paar Monaten ein bisschen sed-Kenne hinzu noch eingeeignet. Dadurch kann ich relativ schnell überblicken was und wie man in diesem Bereich um cgi-s herum realisieren kann. Und irgendwann ganz früher hatte ich mal den Downloader gebaut. Und wenn man so ein Paket vom Grund her hochzieht, dann lernt man es am besten, wie hier im mod alles aufgebaut ist. Und zusätzliche Motivation bekommt man natürlich, wenn man selbst von einem oder anderen Problem betroffen ist. Aber zurück zum Thema.
1. Online-Speicher und andere Dinge. Zunächst mal ist da bei der Anzeige eine Filterung für sdXX definiert (evtl. gibt es da auch noch andere, hab nicht im Kopf, sdXX gibt es da auf jeden Fall). Sobald man von den anderen gemounteten Medien vernünftige und vor allem komplette Informationen beziehen kann, kann man sie auch darstellen lassen. Aber eins nach dem anderen.
2. "schreibgeschützt" ist aber ein langes Wort. Das ist das Problem an deutschen Begriffen, dass sie manchmal so lang sind, dass sowas sich gar nicht für Menüeinträge geschweige Beschriftungen für Knöpfe eignet. Ich habe da wirklich ein großes Problem es so vernünftig darzustellen, dass es jeder eindeutig versteht. Einerseits muss man auf dem Knopf etwas in der Art unterbringen "Mache es schreibgeschützt", damit es verständlich wird, dass nach dem Knopfdruck der Zustand "schreibgeschützt" auftritt. Andererseits muss man irgendwo auch den aktuellen Zustand darstellen, denn nicht jeder hat im Kopf einen Invertierer und kann sofort umdenken. Und dann noch dieses "mounted" in der deutschen Konjugation. Klingt für mich ebenfalls ziemlich blöd als "bereits gemountet".

Ich werde noch die Idee der Darstellung etwas umdenken. Vielleicht reicht es einfach einen Knopf zu definieren, der dann den Schreibschutz darstellt. Ist der Knopf gedrückt, so ist der Schutz aktiv, ist der Knopf inaktiv, dann hat man den Schreibzugriff. Aber dazu muss ich meine alten css-Kenntnisse wieder auffrischen.

Ist euch überhaupt aufgefallen, dass ich den Balken jetzt rein mit div-s und css-Spielerei darstelle und gar nicht auf die 1-Pixel-Grafiken zurückgreife, wie es früher der Fall war? Ich hätte alles komplett mit div-s realisieren können, wenn nicht diese dämliche Eigenschaft von form-tags, dass sie keine inline-Tags sind. Nur deswegen habe ich auf die Tabellen zurückgegriefen.

Edit: Zum unmounten: Es kommt noch. Daran hatte ich auch schon gedacht. Aber momentan sieht da alles noch unaufgeräumt aus. Erstmal Layout etwas umdenken und Platz schaffen, dann unmount-Knopf. Es ist dir aber klar, dass es in diesem Fall dann die Einbahnstrasse ist? Wenn man es wieder unter dem alten mountpoint haben will, dann sollte man das Konzept etwas umdenken. Für "feste" mounts (a-la fstab) wollte ich sowieso nachher eine separate Seite machen.

MfG
 
Zuletzt bearbeitet:
Hi.
Super, dass du die Idee so schnell umsetzt. Kannst du was dazu sagen wie und ob das auch mit usbroot funktioniert? Hier wäre es für mich besonders interessant.

MfG Oliver
 
v0.2 ist raus

Ich hatte nun etwas aufgeräumt und es anders gestaltet. Ich hoffe, so verstehen es diejenigen, die es brauchen und für die anderen sollen es dann bunte Quadrate sein. Ist auch nicht schlimm. Bildchen und cgi-Datei finden sich im ersten Posting als Version 0.2.

1. Mit "R" und "W" kann man es denke ich international verstehen und so belassen. Entspricht auch wiederum der mount-Option, von daher auch für die Shell-Freaks sofort wiedererkennbar.
2. Unmount hatte ich ebenfalls eingebaut. Scheint zu funktionieren, allerdings nicht so hart, wie von AVM. Ich konnte z.B. meine berühmte FAT-Partition mit AVM-Anrufbeantworter nicht unmounten. Aus AVM-Webif ging es dagegen ohne Probleme. Das Ausziehen und das Einstecken hatte allerdings zu Folge, dass mein Stick nun als sdb erkannt wurde. AB hat es anscheinend so übel genommen, dass die Box rebootete.
3. Ist jemanden eigentlich schon aufgefallen, dass die Balken falsch kalkuliert werden? Man darf anscheinend keinen bruchigen Multiplikator (in unserem Falle etwa 4.5) für Berechnung der Breite nehmen. Der Multiplikator war nämlich auf die ganze Zahl abgerundet. Ich hatte es angepasst, wie es bei FixComma üblich ist.

@Oliver: Ich weiß es nicht. Ich habe keinen USB-Root aktiv. Probier es doch aus, ob es geht. Es könnte sein, dass dort etwas schief läuft, denn die Partition wird doch mit "-o bind" eingebunden. Sieht man die Partition überhaupt unter "Partitionen" im WebIF?

MfG
 
Hallöle...

Ich habe das ganze jetzt mal auf meinem Böxchen getestet...und es rennt hervorragend...
Einzig eine Aussage muss ich revidieren...
Leider funktioniert es nur dort und nicht eingebettet in die Hauptseite.
Das stimmt so nicht...es ist auch auf der Hauptseite aktiv zu sehen...
Allerdings habe ich NUR die Dateie mounted.cgi ausgetauscht in
/usr/lib/cgi-bin/mod/
und mit chmod +x scharf gestellt...
Seit dem rennt das optimal...
Wirklich toll...
 
Unmount hatte ich ebenfalls eingebaut, allerdings nicht so hart, wie von AVM. Ich konnte z.B. meine berühmte FAT-Partition mit AVM-Anrufbeantworter nicht unmounten. Aus AVM-Webif ging es dagegen ohne Probleme.

Generell kann der Kernel keine Partition unmounten, auf der Dateien offen sind. Ich vermute, daß das AVM-Frontend das unmount genauso macht, aber vorher dafür sorgt, daß die Dateien auf der Partition geschlossen werden.
 
Vielleicht umounted AVM auch mit --force (oder eben -f ), damit geht es manches mal noch ohne Fehlermeldung. Aber wahrscheinlicher ist, dass RalfFriedl recht hat, und AVM schlicht TAM/fax/FTP/etc beendet oder ähnliches.
 
Die Option -f scheint nur für NFS zu sein, aber -l sieht interessant aus:
umount(8) schrieb:
-f Force unmount (in case of an unreachable NFS system). (Requires kernel 2.1.116 or later.)

-l Lazy unmount. Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem as soon as it is not busy anymore. (Requires kernel 2.4.11 or later.)
Ausprobiert habe ich das noch nicht.
Vermutlich wird damit verhindert, daß neue Dateien geöffnet werden können. Offen bleibt, wie man erfährt, daß das Dateisystem tatsächlich frei wird.
 
Offen bleibt, wie man erfährt, daß das Dateisystem tatsächlich frei wird.
Mit meinem cgi natürlich ;) Wenigstens lesend funktioniert es herforragend. Nachdem ich mit AVM-WebIF die Partition unmounted hatte, könnte ich in mount.cgi sehen, dass sie auch weg war. Also Geduld nehmen, abwarten und öfters auf "refresh" drücken :)

Über -f war mir gar nicht bewusst, dass es nur mit ntfs funktioniert. Ausprobiert hatte ich aber schon mal und es hat nicht gefruchtet. Wenigstens die FAT-Partition mit TAMs bleibt hartnäckig drin. Vielleicht sollte man einen Blick in AVM-unmount werfen. Vielleicht haben sie da eine Schnittstelle, die man aufgreifen könnte. Oder selbst eben irgendwie darauf kommen und TAM "unload" machen oder eben die Dateien irgendwie anders schließen.

Das wäre aber die intelligentere Methode, die ich erstmal so hier stehen lasse.

@Darkyputz: Eigentlich dürfte es nicht sein, dass du meine cgi auch auf der Hauptseite zu sehen bekommst. Dort sieht man normalerweise noch die alte Ausgabe, wenn du nur im RAM die cgi gepatcht hast.

@all: Gibt es denn weitere Wünsche, optische Veränderungsvorschläge? Ich bin irgendwie mit den Klammern für sda-s und für Prozentangaben nicht ganz zufrieden. Sollte ich sie vielleicht weg lassen und die Zahlen irgendwie farbig kennzeichnen (z.B. braun)?
Wie findet ihr die neuen Knöpfe? Ist alles selbsterklärend genug und verständlich mit den Farben und mit dem Deaktivieren der Aktion vom jeweils aktiven Knopf?
Wie funktioniert das Remounten/Unmounten bei euch? Gibt es irgendwelche Probleme?
Hat es jemand mit USB-Root ausprobiert?
Ist das Ding schon trunkreif oder soll ich zunächst noch weiter feilen?

MfG
 
Ich bin irgendwie mit den Klammern für sda-s und für Prozentangaben nicht ganz zufrieden. Sollte ich sie vielleicht weg lassen und die Zahlen irgendwie farbig kennzeichnen (z.B. braun)?
Ich bin irgendwie kein Freund von "zuviel Bunt". Das ist auch der Grund warum ich im menuconfig unter den Adv. Options den Haken bei "New style for status-bars and cache-usage". Dann hab ichs in nem augenfreundlichen Grau (siehe screenshot). Gerade die %-Angaben und die sda's find ich deshalb gut.

Das gleiche gilt für die Knöpfe, mir würden grau-Schattierungen reichen..... ich weiß ich weiß, der ein oder Andere weiß dann wieder nicht was aktiv ist und was nicht. Ist halt wirklich geschmacksache sowas.
Wie funktioniert das Remounten/Unmounten bei euch? Gibt es irgendwelche Probleme?
Hier funktioniert das alles ohne Probleme mit EINER 500GB USB-HDD, aufgeteilt in 2x ext2 und 2x Fat32 Partitionen.

Aber dank dieser neuen Funktion werd ich jetzt erstmal die ganzen Daten hin und her schieben müssen. So wies jetzt ist, muss ich auf allen Partitions schreiben können. Also hätte ich leider momentan gar nichts von der Funktion :mad:
Zum Glück kannst du nichts dafür :)

My2cent: oder ließe sich diese ganze schreib- lese-Geschichte auch noch benutzerabhängig gestalten.
Ich hab keinen Plan davon wies gehen könnte, aber dann müssten ja, denke ich, auch die vorhandenen user ausgelesen werden und für jeden quasi tabellarisch die ro/rw-Buttons angeboten werden.
 

Anhänge

  • balken.png
    balken.png
    39.4 KB · Aufrufe: 37
Zuletzt bearbeitet von einem Moderator:
My2cent: oder ließe sich diese ganze schreib- lese-Geschichte auch noch benutzerabhängig gestalten.
Ich hab keinen Plan davon wies gehen könnte, aber dann müssten ja, denke ich, auch die vorhandenen user ausgelesen werden und für jeden quasi tabellarisch die ro/rw-Buttons angeboten werden.

Cool, du willst wirklich irgendwelchen Usern quasi root-Sachen erledigen lassen? ;)
 
Naja gut, den könnte man doch aussen vor lassen. Oder versteh ich deinen Schlag mitm Zaunpfahl auf meinen Hinterkopf falsch
 
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.