Whitespace-only fixes, translators please ignore.

This commit is contained in:
Warren Block 2014-01-30 01:21:13 +00:00
parent cb7318168f
commit 8a4ddc9b49
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=43685

View file

@ -4,28 +4,57 @@
$FreeBSD$
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="updating-upgrading">
<info><title>Updating and Upgrading &os;</title>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="updating-upgrading">
<info>
<title>Updating and Upgrading &os;</title>
<authorgroup>
<author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Restructured, reorganized, and parts updated
by </contrib></author>
<author>
<personname>
<firstname>Jim</firstname>
<surname>Mock</surname>
</personname>
<contrib>Restructured, reorganized, and parts updated
by </contrib>
</author>
<!-- Mar 2000 -->
</authorgroup>
<authorgroup>
<author><personname><firstname>Jordan</firstname><surname>Hubbard</surname></personname><contrib>Original work by </contrib></author>
<author>
<personname>
<firstname>Jordan</firstname>
<surname>Hubbard</surname>
</personname>
<contrib>Original work by </contrib>
</author>
<author><personname><firstname>Poul-Henning</firstname><surname>Kamp</surname></personname></author>
<author>
<personname>
<firstname>Poul-Henning</firstname>
<surname>Kamp</surname>
</personname>
</author>
<author><personname><firstname>John</firstname><surname>Polstra</surname></personname></author>
<author>
<personname>
<firstname>John</firstname>
<surname>Polstra</surname>
</personname>
</author>
<author><personname><firstname>Nik</firstname><surname>Clayton</surname></personname></author>
<author>
<personname>
<firstname>Nik</firstname>
<surname>Clayton</surname>
</personname>
</author>
</authorgroup>
</info>
<sect1 xml:id="updating-upgrading-synopsis">
<title>Synopsis</title>
@ -80,7 +109,8 @@
<itemizedlist>
<listitem>
<para>Properly set up the network connection (<xref linkend="advanced-networking"/>).</para>
<para>Properly set up the network connection
(<xref linkend="advanced-networking"/>).</para>
</listitem>
<listitem>
@ -98,17 +128,33 @@
</sect1>
<sect1 xml:id="updating-upgrading-freebsdupdate">
<info><title>&os; Update</title>
<info>
<title>&os; Update</title>
<authorgroup>
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Written by </contrib></author>
<author>
<personname>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
</personname>
<contrib>Written by </contrib>
</author>
</authorgroup>
<authorgroup>
<author><personname><firstname>Colin</firstname><surname>Percival</surname></personname><contrib>Based on notes provided by </contrib></author>
<author>
<personname>
<firstname>Colin</firstname>
<surname>Percival</surname>
</personname>
<contrib>Based on notes provided by </contrib>
</author>
</authorgroup>
</info>
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
<primary>Updating and Upgrading</primary>
</indexterm>
<indexterm>
<primary>freebsd-update</primary>
<see>updating-upgrading</see>
@ -133,7 +179,8 @@
releases currently supported by the security team. Before
updating to a new release, its release announcement should be
reviewed as it contains important information pertinent to the
release. Release announcements are available from <uri xlink:href="http://www.FreeBSD.org/releases/">http://www.FreeBSD.org/releases/</uri>.</para>
release. Release announcements are available from <uri
xlink:href="http://www.FreeBSD.org/releases/">http://www.FreeBSD.org/releases/</uri>.</para>
</note>
<para>If a <command>crontab</command> utilizing the features
@ -253,8 +300,9 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
<command>freebsd-update</command> will only check if updates
exist. If patches exist, they will automatically be
downloaded to the local disk but will not be applied. The
<systemitem class="username">root</systemitem> user will be sent an email so that
they may be reviewed and manually installed.</para>
<systemitem class="username">root</systemitem> user will be
sent an email so that they may be reviewed and manually
installed.</para>
<para>If anything goes wrong, <command>freebsd-update</command>
has the ability to roll back the last set of changes with
@ -353,7 +401,8 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
<title>Custom Kernels with &os;&nbsp;8.X</title>
<para>A copy of the <filename>GENERIC</filename> kernel is
needed, and should be placed in <filename>/boot/GENERIC</filename>. If the
needed, and should be placed in
<filename>/boot/GENERIC</filename>. If the
<filename>GENERIC</filename> kernel is not present in the
system, it may be obtained using one of the following
methods:</para>
@ -363,7 +412,8 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
<para>If a custom kernel has only been built once, the
kernel in <filename>/boot/kernel.old</filename> is
actually <filename>GENERIC</filename>. Rename this
directory to <filename>/boot/GENERIC</filename>.</para>
directory to
<filename>/boot/GENERIC</filename>.</para>
</listitem>
<listitem>
@ -413,10 +463,10 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
<itemizedlist>
<listitem>
<para>If a custom kernel has only been built once, the
kernel in
<filename>/boot/kernel.old</filename>
is actually the <literal>GENERIC</literal> kernel.
Rename this directory to <filename>/boot/kernel</filename>.</para>
kernel in <filename>/boot/kernel.old</filename> is
actually the <literal>GENERIC</literal> kernel.
Rename this directory to
<filename>/boot/kernel</filename>.</para>
</listitem>
<listitem>
@ -581,7 +631,8 @@ before running "/usr/sbin/freebsd-update install"</screen>
needs to be rebuilt and re-installed. This is required as
installed software may depend on libraries which have been
removed during the upgrade process. This process can be
automated using <package>ports-mgmt/portmaster</package>:</para>
automated using
<package>ports-mgmt/portmaster</package>:</para>
<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>
@ -658,17 +709,33 @@ before running "/usr/sbin/freebsd-update install"</screen>
</sect1>
<sect1 xml:id="updating-upgrading-portsnap">
<info><title>Portsnap: a Ports Collection Update Tool</title>
<info>
<title>Portsnap: a Ports Collection Update Tool</title>
<authorgroup>
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Written by </contrib></author>
<author>
<personname>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
</personname>
<contrib>Written by </contrib>
</author>
</authorgroup>
<authorgroup>
<author><personname><firstname>Colin</firstname><surname>Percival</surname></personname><contrib>Based on notes provided by </contrib></author>
<author>
<personname>
<firstname>Colin</firstname>
<surname>Percival</surname>
</personname>
<contrib>Based on notes provided by </contrib>
</author>
</authorgroup>
</info>
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
<primary>Updating and Upgrading</primary>
</indexterm>
<indexterm>
<primary>Portsnap</primary>
<see>Updating and Upgrading</see>
@ -751,10 +818,12 @@ Fetching 133 new ports or files... done.</screen>
<para>Documentation is an integral part of the &os; operating
system. While an up-to-date version of the &os; Documentation
Set is always available on the <link xlink:href="http://www.freebsd.org/doc/">&os; web site</link>,
some users might have slow or no permanent network connectivity.
There are several ways to update the local copy of documentation
with the latest &os; Documentation Set.</para>
Set is always available on the
<link xlink:href="http://www.freebsd.org/doc/">&os; web
site</link>, some users might have slow or no permanent
network connectivity. There are several ways to update the
local copy of documentation with the latest &os; Documentation
Set.</para>
<sect2 xml:id="dsvn-doc">
<title>Using <application>Subversion</application> to Update the
@ -779,7 +848,8 @@ Fetching 133 new ports or files... done.</screen>
<listitem>
<para>Rebuild the &os; documentation from its source, and
install it under <filename>/usr/share/doc</filename>.</para>
install it under
<filename>/usr/share/doc</filename>.</para>
</listitem>
<listitem>
@ -810,13 +880,14 @@ Fetching 133 new ports or files... done.</screen>
<note>
<para>When no &postscript; or PDF documentation required, one
might consider installing the <package>textproc/docproj-nojadetex</package> port
instead. This version of the documentation toolchain
includes everything except the
<application>teTeX</application> typesetting engine.
<application>teTeX</application> is a very large collection
of tools, so it may be quite sensible to omit its
installation if PDF output is not really necessary.</para>
might consider installing the
<package>textproc/docproj-nojadetex</package> port instead.
This version of the documentation toolchain includes
everything except the <application>teTeX</application>
typesetting engine. <application>teTeX</application> is a
very large collection of tools, so it may be quite sensible
to omit its installation if PDF output is not really
necessary.</para>
</note>
</sect2>
@ -829,7 +900,9 @@ Fetching 133 new ports or files... done.</screen>
<screen>&prompt.root; <userinput>svn checkout https://svn0.us-west.FreeBSD.org/doc/head /usr/doc</userinput></screen>
<para>Select the closest mirror from the available <link linkend="svn-mirrors">Subversion mirror sites</link>.</para>
<para>Select the closest mirror from the available
<link linkend="svn-mirrors">Subversion mirror
sites</link>.</para>
<para>The initial download of the documentation sources may take
a while. Let it run until it completes.</para>
@ -908,8 +981,8 @@ Fetching 133 new ports or files... done.</screen>
<title>Installing the &os; Documentation from Source</title>
<para>Once an up-to-date snapshot of the documentation sources
has been fetched to <filename>/usr/doc</filename>, everything is
ready for an update of the installed documentation.</para>
has been fetched to <filename>/usr/doc</filename>, everything
is ready for an update of the installed documentation.</para>
<para>A full update of all the languages defined in
<varname>DOC_LANG</varname> may be performed by typing:</para>
@ -932,20 +1005,29 @@ Fetching 133 new ports or files... done.</screen>
&prompt.root; <userinput>make FORMATS='html html-split' install clean</userinput></screen>
<para>For information on editing and submitting corrections to
the documentation, refer to the <link xlink:href="&url.books.fdp-primer;">&os; Documentation
the documentation, refer to the
<link xlink:href="&url.books.fdp-primer;">&os; Documentation
Project Primer for New Contributors</link>.</para>
</sect2>
<sect2 xml:id="doc-ports">
<info><title>Using Documentation Ports</title>
<info>
<title>Using Documentation Ports</title>
<authorgroup>
<author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Based on the work of </contrib></author>
<author>
<personname>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
</personname>
<contrib>Based on the work of </contrib>
</author>
</authorgroup>
</info>
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
<primary>Updating and Upgrading</primary>
</indexterm>
<indexterm>
<primary>documentation package</primary>
@ -977,10 +1059,11 @@ Fetching 133 new ports or files... done.</screen>
</itemizedlist>
<para>These two methods of updating the &os; documentation are
supported by a set of <emphasis>documentation
ports</emphasis>, updated by the &a.doceng; on a monthly
basis. These are listed in the &os; Ports&nbsp;Collection,
under the <link xlink:href="http://www.freshports.org/docs/">docs</link>
supported by a set of
<emphasis>documentation ports</emphasis>, updated by the
&a.doceng; on a monthly basis. These are listed in the &os;
Ports&nbsp;Collection, under the <link
xlink:href="http://www.freshports.org/docs/">docs</link>
category.</para>
<sect3 xml:id="doc-ports-install-make">
@ -1006,28 +1089,31 @@ Fetching 133 new ports or files... done.</screen>
<itemizedlist>
<listitem>
<para>The <quote>master port</quote>, <package>misc/freebsd-doc-en</package>,
which installs all of the English documentation
ports.</para>
<para>The <quote>master port</quote>,
<package>misc/freebsd-doc-en</package>, which installs
all of the English documentation ports.</para>
</listitem>
<listitem>
<para>The <quote>all in one port</quote>, <package>misc/freebsd-doc-all</package>,
builds and installs all documentation in all available
<para>The <quote>all in one port</quote>,
<package>misc/freebsd-doc-all</package>, builds and
installs all documentation in all available
languages.</para>
</listitem>
<listitem>
<para>There is a <quote>slave port</quote> for each
translation, such as <package>misc/freebsd-doc-hu</package> for the
translation, such as
<package>misc/freebsd-doc-hu</package> for the
Hungarian-language documents.</para>
</listitem>
</itemizedlist>
<para>For example, to build and install the English
documentation in split <acronym>HTML</acronym> format,
similar to the format used on <uri xlink:href="http://www.FreeBSD.org">http://www.FreeBSD.org</uri>, to
<filename>/usr/local/share/doc/freebsd</filename>,
similar to the format used on <uri
xlink:href="http://www.FreeBSD.org">http://www.FreeBSD.org</uri>,
to <filename>/usr/local/share/doc/freebsd</filename>,
install the following port</para>
<screen>&prompt.root; <userinput>cd /usr/ports/misc/freebsd-doc-en</userinput>
@ -1069,7 +1155,8 @@ Fetching 133 new ports or files... done.</screen>
<listitem>
<para>Specifies where to install the documentation.
It defaults to <filename>/usr/local/share/doc/freebsd</filename>.</para>
It defaults to
<filename>/usr/local/share/doc/freebsd</filename>.</para>
<note>
<para>The default target directory differs from the
@ -1272,8 +1359,9 @@ Fetching 133 new ports or files... done.</screen>
<orderedlist>
<listitem>
<para>Use <link linkend="svn">svn</link><indexterm>
<primary>Subversion</primary>
<para>Use <link linkend="svn">svn</link>
<indexterm>
<primary>Subversion</primary>
</indexterm>
<indexterm>
<primary>-CURRENT</primary>
@ -1284,24 +1372,27 @@ Fetching 133 new ports or files... done.</screen>
branch. This is the recommended method, providing
access to &os; development as it occurs. Checkout
the -CURRENT code from the <literal>head</literal>
branch of one of the <link linkend="svn-mirrors">Subversion mirror
branch of one of the <link
linkend="svn-mirrors">Subversion mirror
sites</link>. Due to the size of the repository,
it is recommended that only desired subtrees be
checked out.</para>
</listitem>
<listitem>
<para>Use the <application>CTM</application><indexterm>
<para>Use the
<application>CTM</application>
<indexterm>
<primary>-CURRENT</primary>
<secondary>Syncing with CTM</secondary>
</indexterm> facility. If you have bad connectivity
such as high price connections or only email access,
<application>CTM</application> is an option, but it
is not as reliable as <application>
Subversion</application>.
For this reason, <application>Subversion</application>
is the recommended method for any system with
Internet connectivity.</para>
is not as reliable as
<application>Subversion</application>. For this
reason, <application>Subversion</application> is the
recommended method for any system with Internet
connectivity.</para>
</listitem>
</orderedlist>
</listitem>
@ -1315,7 +1406,8 @@ Fetching 133 new ports or files... done.</screen>
problems.</para>
<para>Before compiling
&os.current;<indexterm>
&os.current;
<indexterm>
<primary>-CURRENT</primary>
<secondary>compiling</secondary>
</indexterm>, read
@ -1374,7 +1466,8 @@ Fetching 133 new ports or files... done.</screen>
<footnote>
<para>For a complete description of the current security
policy for old releases of FreeBSD, refer to <link xlink:href="&url.base;/security/">http://www.FreeBSD.org/security/</link>.</para></footnote>.</para>
policy for old releases of FreeBSD, refer to <link
xlink:href="&url.base;/security/">http://www.FreeBSD.org/security/</link>.</para></footnote>.</para>
<para>While the &os.stable; branch should compile and run at
all times, this cannot be guaranteed. While code is
@ -1430,11 +1523,13 @@ Fetching 133 new ports or files... done.</screen>
</listitem>
<listitem>
<para>To install a new system running monthly
snapshots built from &os.stable;, refer to <link xlink:href="&url.base;/snapshots/">Snapshots</link> for more
information. Alternatively, it is possible to install
the most recent &os.stable; release from the <link linkend="mirrors">mirror sites</link> and follow the
instructions below to upgrade the system to the most
<para>To install a new system running monthly snapshots
built from &os.stable;, refer to <link
xlink:href="&url.base;/snapshots/">Snapshots</link>
for more information. Alternatively, it is possible to
install the most recent &os.stable; release from the
<link linkend="mirrors">mirror sites</link> and follow
the instructions below to upgrade the system to the most
up-to-date &os.stable; source code.</para>
<para>Several methods are available to upgrade from a &os;
@ -1443,9 +1538,9 @@ Fetching 133 new ports or files... done.</screen>
<orderedlist>
<listitem>
<para>Use <link linkend="svn">svn</link><indexterm>
<para>Use <link linkend="svn">svn</link>
<indexterm>
<primary>Subversion</primary>
</indexterm> to check out the desired development or
release branch. This is the recommended method,
providing access to &os; development as it occurs.
@ -1453,22 +1548,24 @@ Fetching 133 new ports or files... done.</screen>
current development head, and branches identified in
<link xlink:href="&url.base;/releng/">the release
engineering page</link>, such as
<literal>stable/9</literal><indexterm>
<literal>stable/9</literal>
<indexterm>
<primary>-STABLE</primary>
<secondary>syncing with
<application>Subversion</application></secondary>
</indexterm>
or <literal>releng/9.2</literal>. URL prefixes for
<application>Subversion</application> checkout of
the base system are shown in <link linkend="svn-mirrors">Subversion mirror
sites</link>.
Because of the size of the repository, it is
recommended that only desired subtrees be checked
out.</para>
the base system are shown in <link
linkend="svn-mirrors">Subversion mirror
sites</link>. Because of the size of the
repository, it is recommended that only desired
subtrees be checked out.</para>
</listitem>
<listitem>
<para>Consider using <application>CTM</application><indexterm>
<para>Consider using <application>CTM</application>
<indexterm>
<primary>-STABLE</primary>
<secondary>syncing with CTM</secondary>
</indexterm> if you do not have a fast connection to
@ -1501,7 +1598,9 @@ Fetching 133 new ports or files... done.</screen>
<para>There are various ways of using an Internet or email
connection to stay up-to-date with any given area, or all areas,
of the &os; project sources. The primary services are <link linkend="svn">Subversion</link> and <link linkend="ctm">CTM</link>.</para>
of the &os; project sources. The primary services are
<link linkend="svn">Subversion</link> and
<link linkend="ctm">CTM</link>.</para>
<warning>
<para>While it is possible to update only parts of the source
@ -1750,9 +1849,9 @@ Fetching 133 new ports or files... done.</screen>
password database. This is often necessary when new
groups or special system-user accounts have been added
since the last update, so that the
<buildtarget>installworld</buildtarget> step will be able to
use the newly installed system user or system group names
without problems.</para>
<buildtarget>installworld</buildtarget> step will be able
to use the newly installed system user or system group
names without problems.</para>
</listitem>
<listitem>
@ -1846,8 +1945,7 @@ Fetching 133 new ports or files... done.</screen>
successfully, boot into single user mode using <command>boot
-s</command> from the loader prompt.</para>
<para>If using UFS, run:</para>
<para>If using UFS, run:</para>
<screen>&prompt.root; <userinput>mount -u /</userinput>
&prompt.root; <userinput>mount -a -t ufs</userinput></screen>
@ -1859,7 +1957,7 @@ Fetching 133 new ports or files... done.</screen>
<para>Then run:</para>
<screen>&prompt.root; <userinput>adjkerntz -i</userinput>
<screen>&prompt.root; <userinput>adjkerntz -i</userinput>
&prompt.root; <userinput>mergemaster -p</userinput>
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make installworld</userinput>
@ -2070,10 +2168,12 @@ Script started, output file is /var/tmp/mw.out
&prompt.root; <userinput>exit</userinput>
Script done, &hellip;</screen>
<para><emphasis>Do not</emphasis> save the output in <filename>/tmp</filename> as this directory may be
cleared at next reboot. A better place to save the file is
<para><emphasis>Do not</emphasis> save the output in
<filename>/tmp</filename> as this directory may be cleared
at next reboot. A better place to save the file is
<filename>/var/tmp</filename> or in
<systemitem class="username">root</systemitem>'s home directory.</para>
<systemitem class="username">root</systemitem>'s home
directory.</para>
</sect3>
<sect3 xml:id="make-buildworld">
@ -2084,7 +2184,9 @@ Script done, &hellip;</screen>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
<indexterm><primary><command>make</command></primary></indexterm>
<indexterm>
<primary><command>make</command></primary>
</indexterm>
<para>To rebuild the world, use &man.make.1;. This command
reads instructions from the <filename>Makefile</filename>,
@ -2135,36 +2237,39 @@ Script done, &hellip;</screen>
build options. The first target should always be
<varname>buildworld</varname>.</para>
<para>As the names imply, <buildtarget>buildworld</buildtarget>
builds a complete new tree under
<filename>/usr/obj</filename> and
<buildtarget>installworld</buildtarget> installs this tree on
the current machine.</para>
<para>As the names imply,
<buildtarget>buildworld</buildtarget> builds a complete new
tree under <filename>/usr/obj</filename> and
<buildtarget>installworld</buildtarget> installs this tree
on the current machine.</para>
<para>Having separate options is useful for two reasons.
First, it allows for a <quote>self hosted</quote> build that
does not affect any components of a running system. Because
of this, <buildtarget>buildworld</buildtarget> can be run on a
machine running in multi-user mode with no fear of
of this, <buildtarget>buildworld</buildtarget> can be run on
a machine running in multi-user mode with no fear of
ill-effects. It is still recommended that
<buildtarget>installworld</buildtarget> be run in part in
single user mode, though.</para>
<para>Secondly, it allows NFS mounts to be used to upgrade
multiple machines on a network. If order to upgrade three
machines, <systemitem>A</systemitem>, <systemitem>B</systemitem> and
<systemitem>C</systemitem>, run <command>make buildworld</command>
and <command>make installworld</command> on
machines, <systemitem>A</systemitem>,
<systemitem>B</systemitem> and <systemitem>C</systemitem>,
run <command>make buildworld</command> and
<command>make installworld</command> on
<systemitem>A</systemitem>. <systemitem>B</systemitem> and
<systemitem>C</systemitem> should then NFS mount
<filename>/usr/src</filename> and
<filename>/usr/obj</filename> from <systemitem>A</systemitem>, and
run <command>make installworld</command> to install the
results of the build on <systemitem>B</systemitem> and
<filename>/usr/obj</filename> from
<systemitem>A</systemitem>, and run
<command>make installworld</command> to install the results
of the build on <systemitem>B</systemitem> and
<systemitem>C</systemitem>.</para>
<para>Although the <buildtarget>world</buildtarget> target still
exists, users are strongly encouraged not to use it.</para>
<para>Although the <buildtarget>world</buildtarget> target
still exists, users are strongly encouraged not to use
it.</para>
<para>Instead, run:</para>
@ -2250,9 +2355,9 @@ Script done, &hellip;</screen>
above 1 <emphasis>and</emphasis> <literal>noschg</literal> or
similar flags have been set on the kernel binary, drop into
single user mode to use
<buildtarget>installkernel</buildtarget>. Otherwise, both these
commands can be run from multi user mode without problems.
See &man.init.8; for details about
<buildtarget>installkernel</buildtarget>. Otherwise, both
these commands can be run from multi user mode without
problems. See &man.init.8; for details about
<varname>kern.securelevel</varname> and &man.chflags.1; for
details about the various file flags.</para>
</sect2>
@ -2263,14 +2368,15 @@ Script done, &hellip;</screen>
<indexterm><primary>single-user mode</primary></indexterm>
<para>Reboot into single user mode to test that the new kernel
works using the instructions in <xref linkend="makeworld-singleuser"/>.</para>
works using the instructions in
<xref linkend="makeworld-singleuser"/>.</para>
</sect2>
<sect2 xml:id="make-installworld">
<title>Install the New System Binaries</title>
<para>Next, use <buildtarget>installworld</buildtarget> to install
the new system binaries:</para>
<para>Next, use <buildtarget>installworld</buildtarget> to
install the new system binaries:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make installworld</userinput></screen>
@ -2312,12 +2418,19 @@ Script done, &hellip;</screen>
wrong.</para>
<sect3 xml:id="mergemaster">
<info><title><command>mergemaster</command></title>
<info>
<title><command>mergemaster</command></title>
<authorgroup>
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Contributed by </contrib></author>
<author>
<personname>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
</personname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</info>
<indexterm>
<primary>
@ -2327,10 +2440,9 @@ Script done, &hellip;</screen>
<para>&man.mergemaster.8; is a Bourne script to aid in
determining the differences between the configuration files
in <filename>/etc</filename>, and the
configuration files in the source tree
<filename>/usr/src/etc</filename>. This
is the recommended solution for keeping the system
in <filename>/etc</filename>, and the configuration files in
the source tree <filename>/usr/src/etc</filename>. This is
the recommended solution for keeping the system
configuration files up to date with those located in the
source tree.</para>
@ -2437,8 +2549,8 @@ Script done, &hellip;</screen>
<para>This will build the necessary directory structure and
install the files. A lot of the subdirectories that have
been created under <filename>/var/tmp/root</filename> are empty and
should be deleted. The simplest way to do this is
been created under <filename>/var/tmp/root</filename> are
empty and should be deleted. The simplest way to do this is
to:</para>
<screen>&prompt.root; <userinput>cd /var/tmp/root</userinput>
@ -2455,9 +2567,10 @@ Script done, &hellip;</screen>
Go through each of these files, determining how they differ
from the system's existing files.</para>
<para>Some of the files installed into <filename>/var/tmp/root</filename> have a
leading <quote>.</quote>. Make sure to use <command>ls
-a</command> in order to catch them.</para>
<para>Some of the files installed into
<filename>/var/tmp/root</filename> have a leading
<quote>.</quote>. Make sure to use
<command>ls -a</command> in order to catch them.</para>
<para>The simplest way to compare files is to use
&man.diff.1;:</para>
@ -2521,11 +2634,11 @@ Script done, &hellip;</screen>
&prompt.root; <userinput>diff -r root-20130214 root-20130221</userinput></screen>
<para>Typically, this will be a much smaller set of
differences than those between <filename>/var/tmp/root-20130221/etc</filename>
and <filename>/etc</filename>.
Because the set of differences is smaller, it is
easier to migrate those changes across into
<filename>/etc</filename>.</para>
differences than those between
<filename>/var/tmp/root-20130221/etc</filename> and
<filename>/etc</filename>. Because the set of
differences is smaller, it is easier to migrate those
changes across into <filename>/etc</filename>.</para>
</step>
<step>
@ -2551,12 +2664,19 @@ Script done, &hellip;</screen>
</sect2>
<sect2 xml:id="make-delete-old">
<info><title>Deleting Obsolete Files and Directories</title>
<info>
<title>Deleting Obsolete Files and Directories</title>
<authorgroup>
<author><personname><firstname>Anton</firstname><surname>Shterenlikht</surname></personname><contrib>Based on notes provided by </contrib></author>
<author>
<personname>
<firstname>Anton</firstname>
<surname>Shterenlikht</surname>
</personname>
<contrib>Based on notes provided by </contrib>
</author>
</authorgroup>
</info>
<indexterm>
<primary>Deleting obsolete files and directories</primary>
@ -2668,8 +2788,8 @@ Script done, &hellip;</screen>
<para>If things went slightly wrong, it is easy to rebuild a
particular piece of the system. For example, if
<filename>/etc/magic</filename> was accidentally deleted as
part of the upgrade or merge of <filename>/etc</filename>, &man.file.1; will stop
working. To fix this, run:</para>
part of the upgrade or merge of <filename>/etc</filename>,
&man.file.1; will stop working. To fix this, run:</para>
<screen>&prompt.root; <userinput>cd /usr/src/usr.bin/file</userinput>
&prompt.root; <userinput>make all install</userinput></screen>
@ -2866,20 +2986,22 @@ Building everything..
<screen>&prompt.root; <userinput>mount -u -o noatime /usr/src</userinput></screen>
<warning>
<para>This example assumes <filename>/usr/src</filename> is on its
own file system. If it is part of
<filename>/usr</filename>, then
use that file system mount point instead.</para>
<para>This example assumes
<filename>/usr/src</filename> is on its own file
system. If it is part of
<filename>/usr</filename>, then use that file
system mount point instead.</para>
</warning>
</listitem>
<listitem>
<para>The file system holding <filename>/usr/obj</filename> can be
mounted or remounted with <option>async</option>
so that disk writes happen asynchronously. The
write completes immediately, and the data is written
to the disk a few seconds later. This allows writes
to be clustered together, and can provide a dramatic
<para>The file system holding
<filename>/usr/obj</filename> can be mounted or
remounted with <option>async</option> so that disk
writes happen asynchronously. The write completes
immediately, and the data is written to the disk a
few seconds later. This allows writes to be
clustered together, and can provide a dramatic
performance boost.</para>
<warning>
@ -2941,14 +3063,20 @@ Building everything..
</sect1>
<sect1 xml:id="small-lan">
<info><title>Tracking for Multiple Machines</title>
<info>
<title>Tracking for Multiple Machines</title>
<authorgroup>
<author><personname><firstname>Mike</firstname><surname>Meyer</surname></personname><contrib>Contributed by </contrib></author>
<author>
<personname>
<firstname>Mike</firstname>
<surname>Meyer</surname>
</personname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</info>
<indexterm>
<primary>NFS</primary>
<secondary>installing multiple machines</secondary>
@ -3031,16 +3159,17 @@ Building everything..
<title>Ports</title>
<para>The same ideas can be used for the ports tree. The first
critical step is to mount <filename>/usr/ports</filename> from the same
machine to all the machines in the build set. Then, configure
<filename>/etc/make.conf</filename> properly to share
distfiles. Set <varname>DISTDIR</varname> to a common shared
directory that is writable by whichever user
<systemitem class="username">root</systemitem> is mapped to by the NFS mounts.
Each machine should set <varname>WRKDIRPREFIX</varname> to a
local build directory. Finally, if the system is to build and
distribute packages, set <varname>PACKAGES</varname> to a
directory similar to <varname>DISTDIR</varname>.</para>
critical step is to mount <filename>/usr/ports</filename> from
the same machine to all the machines in the build set. Then,
configure <filename>/etc/make.conf</filename> properly to
share distfiles. Set <varname>DISTDIR</varname> to a common
shared directory that is writable by whichever user
<systemitem class="username">root</systemitem> is mapped to by
the NFS mounts. Each machine should set
<varname>WRKDIRPREFIX</varname> to a local build directory.
Finally, if the system is to build and distribute packages,
set <varname>PACKAGES</varname> to a directory similar to
<varname>DISTDIR</varname>.</para>
</sect2>
</sect1>
</chapter>