Differences between revisions 2 and 7 (spanning 5 versions)
Revision 2 as of 2020-07-10 23:18:05
Size: 2011
Comment:
Revision 7 as of 2022-05-17 02:14:03
Size: 2809
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= FreeBSD Setup = = FreeBSD =
Line 15: Line 15:
While ARM's aarch64 (a.k.a. armv8) is not a Tier 1 supported platform, [[https://wiki.freebsd.org/action/show/arm/Raspberry%20Pi?action=show&redirect=FreeBSD%2Farm%2FRaspberry+Pi#Pre-Built_Images|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.
Line 17: Line 17:
`dd` the image onto your device, and the rest will explain itself. ----
Line 21: Line 21:
----
Line 25: Line 23:
=== Software Installation ===
Line 27: Line 24:
Official repositories are managed with the '''pkg''' package manager. To update installed packages, use `pkg update && pkg upgrade`. To add a package such as HAProxy, use `pkg install haproxy`.
Line 29: Line 25:
The '''ports''' project maintains a hierarchy of Makefiles to compile a much larger variety of packages on FreeBSD. To initialize the ports hierarchy locally to `/usr/ports`, run `portsnap fetch && portsnap extract`. Subsequently, to update the hierarchy, run `portsnap fetch && portsnap update`. === Operating System Updates ===
Line 31: Line 27:
Alternatively, clone the Subversion repository of the ports project. Updates to the operating system are handled by `freebsd-update(8)`.

Each minor and major version release will have it's own upgrade notes. The general process is:

{{{
# run current version updates
freebsd-update fetch
freebsd-update install

# fetch new version updates
freebsd-update upgrade -r MAJOR.MINOR-RELEASE
freebsd-update install

# reboot
shutdown -r now
}}}



=== 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:
Line 38: Line 102:
Use `pkg version -l "<"` to list ports packages that are out of date.

==== 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.

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.

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


Administration

Operating System Updates

Updates to the operating system are handled by freebsd-update(8).

Each minor and major version release will have it's own upgrade notes. The general process is:

# run current version updates
freebsd-update fetch
freebsd-update install

# fetch new version updates
freebsd-update upgrade -r MAJOR.MINOR-RELEASE
freebsd-update install

# reboot
shutdown -r now

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

BSD/FreeBSD (last edited 2023-01-08 23:16:03 by DominicRicottone)