This weekend I was having an issue updating chromium (chrome for FreeBSD) on my FreeBSD laptop and I finally succumbed and went on the boards and was told that my version 9.0 was EOL. Crap!! Since I have 3 9.0 systems at the house I taught myself how to upgrade to 9.1 and vetted the upgrade against my other two machines. The biggest gotcha I found was to make sure the system is as up to date as possible (ie I couldn’t update chromium one one), I left another system with 35 patches on it and let’s just say things didn’t go well on that system. I was lucky enough it was VM and smart enough to clone the system that gave me a problem so I was able to test this a few times.
Here are the steps I took to perform the upgrade
#Update your ports tree
sudo portsnap fetch update
#Determine what packages require updating
sudo portversion |grep –v \=
#To update all packages out of date or pass the packages to upgrade individually to portupgrade
sudo portupgrade –rRv ` portversion |grep –v \=`
#Prepare the upgrade
sudo freebsd-update fetch install
#If patches were installed reboot
sudo shutdown –r now
#Upgrade to 9.1 release
sudo freebsd-update upgrade –r 9.1-RELEASE
sudo freebsd-update install
#Reboot to the new kernel
sudo shutdown –r now
#Update needs to run again against userland components
sudo freebsd-update install
#I hear with 8.X you have to run the last command again to rebuild 3rd party packages but it said no packages when I did it on 9.1 Kernel from 9.0, I’ll be testing upgrading from 8.3 later this week.
#Reboot to the 9.1 release
sudo shutdown –r now