[Frage] Datei dauerhaft unter /var/mod/etc speichern

WileC

Mitglied
Mitglied seit
28 Nov 2007
Beiträge
395
Punkte für Reaktionen
13
Punkte
18
Hallo liebes Forum,

wie kann ich denn eine Datei
Code:
touch test
über einen reboot hinweg unter /var/mod/etc speichern?

Danke :)
 
/var/mod/etc liegt zunächst mal im RAM. Warum willst du ausgerechnet dort was persistent abspeichern? Man kann es sicherlich per Umwege tun und die Datei, die irgendwo anders liegt (wo sie auch reboot überlebt) nach /var/mod/etc kopieren, macht aber in meinen Augen keinen Sinn. Wenn deine Datei denn unbedingt unter /var/mod/etc liegen muss, kannst du z.B. in rc.custom (FREETZ WebIF) einen Symlink auf deine Datei anlegen. Wenn rc.custom ausgeführt ist, ist /var/mod/etc bereits da. Wenn die Datei verlinkt anstatt kopiert ist, dann änderst du sie unmittelbar dort, wo sie tatsächlich liegt (z.B. auf einem USB-Stick).

MfG
 
Ich wollte das ein oder andere Shell-Skript direkt in /var/mod/etc/onlinechanged anlegen. Natürlich wäre ein Symlink mittels rc.custom eine Möglichtkeit, an die ich tatsächlich noch nicht gedacht habe.

Aber wie, wo und wann wird das Verzeichnis /var/mod angelegt??

Im Freetz-Build /make/mod/files/root... bzw im makefile finde ich nichts entsprechendes..
 
Du kannst deine eigenen Script Dateien auf folgendem Weg im Box eigenen Flash ablegen :

Zunächst alle benötigten Dateien die boot resistent sein sollen im Shell nach : /var/tmp/flash kopieren
Danach "modsave" eingeben um sie im flash zu Speichern.
Nach einem reboot kannst Du über /var/tmp/flash wieder auf sie zugreifen ...
 
Aber bei dieser Variante würden sie noch nicht in /var/mod liegen.. sondern hier müsste ich sie noch mit symlinks verknüpfen, richtig ?
 
genau - oder sie nach dem boot per "cp" über die rc.custom ausgeführt an die gewünschte stelle kopieren ....
 
Ah, vielen Dank, hab alles gefunden ;) ...

Dh. eigentlich müsste ich dann meine eigenen Dateien direkt in die Verzeichnisse beim Build der Firmware einbauen, richtig?

für was ist eigentlich das Verzeichnis /addon ?
 
z.B für oscam und watchdog
 
@WileC Ich verstehe trotzdem nicht, warum du so auf /var/mod/etc fixiert bist. Willst du dir dein eigenes Paket bauen oder geht es dir nur um eine Kleinigkeit? Verrate uns, was du vor hast, dann kann man etwas breiter denken und dir auch konkretere Vorschläge geben. Es sei den, es handelt sich mal wieder um CAM, was @prisrak1 bereits oben angedeutet hat. Dann lass es lieber sein, weil solche Diskussionen hier im Forum nicht geduldet werden.
Wenn du tatsächlich dein eigenes Paket basteln willst, geh mal entweder den Weg mit dem AddOn oder sogar mit einem Dummy-Paket (ich glaube dazu gab es mal sogar eine WIKI-Seite). Selsbt wenn du es mit dem Dummy nicht schaffst, nimm dir irgendein Paket, was deinem Vorhaben am nächsten liegt und schau dort ab, wie es gemacht wird. Mag sein, dass du 1-2 Tage da investieren muss, um die ganze "Küche" zu verstehen, dafür machst du es am Ende richtig und nicht um 3 Ecken.
Wenn es dir nur um eine kleine Bastelei für "mal eben" geht, dann bist du mit rc.custom, Skripten auf dem USB-Stick usw. besser bedient. Auch dann, wenn du es nur einmalig machst und für dich. Damit bist du schneller am Ziel und musst nichts ins Image integrieren.

MfG
 

Vielen Dank ;)

### Zusammenführung Doppelpost by stoney ###

Mir gehts einfach darum, ich möchte ein Shellskript, oder zwei oder drei, direkt in /var/mod/etc/onlinechanged/ legen, weil es für mich einfach schöner aussieht. Ich habe an keiner meiner Boxen einen USB-Stick hängen.

Als Alternative kann ich natürlich die Skripte auf den internen Speicher (NAS) legen und dann mittels rc.custom und einem Symlink dort einbinden. Ich wollte es einfach nur "aufgeräumt" und ordentlich haben ;)
 
Zuletzt bearbeitet von einem Moderator:
Also, ich bleibe bei meiner Meinung: Für den Einsatz fährst du es mit dem USB-Stick günstiger. Solange die Box einen USB-Anschluss hat und der noch nicht belegt ist, steckst du da einen ext2-formatierten USB-Stick rein und gut ist es. ext2 wäre für die Zwecke am Besten geeignet. Vielleicht sogar als RO mounten, solange du die Skripte nur lesen willst. Wenn du es allerdings als RW gemountet belässt, kanst du auch logging darauf machen. Hätte auch einen gewissen Vorteil.
USB-Sticks kriegst du heutzutage für unter 10 EUR. USB-3 brauchst du hier nicht. Wenn dich die Länge des Sticks stört, besorg dir so einen "nano"-Stick, den man an der Box kaum sehen wird. Die Dinge sind zwar nicht besonders schnell (etwa 3-5MB/s, ich glaube auch beim Lesen), für deine Bedürfnisse dürfte es aber reichen.
Sollte die Box keinen USB-Anschluss haben, kannst du vielleicht in rc.custom es als nfs, ssh oder als samba mounten. Dann liegen die Skripte irgendwo anders, z.B. auf einer NAS oder auf einer deiner vielen Boxen in deinem internen Netz und die anderen Boxen "bedienen" sich davon. Du kannst auch die Skripte einfach per wget, scp oder was auch immer nach /var/mod in rc.custom laden. Dann würden sie im RAM liegen. Also, es gibt viele Wege dahin.

MfG
 
Du kannst deine Skripte doch als Addon-Paket in die Firmware integrieren. Dann musst du sie im onlinechanged nur noch aufrufen... (Sie liegen dann natürlich nicht unter /var, aber das spielt doch keine Rolle)

Gruß,
Oliver
 
Hallo,

der Thread ist zwar schon etwas älter, macht aber nix.

Ich würde gerne Shell-Skripte, die auf allen meinen Boxen laufen, erstmal "standardmäßig" in die Firmware der Box integrieren. Dazu würde ich gerne die Skripte unter /var/tmp/flash/own_scripts/*.sh ablegen wollen.

In der Build-Umgebung würde ich in der freetz/addon/static.pkg ein Verzeichnis "own_scripts" anlegen und dieses natürlich auch unter freetz/addon/ ...

wie müsste denn die Verzeichnissstruktur dann unter freetz/addon/own_scripts sein, damit meine "vorgefertigten" Shell-Skripte später auf der Box unter /var/tmp/flash/own_scripts/führeirgendwasaus.sh liegen?...

In der Build-Umgebung unter freetz/addon/own_scripts/root/tmp/flash/own_scripts/blablabla oder unter freetz/addon/own_scripts/var.tar/var/tmp/flash/own_scripts/blablabla

*****
Und ich würde gerne vorgefertigte Konfigurationen auf die Box bringen, die üblicherweise unter /var/tmp/flash/mod/* liegen... wie gewissen Hosts einträge oder eine rc.custom, die auf allen Boxen gleich ist...

Wäre das über diesen weg möglich??
 
Du kannst die Scripte unter /tmp/flash ablegen.
Dort kannst Du auch die entsprechenden Unterverzeichnisse dafür erstellen.
Mit "modsave" werden die Dateien im Flash gespeichert und bleiben somit nach dem Boot erhalten.
 
Da hast du wohl die Frage nicht genau gelesen. Ich möchte die Dateien beim Bau der Firmware dort schon einrichten. Damit ich sie nicht von Hand bei jeder Box drauf machen muss.
 
Dann mach doch im freetz-gui eine Sicherung und spiele die in jede FB ein.

BTW: Meine Scripte liegen alle im internen NAS.
 
Du meinst quasi eine „Standard-Sicherung“ mit meinen gewünschten „Voreinstellungen“?

wäre tatsächlich eine Alternative.
 
Alter Thread, aber noch eine Frage:

Wenn ich das wie von @eisbaerin vorgeschlagen per Sicherungsdatei mache, dann erstellt das Freetz-WebIF ja eine tar.gz mit dem flash-Verzeichnis. Darin befindet sich doch der tar-ball "freetz" in dem die ganzen dateien des Verzeichnisses /var/tmp/flash der FritzBox.

Kann ich nun diese freetz selbst mit tar entpacken, die Dateien so wie ich sie möchte abändern (standardisieren) und dann wieder zurück in die "freetz"-Datei speichern? Um dann letztendlich die modifizierte Sicherung.tar.gz wieder auf eine Box zu speichern? Oder ist der Aufwand zu groß? wenn man keine "Blanko-Box" zur verfügung hat?

Oder lieber mal eine Box neu aufsetzen, Standards festlegen, exportieren und dann wieder einrichten?
 
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.