Upgrade FreeBSD ze zdrojovych kodu

Cejka Rudolf cejkar at fit.vutbr.cz
Thu Jul 4 11:58:25 CEST 2002


Upgrade FreeBSD ze zdrojovych kodu:

A) Nainstalovat port cvsup.

B) Vytvorit /usr/local/etc/supfile. V /usr/share/examples/cvsup jsou
   priklady. Tag RELENG_4 je 4-STABLE. Kdo chce jen nejake aktualizovane
   releasy, pouzije RELENG_X_Y, treba RELENG_4_6. Zde je priklad,
   ktery aktualizuje /usr/src a /usr/ports:

--
# Defaults that apply to all the collections
*default host=cvsup.cz.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=RELENG_4
*default delete use-rel-suffix

# If your network link is a T1 or faster, comment out the following line.
*default compress

## Main Source Tree.
#
# The easiest way to get the main source tree is to use the "src-all"
# mega-collection.  It includes all of the individual "src-*" collections,
# except for "src-eBones" and "src-secure".
# src-all

# These are the individual collections that make up "src-all".  If you
# use these, be sure to comment out "src-all" above.
src-base
src-bin
src-contrib
src-etc
# src-games
src-gnu
src-include
# src-kerberos5
# src-kerberosIV
src-lib
src-libexec
src-release
src-sbin
src-share
src-sys
src-tools
src-usrbin
src-usrsbin

src-crypto
# src-eBones
src-secure
src-sys-crypto

## Ports Collection.
#
# The easiest way to get the ports tree is to use the "ports-all"
# mega-collection.  It includes all of the individual "ports-*"
# collections,

ports-all tag=.

--

C) Vytvorit nebo upravit /etc/make.conf, napriklad:

--
USA_RESIDENT=NO

MASTER_SITE_OVERRIDE=ftp://ftp.freebsd.cz/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/

SUP_UPDATE=	yes
SUP=		/usr/local/bin/cvsup
SUPFILE=	/usr/local/etc/supfile
# SUPFLAGS=	-g -L 2 -P - -s

# CFLAGS=-Os -pipe
# COPTFLAGS=-Os -pipe

--

A ted ta vlastni aktualizace, ktera se da sepsat treba i do skriptu.
Pouzivam oddelene build a install, abych mohl lepe ochytit
pripade problemy:

1) cd /usr/src
2) make update # v /usr/src uz musi byt nejaka minimalni baze z /usr/src
3) rm -rf /usr/obj/usr # docela se tim zrychli kompilace...
4) Podivat se do /usr/src/UPDATING, jestli tam neni neco zajimaveho.
5) Kdo ma vlastni jadro XXX, podivat se do /usr/src/sys/i386/conf/ na zmeny
   GENERIC a LINT a zajimave veci prenest do sve konfigurace. Ja si vzdy
   kopiruju GENERIC do GENERIC.orig a LINT do LINT.orig a delam diffy.
6) make buildworld
7) make buildkernel KERNCONF=XXX # Kdo ma vlastni jadro
8) make installkernel KERNCONF=XXX # Kdo ma vlastni jadro
9) make installworld
10) mergemaster
   # Tohle je ta hlavni finta - docela intelignetni upgrade konfigurace
   # systemu. Sice nabizi ruzne srovnavaci/spojovaci diffy, ale vetsinou
   # to delam tak, ze kdyz chce nejaky konfigurak updatovat, tak si svuj
   # schovam do stareho souboru, necham jej aktualizovat a podle stareho
   # souboru provedu potrebne zmeny. Nebyva jich tak moc, takze to jde
   # docela rychle.
11) reboot

Krome vypadku pri rebootu v podstate zadne dalsi vypadky nutne nejsou
a vse delam za plneho provozu. Kdo chce prechazet do single user podle
obecnych doporuceni, staci tak udelat jen po dobu make installkernel &
make installworld & mergemaster.

Snad to nekomu pomuze ;-)

-- 
Rudolf Cejka <cejkar at fit.vutbr.cz> http://www.fit.vutbr.cz/~cejkar
Brno University of Technology, Faculty of Information Technology
Bozetechova 2, 612 66  Brno, Czech Republic



More information about the Users-l mailing list