Size: 2380
Comment:
|
Size: 2809
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 22: | Line 22: |
=== 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 }}} |
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.
Contents
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.