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