The Handbook

    Theme
    • Guides
        • Check a system before installing FreeBSD
        • Orient a Linux administrator on FreeBSD
        • Supported FreeBSD releases
        • Choose a FreeBSD documentation and support channel
        • Move files safely without GNU mv -t
        • Update, upgrade, or update packages?
        • Upgrade 14.4 or 15.0 to FreeBSD 15.1
        • Choose packages, ports, or poudriere
        • Choose the quarterly or latest package branch
        • Choose a FreeBSD download or package mirror
        • Make a system setting persistent
        • Configure locale, keyboard, and time zone
        • Configure a serial console for recovery
        • Choose a custom kernel, module, or loader setting
        • Run a Linux binary with the compatibility layer
        • Check desktop and laptop hardware before installation
        • Choose and check a graphics driver
        • Choose Xorg or Wayland
        • Build a maintainable desktop baseline
        • Install and check a desktop browser
        • Check laptop Wi-Fi, power, and suspend
        • Check multimedia readiness
        • Choose and configure a printing stack
        • Run Windows applications with Wine
        • Snapshot and replicate a ZFS dataset
        • Choose a filesystem and storage layout
        • Operate ZFS without losing the recovery path
        • Restore files from a ZFS snapshot
        • Read ZFS pool health and run a scrub
        • Replace a failed device in a ZFS mirror
        • Replicate a ZFS dataset over SSH
        • Change PF safely on a remote host
        • Configure a narrow WireGuard tunnel
        • Plan a FreeBSD home server
        • Choose a mail server or an outgoing relay
        • Publish a network service safely
        • Choose a jail network model
        • Choose native jails or a jail manager
        • Choose a jail or a bhyve virtual machine
        • Establish a FreeBSD security baseline
        • Choose a MAC policy
        • Audit security-relevant activity
        • Start a DTrace performance investigation
    • Integrations
        • Create a first jail with Bastille
        • Compare jail managers and OCI tooling
        • Publish a Bastille service through PF
        • Mount a ZFS dataset in a Bastille jail
        • Update and upgrade Bastille jails
        • Back up and restore a Bastille jail
        • Prepare bhyve and vm-bhyve
        • Choose NFS or Samba for file sharing
        • Choose ZFS backup automation
        • Operate a signed poudriere repository
        • Manage FreeBSD configuration with Ansible or Salt
        • Run Motion with webcamd on FreeBSD
        • Design a reverse proxy, certificates, and monitoring
    • FAQ
    • Troubleshooting
        • Recover an interrupted freebsd-update run
        • Resolve a package repository or ABI mismatch
        • Diagnose the FreeBSD boot path
        • Recover with a ZFS boot environment
        • Diagnose DNS, routing, and firewall paths
        • Diagnose network mbuf exhaustion
        • Bind a service to a low port without running it as root
        • Diagnose audio output or input
        • Diagnose webcamd, cuse, and a webcam
        • Fix USB device permissions without opening every device
    • About this handbook
    • Is this the official FreeBSD Handbook?
    • Which releases does a guide support?
    • Is pkg upgrade the same as a FreeBSD update?
    • Where should a persistent setting go?
    • Can FreeBSD be used as a desktop or laptop system?
    • Is a ZFS snapshot a backup?
    • Should a workload run in a jail or a virtual machine?
    • Should packages use the quarterly or latest branch?
    • Is the Linux compatibility layer the same as a Linux container?
    • Is a custom kernel normally required?
    • Is a serial login the same as a recovery console?
    • Can a Windows application run without a Windows virtual machine?
    • Should a small server use CUPS or lpd?
    • Does enabling security auditing record everything?
    • How is an error or concern reported?

    FAQ

    Is this the official FreeBSD Handbook? #

    No. This is an independent, task-oriented companion. The authoritative documentation is the official FreeBSD Handbook .

    Which releases does a guide support? #

    Every technical page displays an Applies to line. Tested on is shown only when the complete procedure was exercised. Do not assume that a procedure applies to an older or newer release that is not listed.

    Is pkg upgrade the same as a FreeBSD update? #

    Usually not. On a traditional distribution-set installation, pkg upgrade updates third-party packages while freebsd-update maintains the base system. A pkgbase installation also manages base-system packages with pkg. See Update, upgrade, or update packages? .

    Where should a persistent setting go? #

    Runtime kernel settings normally use /etc/sysctl.conf, loader tunables use /boot/loader.conf, and service settings use /etc/rc.conf. See Make a system setting persistent for the decision process.

    Can FreeBSD be used as a desktop or laptop system? #

    That depends on the exact graphics, Wi-Fi, audio, suspend, browser, and application requirements. A model name alone is not enough evidence. Begin with the desktop and laptop hardware preflight , then prove one maintainable desktop baseline .

    Is a ZFS snapshot a backup? #

    Not by itself. A snapshot normally remains dependent on its source pool. The ZFS operations guide separates local history, independent replication, restore testing, integrity, and redundancy.

    Should a workload run in a jail or a virtual machine? #

    A jail shares the FreeBSD host kernel. A bhyve virtual machine supplies another kernel and a machine-shaped boundary at higher operational cost. See Choose a jail or a bhyve virtual machine .

    Should packages use the quarterly or latest branch? #

    The branch is a system-wide maintenance policy, not a per-package preference. Quarterly favors fewer changes; latest follows the current ports package set more closely. See Choose the quarterly or latest package branch .

    Is the Linux compatibility layer the same as a Linux container? #

    No. It supplies a Linux binary ABI and userland environment on the FreeBSD kernel; it does not supply Linux cgroups, namespaces, or a Linux kernel. See Run a Linux binary with the compatibility layer .

    Is a custom kernel normally required? #

    No. GENERIC plus a documented module, runtime setting, or loader tunable usually has the simpler update and recovery path. A custom kernel needs a stated requirement, matching source, compatible modules, a rebuild owner, and a known-good fallback. See Choose a custom kernel, module, or loader setting .

    Is a serial login the same as a recovery console? #

    No. A login normally appears only after the kernel and init are running. A recovery console may also need firmware, loader, early kernel, and single-user access. See Configure a serial console for recovery .

    Can a Windows application run without a Windows virtual machine? #

    Sometimes. Wine can run compatible Windows applications through FreeBSD host interfaces, but it does not provide a Windows kernel, driver model, or security sandbox. See Run Windows applications with Wine .

    Should a small server use CUPS or lpd? #

    That depends on clients, protocols, driver requirements, discovery, and administrative surface. The base lpd service can fit a small explicit queue; packaged CUPS provides IPP-oriented client and driver integration with additional service and web-interface boundaries. See Choose and configure a printing stack .

    Does enabling security auditing record everything? #

    No. Audit coverage depends on selected events, instrumented paths, login attribution, trail storage, and review. Broad collection can also capture sensitive data and exhaust storage. See Audit security-relevant activity .

    How is an error or concern reported? #

    Select Report a bug in the footer. The link reveals the project’s email address. It can be used for technical corrections, complaints, and other concerns about this independent project.

    For a FreeBSD question, port problem, or reproducible operating-system defect, use the documentation and support channel guide . The footer link contacts only this independent handbook; it does not contact the FreeBSD Project or create a FreeBSD problem report.

    Independent documentation. Not affiliated with or endorsed by the FreeBSD Project or the FreeBSD Foundation.

    Report a bug
    • Is this the official FreeBSD Handbook?
    • Which releases does a guide support?
    • Is pkg upgrade the same as a FreeBSD update?
    • Where should a persistent setting go?
    • Can FreeBSD be used as a desktop or laptop system?
    • Is a ZFS snapshot a backup?
    • Should a workload run in a jail or a virtual machine?
    • Should packages use the quarterly or latest branch?
    • Is the Linux compatibility layer the same as a Linux container?
    • Is a custom kernel normally required?
    • Is a serial login the same as a recovery console?
    • Can a Windows application run without a Windows virtual machine?
    • Should a small server use CUPS or lpd?
    • Does enabling security auditing record everything?
    • How is an error or concern reported?