Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
hu:doc:uci [2018/02/17 17:10] – ↷ Links adapted because of a move operation hu:doc:uci [2018/03/03 21:31] – ↷ Links adapted because of a move operation
Line 1: Line 1:
 ====== Az UCI Rendszer ====== ====== Az UCI Rendszer ======
-Az [[doc:techref:uci|UCI]] a **U**nified **C**onfiguration **I**nterface rövidítése. Célja, hogy egységesítse az OpenWrt konfigurálását.+Az [[docs:techref:uci|UCI]] a **U**nified **C**onfiguration **I**nterface rövidítése. Célja, hogy egységesítse az OpenWrt konfigurálását.
  
 A rendszer beállításának egyszerűnek és egyértelműnek kéne lennie, megkönnyítve mindenki életét. Erről szól az UCI. Jelenleg az OpenWrt-ben a legfontosabb rendszerbeállítások az UCI konfigurációs felületével kezelhetők. Ezek azok a beállítások amik létfontosságúak az eszköz működéséhez, általában ezeket láthatjuk egy hagyományos router vagy beépített eszköz webes felületén. Ilyenek például az alapvető hálózati beállítások, wi-fi beállítások, loggolás és távoli elérés beállításai. A rendszer beállításának egyszerűnek és egyértelműnek kéne lennie, megkönnyítve mindenki életét. Erről szól az UCI. Jelenleg az OpenWrt-ben a legfontosabb rendszerbeállítások az UCI konfigurációs felületével kezelhetők. Ezek azok a beállítások amik létfontosságúak az eszköz működéséhez, általában ezeket láthatjuk egy hagyományos router vagy beépített eszköz webes felületén. Ilyenek például az alapvető hálózati beállítások, wi-fi beállítások, loggolás és távoli elérés beállításai.
  
-Ezeken kívül bizonyos külső programok is kompatibilisek az UCI rendszerrel, így ezek is sokkal könnyebben kezelhetőek. Szinte minden programnak saját konfigurációs fájlja van szanaszét elszórva a fájlrendszerben, (pl. ''/etc/network/interfaces'', ''/etc/exports'', ''/etc/dnsmasq.conf'' or ''/etc/samba/samba.conf''), ráadásul ezek formátuma is teljesen eltérő. Az OpenWrt segítségével viszont nem kell foglalkoznod ezekkel, csak a megfelelő UCI fájlt kell módosítanod és a többit bízd a rendszerre! Természetesen a legtöbb szoftver még nincs felkészítve az UCI használatára, hiszen szükség lehet olyan speciális opciókra amikhez nélkülözhetetlen az alkalmazás saját konfigurácós felületének használata. Viszont egyre több olyan programot tesznek UCI-kompatibilissé az OpenWrt package-ek fejlesztői, amiknek előnyére válhat az egységesített beállítás. (Az UCI konfigurációs fájlok aktuális listája [[inbox:uci#configuration.files|itt]] található).+Ezeken kívül bizonyos külső programok is kompatibilisek az UCI rendszerrel, így ezek is sokkal könnyebben kezelhetőek. Szinte minden programnak saját konfigurációs fájlja van szanaszét elszórva a fájlrendszerben, (pl. ''/etc/network/interfaces'', ''/etc/exports'', ''/etc/dnsmasq.conf'' or ''/etc/samba/samba.conf''), ráadásul ezek formátuma is teljesen eltérő. Az OpenWrt segítségével viszont nem kell foglalkoznod ezekkel, csak a megfelelő UCI fájlt kell módosítanod és a többit bízd a rendszerre! Természetesen a legtöbb szoftver még nincs felkészítve az UCI használatára, hiszen szükség lehet olyan speciális opciókra amikhez nélkülözhetetlen az alkalmazás saját konfigurácós felületének használata. Viszont egyre több olyan programot tesznek UCI-kompatibilissé az OpenWrt package-ek fejlesztői, amiknek előnyére válhat az egységesített beállítás. (Az UCI konfigurációs fájlok aktuális listája [[docs:guide-user:base-system:uci#configuration.files|itt]] található).
  
-A legtöbb alkalmazás esetén az UCI-kompatibilis konfigurációt úgy tették lehetővé, hogy indításkor a program eredeti konfigfájlja felülíródik a hozzá tartozó UCI fájl beállításaival. Az adott alkalmazásnak megfelelő formátumú konfigfájlt az ''/etc/init.d/'' könyvtárban található indítóscriptek futásidőben generálják. További infók erről az [[doc:techref:initscripts|Init scripts]] oldalon találhatóak. Ebből következik, hogyha egy UCI-kompatibilis indítószkripttel indítasz egy szolgáltatást akkor az előző konfigfájl elveszik. Például ha a [[doc:howto:cifs.server|Samba/CIFS]] szervert a ''/etc/init.d/samba start'' szkrippel indítod, akkor a ''/etc/samba/smb.conf'' fájl felülíródik a ''/etc/config/samba'' UCI konfigfájlban tárolt beállításokkal. Épp ezért legtöbbször az alkalmazások konfigfájlja nem is a flash meghajtón van tárolva, hanem a RAM-ban, mivel úgyis minden változtatásnál újraíródik az UCI fájl alapján. (Elvileg ki lehet kapcsolni az UCI-t azokban az esetekben mikor olyan opciókat szeretnél beállítani az eredeti konfigfájlban, amik az UCI-n keresztül nem elérhetőek. FIXME Biztos? Hogyan kell ezt?)+A legtöbb alkalmazás esetén az UCI-kompatibilis konfigurációt úgy tették lehetővé, hogy indításkor a program eredeti konfigfájlja felülíródik a hozzá tartozó UCI fájl beállításaival. Az adott alkalmazásnak megfelelő formátumú konfigfájlt az ''/etc/init.d/'' könyvtárban található indítóscriptek futásidőben generálják. További infók erről az [[docs:techref:initscripts|Init scripts]] oldalon találhatóak. Ebből következik, hogyha egy UCI-kompatibilis indítószkripttel indítasz egy szolgáltatást akkor az előző konfigfájl elveszik. Például ha a [[docs:guide-user:services:nas:cifs.server|Samba/CIFS]] szervert a ''/etc/init.d/samba start'' szkrippel indítod, akkor a ''/etc/samba/smb.conf'' fájl felülíródik a ''/etc/config/samba'' UCI konfigfájlban tárolt beállításokkal. Épp ezért legtöbbször az alkalmazások konfigfájlja nem is a flash meghajtón van tárolva, hanem a RAM-ban, mivel úgyis minden változtatásnál újraíródik az UCI fájl alapján. (Elvileg ki lehet kapcsolni az UCI-t azokban az esetekben mikor olyan opciókat szeretnél beállítani az eredeti konfigfájlban, amik az UCI-n keresztül nem elérhetőek. FIXME Biztos? Hogyan kell ezt?)
  
-Az ilyen nem UCI-kompatibilis programokhoz hasznos a [[doc:howto:notuci.config|nem UCI-kompatibilis konfigfájlok listája]]. Ajánlott az ilyen alkalmazások saját dokumentációját tanulmányozni.+Az ilyen nem UCI-kompatibilis programokhoz hasznos a [[docs:guide-user:base-system:notuci.config|nem UCI-kompatibilis konfigfájlok listája]]. Ajánlott az ilyen alkalmazások saját dokumentációját tanulmányozni.
  
 ===== Egységes alapelvek ===== ===== Egységes alapelvek =====
  
-Az OpenWRT beállításai egy közös helyen, a ''/etc/config/'' mappában lévő UCI fájlokban találhatóak. Minden fájl nagyjából a nevének megfelelő rendszerösszetevőt konfigurálja. A konfigurációs fájlok sima szövegszerkesztővel szerkeszthetőek vagy parancssorból az ''uci'' segédprogrammal módosíthatóak, továbbá számos API (pl. Shell, Lua és C) segítségével is kezelhetőek. A web interfészek, mint a [[doc:howto:luci.essentials|LuCI]] is ezeket használják.+Az OpenWRT beállításai egy közös helyen, a ''/etc/config/'' mappában lévő UCI fájlokban találhatóak. Minden fájl nagyjából a nevének megfelelő rendszerösszetevőt konfigurálja. A konfigurációs fájlok sima szövegszerkesztővel szerkeszthetőek vagy parancssorból az ''uci'' segédprogrammal módosíthatóak, továbbá számos API (pl. Shell, Lua és C) segítségével is kezelhetőek. A web interfészek, mint a [[docs:guide-user:luci:luci.essentials-tomerge|LuCI]] is ezeket használják.
  
-Egy UCI beállításfájl változtatása után (akár szövegszerkesztővel, akár parancssorból történt) az új beállítások érvényesítéséhez a hozzá tartozó szolgáltatást vagy programot újra kell indítani a megfelelő [[doc/techref/initscripts|init.d hívással]]. A legtöbb alkalmazás UCI-kompatibilitásának kulcsa, hogy az init.d script futás közben készíti el program saját specifikus konfigfájlját. Az init.d script először kiírja a megfelelő konfigurációs fájlt az adott program által elvárt helyre, majd a program újraindításával beolvastatja azt. Mivel a konfigurációs változtatásokat az init.d script végzi, ezért egy alkamazás direkt, kézi (újra)indítása nem fogja újraolvasni az UCI konfigurációt. Ezért az UCI által konfigurált szolgáltatásokat **minden esetben** a megfelelő init.d scripttel kezeljük!+Egy UCI beállításfájl változtatása után (akár szövegszerkesztővel, akár parancssorból történt) az új beállítások érvényesítéséhez a hozzá tartozó szolgáltatást vagy programot újra kell indítani a megfelelő [[docs:techref:initscripts|init.d hívással]]. A legtöbb alkalmazás UCI-kompatibilitásának kulcsa, hogy az init.d script futás közben készíti el program saját specifikus konfigfájlját. Az init.d script először kiírja a megfelelő konfigurációs fájlt az adott program által elvárt helyre, majd a program újraindításával beolvastatja azt. Mivel a konfigurációs változtatásokat az init.d script végzi, ezért egy alkamazás direkt, kézi (újra)indítása nem fogja újraolvasni az UCI konfigurációt. Ezért az UCI által konfigurált szolgáltatásokat **minden esetben** a megfelelő init.d scripttel kezeljük!
  
 Nézzünk egy példát egy UCI beállítás módosítására: mondjuk, hogy meg szeretnénk változtatni az eszközünk IP címét az alapértelmezett ''192.168.1.1''-ről ''192.168.2.1''-re. Nézzünk egy példát egy UCI beállítás módosítására: mondjuk, hogy meg szeretnénk változtatni az eszközünk IP címét az alapértelmezett ''192.168.1.1''-ről ''192.168.2.1''-re.
Line 36: Line 36:
 ===== Konfigurációs fájlok ===== ===== Konfigurációs fájlok =====
  
-Az aktuális [[inbox:uci#configuration.files|UCI konfigfájlok listája]] az angol wikioldalon található. +Az aktuális [[docs:guide-user:base-system:uci#configuration.files|UCI konfigfájlok listája]] az angol wikioldalon található. 
 /* nincs értelme idemásolni, úgyis csak az angol oldalon lesz frissítve (ha egyáltalán frissíti valaki) */ /* nincs értelme idemásolni, úgyis csak az angol oldalon lesz frissítve (ha egyáltalán frissíti valaki) */
 Magyar fordítások: Magyar fordítások:
Line 95: Line 95:
 Általában az UCI konfigfájlokat kézzel szoktuk módosítani. Ugyanakkor scripting célokra teljes körűen használható az ''uci'' parancssori segédprogram is. Segítségével a fejlesztők az UCI fájlokat egyszerűen feldolgozhatják anélkül, hogy ''awk''-t ''grep''-et  vagy egyéb bizonytalan kimenetelű parancsokat kéne használniuk. Az ''uci'' utility segítségével egy UCI konfigfájl minden paramétere kényelmesen kiolvasható illetve módosítható. Általában az UCI konfigfájlokat kézzel szoktuk módosítani. Ugyanakkor scripting célokra teljes körűen használható az ''uci'' parancssori segédprogram is. Segítségével a fejlesztők az UCI fájlokat egyszerűen feldolgozhatják anélkül, hogy ''awk''-t ''grep''-et  vagy egyéb bizonytalan kimenetelű parancsokat kéne használniuk. Az ''uci'' utility segítségével egy UCI konfigfájl minden paramétere kényelmesen kiolvasható illetve módosítható.
  
-|{{:meta:icons:tango:48px-dialog-warning.svg.png?nolink&24}} Az ''uci'' használatakor a konfigfájlok mindig teljes egészében újraíródnak és a szükségtelen vagy az érvénytelen szintaxisú sorok kimaradnak. Ez azt jelenti, hogy minden felesleges sor törlődik, beleértve a kommenteket is! Ezért, ha magad szoktad szerkeszteni az UCI fájljaidat és szeretnéd megőrzni a kommeteket, akkor ne használd a parancsori segédprogramot, hanem továbbra is csak kézzel szerkeszd a fájlokat. Vannak olyan UCI fájlok (pl. az uhttpd konfigfájl), amik gyárilag tartalmaznak kommenteket a beállítások megkönnyítéséhez. Ezek ugyanúgy elvesznek az uci util használatakor. Továbbá fontos tudni, hogy néhány alkalmazás, köztük a [[doc/techref/luci|LuCI]] webes felület is az ''uci'' segédprogramot használja és így bármikor felülírhatja az UCI fájlokat.|+|{{:meta:icons:tango:48px-dialog-warning.svg.png?nolink&24}} Az ''uci'' használatakor a konfigfájlok mindig teljes egészében újraíródnak és a szükségtelen vagy az érvénytelen szintaxisú sorok kimaradnak. Ez azt jelenti, hogy minden felesleges sor törlődik, beleértve a kommenteket is! Ezért, ha magad szoktad szerkeszteni az UCI fájljaidat és szeretnéd megőrzni a kommeteket, akkor ne használd a parancsori segédprogramot, hanem továbbra is csak kézzel szerkeszd a fájlokat. Vannak olyan UCI fájlok (pl. az uhttpd konfigfájl), amik gyárilag tartalmaznak kommenteket a beállítások megkönnyítéséhez. Ezek ugyanúgy elvesznek az uci util használatakor. Továbbá fontos tudni, hogy néhány alkalmazás, köztük a [[docs:techref:luci|LuCI]] webes felület is az ''uci'' segédprogramot használja és így bármikor felülírhatja az UCI fájlokat.|
  
 A parancssori segédprogram mellett az [[hu:doc:devel:config-scripting|UCI beállítások shell scriptből]] is kényelmesen kezelhetőek. A parancssori segédprogram mellett az [[hu:doc:devel:config-scripting|UCI beállítások shell scriptből]] is kényelmesen kezelhetőek.
Line 101: Line 101:
 ==== Használati példák ==== ==== Használati példák ====
  
-Az [[inbox:uci#usage|''uci'' utility leírása]] és használati példák az angol wiki oldalon találhatóak.+Az [[docs:guide-user:base-system:uci#usage|''uci'' utility leírása]] és használati példák az angol wiki oldalon találhatóak.
 /* nincs értelme idemásolni, úgyis csak az angol oldalon lesz frissítve (ha egyáltalán frissíti valaki, a reorder opció ott is hiányzik) */ /* nincs értelme idemásolni, úgyis csak az angol oldalon lesz frissítve (ha egyáltalán frissíti valaki, a reorder opció ott is hiányzik) */
  
  
  • Last modified: 2019/03/22 14:48
  • by vgaetera