Inkrementalni (re)build systemu

Dan Lukes dan at obluda.cz
Fri Feb 19 23:01:47 CET 2016


Miroslav Lachman wrote:
> Kdyz vyjde nejaka aktualizace systemu, napriklad z 10.2-p10 na 10.2-p12,
> tak si na buildserveru zaktualizuju /usr/src pomoci svn a pak provedu
> kompletni buildworld a buildkernel.

To jsi peclivejsi nez ja. Ja prekladam s -DNOCLEAN, prestoze to neni 
soucasti doporucovanyho postupu.

> Na dalsich strojich primountuju /usr/src a /usr/obj pres NFS a
> nainstaluju installkernel && installworld.

Jeste by mel nasledovat mergemaster a make delete-old delete-old-libs

I kdyz u upgrade patchlevel neni jejich vynechani az takova vada.

> 1) oprava se tyka par souboru, ale ja rekompiluju cely system a kernel

Da se to vynechat, viz jiz zmineny -DNOCLEAN, ale je to treba zahrnout 
do kategorie "rozhodl jsem se riskovat". Ja to tak treba delam, 
vetsinou, ale nejde poprit, ze prelozit to cely je proste bezpecnejsi.

> 2) kdyz tohle rozinstaluju na vsechny servery, tak mi pak zbytecne
> naroste objem zaloh, protoze se na vsech serverech zmeni vsechny soubory
> base systemu

Na to se da odpovedet ruzne, napriklad tak, ze s tim se da tezo neco 
delat, protoze od doby, co existuji optimalizace neplati, ze dva 
preklady tehoz kodu produkuji tentyz binar.

Ja ale misto toho odpovim otazkou - a proc vubec base system, ktery je 
na kazdem pocitaci dane patchlevel identicky, zalohovat na kazdem 
pocitaci zvlast ?

> Takze otazka zni, jak tohle provest nejak efektivnejsim zpusobem, abych
> prekompiloval jen to, co se opravdu zmenilo a jen ty vysledne soubory
> rozinstaloval na cilove servery?

To prvni ano, viz -DNOCLEAN. to druhe standardne ne, takze si budes 
muset udelat nejak vlastni system. Ja mel pomerne dlouho upraveny binar 
'install', ktery kdz zjistil, ze zdrojovy a cilovy soubor ma identicke 
datum delku, tak ho nekopiroval.

Nakonec jsem od toho ale upustil - linky se postupne zrychluji, takze 
potreba usetrit kazdy prenaseny byte uz neni tak kriticka.

Tobe ale nejde o objem dat prenesenych, ale zalohovanych. I tam existuje 
efektivnejsi zpusobem - nezalohovat stale totez.


> Existuje na to nejake "jednoduche" reseni


Obavam se, ze neexistuje zadne jednoduche hotove a instantni reseni. Jen 
takove, ktere vyhovuje tvym konkretnim potrebam - a to si budes muset 
udelat sam ...


Dan



More information about the Users-l mailing list