FreeBSD

FreeBSD is one of the most popular branches of the BSD project, and one of the oldest open-source branches. It emphasizes security through design and offers a featureful packaging toolchain.


Installation

Grab an image from the official repositories. You likely will want either the -memstick.img or the mini-memstick.img images. The former is larger, the latter requires an internet conection during installation.

While ARM's aarch64 (a.k.a. armv8) is not a Tier 1 supported platform, pre-built images are available for all major versions of the Raspberry Pi. Just keep in mind that it isn't possible to upgrade the release in-place.

dd the image onto your device, and the rest will explain itself.


Administration

Packages

Binary packages are managed with the pkg(8) package manager.

To update installed packages, use pkg update && pkg upgrade.

To add a package such as HAProxy, use pkg install haproxy.

Ports

The ports project maintains a hierarchy of Makefiles to compile a much larger variety of software on FreeBSD.

Portsnap

The portsnap(8) exists to aid in maintaining ports. First, run portsnap fetch && portsnap extract. This downloads the hierarchy locally to /usr/ports.

To update the hierarchy, run portsnap fetch && portsnap update.

Git

Alternatively, clone the git(1) repository of the project.

pkg install git
git clone https://git.FreeBSD.org/ports.git /usr/ports

# or, clone a quarterly release
git clone https://git.FreeBSD.org/ports.git -b 2020Q3 /usr/ports

Subsequently, to update the repository, run:

# if using a quarterly branch, switch to the updated one
git -C /usr/ports switch 2020Q4

git -C /usr/ports pull

Subversion

Historically the project used a svn(1) repository. The process was:

pkg install subversion
svn checkout https://svn.FreeBSD.org/ports/head /usr/ports

Querying Software

Use pkg version -l "<" to list software that is out of date.

Use pkg query --all '%o %n-%v %R' | grep -e 'unknown-repository' to list software that was installed via the ports project.

Services

FreeBSD uses BSD init for services. To enable SSH, edit /etc/rc.conf with:

sshd_enable="YES"

This enables the service. To start it immediately, run service sshd start.


CategoryRicottone