Uci - hostapd (openwrt)
Openwrt nutzt das zentrale Konfigurationssystem uci. Hier wird am Beispiel vom hostapd die Funktionsweise von uci kurz näher erläutert.
Allgemein
Woher bekomme ich uci?
git clone git://nbd.name/uci.git
An der angegeben Adresse ist uci für eigene Projekte separat erhältlich. Mit Openwrt wird es bereits mitgeliefert.
Wie benutze ich uci?
Auf der Kommandozeile des Wlan-Routers mit uci installiert folgendes eingeben:
uci show
-> die gesamte Konfiguration wird ausgegeben.
uci set ...
-> Eintrag einfügen/ändern.
uci commit
-> dauerhaft speichern
Aufbau und Funktion
Die uci-Einträge werden in einer uci-Konfigurationsdatei in Klartext gespeichert.
Die Kommandozeilenbefehle greifen auf die uci eigenene Konfigurationsdateien zu. Diese haben das von uci vorgegebene Format. Die Programme haben aber aus historischen gründen ihre eigenen Konfigurationsformate. D. h. es wird ein Script benutzt, welches das Format umwandelt, z. B. netifd.sh.
Das Script muss das uci-Format nicht kennen. Es sucht nicht in den uci-files, sondern nutzt eine vom uci-System bereitgestellte Datenbankschnittstelle, welche die Daten im Json-Format zurückgibt.
Datenstrom:
uci show, uci commit <--uci--> *.conf --uci--netifd.sh--> hostapd.conf