Vilem Kebrt wrote: > uz ponekolikate jsi to tu zminil, nicmene tak jak prohledavam konferenci > tak mi prijde ze vzdy das k dispozici cast informace a pote zase cast. > Chtel bych te Dane pozadat, mohl by jsi nekam vystrelit "jednoduche > howto" se seznamem nastroju, pripadne hacku ktere by jsi rad zverejnil > pro tyto prilezitosti ?
Ono je to tak trochu tim, ze ten problem ma celou radu samostatnych podproblemu a ja vetsinou zminim jen ten, ktery se tyka prave probirane otazky. Popsat uplne vsechny casti, kazdou do detailu by bylo pomerne dlouhe (a vite, ze ja pro dlouhy dopis nejdu daleko - takze myslim sakra dlouhy) a pomerne neprehledny. Takze radeji bych to rozebiral "odshora", od nejake osnovy, a do detailu zabihal jen tam, kde problematika neni srozumitelne dostatecne rozbrana nekde jinde. Tam, kde se nekdo zepta. Takze ta hruba osnova (i ta je dost dlouha). A) Zacneme od "repository" - to je "bezny" pocitac s instalaci metodou "kompilace ze zdrojaku" a zdrojovymi kody udrzovanymi metodou 'svn'. A v teto fazi se budeme venovat OS, nikoli portum. I tak to ma nekolik samostatnych podproblemy: A.1) Udrzba zdrojaku s pomoci 'svn'. Zakladni literatura: > http://www.freebsd.org/doc/handbook/svn.html Konkretni tipy pro 9.1-R: A.1.a) inicializace svn: svn checkout https://svn0.eu.freebsd.org/base/releng/9.1 /usr/src A.1.b) aktualizace zdrojoveho stromu cd /usr/src ; make update procemz predpokladam, ze v /etc/make.conf je > SVN_UPDATE= yes > SVN=/usr/local/bin/svn A.2) Preklad systemu ze zdrojaku Zakladni literatura: > http://www.freebsd.org/doc/handbook/makeworld.html Odchylky a poznamky: Z popsanych kroku provadim tyto: 2,3,7,4,8,9 pozor, 9 je na strance popsany chybne, pouzijte mergemaster -iF ja osobne bodu 2 a 3 & 8 spojuju do jednoho make, takze make -DNOCLEAN KERNCONF=MUJCONF buildkernel buildworld a obdobne pro installkernel installworld v pripade "drobne" aktualizace (zmena patchlevel) pouzivam u make v bodech 2 a 3 option -DNOCLEAN, pokud se meni release tak ne Teprve po restartu a aktualizaci portu (ktere se ted nebudeme venovat) provadim kroky 10 a 12 Ruznych kernelu si muzete prelozit i vic, nainstalovat na tomto stroji samozrejme chcete jen jeden. V praxi prekladam dalsi kernely az pote co mam kompletne dokoncene vyse popsane kroky. Kazdy dalsi kernel prelozite samostatnym volanim make -DNOCLEAN KERNCONF=jmenokonfigurace buildkernel pro pouziti NOVLEAN plati stejna pravodla jako popsana vyse ANO, jsem si vedom moznych potizi, ktere mohou vzniknout tim, ze installworld neprovadim v single-user rezimu. Upgrade se muze nepovest a muze to skoncit i ve stavu, kdy po restartu stroj nepujde bootnout. To je cena za to, ze spravu tohoto stroje provadim vzdalene a v typickem pripade to proces zjednodusuje a zrychluje. POKUD k nejakym problemum dojde a stroj se stane nepouzitelnym, tak to ale nicemu moc nevadi - toto je jen aktualizacni repository na jehoz funkcnosti akutne nic nevisi a tudiz je cas problem resit (v krajim pripade az novou instalaci). Z praxe, ktera saha az nekam k 6.x-R muzu rict, ze se to stava velmi vyjimecne. ANO, jsem si vedom potizi, ktere mohou vzniknout vynechanim bodu 1 za soucasneho pouziti parametru -DNOCLEAN v bodech 2 a 3. Vyrazne to zkracuje preklad s rizikem, ze vznikne poskozeny build, ktery dokonce mozna nasledne rozinstaluju na vsechny stroje se vsemi katastrofalnimi dusledky, ktere to muze mit na produkcni stroje. Konecne rozhodnuti zda zvolim tenhle postup (ja vetsinou ano) udelam kdyz si v UPDATINGS prectu co se mezi temi patchlevel zmenilo. Pravdepodobnost, ze je rozhodnuti nespravne uzce souvisi se zkusenostmi, ktere nelze predat formou navodu. V pripade jakychkoliv pochybnosti doporucuju pouzit konzervativni postup a NOCLEAN nepouzit. A.3) Vlastni patche zdrojoveho stromu Tomu, s dovolenim, venuji samostatny mail. Stejne jako portum A.4) export s pouzitim NFS Zakladni literatura: http://www.freebsd.org/doc/en/books/handbook/network-nfs.html Konkretni rady: /etc/rc.conf: > mountd_flags="-ln" > nfs_server_enable="YES" /etc/exports: > /usr/src /usr/obj /usr/ports -ro -maproot=0 -network A.B.C.D/M --------------- Tak - ted tedy mame pouzitelne centralni repozitory, s aktualnim a prelozenym worldem a tolika kernely kolik jsme se jich rozhodli potrebovat. Takze k cemu nam to je ? B) Aktulizace konkretniho stroje z centralniho repository Zakladni literatura: > http://www.freebsd.org/doc/handbook/makeworld.html Aktualizace se prilis nelisi od aktualizace provadene ze zdrojaky, ktere bychom meli na danem stroji lokalne a lokalne si je take prelozili. Jen je lokalne nemame a neprekladame je - misto toho je namountujeme ze vzdaleneho stroje: mount_nfs -o tcp name.of.repository.cz:/usr/src /usr/src obdobne pro /usr/obj Alternativne si muzeme cesty napsat do /etc/fstab takze od priste bude stacit prosty mount /usr/src a mount /usr/obj: /etc/fstab: > name.of.repository.cz:/usr/src /usr/src nfs tcp,ro,noauto > 0 0 > name.of.repository.cz:/usr/obj /usr/obj nfs tcp,ro,noauto > 0 0 Ostatni faze aktualizace uz jsou shodne jako by to cele bylo lokalni. Konkretne - provadim 4,7,8,9 K devitce stejna poznamka jako u bodu A.2 Teprve po restartu a aktualizaci portu (ktere se ted nebudeme venovat) provadim kroky 10 a 12 Samozrejme, v bodu 4 pouzijeme parametr KERNCONF a nainstalujme jen ten spravny kernel pro prave aktualizovany stroj. ANO, stejne jako vyse jsem si vedom rizika instalace v multi-user rezimu. Zde uz ale mluvime o aktualizaci produkcniho serveru kde nasledky nepovedeneho update jsou vyrazne vetsi. Na druhou stranu, kdyz se nam tento update uspesne povedl na centralnim repository, je sance, ze se povede bez problemu i tady. -------------------------------------------------------------------- Pokud je ten-ktery bod nejasny, nebo nejaky zcela chybi, ptejte se. Tak - to mame udrzbu OS na centralnim repository a update z nej na jinych strojich. Nemame porty, nemame vlastni patche. Saga pokracuje ... Dan -- FreeBSD mailing list ([email protected]) http://www.freebsd.cz/listserv/listinfo/users-l
