On 07/04/12 15:43, Miroslav Prymek:
mas asi pravdu v tom, ze ono to vlastne nic neprinese proti stupidnimu reseni
typu "namountovany adresar pres nfs + periodicky kopirovani z tohodle adresare".

Tak nejak jsem se ti to chtel popsat, a vidim, ze se podarilo ;-)

Akoratze ja pocital, ze "primarnim zdrojem" informaci pro generovani konfiguraku je spis nejaka databaze nez (jiny) soubor.


Jediny problem asi zustava, jak docilit konzistence (jeden program ma vic 
konfiguraku, jak docilit,
aby se zkopirovalo vse, nic nebylo v dobe kopirovani vyugenerovany napul a 
program na to nesahal
dokud se to cely nezkopiruje).

No, cast problemu resime tim, ze soubor ma na konci pridanou znacku (z hlediska programu, ktery soubor pouziva je to komentarovy radek) - kdyz tam neni, vime, ze soubor neni cely a nepouzije se.

Novy soubor se vytvari pod jinym jmenem (i kdyby "vytvareni" melo byt jen kopirovani z NFS) na lokalnim FS a teprve kdyz je hotovy, prejmenuje se (coz ej atomicka operace) na misto sveho predchudce.

Pokud ma program vic konfiguraku lze predchozi mirne modifikovat, nove soubory generovat do adresare odlisneho jmena a teprve kdyz jsou tam vsechny a jsou overeny jako kompletni, pak dvojim prejmenovanim dosahnes zmeny, ktera v tomto pripade neni zcela atomicka, ale je relativne rychla. Jde to ve skutecnosti i atomicky ("spravne" jmeno adresare je symlink, ktery atomicky prepises na novy adresar) ale symlinky na miste adresare maji svoje vlastni problemy (zejmena pri aktualizacich) takze to tak vetsinou nedelame.

Proste dosahnout "atomicnosti operace zmeny sady konfiguraku".
Pokud to teda vubec je rozumnej pozadavek... Mozna je to zbytecne overkill...

Ono se vetsinou da vymyslet, kdy muzes spustit pregenerovani konfiguraku aniz byses "potkal" s dotcenym programem. A co se zbytkovymi riziky zalezi od konkretni situace a pozadavku.

Jeste teda zustava druha cast: vite nekdo o nejakem hezkem softu, ktery by umel 
konfiguraky
generovat z nejakeho obecneho zapisu?

Samozrejme. Ty preci taky. A denne ho pouzivas pri sprave FreeBSD.

"Promenne" udaje (to je ten "obecny" konfigurak, ktery ti to bude cele ridit) se davaji do /etc/rc.conf v podobe prirazeni hodnot promennym.

No a generovani konkretniho cisloveho konfiguraku ci skupiny konfiguraku provede konkretni script vytvoreny prave pro tento ucel, ktery si rc.conf (a tim vsechny potrebne - a pravda - i ty nepotrebne) udaje naincluduje a z nich udela co je udelat potreba.

Uz urcite vis - mluvim o obycejnem 'sh'.

Slovy dvojice Nick Carter/baron von Kratschmar: "Jak primitivní!" "Ale jak účinné!"

Cim slozitejsi reseni, tim vetsi sance, ze se rozbije. Az to budes nejmin potrebovat. /bin/sh, ktere je nativni soucasti systemu, pro svoji cinnost potrebuje vseho vsudy tri knihovny, ktere jsou take nativni soucasti systemu (a opravdovy paranoik by ho mel navic slinkovany staticky).


Dan


--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem