[FUG-BR] Upgrade 4.11 to 6.1

Renato Botelho garga em FreeBSD.org
Quinta Julho 20 07:23:35 BRT 2006


Evandro Zampieri wrote:
> Obrigado,
> 
> pode mandar, fico no aguardo então....

Aqui vai a doc, assim fica registrado no histórico...

Essa doc foi feita na época do 6.0, então no final ela fala sobre
remover as libs antigas que ainda não existia uma opção pra isso,
porém, hoje existe, acredito que é o melhor jeito de remover as
coisas velhas. Para saber como usá-las, podem consultar o tutorial
de atualização que eu e o SkyWarrior fizemos, em:

http://www.fug.com.br/content/view/46/9/

Boa Sorte a todos os que tentarem, e, por favor, postem os
resultados aqui para ficar documentado.

Aí vai...

==================================================================

Most of us take short-cuts with updates (I know I do all the time)
but the hop from RELENG_4 to RELENG_5 absolutely needs to be done by
the book.  After you update your source tree and rebuild in the
normal way (buildworld, buildkernel, take care if custom config
file) you need to:

	- copy sys/<arch>/conf/GENERIC.hints to /boot/device.hints
	- mergemaster -p and fix master.passwd/group

Now after backing everything up, crossing fingers, sacrificing
chickens, etc. do:

	- make installkernel <KERNCONF= if necessary>
	- reboot
	- stop at boot loader
	- in boot loader do:

		unload /kernel
		load /boot/kernel/kernel
		boot -s

	- in single-user mount local filesystems, I use:

		mount -a -t nonfs

	   but might be safer to only mount ones you *need*.  It
	   will complain that mount(8) is using old system calls,
	   but it works OK - don't panic (yet...).

	- cd to /usr/src and 'make installworld', 'mergemaster' and
	  reboot...

The only other gotcha I can recall is adding 'inetd_enable="YES"'
to /etc/rc.conf on machines I needed to have inetd running since
that wasn't necessary with RELENG_4.  But there can be other places
things will sneak in if you tended to do things in those places
(e.g. you might need to change NO* to NO_* in /etc/make.conf if you
tended to add goop there).

Once it's running RELENG_5 I immediately update again to RELENG_6
and that hop can be done in a less by-the-book method if you want,
depending on what the machine is doing at the time, etc. (e.g. I can
usually get away with installkernel/installworld while it's running
multi-user and so far I haven't had any nasty surprises about a
RELENG_6 kernel not working on a machine that a RELENG_5 kernel had
worked on but this is still taking a gamble I suppose).

And once it's running RELENG_6 portupgrade everything since all the
shared libraries had their versions bumped...

Per other folks - the support for deleting old files isn't in
RELENG_6 yet.  On one machine I did use it by snagging a HEAD copy
and it seemed to more or less do the right thing but I was extremely
paranoid about the whole thing, I just had it list the files it
would remove and I checked/removed them manually.

I've also done this without problems.  If you do, you'll want to
install misc/compat[45]x to add back support for old binaries (this
is a good idea anyway, as those ports will pick up security patches,
and compat5x is also necessary to fix nonstandard locales with old
binaries via the localedata port).

==================================================================

-- 
Renato Botelho <garga @ FreeBSD.org>
               <freebsd @ galle.com.br>
GnuPG Key: http://www.FreeBSD.org/~garga/pubkey.asc


Mais detalhes sobre a lista de discussão freebsd