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


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 '15 at 14:22
  • See my edit (it's a bit long answer).
    – uzsolt
    Jan 11 '15 at 16:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.