Updating the system

From FreeBSDwiki
Revision as of 05:07, 9 March 2005 by Akshat (Talk | contribs)
Jump to: navigation, search

Note: If you only want to install security updates, it's enough to subscribe to FreeBSD security notifications and follow the instructions in each advisory. Otherwise, read on.

In FreeBSD, the base system and ports can be updated independently if desired. Here's how to do it.

Updating the base system

To upgrade to a RELEASE version of FreeBSD, you can do a binary upgrade by running sysinstall from the installation medium (e.g. CDROM). See the release notes of the release for details.

The other option is to build from source. Note: This procedure is not recommended for systems in which stability is critical. Even if you are tracking the stable branch, occasional bugs are to be expected. For greatest stability, stick with the latest stable release version.

To update from source, first get the latest system source (/usr/src/) of the branch you're tracking (stable or current). This can be done via cvsup or ctm (see below). Then follow the steps outlined in upgrading the base system.

Updating applications

Many open-source apps are under active development, so this is something you'll probably want to do quite regularly to ensure that you have the latest versions of everything.

First update the ports tree (/usr/ports/). This can be done via cvsup, ctm or portsnap. The ports can then be automatically updated using portupgrade, which is capable of dealing with dependencies.

How do I download updates?

The most common method used is cvsup (see updating the ports tree). However, you might not be able to use it if you're behind a restrictive firewall (blocking tcp port 5999) or on a weak connection. In that case you can use ctm to obtain differential updates by email or ftp.

For updating the ports tree, a third option is available. Portsnap is an automated tool which offers many advantages over both the other methods:

  • secure (uses cryptographic signing)
  • very efficient in terms of bandwidth consumption and server load
  • uses http only
  • easy to use
Personal tools