Introduction

FreeBSD is one of the most widely used BSD distributions for servers as it is very up-to-date and offers a very comprehensive port system (more than 16,000 ports available). Additionally, it integrates advanced functions at the source level.

This allows you, for example, to modify parameters to best adapt to your needs, similar to Gentoo.

Precompiled Packages

New Method

The latest method involves using pkgng. To set it up, you need to convert the current database:

1
pkg2ng

Then modify/add this line:

1
/etc/make.conf

And modify the base repository if you cannot access it (as at the time of writing, a security incident has forced the removal of binary packages from the official site):

1
2
packagesite: http://mirror.exonetric.net/pub/pkgng/${ABI}/latest
#packagesite: http://pkgbeta.FreeBSD.org/freebsd:9:x86:32/latest

All that remains is to update the repositories:

1
pkg update

And to install software:

1
pkg install <software>

Old Method

Adding Software

If I want to install lsof with FreeBSD packages:

1
pkg_add -r lsof

Finding Installed Software

pkg_version is a utility that summarizes the versions of all pre-compiled software installed:

1
pkg_version

If you want a description of the software installed on your machine:

1
pkg_info
SymbolsMeanings
=The installed pre-compiled software version is equivalent to that found in the local ports catalog.
<The installed version is older than the one available in the ports catalog.
>The installed version is newer than the one found in the local ports catalog. (The local ports catalog is probably outdated)
?The pre-compiled software cannot be found in the ports catalog index. (This can happen when, for example, installed software is removed from the ports catalog or renamed.)
*There are multiple versions of this pre-compiled software.

Deleting a Package

To delete an installed package:

1
pkg_delete

The Portage System

Searching for a Package

For example, if you are looking for lsof:

# cd /usr/ports
# make search name=lsof
Port:   lsof-4.56.4
Path:   /usr/ports/sysutils/lsof
Info:   Lists information about open files (similar to fstat(1))
Maint:  obrien@FreeBSD.org
Index:  sysutils
B-deps:
R-deps:

You need to use *make search key=string*.

Updating Security Patches

To update security patches:

1
2
freebsd-update fetch
freebsd-update install

If you want to rollback:

1
freebsd-update rollback

You can also be notified when updates are available by adding this line to the crontab:

1
@daily root freebsd-update cron

Updating Your FreeBSD

To upgrade from one version to another, run this command indicating the version you want to upgrade to (here 10.0):

1
freebsd-update -r 10.0-RELEASE upgrade

This command will download updates and merge them. Then reboot, apply the updates:

1
freebsd-update install

Reboot and run this command again.

Last updated 18 Jul 2014, 19:39 CEST. history