bezpecny upgrade systemu
Dan Lukes
dan at obluda.cz
Wed Oct 19 18:49:16 CEST 2005
Divacky Roman wrote:
>>>ja to myslel tak ze misto abych prekompilovaval programy a tim je donutil
>>>se prelinkovat na nove knihovny tak to (prelinkovani) udelam externe pomoci
>>>libmap.conf - jsou to funknce ekvivalnetni operace
>>Nejsou to funkcne ekvivalentni operace.
> tojo... ale ve chvili kdy je api stejne (jeste se mi nestalo ze by bylo jine)
> to chodit bude...
Bud' dochazi k nedorozumeni v tom, co znamena zkratka API nebo si
troufam tvrdit, ze se mylis a zcela bezpecne jsi se uz se zmenou API setkal.
Ostatne, pokud se prilis nepletu, tak logika je takova, ze minor cislo
verze knihovny se meni tehdy, pokud doslo ke zmenam v knihovne, ale API
zustava stejne. Knihovnu nove minor verze pak lze pouzit bez noveho
prekladu. Tenhle pripad ale resi dynamicky linker automaticky - on
prilinkuje (pri spousteni) knihovnu se stejnym major-cislem a nejvyssim
minor cislem, o jake vi. V takove situaci tedy neni jakekoliv
premapovani treba. Snad krome pripadu, kdy se autor knihovny spletl a
nova verze knihovny ve skutecnosti nema tak kompatibilni rozhrani v jake
doufal.
Pokud doslo ke zmene v API knihovny, pak se meni major-cislo. K tomu
dochazi opravdu spise malokdy, nicmene, dochazi. Tak mame napriklad
libc.so.5 nebo libcrypto.so.3 (abych vzpomel jen tech zmen major cisla,
ktere si vybavuju, protoze v jejich souvislosti jsem resil nejak
komplikace). Tam si dynamicky linker uz na zadne automaticke zasahy
netroufne a v pripade, ze clovek ma program pro libcrypto.so.2 a v
systemu ma trojku a nechce se mu to resit "poradne" pak muze vyrobit
link (2->3) nebo pouzit libmap.conf.
Jelikoz ale jde o knihovnu, kde se zmenilo API (alespon jeji autor si
to, s ohledem na zmenu major cisla verze mysli) je treba pocitat s
nefunkcnosti (a co hur, misto kompletni nefunkcnosti muze dochazet jen k
"divnemu chovani" programu).
Jinymi slovy - je-li API nove verze knihovny deklarovano jako stejne,
neni libmap.conf treba a vse probehne "automaticky". Je-li deklarovano
jako odlisne, pak automatika neexistuje a program lze k pouziti
nespravne verze knihovny donutit "podvodem" = napriklad pomoci libmap.conf
Tim nerikam, ze jediny smysl existence libmap.conf je pachani podvodu
na programech - jeho "oficialni" smysl existence spociva predevsim na
pripadech kdy dva rozdilne programy pouzivaji dve ruzne knihovny, ktere
se, nanestesti, jmenuji obe stejne.
>>Cili: reinstalace se vyplati!
> to jo.. ale ne kazdy ma tyden na reinstalaci.. ja napr. nemam ;)
Tento thread se zabyval upgradem mezi major verzeni (5.4->6). a tva
rada, predpokladam, smerovala k probiranemu problemu.
Nemyslim, ze upgrade OS na jinou major verzi delas kazdy tyden ...
Dan
More information about the Users-l
mailing list