.titleBar { margin-bottom: 5px!important; }

[Gelöst] Datei dauerhaft unter /var/mod/etc speichern

Dieses Thema im Forum "Freetz" wurde erstellt von WileC, 1 März 2019.

  1. WileC

    WileC Mitglied

    Registriert seit:
    28 Nov. 2007
    Beiträge:
    218
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Ort:
    München
    Hallo liebes Forum,

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

    Danke :)
     
  2. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,614
    Zustimmungen:
    2
    Punkte für Erfolge:
    38
    /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
     
  3. WileC

    WileC Mitglied

    Registriert seit:
    28 Nov. 2007
    Beiträge:
    218
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Ort:
    München
    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..
     
  4. feedzapper

    feedzapper Neuer User

    Registriert seit:
    28 Jan. 2008
    Beiträge:
    64
    Zustimmungen:
    5
    Punkte für Erfolge:
    8
    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 ...
     
  5. WileC

    WileC Mitglied

    Registriert seit:
    28 Nov. 2007
    Beiträge:
    218
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Ort:
    München
    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 ?
     
  6. feedzapper

    feedzapper Neuer User

    Registriert seit:
    28 Jan. 2008
    Beiträge:
    64
    Zustimmungen:
    5
    Punkte für Erfolge:
    8
    genau - oder sie nach dem boot per "cp" über die rc.custom ausgeführt an die gewünschte stelle kopieren ....
     
  7. PeterPawn

    PeterPawn IPPF-Urgestein

    Registriert seit:
    10 Mai 2006
    Beiträge:
    11,714
    Zustimmungen:
    646
    Punkte für Erfolge:
    113
    Beruf:
    IT-Freelancer
    Ort:
    Berlin
    Das wird im Zuge von "fwmod" in die neue "var.tar" eingebaut: https://github.com/Freetz/freetz/blob/master/fwmod#L989

    Beim Systemstart wird der Inhalt dieser "var.tar" dann in das beschreibbare Verzeichnis "/var" entpackt, sowie dort ein "tmpfs" gemountet wurde (spätestens irgendwo in der rc.S, manchmal schon im "flash_update" bei VR9-Boxen mit "/wrapper").
     
  8. WileC

    WileC Mitglied

    Registriert seit:
    28 Nov. 2007
    Beiträge:
    218
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Ort:
    München
    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 ?
     
  9. prisrak1

    prisrak1 Neuer User

    Registriert seit:
    14 Mai 2017
    Beiträge:
    128
    Zustimmungen:
    16
    Punkte für Erfolge:
    18
    z.B für oscam und watchdog
     
  10. PeterPawn

    PeterPawn IPPF-Urgestein

    Registriert seit:
    10 Mai 2006
    Beiträge:
    11,714
    Zustimmungen:
    646
    Punkte für Erfolge:
    113
    Beruf:
    IT-Freelancer
    Ort:
    Berlin
  11. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,614
    Zustimmungen:
    2
    Punkte für Erfolge:
    38
    @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
     
  12. WileC

    WileC Mitglied

    Registriert seit:
    28 Nov. 2007
    Beiträge:
    218
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Ort:
    München
    #12 WileC, 4 März 2019
    Zuletzt von einem Moderator bearbeitet: 4 März 2019
    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 ;)
     
  13. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,614
    Zustimmungen:
    2
    Punkte für Erfolge:
    38
    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
     
  14. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,779
    Zustimmungen:
    10
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    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