while upgrading my FreeBSD for the first time (from 10.0 --> 10.1) I got confused about the different possibilities.

As far as I understand, freebsd-update does a binary update of FreeBSD like pkg does. After the initial installation, I used ports to install, compile and update my system and I basically wonder, if I can not do the same for a minor upgrade. I am aware, that there is a source fetch and compile option, but it seems to me that (some) security updates then depend on keeping the SVN repository in sync.

a) What's the difference between a a normal program upgrade and a minor system upgrade?

b) Can I use the source distribution and keep it updated by the ports package management (without SVN checkouts)?

Updates from #freebsd @ freenode

RobotsOnDrugs: freebsd-update and the base svn repos are for base, while the ports tree and pkg are for third-party software

1 Answer 1


The freebsd-update and pkg upgrade do very different things.

The freebsd-update will (binary) update your base system. The base system contains everything except /usr/local: check /{,s}bin and /usr/{,s}bin to what programs are shipped with the base system. The parts of base system don't appears in package database, it is a separated infrastructure. The whole base system developed by FreeBSD.

The pkg upgrade does different thing: it upgrades the packages. The packages are in /usr/local, they are "3th-party-apps" - developed by other people/companies/..., not FreeBSD.

a) System upgrade means upgrade the base system (freebsd-upgrade). The program update means upgrade of installed packages (in /usr/local, with pkg upgrade or with ports tree).

b) You can build your packages from ports with your options ("source-based") or you can use packages from repositories ("binary-based"). It's independent from the base system: you can update your base system with freebsd-update ("binary update") and you can build your base system from source.

If you want build packages from ports you should have ports tree. You can checkout with portsnap.

I hope it's clear now.

Update1 if you want build the base system from source, you should rebuild every update - see Rebuilding World. And should syncronize the source of course.

I think if you want a source-based system it's a good option to use binary base system (which contains a compiler (clang in 10.x) too) and build your desired applications (webserver, favorite editor, maybe window managers, browsers, office suite, etc.) from ports.

  • yes, thank you. So if I build the base system from source, how would I receive security updates?
    – Stefan K.
    Jan 11, 2015 at 14:22
  • See my edit (it's a bit long answer).
    – uzsolt
    Jan 11, 2015 at 16:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .