I'm not sure if everyone knows yet or not because they haven't updated the main site yet, but FreeBSD 10.3 is released. So that means it's update time again. I figured since I now have multiple jails and poudriere I would write up how my update process went this time. First I updated the main OS:
freebsd-update -r 10.3-RELEASE upgrade
I then did a:
This time I had modified my sshd config a bit, so the merger asked me a few questions on that. I corrected the diff to my liking and it moved on. It then informed me to reboot, so I did. I then ran the second:
And that seemed to work fine.
Since I don't really use my poudriere for my main host machine, just some jail packages, I did a forced package upgrade:0
pkg upgrade -f
And that went well too. I wanted to update my poudriere jail before proceeding with any other jails. So instead of the normal:
poudriere jail -u -j freebsd:10:x86:64
Command I run to update to the security release, I did:
poudriere jail -u -t 10.3-RELEASE -j freebsd:10:x86:64
Which takes a little while. Since it's a bigger update, I'm going to run:
poudriere options -cf /usr/local/etc/poudriere.d/pkglist.txt
To make sure that no options have changed for programs, or new options added. Then I will proceed with the normal build:
poudriere bulk -f /usr/local/etc/poudriere.d/pkglist.txt -j freebsd:10:x86:64
Had I updated to 11, I would have renamed the jail or just made a new one. I guess we will find out and cover that soon when 11 is released.
Now it's time to update all my iocage jails. The first thing to do is run:
Then select the new release. In our case right now, 10.3-RELEASE. Then let iocage do its thing and make a new base jail. Now you can use the upgrade function not update to update jails. I like starting with my template first:
iocage upgrade mytemplate
If you forgot the name of your templates, you can use:
iocage list -t
Once that is done you can proceed to upgrade other jails and test them out. Remember iocage uses ZFS and will make snap shots, so you can easily rollback. Once you are happy you can remove those snapshots, but I would leave them for a while on a bigger update. They should take up very little space.
Then update the packages in your template and all your jails. You can use your favorite method to do so, (console, chroot, or like me a custom script).
And that's pretty much it. You should check as stated above that you are happy with all the updates, make sure all services are running, etc.