]> CyberLeo.Net >> Repos - FreeBSD/releng/10.1.git/blob - usr.sbin/freebsd-update/freebsd-update.8
Fix bug with freebsd-update(8) that does not ensure the previous
[FreeBSD/releng/10.1.git] / usr.sbin / freebsd-update / freebsd-update.8
1 .\"-
2 .\" Copyright 2006, 2007 Colin Percival
3 .\" All rights reserved
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted providing that the following conditions
7 .\" are met:
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.
13 .\"
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.
25 .\"
26 .\" $FreeBSD$
27 .\"
28 .Dd March 2, 2015
29 .Dt FREEBSD-UPDATE 8
30 .Os FreeBSD
31 .Sh NAME
32 .Nm freebsd-update
33 .Nd fetch and install binary updates to FreeBSD
34 .Sh SYNOPSIS
35 .Nm
36 .Op Fl b Ar basedir
37 .Op Fl d Ar workdir
38 .Op Fl f Ar conffile
39 .Op Fl F
40 .Op Fl k Ar KEY
41 .Op Fl r Ar newrelease
42 .Op Fl s Ar server
43 .Op Fl t Ar address
44 .Op Fl -not-running-from-cron
45 .Cm command ...
46 .Sh DESCRIPTION
47 The
48 .Nm
49 tool is used to fetch, install, and rollback binary
50 updates to the FreeBSD base system.
51 Note that updates are only available if they are being built for the
52 FreeBSD release and architecture being used; in particular, the
53 .Fx
54 Security Team only builds updates for releases shipped in binary form
55 by the
56 .Fx
57 Release Engineering Team, e.g.,
58 .Fx
59 9.3-RELEASE and
60 .Fx
61 10.1-RELEASE, but not
62 .Fx
63 9.3-STABLE or
64 .Fx
65 11-CURRENT.
66 .Sh OPTIONS
67 The following options are supported:
68 .Bl -tag -width "-r newrelease"
69 .It Fl b Ar basedir
70 Operate on a system mounted at
71 .Ar basedir .
72 (default:
73 .Pa / ,
74 or as given in the configuration file.)
75 .It Fl d Ar workdir
76 Store working files in
77 .Ar workdir .
78 (default:
79 .Pa /var/db/freebsd-update/ ,
80 or as given in the configuration file.)
81 .It Fl f Ar conffile
82 Read configuration options from
83 .Ar conffile .
84 (default:
85 .Pa /etc/freebsd-update.conf )
86 .It Fl F
87 Force
88 .Nm Cm fetch
89 to proceed where it normally would not, such as an unfinished upgrade
90 .It Fl k Ar KEY
91 Trust an RSA key with SHA256 of
92 .Ar KEY .
93 (default: read value from configuration file.)
94 .It Fl r Ar newrelease
95 Specify the new release to which
96 .Nm
97 should upgrade (upgrade command only).
98 .It Fl s Ar server
99 Fetch files from the specified server or server pool.
100 (default: read value from configuration file.)
101 .It Fl t Ar address
102 Mail output of
103 .Cm cron
104 command, if any, to
105 .Ar address .
106 (default: root, or as given in the configuration file.)
107 .It Fl -not-running-from-cron
108 Force
109 .Nm Cm fetch
110 to proceed when there is no controlling tty.
111 This is for use by automated scripts and orchestration tools.
112 Please do not run
113 .Nm Cm fetch
114 from crontab or similar using this flag, see:
115 .Nm Cm cron
116 .El
117 .Sh COMMANDS
118 The
119 .Cm command
120 can be any one of the following:
121 .Bl -tag -width "rollback"
122 .It Cm fetch
123 Based on the currently installed world and the configuration
124 options set, fetch all available binary updates.
125 .It Cm cron
126 Sleep a random amount of time between 1 and 3600 seconds,
127 then download updates as if the
128 .Cm fetch
129 command was used.
130 If updates are downloaded, an email will be sent
131 (to root or a different address if specified via the
132 .Fl t
133 option or in the configuration file).
134 As the name suggests, this command is designed for running
135 from
136 .Xr cron 8 ;
137 the random delay serves to minimize the probability that
138 a large number of machines will simultaneously attempt to
139 fetch updates.
140 .It Cm upgrade
141 Fetch files necessary for upgrading to a new release.
142 Before using this command, make sure that you read the
143 announcement and release notes for the new release in
144 case there are any special steps needed for upgrading.
145 Note that this command may require up to 500 MB of space in
146 .Ar workdir
147 depending on which components of the
148 .Fx
149 base system are installed.
150 .It Cm install
151 Install the most recently fetched updates or upgrade.
152 .It Cm rollback
153 Uninstall the most recently installed updates.
154 .It Cm IDS
155 Compare the system against a "known good" index of the
156 installed release.
157 .El
158 .Sh TIPS
159 .Bl -bullet
160 .It
161 If your clock is set to local time, adding the line
162 .Pp
163 .Dl 0 3 * * * root /usr/sbin/freebsd-update cron
164 .Pp
165 to /etc/crontab will check for updates every night.
166 If your clock is set to UTC, please pick a random time
167 other than 3AM, to avoid overly imposing an uneven load
168 on the server(s) hosting the updates.
169 .It
170 In spite of its name,
171 .Nm
172 IDS should not be relied upon as an "Intrusion Detection
173 System", since if the system has been tampered with
174 it cannot be trusted to operate correctly.
175 If you intend to use this command for intrusion-detection
176 purposes, make sure you boot from a secure disk (e.g., a CD).
177 .El
178 .Sh FILES
179 .Bl -tag -width "/etc/freebsd-update.conf"
180 .It Pa /etc/freebsd-update.conf
181 Default location of the
182 .Nm
183 configuration file.
184 .It Pa /var/db/freebsd-update/
185 Default location where
186 .Nm
187 stores temporary files and downloaded updates.
188 .El
189 .Sh SEE ALSO
190 .Xr freebsd-update.conf 5
191 .Sh AUTHORS
192 .An Colin Percival Aq cperciva@FreeBSD.org