Date: Sun, 19 Apr 2009 13:48:21 -0400 From: Michael Powell <nightrecon@verizon.net> To: freebsd-questions@freebsd.org Subject: Re: Upgrading from 6.3 to 7.1 -- how dangerous? Message-ID: <gsfo35$uo4$1@ger.gmane.org> References: <FC65C191-F3D0-4DA3-95F3-7C4065E8C00C@identry.com>
next in thread | previous in thread | raw e-mail | index | archive | help
John Almberg wrote: > I need to upgrade a live, production server from 6.3 to 7.1. I can't > afford to have any troubles with this server. I have Absolute FreeBSD > and a few other BSD books, and the upgrade process looks fairly > straightforward. That's the theory... > > Real world question: how scared should I be? > > I've thought about setting up a dummy server, just to practice on. Is > this a good idea? Or am I just a nervous Nellie? > I concur with the concept of doing it on a test box first. I only have two servers at home and 7 at work, so the ones at home are my "fudge" factor in that upgrades are run by them first before I try the ones at work. Since I don't have large numbers whenever I go from one major release to another, e.g., like 6.x to 7.x I first use dump and back up everything. Then I usually install the new from scratch, build whatever ports, and copy configs over from the backup. Doesn't have to get done this way, but there are a few things of which you should be aware. Whenever there is a major version bump it is because of an ABI difference between old and new. Sometimes this will cause installed ports that were built against the libs from the previous install to malfunction. The proper fix is to rebuild them after the update so they get built against the new versions of system libraries. This can be automated with portupgrade. The other common approach is to install the "compat" shim, in this case it would be the compat6x. With this installed when you reboot to the new kernel in theory the existing ports built against 6.x libs will still function. Since I'm still using csup and the make build/install/kernel/world dance I can't speak to freebsd-update. There is also a target for ensuring old libs are deleted, I believe it is make delete-old-libs, or something like. It is a good idea to remove the old libs so that when later on when you are updating installed ports they can only get linked against the new 7.x libs. The situation you do not want to get yourself in is having a mix of some ports built against 7.x and some other(s), e.g., dependencies built against the 6.x libs. Sounds like a lot but it really isn't if you break it up into individual steps and are aware of the potential pitfalls. These are mostly easy to deal with by simply doing things in the proper order. What you are proposing is doable, and has been done by many - I just wanted you to know the traps not to fall into. But I would recommend you dry run it on a non production box first, just to get a feel for it. -Mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?gsfo35$uo4$1>