FreeBSD Manual Pages
FREEBSD-BASE(7) Miscellaneous Information Manual FREEBSD-BASE(7) NAME freebsd-base -- base system packages DESCRIPTION The FreeBSD base system may be installed as a set of pkg(8) packages, which supersedes the traditional method of installing using tar(1) archives. All base packages have names beginning with the string "FreeBSD-", and have an origin beginning with "base/". In the default system configu- ration, the repository containing these packages is called "FreeBSD-base", but any name may be used. The repository name can be used with pkg(8) to restrict package operations to the base system packages. Packages for all supported FreeBSD releases as well as active "STABLE" and "CURRENT" branches are hosted on the Internet at https://pkg.freebsd.org. These packages are updated when new errata or security updates are released (for supported release versions), or twice daily for development branches. Alternatively, packages may be built from the system source tree ac- cording to the instructions in build(7), allowing the system to be up- dated from source code using packages. PACKAGE ORGANISATION To allow customisation of the installed system, each package is split into several subpackages which contain different components of the package. For the package FreeBSD-foo, the following subpackages may be available: Package name Description FreeBSD-foo Base files for the package (typically executa- bles) FreeBSD-foo-lib Native runtime libraries FreeBSD-foo-lib32 32-bit compatibility runtime libraries FreeBSD-foo-dev Development files (headers and static libraries) FreeBSD-foo-dev-lib32 32-bit development files FreeBSD-foo-dbg Debugging symbols FreeBSD-foo-man Manual pages. Manual pages are only packaged separately if the WITH_MANSPLITPKG src.conf(5) option was enabled when building the system, which is not the default. The exact set of available subpackages differs for each individual package. For example, some packages may not provide any development files, in which case the -dev subpackage is not present. PACKAGE SETS Package sets are meta-packages which do not contain any files them- selves, but depend on a selection of other packages, such that each package set allows the complete set of packages for a supported work- load to be installed. Package sets are provided as packages named FreeBSD-set-<name>. The following package sets are available in the base system: minimal The minimal set of packages required to bring up a multi- user FreeBSD system. This includes the core system, along with packages required for hardware support (such as devmatch(8) and downloadable firmware), and basic net- working, including DHCP and IEEE Std 802.11tm wireless networks. minimal-jail The equivalent of minimal for systems running in a jail(8) environment. This set excludes hardware support not typically required for jails. devel Development tools, including C/C++ compilers, the link loader, and other tools such as ar(1) and nm(1). This set also includes native development files (headers and static libraries) for all packages. optional Optional software which is not part of either the devel or minimal sets. optional-jail The equivalent of optional for systems running in a jail(8) environment. This set excludes system function- ality which typically does not work or is not useful in a jail. lib32 32-compatibility libraries, for running 32-bit applica- tions on a 64-bit host system. This set includes both runtime libraries and development files. base The complete base system, excluding tests, the system source code, and debugging symbols. Installing the base set is equivalent to installing minimal, devel and optional. base-jail The equivalent of base for systems running in a jail(8) environment. This set excludes system functionality which typically does not work or is not useful in a jail. Installing the base-jail set is equivalent to installing minimal-jail, devel and optional-jail. src The system source tree for the userland and kernel, in- stalled in /usr/src. tests The system test suite, installed in /usr/tests. kernels All available system kernels. EXAMPLES Install a single piece of userland Install the vi(1) text editor on the running system: pkg install FreeBSD-vi Install userland to a jail Install a new jail(8) system using the minimal-jail package set: pkg -r /jails/myjail install FreeBSD-set-minimal-jail Install native compilers Install C/C++ compilers on the running system: pkg install FreeBSD-set-devel Update the currently running system Apply available updates to the running system: pkg upgrade -r FreeBSD-base Install cross compilers Install the development toolchain for FreeBSD/powerpc64le in an alter- nate root (for example, to support cross-compiling software for a dif- ferent target than the host system): pkg -r /ppcdev -oABI=FreeBSD:16:powerpc64le \ install FreeBSD-set-devel Adding a locally built repository for snapshots Disable the predefined repository, and add a local repo for locally built base system packages: cat << EOF > /usr/local/etc/pkg/repos/FreeBSD.conf FreeBSD-base: { enabled: no } FreeBSD-local: { url: "file:///usr/obj/usr/src/repo/${ABI}/latest", enabled: yes } EOF The packages are created by the build(7) system at ${REPODIR}/${PKG_ABI}/<VERSION>, which defaults to the example direc- tory. Note: The repo must have a different name than the predefined reposi- tory. Unregister a currently running system Systems managed through pkg(8) can be unregistered from the package manager -- for example to upgrade in-place via "make installworld". See build(7). To unregister the base system from the package manager: pkg unregister -fg 'FreeBSD-\*' Then, disable the base system package repository. If a configuration file was created in /usr/local/etc/pkg/repos/ to enable base system packages, remove it: rm /usr/local/etc/pkg/repos/FreeBSD-base.conf Alternatively, if it is desired to keep it, edit the file and change "enabled:" to "no" to disable the entry. Warning: This is a destructive action which will prevent updating the base system via pkg(8). SEE ALSO build(7), pkg(8), src.conf(5) HISTORY Support for installing the base system as packages was introduced in FreeBSD 15.0. Earlier releases supported a subset of this functional- ity. Support for unregistering an existing installation appeared in pkg 2.5. CAVEATS Upgrading from a RELEASE to a STABLE or CURRENT branch requires "pkg upgrade -f". FreeBSD 16.0 CURRENT April 23, 2026 FREEBSD-BASE(7)
NAME | DESCRIPTION | PACKAGE ORGANISATION | PACKAGE SETS | EXAMPLES | SEE ALSO | HISTORY | CAVEATS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pkgbase&sektion=7&manpath=FreeBSD+16.0-CURRENT>
