Nachdem FreeBSD 11.2 nun aktuell ist wurde es natürlich Zeit alles auf diese Version zu haben. FreeBSD macht es einem zum Glück sehr einfach mittels freebsd-update.

Ein Upgrade auf eine neue Version sieht im Groben immer so aus:

root@hostname:/ # freebsd-update -r 11.1-RELEASE upgrade
root@hostname:/ # freebsd-update install
root@hostname:/ # reboot
root@hostname:/ # freebsd-update install
root@hostname:/ # Alle möglichen Programme auf den aktuellen Stand bringen (aus den ports oder die fertigen Pakete mit pkg).
root@hostname:/ # freebsd-update install
root@hostname:/ # fertig.. (vielleicht noch zpool upgrade)

FreeBSD trennt (ganz grob gesehen) das eigentliche System und die Anwendungen. Man zerlegt sich also nicht so leicht wie mit einem „dist upgrade“ sein System. Zusammen mit Boot Environments wie in Solaris und auch der Rollbackfunktion kommt man eigentlich immer schnell wieder auf ein sauberes System, wenn wirklich mal etwas schief gehen sollte.

Setzt man auf kein spezielles Management für seine Jails kommen die Jails über den gleichen Weg auf die neue Version.

root@hostname:/ # service jail status
 JID             IP Address      Hostname                      Path
 test            10.18.10.200   test.test          /zroot/jails/test
root@hostname:/ # freebsd-update -r 11.2-RELEASE upgrade -b /zroot/jails/test
root@hostname:/ # freebsd-update install -b /zroot/jails/test
root@hostname:/ # service jail restart test
Stopping jails: test.
Starting jails: test.
root@hostname:/ # freebsd-update install -b /zroot/jails/test
root@hostname:/ # Alle möglichen Programme auf den aktuellen Stand bringen (aus den ports oder die fertigen Pakete mit pkg).
root@hostname:/ # freebsd-update install -b /zroot/jails/test
root@hostname:/ # fertig..

Leider war in meinem Fall freebsd-update fest davon überzeugt, dass die Jail schon auf Version 11.2 ist. War die Jail aber nicht:

root@hostname:/ # jexec test freebsd-version
11.1-RELEASE-p9

Man kann freebsd-update in solchen Fällen fest vorgeben welche Version aktuell in der Jail läuft und so dieses Problem erschlagen:

root@hostname:/ # freebsd-update -b /zroot/jails/test --currently-running 11.1-RELEASE-p9 -r 11.2-RELEASE upgrade

Zack schon ist alles auf der richtigen Version 😀