diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
| commit | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch) | |
| tree | adf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man8/etcupdate.8 | |
| parent | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff) | |
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man8/etcupdate.8')
| -rw-r--r-- | static/netbsd/man8/etcupdate.8 | 467 |
1 files changed, 467 insertions, 0 deletions
diff --git a/static/netbsd/man8/etcupdate.8 b/static/netbsd/man8/etcupdate.8 new file mode 100644 index 00000000..58a5c3f0 --- /dev/null +++ b/static/netbsd/man8/etcupdate.8 @@ -0,0 +1,467 @@ +.\" $NetBSD: etcupdate.8,v 1.27 2022/01/14 22:55:10 lukem Exp $ +.\" +.\" Copyright (c) 2001-2022 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Martti Kuparinen. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd January 15, 2022 +.Dt ETCUPDATE 8 +.Os +.Sh NAME +.Nm etcupdate +.Nd update the configuration and startup files in +.Pa /etc +.Sh SYNOPSIS +.Nm +.Op Fl alv +.Op Fl d Ar destdir +.Op Fl p Ar pager +.Op Fl s Pq Ar srcdir | Ar tgzdir | Ar tgzfile +.Op Fl t Ar temproot +.Op Fl w Ar width +.Nm +.Pq Fl h | Fl \&? +.Sh DESCRIPTION +.Nm +is a tool that lets the administrator update the configuration and +startup files in +.Pa /etc +(and some other directories like +.Pa /dev , +.Pa /root +and +.Pa /var ) +without having to manually check and modify every file. +The administrator should run this script after performing an operating +system update (e.g. after running +.Pa make build +in +.Pa /usr/src +or after extracting new binary distribution files) +to update to the latest configuration and startup files. +.Pp +.Nm +compares the new configuration files against the currently installed files. +The user is given the option of installing, merging or deleting each +modified or missing file. +The user can also view the differences between the files. +By default, it shows the differences in the unified diff format. +The default format can be toggled to show the differences +in unified, context, or side by side formats or an user-defined +command may be used to view differences. +(And if +.Nm wdiff +is installed, it can also show differences on a word by word basis.) +.Pp +.Nm +also detects if the user installs certain special files and performs +corresponding tasks like remaking device nodes or rebuilding a database +from the +.Xr aliases 5 +file. +Finally, +.Nm +runs +.Xr postinstall 8 +to check the results. +.Pp +.Nm +needs a clean set of new configuration files to compare the +existing files against. +These files, called the +.Dq reference files +in this manual, may be derived from either a source or binary +distribution of +.Nx . +.Pp +If the user is updating from sources (which is the default mode), +.Nm +will first create a copy of the reference files +by running +.Pa make distribution +in +.Pa /usr/src/etc , +installing the files to a so-called +.Pa temproot . +(See usage of the +.Fl s Ar srcdir +and +.Fl t Ar temproot +options later in this manual page.) +Although this is the default mode, it is not recommended +(see the +.Dq BUGS +section). +.Pp +Instead of using sources, it is recommended that the user should extract +one or more binary distribution sets in a special location and use those +as the reference files (see usage of the +.Fl s Ar tgzdir +option later in this manual page), +or specify one or more binary distribution sets directly +(see usage of the +.Fl s Ar tgzfile +option later in this manual page). +.Pp +The following options are available: +.Bl -tag -width XXtXtemprootX +.It Fl a +.Nm +can automatically update files which have not been modified locally. +The +.Fl a +flag instructs +.Nm +to store MD5 checksums in +.Pa /var/etcupdate +and use these checksums to determine if there have been any +local modifications. +.It Fl d Ar destdir +Use +.Ar destdir +instead of +.Pa / +as the top of the file system hierarchy to be updated. +For example, +.Ar destdir Ns Pa /etc +will be used instead of +.Pa /etc . +.It Fl h +Display help to stdout, and exit. +.It Fl l +Automatically skip files with unchanged RCS IDs. +This has the effect of leaving alone files that have been altered +locally but which have not been changed in the +reference files. +Since this works using RCS IDs, files without RCS IDs will not be +skipped even if only modified locally. +This flag may be used together with the +.Fl a +flag described above. +.It Fl p Ar pager +The pager to use when displaying files. +By default this is +.Xr more 1 +but it can be changed either with this option +or by defining the +.Ev PAGER +variable. +.It Fl s Pq Ar srcdir | Ar tgzdir | Ar tgzfile +The location of the reference files, or the +.Nx +source files used to create the reference files. +This may be specified in one of three ways: +.Bl -tag -width XXsXtgzfileXX +.It Fl s Ar srcdir +The top level directory of the +.Nx +source tree. +By default this is +.Pa /usr/src +but it can be changed either with this option +or the +.Ev SRCDIR +variable. +The reference files will be created by running +.Dq "make distribution" +in the +.Ar srcdir Ns Pa /etc +directory. +Note that +.Ar srcdir +should refer to the top of the source directory tree; +earlier versions of +.Nm +expected +.Ar srcdir +to refer to the +.Pa etc +subdirectory within the source tree. +.It Fl s Ar tgzdir +A directory in which reference files have been +extracted from a binary distribution of +.Nx . +The files that are distributed in the +.Dq Pa etc.tgz +or +.Dq Pa etc.tar.xz +set file must be present. +The files that are distributed in the +.Dq Pa xetc.tgz +or +.Dq Pa xetc.tar.xz +set file are optional. +The reference files from the specified directory will be copied to the +.Pa temproot +directory. +.It Fl s Ar tgzfile +The location of a set file +(or +.Dq "tgz file" ) +such as +.Dq Pa etc.tgz , +.Dq Pa etc.tar.xz +or +.Dq Pa xetc.tgz +from a binary distribution of +.Nx . +Each set file is a compressed archive containing reference files, +which will be extracted to the +.Pa temproot +directory. +Multiple +.Fl s +options may be used to specify multiple set files. +The +.Dq Pa etc.tgz +or +.Dq Pa etc.tar.xz +set file must be specified. +The +.Dq Pa xetc.tgz +or +.Dq Pa xetc.tar.xz +set file is optional. +.El +.It Fl t Ar temproot +Specifies the location of the +.Pa temproot +directory. +This directory will be used for a temporary copy of +the reference files created by running +.Dq "make distribution" +in the source directory specified by +.Fl s Ar srcdir , +or a temporary copy of the reference files extracted from +the binary sets specified by +.Fl s Ar tgzfile , +or a temporary copy of the reference files from the directory specified by +.Fl s Ar tempdir . +By default this is +.Pa /tmp/temproot +but can be changed either with this option or the +.Ev TEMPROOT +environment variable. +.It Fl v +Makes +.Nm +verbose about its actions. +.It Fl w Ar width +Sets screen width used during interactive merge. +By default this is the number of columns +.Xr stty 1 +reports but it can be changed either with this +option or by defining the +.Ev WIDTH +variable. +This is useful for +.Xr xterm 1 +users with wider shell windows. +.It Fl \&? +Display help to stdout, and exit. +.El +.Sh ENVIRONMENT +.Bl -tag -width IGNOREFILESXX +.It Ev TEMPROOT +Sets a default value for +.Pa temproot . +See +.Fl t +above. +.It Ev SRCDIR +The location of the +.Nx +sources files. +See +.Fl s +above. +.It Ev PAGER +The pager to use when displaying files. +See +.Fl p +above. +.It Ev WIDTH +The screen width used during interactive merge. +See +.Fl w +above. +.It Ev IGNOREFILES +A list of files that +.Nm +should ignore. +Files listed in this +variable will never be considered for updating by +.Nm . +.El +.Sh FILES +The environment variables can also be defined in the following configuration +files. +The user's personal configuration file settings override the global +settings. +.Pp +/etc/etcupdate.conf +.Pp +~/.etcupdaterc +.Sh EXAMPLES +You have just upgraded your +.Nx +host from 3.0 to 4.0 and now it's time +to update the configuration files as well. +To update the configuration files from the sources (if you have the +.Pa /usr/src/etc +directory): +.Pp +.Dl etcupdate +.Pp +The default location of the source files is +.Pa /usr/src +but this may be overridden with the +.Fl s Ar srcdir +command line argument: +.Pp +.Dl etcupdate -s /some/where/src +.Pp +To update the configuration files from binary distribution sets +do something like this: +.Pp +.Dl etcupdate -s /some/where/etc.tgz -s /some/where/xetc.tgz +.Pp +or like this: +.Pp +.Dl mkdir /tmp/temproot +.Dl cd /tmp/temproot +.Dl tar -xpzf /some/where/etc.tgz +.Dl tar -xpzf /some/where/xetc.tgz +.Dl etcupdate -s /tmp/temproot +.Pp +You have modified only few files in the +.Pa /etc +directory so you would like install most of the updates without being asked. +To automatically update the unmodified configuration files: +.Pp +.Dl etcupdate -a +.Pp +To get a better idea what's going on, use the +.Fl v +flag: +.Pp +.Dl etcupdate -v +.Sh SEE ALSO +.Xr cmp 1 , +.Xr more 1 , +.Xr rcs 1 , +.Xr sdiff 1 , +.Xr stty 1 , +.Xr aliases 5 , +.Xr postinstall 8 +.Sh HISTORY +The +.Nm +command appeared in +.Nx 1.6 . +.Pp +In +.Nx 4.0 , +the +.Fl s Ar tgzfile +option was added, the +.Fl b Ar tempdir +option was converted to +.Fl s Ar tgzdir , +and the +.Fl s Ar srcdir +option was changed to refer to the top of the +source directory tree rather than to the +.Pa etc +subdirectory. +.Pp +In +.Nx 5.0 , +the ability to specify multiple colon-separated files with a single +.Fl s +option was deprecated, +and options deprecated in +.Nx 4.0 +were removed. +.Pp +In +.Nx 7.0 , +the ability to specify multiple colon-separated files with a single +.Fl s +option was removed (multiple +.Fl s +options must be used instead), +and the +.Fl d Ar destdir +option was added. +.Sh AUTHORS +The script was written by +.An Martti Kuparinen +.Aq martti@NetBSD.org +and improved by several other +.Nx +users. +.Pp +The idea for this script (including code fragments, variable names etc.) +came from the +.Fx +mergemaster (by Douglas Barton). +Unlike the +.Fx +mergemaster, this does not use CVS version tags by default to compare if +the files need to be updated. +Files are compared with +.Xr cmp 1 +as this is more reliable and the only way if the version numbers are the +same even though the files are different. +.\" when exactly are the version the same even though the file changes? +.\" .Pp +.Sh BUGS +If a source directory is specified via the +.Dq Fl s Ar srcdir +option (or if the +.Pa /usr/src +directory is used by default), then +.Nm +will run +.Dq "make distribution" +in the +.Pa etc +subdirectory of the source directory, but it will not use the same +options or environment variables that would be used during a full build +of the operating system. +For this reason, use of the +.Dq Fl s Ar srcdir +option is not recommended, and use of the +.Dq Fl s Ar tgzdir +or +.Dq Fl s Ar tgzfile +options is recommended. +.\" .Pp +.\" Because of the use of +.\" .Xr cmp 1 +.\" to compare files, rather than CVS versions, files that are locally changed +.\" from the distribution are always considered needing to be updated. |
