FreeBSD - hogyan frissítsük rendszerünket (cvsup)

Címkék

FreeBSD cvsup mini-HOWTO

Micskó Gábor trey@hup.hu - Hungarian Unix Portal

v.1.0, 2002. október. 13 - Copyright © Hungarian Unix Portal

1. Bemutatás

2. Elõfeltételek

3. Konfiguráció

4. Frissítés

5. Kernelfordítás

6. Copyright, licenc, visszajelzés és ilyesmi

1. Bemutatás

Ez a HOWTO leírja, hogy milyen módon tudjuk FreeBSD rendszerünket frissíteni az Internet segítségével. Az, hogy miért kell frissíteni az nem kérdéses. Naponta jelennek meg biztonsági réseket, programhibákat javító bugfixek. És rendszeresen jelenik meg egy-egy OS újabb verziója is. Nincs ez máshogy a FreeBSD-nél sem. Ebből a dokumentumból az derül ki, hogy miként frissíthetjük teljes rendszerünket a következő kiadásra.2. Előfeltételek

Természetesen kell egy telepített FreeBSD rendszernek lenni a gépeden. Ezen kívül kell hozzá internetes kapcsolat. Ez a HOWTO nem tárgyalja a FreeBSD telepítését, és nem tárgyalja a hálózati konfigurációt sem. Ezeknek nézz utána. A frissítéshez kell a cvsup nevű program. Ezt telepíteni kell a FreeBSD rendszereden. Legegyszerűbben ezt a Ports-ból tudod megtenni. Az /usr/ports/net/cvsup könyvárban találod a cvsup-ot. A könyvtárba lépve, kiadva a make parancsot a program forrása letöltődik a gépedre és lefordul. A fordítás után a make install parancs segítségével tudod telepíteni a rendszerre. Ha a gépeden nincs X szerver (és a szerverek többségén nincs) javaslom a /usr/ports/net/cvsup helyett a /usr/ports/net/cvsup-without-gui-t feltelepíteni. Mint a neve is mutatja ez GUI támogatás nélküli cvsup-ot telepít.

Még egy dolgot kell elvégeznünk a frissítés előtt. Szeretnénk, ha az új rendszerünk lehetőleg a maximumot hozza ki a hardverünkből? Ha igen, akkor nem árt az egész rendszert a gépben levő CPU-ra optimalizálni. Hogy ezt a fordító program mindig megtegye, a legegyszerűbb szerkeszteni a /etc/make.conf filet. Ebben a fileban adhatunk meg olyan globális változókat, amelyeket a make figyelembe fog venni. Például Intel Pentium III-as processzorunk van, és erre akarjuk az egész rendszert fordítani:

#cat /etc/make.conf | less

CPUTYPE=p3 #CPU típusa

PPP_NOSUID=true

NO_FORTRAN=true # ne forgassa a g77 és kapcsolódó libeket

NO_I4B= true # ne forgassa az isdn4bsd csomagot

NO_LPR= true # ne forgassa az lpr és kapcsolódó programokat

NO_X= true # ne forgassa a programokat XWindows támogatással

NOGAMES= true # ne forgassa a játékokat (games/ subdir)

NOUUCP= true # ne forgassa az uucp és kapcsolódó programokat

KERNCONF= sunshine

WITHOUT_X11= yes

SKIP_INSTALL_DB=yes


Az én gépemen valahogy így néz ki a /etc/make.conf file.

#cd /usr/ports/net/cvsup-without-gui/

#make

#make install

#make distclean

3. Konfiguráció

Ha a telepítéssel elkészültünk a /usr/share/examples/cvsup/ könyvtárban találunk előre elkészített péda *-supfile-okat. Most válasszuk ki a stable-supfile-t. Másoljuk mondjuk a /root könyvtárba, NE az eredetit szerkesszük.

#cd /usr/share/examples/cvsup/

#cp stable-supfile /root

#cd /root

#vi stable-supfile

A supfile-ban néhány dolgot be kell állítanunk:

Teljes rendszer frissítés:



*default host=cvsup.hu.FreeBSD.org

*default base=/usr

*default prefix=/usr

*default release=cvs tag=RELENG_4

*default delete use-rel-suffix

*default compress

src-all

ports collection frissítés:


*default host=cvsup3.de.FreeBSD.org

*default base=/usr

*default prefix=/usr

*default release=cvs tag=.

*default delete use-rel-suffix

*default compress

ports-all



*default host = lehetőleg valami közeli, megbízható szervert válasszunk. Ez lehet a cvsup.hu.freebsd.org például.

*default release = ide azt írjuk, hogy mire szeretnénk frissíteni. Ha a 4.x verziót futtatsz, akkor ide a cvs tag=RELENG_4 kerüljön, ez a legújabb -STABLE ágra fog frissíteni.

*default compress = bekapcsolja a tömörítést, mindenki döntse el, hogy kell-e.

Szóval értelemszerűen töltsük ki a konfigfilet.

4. Frissítés

Ha készen vagyunk, akkor a következő paranccsal kezdjük meg a frissítést:

#cvsup stable-supfile

Ezzel a rendszer a gépünkre letölti az általunk kijelölt dolgok forrását. Ha a forrásfileok letöltődtek a gépünkre, akkor azokat le kell fordítani.

Ehhez lépjünk be a /usr/src könyvtárba, és adjuk ki a következő parancsot:

#make buildworld

a rendelkezésre álló géptől, és a letöltött forrásoktól függően ez változó ideig tarthat. Lassú gépen akár napokig is. Tulajdonképpen ilyenkor a rendszer leforgatja saját magán saját magát. Hmm. Jó kis meghatározás.

Mivel a következő lépések jelentősen módosítják az operációs rendszer konfigurációját, ezt egy felhasználós módban ajánlott végezni:

#shutdown now

Most 'single user' módba hoztuk a rendszerünket. A lefordított stuffokat telepítenünk kell. Váltsunk munkakönyvtárat a /usr/src-re és adjuk ki a következő parancsot,

#make installworld

ezzel a paranccsal telepítettük is a lefordított anyagot.

A következő lépés

#cd /dev

#./MAKEDEV all

és miután ez kész, a

#mergemaster

parancsot adjuk ki. A "mergemaster" parancs segítségével frissítjük a /etc könyvtárban levő konfigurációs fileokat.

5. Kernelfordítás

Ha ez kész akkor jöhet egy kernelfordítás. A kernelfordítást ez a dokumentum nem tárgyalja. Erre vonakozólag nézd meg a FreeBSD kernelfordítás mini-HOWTO írásomat. Ha a kernel fordítással készen vagy, akkor jöhet egy reboot, és tulajdonképpen készen is vagy a rendszered frissítésével. Élvezd az új FreeBSD erejét.

6. Copyright, licenc, visszajelzés és ilyesmi:

Micskó Gábor trey@hup.hu - Hungarian Unix Portal - http://www.hup.hu/

Ez a dokumentum szabadon másolható és terjeszthetõ, ha a copyright és az engedély szövegét minden másolaton megõrzik. E dokumentum módosított változatai a változatlan másolatokkal megegyezõ feltételek alapján másolhatók és terjeszthetõk, ha a módosított változatot is az ezzel az engedéllyel megegyezõ feltételekkel terjesztik. A fordítások is a ``módosított változat'' kategóriájába tartoznak.

Garancia: Nincs.

Ajánlások: Az üzleti célú terjesztés megengedett és támogatott, de nyomatékosan ajánlott, hogy a terjesztõ lépjen kapcsolatba a szerzõvel a terjesztés elõtt, a dolgok naprakészségének biztosítása végett. (Küldhetsz egy példányt abból, amit csinálsz, ha már úgyis csinálod.) A fordítóknak is ajánlott kapcsolatba lépni a szerzõvel, mielõtt lefordítják. A nyomtatott változat jobban néz ki. A papírt használd fel újra!

Visszajelzéseket, építõ jellegû kritikát a trey@portal.fsn.hu email címre várok.

A dokumentum otthona a Hungarian Unix Portal. A legfrissebb verziót a

http://www.hup.hu/old/freebsd-cvsup/

URL-en keresd.

Sok szerencsét!

Hozzászólások

Kritikat, javaslatot, valtoztatasi kerelmet, egyeb ohajt-sohajt itt a hozzaszolasokban szivesen fogadok. Hiba lehet benne, nem vagyok tokeletes :-)

Bár még nem próbáltam a FreeBSD -t (de tervezem), de jók ezek a leírások. Csak így tovább... :)

Oke ez is egy lehetseges ut. De nem latok hibat a fent leirtakban sem.

Hogy ki vagy? Bra? ;-)

nemtom ;-)

1) Na viszont EN ki lehetek? Skizofrenia rulz :)

2) Szal: csupan egy ket kiegeszites.

2.a) Telleg mashogy irja a handbook, en pedig megintcsak maskeppen csinalom. Amit hozzatennek, az az hogy az /usr/src-ben ugyanugy muxik a "make buildkernel" es a "make installkernel" is, ezekhez persze vagy erdemes az /etc/make.conf-ba betenni egy "KERNCONF=MyKernel" sort, vagy a make-nek kell igy megadni.

2.b) Szinten az /etc/make.conf-hoz: a CPUTYPE=K7 (nalam) csupan megadja a CPU tipusat, a forditasi optimalizacio pedig (ha jol tevedek) a "CFAGS= -O -pipe", illetve a "COPTFLAGS= -O -pipe" sorokkal hatarozhato meg, a masodik a kulon kernelferditesre vonatkozik. Mas kerdes hogy ezeknel kulon figyelmeztetes hogy -O -nal nagyobb optimalizacio (-O2, -O3, stb...) hibas kodhoz vezethet, ezert nem ajanljak. De -O -val siman muxik.

2.c) Talan erdemes megemliteni, hogy a "make installworld" illetve a "make installkernel" nem fog lefutni, ha a kernel biztonsagi szintje 1-es vagy a folotti (a 0-rol nem tudom hogy engedi-e, azzal sose probaltam), ennek ellenorzese a "sysctl kern.securelevel" paranccsal lehetseges, csokkenteni a root se tudja, csak a reboot. Bovebben: man init :))

2.d) Ja, es "make installworld" elott egy "mergemaster -p" azert nem art, csakugy mint utana egy parameter nelkuli "mergemaster" :)

5. kernelfordítas ;-)

Ez az otos pont, az hogy nem a legujabb kernelen forgatod az IMHO nem baj. A lenyeg az, hogy a vegere legyen kesz a rendszer nem?


Vag ynem ertem mit akarsz mondani ... ;)

Szervusztok!

Forrás letöltése után nálam következő a menetrend:

root alól kiadom a következő parancsot:

evm# shutdown now

Igy egyfelhasználos módba kerülök, itt gyorsabban mennek a dolgok, plusz nem fenyeget az a veszély, hogy valamely futó daemon, process belekavarna a dolgokba.

Itt gyorsan a következőket pötyögöm be:

evm# fsck -p

evm# mount -u /

evm# mount -a -t ufs

evm# swapon -a

evm# adjkerntz -i


Utána következik az rész:

evm# cd /usr/src

Ahol kiadom a már látott parancsokat -j4 kapcsoloval, ami gyorsit a dolgon, ui igy négy szálon futhatnak:

evm# make -j4 buildworld

evm# make -j4 buildkernel KERNCONF=AMINEVETADTAMNEKI

evm# make -j4 installkernel KERNCONF=AMINEVETADTAMNEKI

Itt egy reboot következik amiatt, hogy tapasztalati utón lehessen meggyözödni arról, hogy egyáltalán müködöképes a friss forrásbol forditott kernel. Amennyiben az, akkor tudom csak igazábol az alaprendszert felülírni.

Single user módban térek vissza a rendszerbe, ahol ismételten kiadom a következő parancsokat:

evm# cd /usr/src

Ezt ajánlatos el nem felejteni! ;-)


evm# fsck -p

evm# mount -u /

evm# mount -a -t ufs

evm# swapon -a

evm# adjkerntz -i

Ezután pedig:

evm# mergemaster -p

evm# make -j4 installworld

evm# mergemaster

evm# reboot

És tádám...