Stav fusefs?
Dan Lukes
dan at obluda.cz
Wed Jul 4 16:14:10 CEST 2012
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
More information about the Users-l
mailing list