Source upgrade from 6.3-PRERELEASE to 7-STABLE
Matthew Seaman
m.seaman at infracaninophile.co.uk
Sat Apr 5 08:57:46 UTC 2008
Joshua Isom wrote:
> I've looked back at a lot of the emails about upgrading a system from 6
> to 7, but all seem to contain some caveat or other, generally ports. I
> want a "clean" system, but don't want to deal with backing up,
> reformatting, and installing, not to mention reconfiguring everything.
> Since by now many people have done it, what's the best way to upgrade
> from 6.3 to 7.0 for the entire system, base and ports?
It depends...
Seriously, one very good and fairly bulletproof way of migrating from 6.3
to 7.0 is by a nuke and repave job on your machine. That may not be
right for you though.
Given that, you have to do an in-place update. Consider the base system
and the ports separately.
To upgrade the base you have essentially two choices:
*) Use FreeBSD-update -- follow the procedure shown here:
http://www.daemonology.net/blog/2007-11-11-freebsd-major-version-upgrade.html
*) cvsup with the appropriate TAG for the branch you want to
switch to (RELENG_7_0 for 7.0-RELEASE, RELENG_7 for 7.0-STABLE)
and then build and update your system according to the instructions
in the Handbook and the notes in /usr/src/UPDATING.
If you've been using either one of these methods to maintain your
system previously, then you're probably best to stick with what you
know for the major upgrade. FreeBSD Update may have difficulties
with a system that isn't either a virgin install from the distribution
ISOs or that has been maintained solely through FreeBSD Update previously.
Note that once you have the base OS updated, you can leave it running
with the ports from 6.x for a while -- so long as you've still got the
6.x shlibs available everything will carry on working. That means you
either have to install the misc/compat6.x port or you have to skip the
'make delete-old-libs' step at the end of the buildworld procedure. (Well,
postpone it until the ports can be rebuilt.)
If you do choose to run a mixed system like this for a while, bear in
mind that you should not now upgrade or install the odd port here and there:
either you go ahead with the next stage which is to upgrade the whole lot,
or you leave well alone.
The second major phase of work is to upgrade all your ports. The mechanisms
for doing this are essentially the same as you'ld use for maintaining ports
routinely. You will need to use a management tool that will order all of
the updates correctly: portmaster and portupgrade are the two leading
examples.
portmaster should work without any further ado as it has no other
dependencies within the ports tree. portupgrade requires you to
rebuild ruby and whichever of the ruby-bdb ports it links against
first. Something like this:
# pkg_info -rx portupgrade
Information for portupgrade-devel-2.4.3_1:
Depends on:
Dependency: ruby-1.8.6.111_1,1
Dependency: perl-5.8.8_1
Dependency: db44-4.4.20.4
Dependency: ruby18-bdb44-0.6.2
# pkg_delete -f portupgrade-devel-2.4.3_1 ruby18-bdb44-0.6.2 db44-4.4.20.4 ruby-1.8.6.111_1,1
[...]
# cd /usr/ports/ports-mgmt/portupgrade-devel
# make install
[...]
Then you can proceed with 'portupgrade -fa'
(Substitute ports-mgmt/portupgrade if you don't want the development
version)
Either of the ports management tools can be made to install pre-built
packages given the appropriate command line arguments: this can save you
quite a lot of time at the cost of a certain amount of flexibility in
customising options.
Don't forget the 'make delete-old-libs' step at the end. You can probably
deinstall compat6x similarly although there are some ports that will now
require it -- diablo-j{dk,re}15 for example.
Cheers,
Matthew
--
Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard
Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
Kent, CT11 9PW
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 258 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20080405/e77248c7/signature.pgp
More information about the freebsd-questions
mailing list