freebsd-update -r 9.2-RELEASE upgrade - "hacky" a patch pro MERGMASTER

Dan Lukes dan at obluda.cz
Thu Mar 6 22:26:09 CET 2014


Petr Macek wrote:
>> Ne, ze by tahle metoda nemela sve hacky

> jake hacky ma ta metoda

Ono hodne zalezi jak moc ciste ji provadis.

Pokud se drzis oficialnich doporuceni, zejmena:
1. pred kompilaci smazes obsah /usr/obj a tak prekladas vzdy "na cistem
stole"
2. installworld provadis v single-user rezimu

tak jsou rizika relativne mala. Jeden z problemu je, ze pri prekladu v
/usr/src by se mely pouzivat jedine aktualni *.h soubory take v /usr/src

Jenze to 100% neplati - obcas to asi neni napsane zcela korektne a
urcite jsem zazil, ze si prekladac si "sahne" do starych souboru v
/usr/include - a to muze zpusobit velice obtizne laditelne potize.

Bezpecnejsi je tedy mit ve chvili buildworld uz nainstalovane header
soubory nebo provadet dvojity preklad (po prekladu a instalaci systemu
udelat totez cele jeste jednou).

Obdobny problem se muze tykat samotneho 'make' - v ramci buildworld si
sice system vytvori make z novych zdrojaky a nasledne by mel pouzivat
ten, obcas se mu to ale nepovede, pouzije 'make' ze ziveho systemu a
pokud po nem chce neco co on neumi tak kompilace selze (coz je v
porovnani s nasledky sahnuti do nespravnych headeru zminenych drive
smesny problem).

Obdobny problem te muze potkat se samotnym prekladacem a/nebo linkerem
pripadne se soubory v /usr/share/mk/.

A dalsi variantou tohoto problemu jsou sdilene knihovny - ty v prave
prekladanem buildy versus ty na puvodnim zivem systemu. At uz maji
stejne cislo verze nebo ne (to prvni je skoro horsi, sice se problemy
nevyskytnou tak cast, ale kdyz se vyskytnou, tak stoji za to protoze
nejsou dobre videt a prakticky se nedaji ladit).

Obecne plati, ze pravdepodobnost problemu a zejmena vaznych dusledku je
primo umerna "velikosti skoku". Pokud jde "jen" o zmenu patchlevel je
pravdepodobnost spise dost mala. U skoku pres nekolik major verzi naopak
relativne vysoka.

Ja osobne volim "dvojity upgrade" (zmineny shora) pokazde, kdyz se meni
major cislo verze. Ono to neni zas tak caste (mame teprve verzi 9) a
dela se to jen na centralnim repository. I tak nerad preskakuju z major
verze N na jinou nez N+1, to radsi provedu nekolik upgrade po sobe.

Ale pokud se pri buildu objevi potize u kterych je podezreni, ze by
mohly byt zpusobeny nekterou z vyse popsanych chyb, je nutne tomu
venovat pozornost, protoze napriklad selhani zpusobene spatnym make nebo
/usr/share/mk/ se nasledne muze projevit i v "install" fazi a tudiz by
se nemuzelo povest dokoncit ani tu - a to uz nejspis jsme na produkcnim
stroji.

Ale uz delsi dobu jsem se s akutnim projevem nektereho z pozanych
problemu nepotkal. Posledni problematicky major-upgrade byl z verze 6

Ale co neni se zase nekdy muze objevit.

Toz asi tak.

Chapu, ze kdyz prostou otazku o "haccich" odpovim dvojstrankovym
seznamem, vypada to jako dost problematicka metoda. Ale ono jde
vice-mene o nekolik ruznych inkarnaci tehoz problemu, realne hrozicich
predevsim pri cross-major upgradech coz je dost vyjimecne.

Toz asi tak ...

A kdo docetl az sem dozvi se za odmenu ;-) ...
... i odkaz na patch pro mergemaster o ktery si rekl Mira:

> http://www.freebsd.cz/~dan/patch-MERGEMASTER

Dan




More information about the Users-l mailing list