Erstellt vor 8 Jahren

Zuletzt geändert vor 5 Jahren

#841 new enhancement

/data (jffs2) für Konfigurationsdateien nutzbar machen.

Erstellt von: Spock Verantwortlicher:
Priorität: normal Meilenstein: freetz-future
Komponente: packages Version: devel
Stichworte: Beobachter:
Product Id: Firmware Version:

Beschreibung

PHP.ini ist recht groß und auch die BIP Konfiguration kann recht viel platz einnehmen, darum dachte ich mir das man bei Boxen die das "/DATA (jffs2) haben diesen Speicher mit für Konfigurationsdaten zu nutzen (speziell eben für solche großen)

Das spart platz im tffs und bringt auch nicht mehr solche probleme wie "/var/flash/freetz too big"

Meine Idee ist, wenn man beim Make eine Box die das jffs2 hat (zum Beispiel 7270v3)auswählt werden die webif cgis und rc.* Dateien von Freetz so gepatched das der Pfad für die Konfiguration nicht mehr /tmp/flash/ ist sondern /Data/ lauten kann.

Sprich man kann dann im WebIf mittels checkbox auswählen ob die Konfiguration im tffs gespeichert/bearbeitet und von da gelesen wird, oder eben alles im jffs2 stattfindet.

Immerhin hat das tffs nur einen recht begrenzten Platz mit nur 256kb ist es wesentlich kleiner als das jffs2 was immerhin 2.9 MB bietet und bei mir davon immer noch 2.5MB sinnlos frei sind

Änderungshistorie (9)

comment:1 Geändert vor 8 Jahren durch oliver

  • Komponente von patches nach packages geändert

Das jffs2 ist nich auf jeder Box vorhanden. Bei 16 MB Boxen ist abhängig von der Größe der Firmware noch einiges im jffs2 frei, aber das jffs2 kann bei jedem Firmware Update gelöscht werden. Das ist nicht der geeignete Platz um Konfigurationen zu speichern.

comment:2 Geändert vor 8 Jahren durch oliver

  • Meilenstein von freetz-1.2 nach freetz-future geändert
  • Typ von task nach enhancement geändert
  • Zusammenfassung von "/DATA(jffs2)" für Größere Konfigurationsdateien Nutzbar machen. nach /data (jffs2) für Konfigurationsdateien nutzbar machen. geändert

Ich seh momentan nicht wie wir das umsetzen sollen. Daher verschiebe ich das Ticket nach freetz-future. Wenn jemand eine Idee hat und daran arbeiten mag…

comment:3 Geändert vor 8 Jahren durch Spock

Also bei 13,xxx MB Firmware Dateien war es noch da :)
Und warum sollte das Firmware Update das jffs entfernen?

Nunja wo liegt das problem bei der Umsetzung?
Wir haben doch diese Lustigen kleinen CFG Dateien wo man die Werte aus dem WebIf speichert damit dann aus diesen die Endgültige .config gemacht wird.

Pro Modul diese 2 kleinen "Extra" Zeilen in jede cfg zu bekommen und einen Haken ins passende WebIf einzubauen sollte einfach gehen.

Ich denke an sowas wie:
Benutze benutzerdefinierten Pfad zu Konfigurationsdatei als haken in der cfg
Darunter dann der Pfad zu Datei.

in der entsprechenden *.cfg
stehen dann nur noch diese 2 Zeilen drin

user_config_path = "1";
config_path = "/var/media/ftp/uStor01/"; (oder eben config_path = "/data/";)

in der "rc.irgendwas" wird dann der Teil wo es um den Pfad der config geht nur noch eine Variable verwendet

davor wird überprüft, ob user_config_path = "1"; eine 1 oder eine 0 hat.

if ($user_config_path == "1"){
$path = $config_path;
}
else
{
$path = $default_path;
}

comment:4 Geändert vor 8 Jahren durch cinereous

Und lustig wird überprüf,t ob die andere config da ist, und ob das jffs richtig gemountet ist, es wird ständig dort geschrieben, und nicht mehr nur bei modsave, etc. Ich behaupte mal, die Umsetzung ist nicht so trivial, wie du dir das vorstellst, und vor allem ist eine weitere Sonderbehandlung für irgendwelche Boxen nicht wirklich sinngemäss.
Dazu muss jedes Webinterface angepasst werden, es müssen zusätzliche Variablen vorgehalten und gegengeprüft werden, etc.

Aber wir nehmen gern einigermassen durchdachte Vorschläge entgegen, am besten gleich mit einem Patch dabei, dann gehts fixer.

comment:5 Geändert vor 8 Jahren durch Spock

Solche Überprüfungen sind dann nicht nötig.
Ich als User Platziere meine funktionierende *.config irgendwo auf der Box :)
Und sage mittels dem Haken das er keine Überprüfungen machen soll ob wie und wo eine config steht.

Sprich der ganze Spaß mit dem Config erstellen entfällt, da er ja eine bereits vorhandene *.config nutzt, sobald ein Haken bei "Benutze benutzerdefinierten Pfad zu Konfigurationsdatei" gesetzt ist.

Hier mal ein beispiel am oident

DAEMON=oidentd
CONF_FILE=/tmp/flash/$DAEMON/oidentd.conf
PID_FILE=/var/run/$DAEMON.pid

. /etc/init.d/modlibrc


start() {
	modlib_startdaemon oidentd -C $CONF_FILE $OIDENTD_CMDLINE
}

aus "CONF_FILE=/tmp/flash/$DAEMON/oidentd.conf"

wird "CONF_FILE=$config_path/y$DAEMON/oidentd.conf"

ist eine "0" bei "user_config_path"

ist "config_path" " " sprich nix drin

ansonsten ist "config_path" der vom Benutzerdefinierte pfad.

oder noch eine Methode

aus "modlib_startdaemon oidentd -C $CONF_FILE $OIDENTD_CMDLINE"

wird "modlib_startdaemon oidentd -C $config_path $CONF_FILE $OIDENTD_CMDLINE

vorerst sollte das ganze nur für Sachen genutzt werden, wo größere configs da sind, sprich Bip, php und was es da noch so alles gibt

comment:6 Geändert vor 8 Jahren durch cinereous

Und wo ist der patch dazu, damit man deine Idee testen kann?

comment:7 Geändert vor 8 Jahren durch cuma

Die Dateien außerhalb von /tmp/flash zu speichern finde ich ganz gut. Ich hab nämlich auch so meine Probleme mit dem geringen Platz. Über 166400 Bytes scheinen Daten zwar geschrieben zu werden, aber wenn man nachschaut fehlen die Neuesten!

Ich habe übrigens nur Daten von Programmen die im Image der 16MB-Box sind dort. Große Dateien wie SSL-Zertifikate habe ich bereits ins Image integriert und nur darauf verlinkt

comment:8 Geändert vor 8 Jahren durch Spock

Ein kleiner Anfang, wäre schon, wenn man die php.ini mit externalisiert. :)
Dadurch das php mit fast 9 MB eh zu groß ist für die Box, kann man die ini ja auch gleich mit externalisieren.

comment:9 Geändert vor 5 Jahren durch cuma

bei der 7490

$ mount | grep flash
/dev/mtdblock4 on /var/flash type yaffs2 (rw,sync,relatime)

$ df -h | grep flash
/dev/mtdblock4            2.0M    872.0K      1.1M  43% /var/flash
$ cat /var/flash/freetz | md5sum
8ca6634df5941bb9fa58bfc2e873aff4  -

$ cat /tmp/40k |md5sum
8ca6634df5941bb9fa58bfc2e873aff4  -
$ cat /var/flash/freetz | wc -c
40960
$ cat /tmp/40k | wc -c
40960
Zuletzt geändert vor 5 Jahren von cuma (vorher) (Diff)
Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.