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