tips.paddyonline.net

If you need tips & tricks, here they are...

Joomla! AddThis

Share

FreeBSD 6.2 to FreeBSD 7.x Upgrade Path

FreeBSD 6.2 to FreeBSD 7.x Upgrade Path

This is how I've done a few updates from FreeBSD 6.2-RELEASE to 7.2-RELEASE. Observe that I do not think this is a recommended or supported way to do it. I've done 2 or 3 updates in this fashion in Multi-User enviroment.

First of all make sure you have the latest utilities needed. I have always updated to the latest current version of the release I have before starting the update sequence - simply because I think all upgrades should be done on a solid ground. If possible make sure you have a solid and working system backup of all essential data and configurations.

Prerequisites

Some fundamental requierments for doing this is that you have some, or even good, knowledge of how FreeBSD works.

Utilities used

In this text I use mostly system utilities that come with FreeBSD core system nowdays.

  • freebsd-update
  • portsnap

But also the port

  • portupgrade

 

And my self-written script

First Step - update freebsd-update

freebsd-update

This is the main utility to update freebsd core from binaries. To make sure you have the latest release do this

> fetch <a href="http://people.freebsd.org/%7Ecpercival/freebsd-update-upgrade.tgz">http://people.freebsd.org/~cpercival/freebsd-update-upgrade.tgz</a><a class="external autonumber" href="http://people.freebsd.org/%7Ecpercival" rel="nofollow">[1]</a> 
> tar xf freebsd-update-upgrade.tgz

Once this is done you will have to new files in the current path

freebsd-update.conf
freebsd-update.sh 

make sure freebsd-update.sh is executable.

Second Step - first update of FreeBSD 6.2

This is basically how I do it

Shutdown various system utilities like

cron
apache
ntpd
firewall (yes shut it down and make sure you open for everyone by default)

Start the update

> sh ./frebsd-update.sh -f freebsd-update.conf fetch
> sh ./frebsd-update.sh -f freebsd-update.conf install

follow the instructions from freebsd-update - all the way including update all ports (this will also make sure you can actually update all your ports when we get to 7.x update).

Fourth step - update to latest 7.x

 This is the final step to 7.x .. here comes a little snag. If you, like me, use a VMWare enviroment you've probably set

hint.apic.0.disabled=1

in /boot/loader.conf which fixes the timing issues with vmware. This how ever is not needed with 7.x and later. Before you start this update sequence out comment the above. In my case I left it there and the update failed because FreeBSD couldn't mount it's root file system anymore.

Ok so for the actual update.. again

> sh ./freebsd-update.sh -f freebsd-update.conf -r 7.2-RELEASE upgrade
> sh ./freebsd-update.sh -f freebsd-update.conf -r 7.2-RELEASE install

again follow the instructions from freebsd-update.

Final words

Between the updates I also updated my ports tree to make sure I had the last known ports once I had finished my updates. I created my own script to update all ports I had installed - some machines have over 200 ports.. and to update them all manually just takes to long. Even tho I have and use portupgrade it's still a time consuming task to fiddle around with re-installations. You can find the script I use here. I do not recommend anyone to do this. It takes a very very long time and you might end up with a unusable system in the end. The easiest and I think best way is to simply re-install the machine from scratch. It is probably both faster and more economical in the end.

I believe this can also be used to update to latest x.x-RELEASE but I haven't tested that myself.

Add comment

Security code
Refresh

Please consider supporting our efforts.


We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.