xref: /freebsd/share/man/man7/freebsd-base.7 (revision 72bf56e273cb914e3b00f98e35e7270efd4edddb)
1.\" SPDX-License-Identifier: ISC
2.\"
3.\" Copyright (c) 2025 Lexi Winter.
4.\"
5.\" Permission to use, copy, modify, and distribute this software for any
6.\" purpose with or without fee is hereby granted, provided that the above
7.\" copyright notice and this permission notice appear in all copies.
8.\"
9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16.\"
17.Dd September 25, 2025
18.Dt FREEBSD-BASE 7
19.Os
20.Sh NAME
21.\" .Nm pkgbase
22.Nm freebsd-base
23.Nd base system packages
24.Sh DESCRIPTION
25The
26.Fx
27base system may be installed as a set of
28.Xr pkg 8
29packages, which supersedes the traditional method of installing using
30.Xr tar 1
31archives.
32.Pp
33All base packages have names beginning with the string
34.Dq "FreeBSD-" ,
35and have an origin beginning with
36.Dq base/ .
37In the default system configuration, the repository containing these
38packages is called
39.Dq FreeBSD-base ,
40but any name may be used.
41The repository name can be used with
42.Xr pkg 8
43to restrict package operations to the base system packages.
44.Pp
45Packages for all supported
46.Fx
47releases as well as active
48.Dq STABLE
49and
50.Dq CURRENT
51.\" re@ will provide their own repository before release, at which
52.\" point this text will need updating.
53branches are hosted on the Internet at
54.Lk https://pkg.freebsd.org .
55These packages are updated when new errata or security updates are
56released (for supported release versions), or twice daily for
57development branches.
58.Pp
59Alternatively, packages may be built from the system source tree
60according to the instructions in
61.Xr build 7 ,
62allowing the system to be updated from source code using packages.
63.Sh PACKAGE ORGANISATION
64To allow customisation of the installed system, each package is split
65into several subpackages which contain different components of the
66package.
67For the package
68.Sy FreeBSD-foo ,
69the following subpackages may be available:
70.Bl -column "FreeBSD-foo-dev-lib32" "Description"
71.It Sy "Package name" Ta Sy "Description"
72.It FreeBSD-foo Ta Base files for the package (typically executables)
73.It FreeBSD-foo-lib Ta Native runtime libraries
74.It FreeBSD-foo-lib32 Ta 32-bit compatibility runtime libraries
75.It FreeBSD-foo-dev Ta Development files (headers and static libraries)
76.It FreeBSD-foo-dev-lib32 Ta 32-bit development files
77.It FreeBSD-foo-dbg Ta Debugging symbols
78.It FreeBSD-foo-man Ta Manual pages.
79Manual pages are only packaged separately if the
80.Sy WITH_MANSPLITPKG
81.Xr src.conf 5
82option was enabled when building the system, which is not the default.
83.El
84.Pp
85The exact set of available subpackages differs for each individual
86package.  For example, some packages may not provide any development
87files, in which case the
88.Sy -dev
89subpackage is not present.
90.Sh PACKAGE SETS
91Package sets are meta-packages which do not contain any files
92themselves, but depend on a selection of other packages, such that each
93package set allows the complete set of packages for a supported workload
94to be installed.
95.Pp
96Package sets are provided as packages named
97.Sy FreeBSD-set-<name> .
98The following package sets are available in the base system:
99.Bl -tag -width "minimal-jail"
100.It minimal
101The minimal set of packages required to bring up a multi-user
102.Fx
103system.
104This includes the core system, along with packages required for
105hardware support (such as
106.Xr devmatch 8
107and downloadable firmware), and basic networking, including DHCP and
108IEEE Std 802.11\(tm wireless networks.
109.It minimal-jail
110The equivalent of
111.Sy minimal
112for systems running in a
113.Xr jail 8
114environment.
115This set excludes hardware support not typically required for jails.
116.It devel
117Development tools, including C/C++ compilers, the link loader, and
118other tools such as
119.Xr ar 1
120and
121.Xr nm 1 .
122This set also includes native development files (headers and static
123libraries) for all packages.
124.It lib32
12532-compatibility libraries, for running 32-bit applications on a
12664-bit host system.
127This set includes both runtime libraries and development files.
128.It base
129The complete base system, excluding tests, the system source code,
130and debugging symbols.
131.It base-jail
132The equivalent of
133.Sy base
134for systems running in a
135.Xr jail 8
136environment.
137This set excludes system functionality which typically does not work
138or is not useful in a jail.
139.It src
140The system source tree for the userland and kernel, installed in
141.Pa /usr/src .
142.It tests
143The system test suite, installed in
144.Pa /usr/tests .
145.It kernels
146All available system kernels.
147.El
148.Sh EXAMPLES
149Install the
150.Xr vi 1
151text editor on the running system:
152.Bd -literal -offset indent
153pkg install FreeBSD-vi
154.Ed
155.Pp
156Install a new
157.Xr jail 8
158system using the
159.Sy minimal-jail
160package set:
161.Bd -literal -offset indent
162pkg -r /jails/myjail install FreeBSD-set-minimal-jail
163.Ed
164.Pp
165Install C/C++ compilers on the running system:
166.Bd -literal -offset indent
167pkg install FreeBSD-set-devel
168.Ed
169.Pp
170Apply available updates to the running system:
171.Bd -literal -offset indent
172pkg update -r FreeBSD-base
173.Ed
174.Pp
175Install the development toolchain for FreeBSD/powerpc64le in an
176alternate root (for example, to support cross-compiling software
177for a different target than the host system):
178.Bd -literal -offset indent
179pkg -r /ppcdev -oABI=FreeBSD:16:powerpc64le \e
180    install -r FreeBSD-set-devel
181.Ed
182.Sh SEE ALSO
183.Xr build 7 ,
184.Xr pkg 8 ,
185.Xr src.conf 5
186.Sh HISTORY
187Support for installing the base system as packages was introduced in
188.Fx 15.0 .
189Earlier releases supported a subset of this functionality.
190