A very stupid question, which will indicate how clueless about FreeBSD I actually am.
I have been running FreeBSD for about three years now, coming from a long history of many Unix-like OSes (including a long stint using OpenBSD, Linux since 0.99.13, and so on). But there is one thing I've never had to do, neither with OpenBSD nor with FreeBSD: upgrade a BSD-based system in place. So far, I've always had to move to new hardware (and therefore re-install the OS from scratch) frequently enough that the base install hasn't become obsolete, without any upgrading.
By now, I'm down to having a single server at home, a FreeBSD 9.0 machine, which has been running pretty happily for 1.5 years. No updates have been done at all. But that version of the OS is getting long in the tooth, and I think it's time to upgrade, preferably in one big fell swoop. Not all the way to 10.0 (as that's too young), but I want to stay at the most recent stable and extended release, 9.2. And because this is a production machine where stability is very important, I want to do one big upgrade to go to 9.2, and then leave the base OS on the machine alone again for a year or so (just dealing with applications and ports). I believe that "stable" should mean: "leave it alone", and in the old mantra "don't mess with a running system".
My system has about 100 packages/ports installed (only in a few cases did I need to locally patch the source code for ports). It runs a variety of daemons and services (DNS, DHCP, Apache, PF/NAT, Sendmail, and so on), all of which have been carefully hand-configured. And it has a few ZFS file systems with important data. The kernel is completely unmodified. Our network connection to the outside world is slow (the best we can get is a slow DSL line), so downloading gigabytes is out of the question.
Because disk space on the /usr partition is somewhat limited (as it is on a small SSD, and less than a dozen GB are free), and the CPU is quite slow (single 1.8 GHz Atom), nearly all of the ports were installed from pre-built packages (using
And to make life easier, I want to end up with a completely "normal" system when I'm done upgrading, a system that looks like it had been installed from 9.2 media, and then had up-to-date packages downloaded or ports compiled. And because disk space on the root disk (excluding users' /home directories) is at a premium, I don't want to end up with too much debris (old versions of stuff) on disk.
Which brings up the question. I've read chapter 23 of the manual, about how to upgrade. And I have two DVDs here, with the complete 9.1 and 9.2 installs. In all other OSes I've worked with, you can upgrade from the distribution media, and it simply does a wholesale replacement of all the files on disk (leaving a little bit of a mess with configuration files, but I'll know to back them up first, and I have records of what has been configured and edited). The FreeBSD model is completely different, downloading upgrades over the network, and then moving them into place in little bits.
Obviously, there is a very "clean" but tedious alternative to upgrading: Take the old root disk out, put a blank disk in, do a clean install of 9.2, then do a clean install of all the required packages, and then manually move all configuration over.
The big question is this: what do the experts here recommend? Is there something wrong with my desires or my plan to do one big jump from 9.0 to 9.2, and then park there for a long time?
The small question is this: given that I have downloaded the 9.1 and 9.2 distribution media, can I use that to run the upgrade (as described in the FreeBSD Handbook), instead of downloading all the bits over the network?
I have been running FreeBSD for about three years now, coming from a long history of many Unix-like OSes (including a long stint using OpenBSD, Linux since 0.99.13, and so on). But there is one thing I've never had to do, neither with OpenBSD nor with FreeBSD: upgrade a BSD-based system in place. So far, I've always had to move to new hardware (and therefore re-install the OS from scratch) frequently enough that the base install hasn't become obsolete, without any upgrading.
By now, I'm down to having a single server at home, a FreeBSD 9.0 machine, which has been running pretty happily for 1.5 years. No updates have been done at all. But that version of the OS is getting long in the tooth, and I think it's time to upgrade, preferably in one big fell swoop. Not all the way to 10.0 (as that's too young), but I want to stay at the most recent stable and extended release, 9.2. And because this is a production machine where stability is very important, I want to do one big upgrade to go to 9.2, and then leave the base OS on the machine alone again for a year or so (just dealing with applications and ports). I believe that "stable" should mean: "leave it alone", and in the old mantra "don't mess with a running system".
My system has about 100 packages/ports installed (only in a few cases did I need to locally patch the source code for ports). It runs a variety of daemons and services (DNS, DHCP, Apache, PF/NAT, Sendmail, and so on), all of which have been carefully hand-configured. And it has a few ZFS file systems with important data. The kernel is completely unmodified. Our network connection to the outside world is slow (the best we can get is a slow DSL line), so downloading gigabytes is out of the question.
Because disk space on the /usr partition is somewhat limited (as it is on a small SSD, and less than a dozen GB are free), and the CPU is quite slow (single 1.8 GHz Atom), nearly all of the ports were installed from pre-built packages (using
pkg_add
). I don't think rebuilding all the ports is viable, or is it?And to make life easier, I want to end up with a completely "normal" system when I'm done upgrading, a system that looks like it had been installed from 9.2 media, and then had up-to-date packages downloaded or ports compiled. And because disk space on the root disk (excluding users' /home directories) is at a premium, I don't want to end up with too much debris (old versions of stuff) on disk.
Which brings up the question. I've read chapter 23 of the manual, about how to upgrade. And I have two DVDs here, with the complete 9.1 and 9.2 installs. In all other OSes I've worked with, you can upgrade from the distribution media, and it simply does a wholesale replacement of all the files on disk (leaving a little bit of a mess with configuration files, but I'll know to back them up first, and I have records of what has been configured and edited). The FreeBSD model is completely different, downloading upgrades over the network, and then moving them into place in little bits.
Obviously, there is a very "clean" but tedious alternative to upgrading: Take the old root disk out, put a blank disk in, do a clean install of 9.2, then do a clean install of all the required packages, and then manually move all configuration over.
The big question is this: what do the experts here recommend? Is there something wrong with my desires or my plan to do one big jump from 9.0 to 9.2, and then park there for a long time?
The small question is this: given that I have downloaded the 9.1 and 9.2 distribution media, can I use that to run the upgrade (as described in the FreeBSD Handbook), instead of downloading all the bits over the network?