You assume that with switch to PKGBASE You will lose the distinction between FreeBSD
Base System and third party packages - and it will be like with
yum(8) on RHEL or like with
apt(8) in Ubuntu ... IT WILL NOT.
Its just the
Base System instead being 'just a bunch of files' - they will be 'organized' and packed into their
pkg(8) compatible packages - and they will be served in a SEPARATE
pkg(8) repository.
That means you can still upgrade just FreeBSD
Base System with specifying the
FreeBSD-base repository - like that:
# pkg upgrade -r FreeBSD-base
You can also upgrade only the packages with this:
# pkg upgrade -r FreeBSD
... and
freebsd-update(8) is far from perfect - HardenedBSD after making the fork from FreeBSD even provided its own not delta based version called
hbsd-update(8) instead.
You can not create your own on premise
freebsd-update(8) infrastructure and update servers - but you can do that with PKGBASE:
-
https://vermaden.wordpress.com/2023/12/09/personal-freebsd-pkgbase-update-server/
You can also convert any
freebsd-update(8) system into PKGBASE if needed:
-
https://vermaden.wordpress.com/2025/07/20/freebsd-pkgbase-pkgbasify-tool/
The
freebsd-update(8) is also VERY interactive which is FAR from ideal for automation or updating large amount of machines or Jails.
... and no matter if you use
freebsd-update(8) or
pkg(8) with PKGBASE just remember to ALWAYS create new ZFS Boot Environments with
beadm(8) or
bectl(8) to have snapshot of a working system before the upgrade.
Hope that helps.