Date: Tue, 17 Oct 2006 17:50:42 -0700 From: Doug Barton <dougb@FreeBSD.org> To: FreeBSD Stable <freebsd-stable@freebsd.org> Subject: In place upgrades (was Re: FreeBSD 4.x EoL) Message-ID: <45357A62.60501@FreeBSD.org> In-Reply-To: <20061017230722.GH8866@gargantuan.com> References: <453531C9.7080304@freebsd.org> <20061017230722.GH8866@gargantuan.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Michael, Nice job with this, I'm sure that many people will find it very helpful. I would like to offer a few suggestions if I may. Michael W. Oliver wrote: > Colin, > > Thanks for the verbose and reasoned explanation. Since the email last > week, I have taken the opportunity to upgrade two machines, one here and > one remote (both with serial console) from 4.9->5.5->6.2PRE, and while I > can't say that I did it blindfolded, it wasn't too painful. That's great news! :) > The upgrade instructions at... > > http://www.freebsd.org/releases/5.3R/migration-guide.html > > ...were as close to perfect as could be (and for those who might ask me > for a step-by-step howto, look to the above URL). A few things that I > should mention to others trying this are... > > 0. Backup, and then check your backups! Amen brother, especially to the bit about checking the backups before committing yourself. > 1. Be prepared to spend a lot of time in single-user mode, especially > for the 4->5 step, because there is a LOT for mergemaster to do. The > step from 5->6 is not nearly as painful. One technique that I have used successfully in the past is to get an up to date src tree, run mergemaster -v up to the point where it has built the temproot and says "The following files ...", then ^C out of that and run the following: diff -ur /var/tmp/temproot/etc /etc > etc.diff That way you will know what you've changed and rather than have to suffer through running mergemaster you can just blow away /etc, install the new one using 'mergemaster -i', and then apply the bits of your diff that are still relevant. > 3. Be prepared to spend a lot of time (depending on the speed of your > machines) rebuilding all of your ports. Don't skimp on this step. One small clarification, it's not necessary to do this after installing RELENG_5, only after you've arrived at R6. In addition to the excellent suggestion that Kris offered of using portupgrade, I would also like to suggest that you give portmaster a try. Particularly, _before_ upgrading you can install portmaster and run 'portmaster -l > installed-ports-list'. Then when you're ready to start over, you can install each of the ports on the root and leaf lists and portmaster will sort out the dependencies for you. hth, Doug -- This .signature sanitized for your protection
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45357A62.60501>