2 .\" Copyright 2006, 2007 Colin Percival
3 .\" All rights reserved
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted providing that the following conditions
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
18 .\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
22 .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
23 .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 .\" POSSIBILITY OF SUCH DAMAGE.
31 .Nd fetch and install binary updates to FreeBSD
36 .Op Fl -currently-running Ar release
41 .Op Fl -not-running-from-cron
42 .Op Fl r Ar newrelease
49 tool is used to fetch, install, and rollback binary
53 .Sh BINARY UPDATES AVAILABILITY
54 Binary updates are not available for every single
56 version and architecture.
58 In general, binary updates are available for ALPHA, BETA, RC, and RELEASE
62 .Bl -item -offset indent -compact
72 They are not available for branches such as PRERELEASE, STABLE, and CURRENT,
74 .Bl -item -offset indent -compact
85 Security Team only builds updates for releases shipped in binary form by the
87 Release Engineering Team.
89 The following options are supported:
90 .Bl -tag -width "-r newrelease"
92 Operate on a system mounted at
96 or as given in the configuration file.)
98 Store working files in
101 .Pa /var/db/freebsd-update/ ,
102 or as given in the configuration file.)
104 Read configuration options from
107 .Pa /etc/freebsd-update.conf )
111 to proceed in the case of an unfinished upgrade.
113 Operate on the given jail specified by
117 (The version of the installed userland is detected and the
118 .Fl -currently-running
119 option is no more required.)
121 Trust an RSA key with SHA256 of
123 (default: read value from configuration file.)
124 .It Fl r Ar newrelease
125 Specify the new release (e.g., 11.2-RELEASE) to which
128 .Pq Cm upgrade No command only .
130 Fetch files from the specified server or server pool.
131 (default: read value from configuration file.)
137 (default: root, or as given in the configuration file.)
138 .It Fl -not-running-from-cron
141 to proceed when there is no controlling
143 This is for use by automated scripts and orchestration tools.
148 or similar using this flag, see:
150 .It Fl -currently-running Ar release
151 Do not detect the currently-running release; instead, assume that the system is
152 running the specified
154 This is most likely to be useful when upgrading jails.
159 can be any one of the following:
160 .Bl -tag -width "rollback"
162 Based on the currently installed world and the configuration options set, fetch
163 all available binary updates.
165 Sleep a random amount of time between 1 and 3600 seconds, then download updates
169 If updates are downloaded, an email will be sent (to root or a different
170 address if specified via the
172 option or in the configuration file).
173 As the name suggests, this command is designed for running from
175 the random delay serves to minimize the probability that a large number of
176 machines will simultaneously attempt to fetch updates.
178 Fetch files necessary for upgrading to a new release.
179 Before using this command, make sure that you read the announcement and release
180 notes for the new release in case there are any special steps needed for
182 Note that this command may require up to 500 MB of space in
184 depending on which components of the
186 base system are installed.
188 Check if there are fetched updates ready to install.
189 Returns exit code 2 if there are no updates to install.
191 Install the most recently fetched updates or upgrade.
192 Returns exit code 2 if there are no updates to install and the
194 command wasn't passed as an earlier argument in the same invocation.
196 Uninstall the most recently installed updates.
198 Compare the system against a "known good" index of the installed release.
200 Show configuration options after parsing conffile and command line options.
205 If your clock is set to local time, adding the line
207 .Dl 0 3 * * * root /usr/sbin/freebsd-update cron
211 will check for updates every night.
212 If your clock is set to UTC, please pick a random time other than 3AM, to avoid
213 overly imposing an uneven load on the server(s) hosting the updates.
215 In spite of its name,
217 IDS should not be relied upon as an "Intrusion Detection System", since if the
218 system has been tampered with it cannot be trusted to operate correctly.
219 If you intend to use this command for intrusion-detection purposes, make sure
220 you boot from a secure disk (e.g., a CD).
223 .Bl -tag -width "PAGER"
225 The pager program used to present various reports during the execution.
228 .Dq Pa /usr/bin/less .
234 when a non-interactive pager is desired.
237 .Bl -tag -width "/etc/freebsd-update.conf"
238 .It Pa /etc/freebsd-update.conf
239 Default location of the
242 .It Pa /var/db/freebsd-update/
243 Default location where
245 stores temporary files, downloaded updates, and files required for rollback.
247 .Pa /var/db/freebsd-update/
248 may be deleted if an upgrade is not in progress and rollback will not be
252 .Xr freebsd-version 1 ,
254 .Xr freebsd-update.conf 5 ,
257 .An Colin Percival Aq Mt cperciva@FreeBSD.org
259 In patch level situations – for example, 13.2-RELEASE-p1 up to
260 13.2-RELEASE-p2: if any previous modification to a file in
262 will conflict with an available update, then
264 will make no attempt to merge.
267 will print a list of affected locally-modified files.