1.\"-
2.\" Copyright 2006 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 August 19, 2009
29.Dt FREEBSD-UPDATE.CONF 5
30.Os FreeBSD
31.Sh NAME
32.Nm freebsd-update.conf
33.Nd configuration file for
34.Xr freebsd-update 8
35.Sh DESCRIPTION
36The
37.Nm
38file controls the behaviour of the
39.Xr freebsd-update 8
40utility.
41The file contains lines consisting of a case-sensitive option name and
42zero or more parameters.
43Empty lines and any part of a line following a
44.Ql #
45character are ignored.
46Unless stated otherwise, specifying an option multiple times is an
47error.
48.Pp
49The possible options and their meanings are as follows:
50.Bl -tag -width ".Cm BackupKernelSymbolFiles"
51.It Cm KeyPrint
52The single parameter following this keyword is the SHA256 hash
53of the RSA key which will be trusted to sign updates.
54.It Cm ServerName
55The single parameter following this keyword is the name of the
56server or server pool from which updates will be downloaded.
57.It Cm Components
58The parameters following this keyword are the components or
59sub-components of
60.Fx
61which will be updated.
62The components are
63.Dq src
64(source code),
65.Dq world
66(non-kernel binaries), and
67.Dq kernel ;
68the sub-components are the individual distribution sets generated as
69part of the release process (e.g.,
70.Dq src/base ,
71.Dq src/sys ,
72.Dq world/base ,
73.Dq world/catpages ,
74.Dq kernel/smp ) .
75Note that prior to
76.Fx 6.1 ,
77the
78.Dq kernel
79component was distributed as part of
80.Dq world/base .
81.Pp
82This option can be specified multiple times, and the parameters
83accumulate.
84.It Cm IgnorePaths
85The parameters following this keyword are regular expressions;
86updates to paths which start with a string matching one of
87these regular expressions will be ignored.
88.Pp
89This option can be specified multiple times, and the parameters
90accumulate.
91.It Cm IDSIgnorePaths
92The parameters following this keyword are regular expressions;
93paths which start with a string matching one of these regular
94expressions will be ignored by "freebsd-update IDS".
95.Pp
96This option can be specified multiple times, and the parameters
97accumulate.
98.It Cm UpdateIfUnmodified
99The parameters following this keyword are regular expressions;
100updates to paths which start with a string matching one of
101these regular expressions will be ignored if the files have
102been modified locally (unless they are merged -- see MergeChanges
103below).
104.Pp
105This option can be specified multiple times, and the parameters
106accumulate.
107.It Cm MergeChanges
108The parameters following this keyword are regular expressions;
109updates to paths which start with a string matching one of
110these regular expressions will be merged with local modifications.
111.Pp
112This option can be specified multiple times, and the parameters
113accumulate.
114.It Cm WorkDir
115The single parameter following this keyword is the directory
116in which temporary files and downloaded updates will be stored.
117.It Cm MailTo
118The single parameter following this keyword is the address
119to which
120.Cm cron
121output will be mailed.
122.It Cm AllowAdd
123The single parameter following this keyword must be
124.Dq yes
125or
126.Dq no
127and specifies whether
128.Cm freebsd-update
129is allowed to create new files, directories, and symlinks if
130these are part of updates downloaded.
131Note that
132.Cm freebsd-update
133will not re-add files which have been deleted from a
134.Fx
135installation unless those files were previously added as part
136of an update.
137.It Cm AllowDelete
138The single parameter following this keyword must be
139.Dq yes
140or
141.Dq no
142and specifies whether
143.Cm freebsd-update
144is allowed to delete files, directories, and symlinks as
145part of updates downloaded.
146.It Cm KeepModifiedMetadata
147The single parameter following this keyword must be
148.Dq yes
149or
150.Dq no
151and specifies whether
152.Cm freebsd-update
153should keep existing file ownership, permissions, and flags
154when installing updates if these have been modified locally.
155.It Cm StrictComponents
156The single parameter following this keyword must be
157.Dq yes
158or
159.Dq no
160and specifies whether
161.Cm freebsd-update
162should interpret the list of components of
163.Fx
164specified via the
165.Cm Components
166option strictly as a list of components installed which
167should be upgraded when the
168.Cm upgrade
169command is used ("yes"), or merely as a list of components
170which might be installed, of which
171.Cm freebsd-update
172should identify which in fact are present ("no").
173.It Cm BackupKernel
174The single parameter following this keyword must be
175.Dq yes
176or
177.Dq no
178and specifies whether
179.Cm freebsd-update
180will create a backup of the old kernel before installing a new kernel.
181This backup kernel can be used to recover a system where the newly
182installed kernel somehow did not work.
183Note that the backup kernel is not reverted to its original state by
184the
185.Cm freebsd-update
186rollback command.
187.It Cm BackupKernelDir
188This keyword sets the directory which is used to store a backup
189kernel, if the BackupKernel feature is enabled.
190If the directory already exist, and it was not created by
191.Cm freebsd-update ,
192the directory is skipped.
193In the case of the primary directory name not being usable, a number
194starting with
195.Sq 1
196is appended to the directory name.
197Like with the primary directory name, the constructed directory name is
198only used if the path name does not exist, or if the directory was
199previously created by
200.Cm freebsd-update .
201If the constructed directory still exist the appended number is
202incremented with 1 and the directory search process restarted.
203Should the number increment go above 9,
204.Cm freebsd-update
205will abort.
206.It Cm BackupKernelSymbolFiles
207The single parameter following this keyword must be
208.Dq yes
209or
210.Dq no
211and specifies whether
212.Cm freebsd-update
213will also backup kernel symbol files, if they exist.
214The kernel symbol files takes up a lot of disk space and are not
215needed for recovery purposes.
216If the symbol files are needed, after recovering a system using the
217backup kernel, the
218.Cm freebsd-update
219rollback command will recreate the symbol files along with the old
220kernel.
221.El
222.Sh FILES
223.Bl -tag -width "/etc/freebsd-update.conf"
224.It /etc/freebsd-update.conf
225Default location of the
226.Cm freebsd-update
227configuration file.
228.El
229.Sh SEE ALSO
230.Xr sha256 1 ,
231.Xr freebsd-update 8
232.Sh AUTHORS
233.An Colin Percival Aq cperciva@FreeBSD.org
234