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