aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml')
-rw-r--r--en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml640
1 files changed, 269 insertions, 371 deletions
diff --git a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml
index 8f7638c6fe..17e54a11f0 100644
--- a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml
+++ b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml
@@ -4,47 +4,29 @@
$FreeBSD$
-->
-
-<chapter id="updating-upgrading">
- <chapterinfo>
+<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>
- <firstname>Jim</firstname>
- <surname>Mock</surname>
- <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>
- <firstname>Jordan</firstname>
- <surname>Hubbard</surname>
- <contrib>Original work by </contrib>
- </author>
-
- <author>
- <firstname>Poul-Henning</firstname>
- <surname>Kamp</surname>
- </author>
-
- <author>
- <firstname>John</firstname>
- <surname>Polstra</surname>
- </author>
-
- <author>
- <firstname>Nik</firstname>
- <surname>Clayton</surname>
- </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>John</firstname><surname>Polstra</surname></personname></author>
+
+ <author><personname><firstname>Nik</firstname><surname>Clayton</surname></personname></author>
</authorgroup>
- <!-- with feedback from various others -->
- </chapterinfo>
+
+ </info>
- <title>Updating and Upgrading &os;</title>
+
- <sect1 id="updating-upgrading-synopsis">
+ <sect1 xml:id="updating-upgrading-synopsis">
<title>Synopsis</title>
<para>&os; is under constant development between releases. Some
@@ -98,8 +80,7 @@
<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>
@@ -111,29 +92,21 @@
<note>
<para>Throughout this chapter, <command>svn</command> is used to
obtain and update &os; sources. To use it, first install the
- <filename role="package">devel/subversion</filename> port or
+ <package>devel/subversion</package> port or
package.</para>
</note>
</sect1>
- <sect1 id="updating-upgrading-freebsdupdate">
- <sect1info>
+ <sect1 xml:id="updating-upgrading-freebsdupdate">
+ <info><title>&os; Update</title>
<authorgroup>
- <author>
- <firstname>Tom</firstname>
- <surname>Rhodes</surname>
- <contrib>Written by </contrib>
- </author>
+ <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Written by </contrib></author>
</authorgroup>
<authorgroup>
- <author>
- <firstname>Colin</firstname>
- <surname>Percival</surname>
- <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>
- </sect1info>
- <title>&os; Update</title>
+ </info>
+
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
@@ -160,15 +133,14 @@
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 <ulink
- url="http://www.FreeBSD.org/releases/"></ulink>.</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
of &man.freebsd-update.8; exists, it must be
disabled before the following operation is started.</para>
- <sect2 id="freebsdupdate-config-file">
+ <sect2 xml:id="freebsdupdate-config-file">
<title>The Configuration File</title>
<para>Some users may wish to tweak the default configuration
@@ -186,7 +158,7 @@ Components src world kernel</programlisting>
as those available during installation. For instance, adding
<literal>world/games</literal> would allow game patches to be
applied. Using <literal>src/bin</literal> would allow the
- source code in <filename class="directory">src/bin</filename>
+ source code in <filename>src/bin</filename>
to be updated.</para>
<para>The best option is to leave this at the default as
@@ -200,8 +172,8 @@ Components src world kernel</programlisting>
IgnorePaths</programlisting>
<para>To leave specified directories, such as
- <filename class="directory">/bin</filename> or
- <filename class="directory">/sbin</filename>, untouched during
+ <filename>/bin</filename> or
+ <filename>/sbin</filename>, untouched during
the update process, add their paths to this statement. This
option may be used to prevent
<command>freebsd-update</command> from overwriting local
@@ -230,7 +202,7 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
similar to &man.mergemaster.8;, but with fewer options.
Merges are either accepted, open an editor, or
<command>freebsd-update</command> will abort. When in doubt,
- backup <filename class="directory">/etc</filename> and just
+ backup <filename>/etc</filename> and just
accept the merges. See <xref linkend="mergemaster"/> for more
information about <command>mergemaster</command>.</para>
@@ -258,7 +230,7 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
list.</para>
</sect2>
- <sect2 id="freebsdupdate-security-patches">
+ <sect2 xml:id="freebsdupdate-security-patches">
<title>Security Patches</title>
<para>&os; security patches may be downloaded and installed
@@ -281,7 +253,7 @@ 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
- <username>root</username> user will be sent an email so that
+ <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>
@@ -301,14 +273,14 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
finishes installing the rest of the updates. However,
<command>freebsd-update</command> will detect and update the
<filename>GENERIC</filename> kernel if
- <filename class="directory">/boot/GENERIC</filename> exists,
+ <filename>/boot/GENERIC</filename> exists,
even if it is not the current running kernel of the
system.</para>
<note>
<para>It is a good idea to always keep a copy of the
<filename>GENERIC</filename> kernel in
- <filename class="directory">/boot/GENERIC</filename>. It
+ <filename>/boot/GENERIC</filename>. It
will be helpful in diagnosing a variety of problems, and in
performing version upgrades using
<command>freebsd-update</command> as described in
@@ -341,7 +313,7 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
</note>
</sect2>
- <sect2 id="freebsdupdate-upgrade">
+ <sect2 xml:id="freebsdupdate-upgrade">
<title>Major and Minor Version Upgrades</title>
<para>Upgrades from one minor version of &os; to another, like
@@ -357,7 +329,7 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
party applications. It is recommended that all installed
ports either be removed and re-installed or upgraded after a
major version upgrade using a utility such as
- <filename role="package">ports-mgmt/portmaster</filename>. A
+ <package>ports-mgmt/portmaster</package>. A
brute-force rebuild of all installed applications can be
accomplished with this command:</para>
@@ -365,24 +337,23 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
<para>This will ensure everything will be re-installed
correctly. Note that setting the
- <makevar>BATCH</makevar> environment variable to
+ <varname>BATCH</varname> environment variable to
<literal>yes</literal> will answer <literal>yes</literal> to
any prompts during this process, removing the need for
manual intervention during the build process.</para>
- <sect3 id="freebsd-update-custom-kernel">
+ <sect3 xml:id="freebsd-update-custom-kernel">
<title>Dealing with Custom Kernels</title>
<para>If a custom kernel is in use, the upgrade process is
slightly more involved, and the procedure varies depending
on the version of &os;.</para>
- <sect4 id="freebsd-update-custom-kernel-8x">
+ <sect4 xml:id="freebsd-update-custom-kernel-8x">
<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
- class="directory">/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>
@@ -390,11 +361,9 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
<itemizedlist>
<listitem>
<para>If a custom kernel has only been built once, the
- kernel in <filename
- class="directory">/boot/kernel.old</filename> is
+ kernel in <filename>/boot/kernel.old</filename> is
actually <filename>GENERIC</filename>. Rename this
- directory to <filename
- class="directory">/boot/GENERIC</filename>.</para>
+ directory to <filename>/boot/GENERIC</filename>.</para>
</listitem>
<listitem>
@@ -404,15 +373,13 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
using the following commands:</para>
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
-&prompt.root; <userinput>cd /cdrom/<replaceable>X.Y-RELEASE</replaceable>/kernels</userinput>
+&prompt.root; <userinput>cd /cdrom/X.Y-RELEASE/kernels</userinput>
&prompt.root; <userinput>./install.sh GENERIC</userinput></screen>
- <para>Replace <filename
- class="directory"><replaceable>X.Y-RELEASE</replaceable></filename>
+ <para>Replace <filename>X.Y-RELEASE</filename>
with the actual version of the release being used.
The <filename>GENERIC</filename> kernel will be
- installed in <filename
- class="directory">/boot/GENERIC</filename> by
+ installed in <filename>/boot/GENERIC</filename> by
default.</para>
</listitem>
@@ -440,18 +407,16 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
is not required at this stage.</para>
</sect4>
- <sect4 id="freebsd-update-custom-kernel-9x">
+ <sect4 xml:id="freebsd-update-custom-kernel-9x">
<title>Custom Kernels with &os;&nbsp;9.X and Later</title>
<itemizedlist>
<listitem>
<para>If a custom kernel has only been built once, the
kernel in
- <filename
- class="directory">/boot/kernel.old</filename>
+ <filename>/boot/kernel.old</filename>
is actually the <literal>GENERIC</literal> kernel.
- Rename this directory to <filename
- class="directory">/boot/kernel</filename>.</para>
+ Rename this directory to <filename>/boot/kernel</filename>.</para>
</listitem>
<listitem>
@@ -488,7 +453,7 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
</sect4>
</sect3>
- <sect3 id="freebsdupdate-using">
+ <sect3 xml:id="freebsdupdate-using">
<title>Performing the Upgrade</title>
<para>Major and minor version upgrades may be performed by
@@ -548,7 +513,7 @@ before running "/usr/sbin/freebsd-update install"</screen>
The results of every successful merge will be shown to the
user as the process continues. A failed or ignored merge
will cause the process to abort. Users may wish to make a
- backup of <filename class="directory">/etc</filename> and
+ backup of <filename>/etc</filename> and
manually merge important files, such as
<filename>master.passwd</filename> or
<filename>group</filename> at a later time.</para>
@@ -569,7 +534,7 @@ before running "/usr/sbin/freebsd-update install"</screen>
this point, the machine must be rebooted. If the system is
running with a custom kernel, use &man.nextboot.8; to set
the kernel for the next boot to the updated
- <filename class="directory">/boot/GENERIC</filename>:</para>
+ <filename>/boot/GENERIC</filename>:</para>
<screen>&prompt.root; <userinput>nextboot -k GENERIC</userinput></screen>
@@ -609,15 +574,14 @@ before running "/usr/sbin/freebsd-update install"</screen>
</note>
</sect3>
- <sect3 id="freebsdupdate-portsrebuild">
+ <sect3 xml:id="freebsdupdate-portsrebuild">
<title>Rebuilding Ports After a Major Version Upgrade</title>
<para>After a major version upgrade, all third party software
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 <filename
- role="package">ports-mgmt/portmaster</filename>:</para>
+ automated using <package>ports-mgmt/portmaster</package>:</para>
<screen>&prompt.root; <userinput>portmaster -f</userinput></screen>
@@ -636,7 +600,7 @@ before running "/usr/sbin/freebsd-update install"</screen>
</sect3>
</sect2>
- <sect2 id="freebsdupdate-system-comparison">
+ <sect2 xml:id="freebsdupdate-system-comparison">
<title>System State Comparison</title>
<para><command>freebsd-update</command> can be used to test the
@@ -650,7 +614,7 @@ before running "/usr/sbin/freebsd-update install"</screen>
<warning>
<para>While the command name is <acronym>IDS</acronym> it is
not a replacement for a real intrusion detection system such
- as <filename role="package">security/snort</filename>. As
+ as <package>security/snort</package>. As
<command>freebsd-update</command> stores data on disk, the
possibility of tampering is evident. While this possibility
may be reduced using <varname>kern.securelevel</varname> and
@@ -693,24 +657,16 @@ before running "/usr/sbin/freebsd-update install"</screen>
</sect2>
</sect1>
- <sect1 id="updating-upgrading-portsnap">
- <sect1info>
+ <sect1 xml:id="updating-upgrading-portsnap">
+ <info><title>Portsnap: a Ports Collection Update Tool</title>
<authorgroup>
- <author>
- <firstname>Tom</firstname>
- <surname>Rhodes</surname>
- <contrib>Written by </contrib>
- </author>
+ <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Written by </contrib></author>
</authorgroup>
<authorgroup>
- <author>
- <firstname>Colin</firstname>
- <surname>Percival</surname>
- <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>
- </sect1info>
- <title>Portsnap: a Ports Collection Update Tool</title>
+ </info>
+
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
@@ -780,10 +736,10 @@ Fetching 133 new ports or files... done.</screen>
<para>This command downloads the latest version of the Ports
Collection and updates the local version under
- <filename class="directory">/usr/ports</filename>.</para>
+ <filename>/usr/ports</filename>.</para>
</sect1>
- <sect1 id="updating-upgrading-documentation">
+ <sect1 xml:id="updating-upgrading-documentation">
<title>Updating the Documentation Set</title>
<indexterm><primary>Updating and Upgrading</primary></indexterm>
@@ -795,13 +751,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 <ulink
- url="http://www.freebsd.org/doc/">&os; web site</ulink>,
+ 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 id="dsvn-doc">
+ <sect2 xml:id="dsvn-doc">
<title>Using <application>Subversion</application> to Update the
Documentation</title>
@@ -818,14 +773,13 @@ Fetching 133 new ports or files... done.</screen>
<listitem>
<para>Download a copy of the documentation source at
- <filename class="directory">/usr/doc</filename>, using
+ <filename>/usr/doc</filename>, using
<application>svn</application>.</para>
</listitem>
<listitem>
<para>Rebuild the &os; documentation from its source, and
- install it under <filename
- class="directory">/usr/share/doc</filename>.</para>
+ install it under <filename>/usr/share/doc</filename>.</para>
</listitem>
<listitem>
@@ -838,7 +792,7 @@ Fetching 133 new ports or files... done.</screen>
</itemizedlist>
</sect2>
- <sect2 id="installing-documentation-toolchain">
+ <sect2 xml:id="installing-documentation-toolchain">
<title>Installing <application>svn</application> and the
Documentation Toolchain</title>
@@ -851,13 +805,12 @@ Fetching 133 new ports or files... done.</screen>
<para>The required tools, including
<application>svn</application>, are available in the
- <filename role="package">textproc/docproj</filename> meta-port
+ <package>textproc/docproj</package> meta-port
developed by the &os; Documentation Project.</para>
<note>
<para>When no &postscript; or PDF documentation required, one
- might consider installing the <filename
- role="package">textproc/docproj-nojadetex</filename> port
+ 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.
@@ -867,17 +820,16 @@ Fetching 133 new ports or files... done.</screen>
</note>
</sect2>
- <sect2 id="updating-documentation-sources">
+ <sect2 xml:id="updating-documentation-sources">
<title>Updating the Documentation Sources</title>
<para>In this example, <application>svn</application> is used to
fetch a clean copy of the documentation sources from the
western US mirror using the HTTPS protocol:</para>
- <screen>&prompt.root; <userinput>svn checkout <replaceable>https://svn0.us-west.FreeBSD.org</replaceable>/doc/head /usr/doc</userinput></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>
@@ -885,7 +837,7 @@ Fetching 133 new ports or files... done.</screen>
<para>Future updates of the documentation sources may be fetched
by running:</para>
- <screen>&prompt.root; <userinput>svn update <filename class="directory">/usr/doc</filename></userinput></screen>
+ <screen>&prompt.root; <userinput>svn update /usr/doc</userinput></screen>
<para>After checking out the sources, an alternative way of
updating the documentation is supported by the
@@ -896,7 +848,7 @@ Fetching 133 new ports or files... done.</screen>
&prompt.root; <userinput>make update</userinput></screen>
</sect2>
- <sect2 id="updating-documentation-options">
+ <sect2 xml:id="updating-documentation-options">
<title>Tunable Options of the Documentation Sources</title>
<para>The updating and build system of the &os; documentation
@@ -910,7 +862,7 @@ Fetching 133 new ports or files... done.</screen>
<variablelist>
<varlistentry>
- <term><makevar>DOC_LANG</makevar></term>
+ <term><varname>DOC_LANG</varname></term>
<listitem>
<para>The list of languages and encodings to build and
@@ -920,7 +872,7 @@ Fetching 133 new ports or files... done.</screen>
</varlistentry>
<varlistentry>
- <term><makevar>FORMATS</makevar></term>
+ <term><varname>FORMATS</varname></term>
<listitem>
<para>A single format or a list of output formats to be
@@ -932,12 +884,11 @@ Fetching 133 new ports or files... done.</screen>
</varlistentry>
<varlistentry>
- <term><makevar>DOCDIR</makevar></term>
+ <term><varname>DOCDIR</varname></term>
<listitem>
<para>Where to install the documentation. It defaults to
- <filename
- class="directory">/usr/share/doc</filename>.</para>
+ <filename>/usr/share/doc</filename>.</para>
</listitem>
</varlistentry>
</variablelist>
@@ -948,21 +899,20 @@ Fetching 133 new ports or files... done.</screen>
<para>For more <command>make</command> variables supported by
the build system of the &os; documentation, refer to the
- <ulink url="&url.doc.langbase;/books/fdp-primer">&os;
+ <link xlink:href="&url.doc.langbase;/books/fdp-primer">&os;
Documentation Project Primer for New
- Contributors</ulink>.</para>
+ Contributors</link>.</para>
</sect2>
- <sect2 id="updating-installed-documentation">
+ <sect2 xml:id="updating-installed-documentation">
<title>Installing the &os; Documentation from Source</title>
<para>Once an up-to-date snapshot of the documentation sources
- has been fetched to <filename
- class="directory">/usr/doc</filename>, everything is
+ 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
- <makevar>DOC_LANG</makevar> may be performed by typing:</para>
+ <varname>DOC_LANG</varname> may be performed by typing:</para>
<screen>&prompt.root; <userinput>cd /usr/doc</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
@@ -970,35 +920,30 @@ Fetching 133 new ports or files... done.</screen>
<para>If an update of only a specific language is desired,
&man.make.1; can be invoked in a language specific
subdirectory of
- <filename class="directory">/usr/doc</filename>:</para>
+ <filename>/usr/doc</filename>:</para>
<screen>&prompt.root; <userinput>cd /usr/doc/en_US.ISO8859-1</userinput>
&prompt.root; <userinput>make update install clean</userinput></screen>
<para>The output formats that will be installed may be specified
- by setting <makevar>FORMATS</makevar>:</para>
+ by setting <varname>FORMATS</varname>:</para>
<screen>&prompt.root; <userinput>cd /usr/doc</userinput>
&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 <ulink
- url="&url.books.fdp-primer;">&os; Documentation
- Project Primer for New Contributors</ulink>.</para>
+ the documentation, refer to the <link xlink:href="&url.books.fdp-primer;">&os; Documentation
+ Project Primer for New Contributors</link>.</para>
</sect2>
- <sect2 id="doc-ports">
- <sect2info>
+ <sect2 xml:id="doc-ports">
+ <info><title>Using Documentation Ports</title>
<authorgroup>
- <author>
- <firstname>Marc</firstname>
- <surname>Fonvieille</surname>
- <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>
- </sect2info>
+ </info>
- <title>Using Documentation Ports</title>
+
<indexterm><primary>Updating and Upgrading</primary></indexterm>
@@ -1035,11 +980,10 @@ Fetching 133 new ports or files... done.</screen>
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 <ulink
- url="http://www.freshports.org/docs/">docs</ulink>
+ under the <link xlink:href="http://www.freshports.org/docs/">docs</link>
category.</para>
- <sect3 id="doc-ports-install-make">
+ <sect3 xml:id="doc-ports-install-make">
<title>Building and Installing Documentation Ports</title>
<para>The documentation ports use the ports building framework
@@ -1062,39 +1006,34 @@ Fetching 133 new ports or files... done.</screen>
<itemizedlist>
<listitem>
- <para>The <quote>master port</quote>, <filename
- role="package">misc/freebsd-doc-en</filename>,
+ <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>, <filename
- role="package">misc/freebsd-doc-all</filename>,
+ <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 <filename
- role="package">misc/freebsd-doc-hu</filename> 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 <ulink
- url="http://www.FreeBSD.org"></ulink>, to
- <filename
- class="directory">/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>
&prompt.root; <userinput>make install clean</userinput></screen>
- <sect4 id="doc-ports-options">
+ <sect4 xml:id="doc-ports-options">
<title>Common Knobs and Options</title>
<para>There are many options for modifying the default
@@ -1102,7 +1041,7 @@ Fetching 133 new ports or files... done.</screen>
<variablelist>
<varlistentry>
- <term><makevar>WITH_HTML</makevar></term>
+ <term><varname>WITH_HTML</varname></term>
<listitem>
<para>Builds the HTML format with a single HTML file
@@ -1114,7 +1053,7 @@ Fetching 133 new ports or files... done.</screen>
</varlistentry>
<varlistentry>
- <term><makevar>WITH_PDF</makevar></term>
+ <term><varname>WITH_PDF</varname></term>
<listitem>
<para>Builds the &adobe; Portable Document Format
@@ -1126,20 +1065,19 @@ Fetching 133 new ports or files... done.</screen>
</varlistentry>
<varlistentry>
- <term><makevar>DOCBASE</makevar></term>
+ <term><varname>DOCBASE</varname></term>
<listitem>
<para>Specifies where to install the documentation.
- It defaults to <filename
- class="directory">/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
directory used <application>svn</application>.
This is because ports are usually installed within
- <filename class="directory">/usr/local</filename>.
+ <filename>/usr/local</filename>.
This can be overridden by using
- <makevar>PREFIX</makevar>.</para>
+ <varname>PREFIX</varname>.</para>
</note>
</listitem>
</varlistentry>
@@ -1153,7 +1091,7 @@ Fetching 133 new ports or files... done.</screen>
</sect4>
</sect3>
- <sect3 id="doc-ports-install-package">
+ <sect3 xml:id="doc-ports-install-package">
<title>Using Documentation Packages</title>
<para>Building the documentation ports from source, as
@@ -1185,7 +1123,7 @@ Fetching 133 new ports or files... done.</screen>
<note>
<para>Packages use a format that differs from the
corresponding port's name:
- <literal><replaceable>lang</replaceable>-freebsd-doc</literal>,
+ <literal>lang-freebsd-doc</literal>,
where <replaceable>lang</replaceable> is the short format
of the language code, such as <literal>hu</literal> for
Hungarian, or <literal>zh_cn</literal> for Simplified
@@ -1193,13 +1131,13 @@ Fetching 133 new ports or files... done.</screen>
</note>
</sect3>
- <sect3 id="doc-ports-update">
+ <sect3 xml:id="doc-ports-update">
<title>Updating Documentation Ports</title>
<para>Documentation ports can be updated like any other port.
For example, the following command updates the installed
Hungarian documentation using
- <filename role="package">ports-mgmt/portmaster</filename>
+ <package>ports-mgmt/portmaster</package>
by using packages only:</para>
<screen>&prompt.root; <userinput>portmaster -PP hu-freebsd-doc</userinput></screen>
@@ -1207,7 +1145,7 @@ Fetching 133 new ports or files... done.</screen>
</sect2>
</sect1>
- <sect1 id="current-stable">
+ <sect1 xml:id="current-stable">
<title>Tracking a Development Branch</title>
<indexterm><primary>-CURRENT</primary></indexterm>
@@ -1219,7 +1157,7 @@ Fetching 133 new ports or files... done.</screen>
respective tree. &os.current; will be discussed first, then
&os.stable;.</para>
- <sect2 id="current">
+ <sect2 xml:id="current">
<title>Staying Current with &os;</title>
<para>&os.current; is the <quote>bleeding edge</quote> of &os;
@@ -1334,8 +1272,7 @@ 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>
<indexterm>
@@ -1347,25 +1284,22 @@ 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><link
- linkend="ctm">CTM</link></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>
- <link linkend="svn">Subversion</link></application>.
- For this reason, <application><link
- linkend="svn">Subversion</link></application>
+ Subversion</application>.
+ For this reason, <application>Subversion</application>
is the recommended method for any system with
Internet connectivity.</para>
</listitem>
@@ -1405,7 +1339,7 @@ Fetching 133 new ports or files... done.</screen>
</sect3>
</sect2>
- <sect2 id="stable">
+ <sect2 xml:id="stable">
<title>Staying Stable with &os;</title>
<sect3>
@@ -1440,8 +1374,7 @@ 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 <ulink
- url="&url.base;/security/">http://www.FreeBSD.org/security/</ulink>.</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
@@ -1498,11 +1431,9 @@ Fetching 133 new ports or files... done.</screen>
<listitem>
<para>To install a new system running monthly
- snapshots built from &os.stable;, refer to <ulink
- url="&url.base;/snapshots/">Snapshots</ulink> for more
+ 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
+ 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>
@@ -1520,8 +1451,8 @@ Fetching 133 new ports or files... done.</screen>
providing access to &os; development as it occurs.
Branch names include <literal>head</literal> for the
current development head, and branches identified in
- <ulink url="&url.base;/releng/">the release
- engineering page</ulink>, such as
+ <link xlink:href="&url.base;/releng/">the release
+ engineering page</link>, such as
<literal>stable/9</literal><indexterm>
<primary>-STABLE</primary>
<secondary>syncing with
@@ -1529,8 +1460,7 @@ Fetching 133 new ports or files... done.</screen>
</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
+ 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
@@ -1538,8 +1468,7 @@ Fetching 133 new ports or files... done.</screen>
</listitem>
<listitem>
- <para>Consider using <application><link
- linkend="ctm">CTM</link></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
@@ -1567,14 +1496,12 @@ Fetching 133 new ports or files... done.</screen>
</sect2>
</sect1>
- <sect1 id="synching">
+ <sect1 xml:id="synching">
<title>Synchronizing Source</title>
<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
@@ -1629,7 +1556,7 @@ Fetching 133 new ports or files... done.</screen>
it all with <application>CTM</application>.</para>
</sect1>
- <sect1 id="makeworld">
+ <sect1 xml:id="makeworld">
<title>Rebuilding <quote>world</quote></title>
<indexterm>
@@ -1689,7 +1616,7 @@ Fetching 133 new ports or files... done.</screen>
used instead.</para>
</warning>
- <sect2 id="canonical-build">
+ <sect2 xml:id="canonical-build">
<title>The Canonical Way to Update Your System</title>
<para>Before updating the system, read
@@ -1739,10 +1666,10 @@ Fetching 133 new ports or files... done.</screen>
</itemizedlist>
<para>These first two issues are the basis for the
- core <maketarget>buildworld</maketarget>,
- <maketarget>buildkernel</maketarget>,
- <maketarget>installkernel</maketarget>,
- <maketarget>installworld</maketarget> sequence described in
+ core <buildtarget>buildworld</buildtarget>,
+ <buildtarget>buildkernel</buildtarget>,
+ <buildtarget>installkernel</buildtarget>,
+ <buildtarget>installworld</buildtarget> sequence described in
the following paragraphs. Other reasons for using these
steps are listed below:</para>
@@ -1778,27 +1705,26 @@ Fetching 133 new ports or files... done.</screen>
<orderedlist>
<listitem>
<para><command>make
- <maketarget>buildworld</maketarget></command></para>
+ buildworld</command></para>
<para>This first compiles the new compiler and a few related
tools, then uses the new compiler to compile the rest of
the new world. The result ends up in
- <filename class="directory">/usr/obj</filename>.</para>
+ <filename>/usr/obj</filename>.</para>
</listitem>
<listitem>
<para><command>make
- <maketarget>buildkernel</maketarget></command></para>
+ buildkernel</command></para>
<para>This uses the <emphasis>new</emphasis> compiler
- residing in <filename
- class="directory">/usr/obj</filename> in order to
+ residing in <filename>/usr/obj</filename> in order to
protect against compiler-kernel mismatches.</para>
</listitem>
<listitem>
<para><command>make
- <maketarget>installkernel</maketarget></command></para>
+ installkernel</command></para>
<para>Place the new kernel and kernel modules onto the disk,
making it possible to boot with the newly updated
@@ -1816,7 +1742,7 @@ Fetching 133 new ports or files... done.</screen>
<listitem>
<para><command>mergemaster
- <option>-p</option></command></para>
+ -p</command></para>
<para>This does some initial configuration file updates in
preparation for the new world. For instance, it may add
@@ -1824,17 +1750,17 @@ 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
- <maketarget>installworld</maketarget> step will be able to
+ <buildtarget>installworld</buildtarget> step will be able to
use the newly installed system user or system group names
without problems.</para>
</listitem>
<listitem>
<para><command>make
- <maketarget>installworld</maketarget></command></para>
+ installworld</command></para>
<para>Copies the world
- from <filename class="directory">/usr/obj</filename>. The
+ from <filename>/usr/obj</filename>. The
new kernel and new world are now installed on disk.</para>
</listitem>
@@ -1847,7 +1773,7 @@ Fetching 133 new ports or files... done.</screen>
<listitem>
<para><command>make
- <maketarget>delete-old</maketarget></command></para>
+ delete-old</command></para>
<para>This target deletes old (obsolete) files. This is
important because sometimes they cause problems if left on
@@ -1866,7 +1792,7 @@ Fetching 133 new ports or files... done.</screen>
<listitem>
<para><command>make
- <maketarget>delete-old-libs</maketarget></command></para>
+ delete-old-libs</command></para>
<para>Remove any obsolete libraries to avoid conflicts with
newer ones. Make sure that all ports have been rebuilt
@@ -1879,7 +1805,7 @@ Fetching 133 new ports or files... done.</screen>
9.1, may not need this procedure since it is less likely to
run into serious mismatches between compiler, kernel,
userland, and configuration files. The approach of
- <command>make <maketarget>world</maketarget></command>
+ <command>make world</command>
followed by building and installing a new kernel might work
well enough for minor updates.</para>
@@ -1910,13 +1836,13 @@ Fetching 133 new ports or files... done.</screen>
<note>
<para>There are a few rare cases when an extra run of
<command>mergemaster -p</command> is needed before the
- <maketarget>buildworld</maketarget> step. These are
+ <buildtarget>buildworld</buildtarget> step. These are
described in <filename>UPDATING</filename>. In general,
though, this step can safely be omitted when not updating
across one or more major &os; versions.</para>
</note>
- <para>After <maketarget>installkernel</maketarget> finishes
+ <para>After <buildtarget>installkernel</buildtarget> finishes
successfully, boot into single user mode using <command>boot
-s</command> from the loader prompt.</para>
@@ -1950,7 +1876,7 @@ Fetching 133 new ports or files... done.</screen>
</warning>
</sect2>
- <sect2 id="src-updating">
+ <sect2 xml:id="src-updating">
<title>Read <filename>/usr/src/UPDATING</filename></title>
<para>Before updating, read
@@ -1969,7 +1895,7 @@ Fetching 133 new ports or files... done.</screen>
</important>
</sect2>
- <sect2 id="make-conf">
+ <sect2 xml:id="make-conf">
<title>Check <filename>/etc/make.conf</filename></title>
<indexterm>
@@ -1992,7 +1918,7 @@ Fetching 133 new ports or files... done.</screen>
programs, or building the &os; operating system.</para>
</sect2>
- <sect2 id="src-conf">
+ <sect2 xml:id="src-conf">
<title>Check <filename>/etc/src.conf</filename></title>
<indexterm>
@@ -2010,10 +1936,10 @@ Fetching 133 new ports or files... done.</screen>
are unexpected or subtle interactions.</para>
</sect2>
- <sect2 id="updating-etc">
+ <sect2 xml:id="updating-etc">
<title>Update the Files in <filename>/etc</filename></title>
- <para><filename class="directory">/etc</filename> contains a
+ <para><filename>/etc</filename> contains a
large part of the system's configuration information, as well
as scripts that are run at system startup. Some of these
scripts change between &os; versions.</para>
@@ -2032,14 +1958,14 @@ Fetching 133 new ports or files... done.</screen>
<para>The solution is to run &man.mergemaster.8; in
pre-buildworld mode with <option>-p</option>. This compares
only those files that are essential for the success of
- <maketarget>buildworld</maketarget> or
- <maketarget>installworld</maketarget>.</para>
+ <buildtarget>buildworld</buildtarget> or
+ <buildtarget>installworld</buildtarget>.</para>
<tip>
<para>To check which files are owned by the group being
renamed or deleted:</para>
- <screen>&prompt.root; <userinput>find / -group <replaceable>GID</replaceable> -print</userinput></screen>
+ <screen>&prompt.root; <userinput>find / -group GID -print</userinput></screen>
<para>This command will show all files owned by group
<replaceable>GID</replaceable>, which can be either a group
@@ -2047,7 +1973,7 @@ Fetching 133 new ports or files... done.</screen>
</tip>
</sect2>
- <sect2 id="makeworld-singleuser">
+ <sect2 xml:id="makeworld-singleuser">
<title>Drop to Single User Mode</title>
<indexterm><primary>single-user mode</primary></indexterm>
@@ -2064,8 +1990,8 @@ Fetching 133 new ports or files... done.</screen>
mode, and then drop into single user mode for the
installation. With this method, hold off on the following
steps until the build has completed. Drop to single user mode
- in order to run <maketarget>installkernel</maketarget> or
- <maketarget>installworld</maketarget>.</para>
+ in order to run <buildtarget>installkernel</buildtarget> or
+ <buildtarget>installworld</buildtarget>.</para>
<para>To enter single user mode from a running system:</para>
@@ -2098,7 +2024,7 @@ Fetching 133 new ports or files... done.</screen>
</note>
</sect2>
- <sect2 id="cleaning-usr-obj">
+ <sect2 xml:id="cleaning-usr-obj">
<title>Remove <filename>/usr/obj</filename></title>
<para>As parts of the system are rebuilt, they are, by default,
@@ -2119,7 +2045,7 @@ Fetching 133 new ports or files... done.</screen>
&prompt.root; <userinput>rm -rf *</userinput></screen>
</sect2>
- <sect2 id="updating-upgrading-compilebase">
+ <sect2 xml:id="updating-upgrading-compilebase">
<title>Recompile the Base System</title>
<sect3>
@@ -2144,17 +2070,16 @@ 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
- class="directory">/tmp</filename> as this directory may be
+ <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 class="directory">/var/tmp</filename> or in
- <username>root</username>'s home directory.</para>
+ <filename>/var/tmp</filename> or in
+ <systemitem class="username">root</systemitem>'s home directory.</para>
</sect3>
- <sect3 id="make-buildworld">
+ <sect3 xml:id="make-buildworld">
<title>Compile the Base System</title>
- <para>While in <filename class="directory">/usr/src</filename>
+ <para>While in <filename>/usr/src</filename>
type:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
@@ -2168,7 +2093,7 @@ Script done, &hellip;</screen>
<para>The general format of the command is as follows:</para>
- <screen>&prompt.root; <userinput>make -<replaceable>x</replaceable> -D<replaceable>VARIABLE</replaceable> <replaceable>target</replaceable></userinput></screen>
+ <screen>&prompt.root; <userinput>make -x -DVARIABLE target</userinput></screen>
<para>In this example,
<option>-<replaceable>x</replaceable></option> is an option
@@ -2182,7 +2107,7 @@ Script done, &hellip;</screen>
in <filename>/etc/make.conf</filename>, and this provides
another way of setting them. For example:</para>
- <screen>&prompt.root; <userinput>make -DNO_PROFILE <replaceable>target</replaceable></userinput></screen>
+ <screen>&prompt.root; <userinput>make -DNO_PROFILE target</userinput></screen>
<para>is another way of specifying that profiled libraries
should not be built, and corresponds with the</para>
@@ -2204,41 +2129,41 @@ Script done, &hellip;</screen>
<para>Most of the time, no parameters need to be passed to
&man.make.1; and the command looks like this:</para>
- <screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
+ <screen>&prompt.root; <userinput>make target</userinput></screen>
<para>Where <replaceable>target</replaceable> is one of many
build options. The first target should always be
- <makevar>buildworld</makevar>.</para>
+ <varname>buildworld</varname>.</para>
- <para>As the names imply, <maketarget>buildworld</maketarget>
+ <para>As the names imply, <buildtarget>buildworld</buildtarget>
builds a complete new tree under
<filename>/usr/obj</filename> and
- <maketarget>installworld</maketarget> installs this tree on
+ <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, <maketarget>buildworld</maketarget> can be run on a
+ 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
- <maketarget>installworld</maketarget> be run in part in
+ <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, <hostid>A</hostid>, <hostid>B</hostid> and
- <hostid>C</hostid>, run <command>make buildworld</command>
+ machines, <systemitem>A</systemitem>, <systemitem>B</systemitem> and
+ <systemitem>C</systemitem>, run <command>make buildworld</command>
and <command>make installworld</command> on
- <hostid>A</hostid>. <hostid>B</hostid> and
- <hostid>C</hostid> should then NFS mount
+ <systemitem>A</systemitem>. <systemitem>B</systemitem> and
+ <systemitem>C</systemitem> should then NFS mount
<filename>/usr/src</filename> and
- <filename>/usr/obj</filename> from <hostid>A</hostid>, and
+ <filename>/usr/obj</filename> from <systemitem>A</systemitem>, and
run <command>make installworld</command> to install the
- results of the build on <hostid>B</hostid> and
- <hostid>C</hostid>.</para>
+ results of the build on <systemitem>B</systemitem> and
+ <systemitem>C</systemitem>.</para>
- <para>Although the <maketarget>world</maketarget> target still
+ <para>Although the <buildtarget>world</buildtarget> target still
exists, users are strongly encouraged not to use it.</para>
<para>Instead, run:</para>
@@ -2282,7 +2207,7 @@ Script done, &hellip;</screen>
</sect3>
</sect2>
- <sect2 id="new-kernel">
+ <sect2 xml:id="new-kernel">
<title>Compile and Install a New Kernel</title>
<indexterm>
@@ -2313,11 +2238,11 @@ Script done, &hellip;</screen>
<note>
<para>To build a custom kernel with an existing customized
configuration file, use
- <literal>KERNCONF=<replaceable>MYKERNEL</replaceable></literal>:</para>
+ <literal>KERNCONF=MYKERNEL</literal>:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
-&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput>
-&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
+&prompt.root; <userinput>make buildkernel KERNCONF=MYKERNEL</userinput>
+&prompt.root; <userinput>make installkernel KERNCONF=MYKERNEL</userinput></screen>
</note>
@@ -2325,27 +2250,26 @@ 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
- <maketarget>installkernel</maketarget>. Otherwise, both these
+ <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>
- <sect2 id="new-kernel-singleuser">
+ <sect2 xml:id="new-kernel-singleuser">
<title>Reboot into Single User Mode</title>
<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 id="make-installworld">
+ <sect2 xml:id="make-installworld">
<title>Install the New System Binaries</title>
- <para>Next, use <maketarget>installworld</maketarget> to install
+ <para>Next, use <buildtarget>installworld</buildtarget> to install
the new system binaries:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
@@ -2356,7 +2280,7 @@ Script done, &hellip;</screen>
<command>make buildworld</command>, specify the same
variables to <command>make installworld</command>. However,
<option>-j</option> must never be used with
- <maketarget>installworld</maketarget>.</para>
+ <buildtarget>installworld</buildtarget>.</para>
<para>For example, if you ran:</para>
@@ -2372,14 +2296,14 @@ Script done, &hellip;</screen>
</note>
</sect2>
- <sect2 id="post-installworld-updates">
+ <sect2 xml:id="post-installworld-updates">
<title>Update Files Not Updated by
<command>make installworld</command></title>
<para>Remaking the world will not update certain directories,
- such as <filename class="directory">/etc</filename>,
- <filename class="directory">/var</filename> and
- <filename class="directory">/usr</filename>, with
+ such as <filename>/etc</filename>,
+ <filename>/var</filename> and
+ <filename>/usr</filename>, with
new or changed configuration files.</para>
<para>The simplest way to update the files in these directories
@@ -2387,17 +2311,13 @@ Script done, &hellip;</screen>
of <filename>/etc</filename> in case anything goes
wrong.</para>
- <sect3 id="mergemaster">
- <sect3info>
+ <sect3 xml:id="mergemaster">
+ <info><title><command>mergemaster</command></title>
<authorgroup>
- <author>
- <firstname>Tom</firstname>
- <surname>Rhodes</surname>
- <contrib>Contributed by </contrib>
- </author>
+ <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Contributed by </contrib></author>
</authorgroup>
- </sect3info>
- <title><command>mergemaster</command></title>
+ </info>
+
<indexterm>
<primary>
@@ -2407,9 +2327,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 class="directory">/etc</filename>, and the
+ in <filename>/etc</filename>, and the
configuration files in the source tree
- <filename class="directory">/usr/src/etc</filename>. This
+ <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>
@@ -2473,12 +2393,12 @@ Script done, &hellip;</screen>
<para>To perform the update manually instead, do not just copy
over the files from
- <filename class="directory">/usr/src/etc</filename> to
- <filename class="directory">/etc</filename> and expect it to
+ <filename>/usr/src/etc</filename> to
+ <filename>/etc</filename> and expect it to
work. Some files must be <quote>installed</quote> first as
- <filename class="directory">/usr/src/etc</filename>
+ <filename>/usr/src/etc</filename>
<emphasis>is not</emphasis> a copy of what
- <filename class="directory">/etc</filename> should look
+ <filename>/etc</filename> should look
like. In addition, some files that should be in
<filename>/etc</filename> are not in
<filename>/usr/src/etc</filename>.</para>
@@ -2497,7 +2417,7 @@ Script done, &hellip;</screen>
<filename>/etc</filename></title>
<para>It is recommended to first copy the existing
- <filename class="directory">/etc</filename> somewhere
+ <filename>/etc</filename> somewhere
safe, like so:</para>
<screen>&prompt.root; <userinput>cp -Rp /etc /etc.old</userinput></screen>
@@ -2508,7 +2428,7 @@ Script done, &hellip;</screen>
</warning>
<para>Build a temporary set of directories into which the new
- <filename class="directory">/etc</filename> and other files
+ <filename>/etc</filename> and other files
can be installed:</para>
<screen>&prompt.root; <userinput>mkdir /var/tmp/root</userinput>
@@ -2517,8 +2437,7 @@ 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
- class="directory">/var/tmp/root</filename> are empty and
+ been created under <filename>/var/tmp/root</filename> are empty and
should be deleted. The simplest way to do this is
to:</para>
@@ -2530,14 +2449,13 @@ Script done, &hellip;</screen>
the warnings about the directories that are not
empty.</para>
- <para><filename class="directory">/var/tmp/root</filename> now
+ <para><filename>/var/tmp/root</filename> now
contains all the files that should be placed in appropriate
- locations below <filename class="directory">/</filename>.
+ locations below <filename>/</filename>.
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
- class="directory">/var/tmp/root</filename> have a
+ <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>
@@ -2554,23 +2472,22 @@ Script done, &hellip;</screen>
<tip>
<title>Name the New Root Directory
- (<filename class="directory">/var/tmp/root</filename>)
+ (<filename>/var/tmp/root</filename>)
with a Time Stamp, so You Can Easily Compare Differences
Between Versions</title>
<para>Frequently rebuilding world entails frequently
- updating <filename class="directory">/etc</filename>
+ updating <filename>/etc</filename>
as well, which can be a bit of a chore.</para>
<para>To speed up this process, use the following
procedure to keep a copy of the last set of changed files
- that were merged into <filename
- class="directory">/etc</filename>.</para>
+ that were merged into <filename>/etc</filename>.</para>
<procedure>
<step>
<para>Make the world as normal. When updating
- <filename class="directory">/etc</filename> and the
+ <filename>/etc</filename> and the
other directories, give the target directory a name
based on the current date:</para>
@@ -2604,17 +2521,16 @@ 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
- class="directory">/var/tmp/root-20130221/etc</filename>
- and <filename class="directory">/etc</filename>.
+ 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 class="directory">/etc</filename>.</para>
+ <filename>/etc</filename>.</para>
</step>
<step>
<para>When finished, remove the older of the two
- <filename class="directory">/var/tmp/root-*</filename>
+ <filename>/var/tmp/root-*</filename>
directories:</para>
<screen>&prompt.root; <userinput>rm -rf /var/tmp/root-20130214</userinput></screen>
@@ -2622,8 +2538,7 @@ Script done, &hellip;</screen>
<step>
<para>Repeat this process whenever merging
- in changes to <filename
- class="directory">/etc</filename>.</para>
+ in changes to <filename>/etc</filename>.</para>
</step>
</procedure>
@@ -2635,17 +2550,13 @@ Script done, &hellip;</screen>
</sect3>
</sect2>
- <sect2 id="make-delete-old">
- <sect2info>
+ <sect2 xml:id="make-delete-old">
+ <info><title>Deleting Obsolete Files and Directories</title>
<authorgroup>
- <author>
- <firstname>Anton</firstname>
- <surname>Shterenlikht</surname>
- <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>
- </sect2info>
- <title>Deleting Obsolete Files and Directories</title>
+ </info>
+
<indexterm>
<primary>Deleting obsolete files and directories</primary>
@@ -2669,7 +2580,7 @@ Script done, &hellip;</screen>
during the system upgrade process.</para>
<para>After the
- <command>make <maketarget>installworld</maketarget></command>
+ <command>make installworld</command>
and the subsequent <command>mergemaster</command> have
finished successfully, check for obsolete files and libraries
as follows:</para>
@@ -2690,7 +2601,7 @@ Script done, &hellip;</screen>
<para>A prompt is displayed before deleting each obsolete file.
To skip the prompt and let the system remove these files
automatically, use
- <makevar>BATCH_DELETE_OLD_FILES</makevar>:</para>
+ <varname>BATCH_DELETE_OLD_FILES</varname>:</para>
<screen>&prompt.root; <userinput>make -DBATCH_DELETE_OLD_FILES delete-old</userinput></screen>
@@ -2700,7 +2611,7 @@ Script done, &hellip;</screen>
<screen>&prompt.root; <userinput>yes|make delete-old</userinput></screen>
</sect2>
- <sect2 id="updating-upgrading-rebooting">
+ <sect2 xml:id="updating-upgrading-rebooting">
<title>Rebooting</title>
<para>Verify that everything appears to be in the right place,
@@ -2709,7 +2620,7 @@ Script done, &hellip;</screen>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
</sect2>
- <sect2 id="make-delete-old-libs">
+ <sect2 xml:id="make-delete-old-libs">
<title>Deleting obsolete libraries</title>
<warning>
@@ -2720,15 +2631,14 @@ Script done, &hellip;</screen>
true for old libraries. In most cases, the programs, ports,
or libraries that used the old library need to be recompiled
before <command>make
- <maketarget>delete-old-libs</maketarget></command> is
+ delete-old-libs</command> is
executed.</para>
</warning>
<para>Utilities for checking shared library dependencies are
available from the Ports Collection in
- <filename role="package">sysutils/libchk</filename> or
- <filename
- role="package">sysutils/bsdadminscripts</filename>.</para>
+ <package>sysutils/libchk</package> or
+ <package>sysutils/bsdadminscripts</package>.</para>
<para>Obsolete shared libraries can conflict with newer
libraries, causing messages like these:</para>
@@ -2745,7 +2655,7 @@ Script done, &hellip;</screen>
/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1</screen>
<para>Then deinstall, rebuild and reinstall the port.
- <filename role="package">ports-mgmt/portmaster</filename> can
+ <package>ports-mgmt/portmaster</package> can
be used to automate this process. After all ports are rebuilt
and no longer use the old libraries, delete the old libraries
using the following command:</para>
@@ -2758,15 +2668,14 @@ 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
- class="directory">/etc</filename>, &man.file.1; will stop
+ 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>
</sect2>
- <sect2 id="updating-questions">
+ <sect2 xml:id="updating-questions">
<title>Questions</title>
<qandaset>
@@ -2836,19 +2745,19 @@ Script done, &hellip;</screen>
<qandaentry>
<question>
- <para>Can <filename class="directory">/usr/obj</filename>
+ <para>Can <filename>/usr/obj</filename>
be removed when finished?</para>
</question>
<answer>
<para>The short answer is yes.</para>
- <para><filename class="directory">/usr/obj</filename>
+ <para><filename>/usr/obj</filename>
contains all the object files that were produced during
the compilation phase. Normally, one of the first steps
in the <command>make buildworld</command> process is to
remove this directory and start afresh. Keeping
- <filename class="directory">/usr/obj</filename> around
+ <filename>/usr/obj</filename> around
when finished makes little sense, and its removal frees
up a approximately 2&nbsp;GB of disk space.</para>
@@ -2919,9 +2828,8 @@ Building everything..
</listitem>
<listitem>
- <para>Put <filename
- class="directory">/usr/src</filename> and
- <filename class="directory">/usr/obj</filename>
+ <para>Put <filename>/usr/src</filename> and
+ <filename>/usr/obj</filename>
on separate file systems held on separate disks. If
possible, put these disks on separate disk
controllers.</para>
@@ -2948,7 +2856,7 @@ Building everything..
<listitem>
<para>The file system holding
- <filename class="directory">/usr/src</filename> can
+ <filename>/usr/src</filename> can
be mounted or remounted with
<option>noatime</option>.
This prevents the file system from recording the
@@ -2958,17 +2866,15 @@ Building everything..
<screen>&prompt.root; <userinput>mount -u -o noatime /usr/src</userinput></screen>
<warning>
- <para>This example assumes <filename
- class="directory">/usr/src</filename> is on its
+ <para>This example assumes <filename>/usr/src</filename> is on its
own file system. If it is part of
- <filename class="directory">/usr</filename>, then
+ <filename>/usr</filename>, then
use that file system mount point instead.</para>
</warning>
</listitem>
<listitem>
- <para>The file system holding <filename
- class="directory">/usr/obj</filename> can be
+ <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
@@ -2983,8 +2889,7 @@ Building everything..
file system will be in an unrecoverable state when
the machine restarts.</para>
- <para>If <filename
- class="directory">/usr/obj</filename> is the
+ <para>If <filename>/usr/obj</filename> is the
only directory on this file system, this is not a
problem. If you have other, valuable data on the
same file system, ensure that there are verified
@@ -2994,8 +2899,7 @@ Building everything..
<screen>&prompt.root; <userinput>mount -u -o async /usr/obj</userinput></screen>
<warning>
- <para>If <filename
- class="directory">/usr/obj</filename> is
+ <para>If <filename>/usr/obj</filename> is
not on its own file system, replace it in the
example with the name of the appropriate mount
point.</para>
@@ -3036,18 +2940,14 @@ Building everything..
</sect2>
</sect1>
- <sect1 id="small-lan">
- <sect1info>
+ <sect1 xml:id="small-lan">
+ <info><title>Tracking for Multiple Machines</title>
<authorgroup>
- <author>
- <firstname>Mike</firstname>
- <surname>Meyer</surname>
- <contrib>Contributed by </contrib>
- </author>
+ <author><personname><firstname>Mike</firstname><surname>Meyer</surname></personname><contrib>Contributed by </contrib></author>
</authorgroup>
- </sect1info>
+ </info>
- <title>Tracking for Multiple Machines</title>
+
<indexterm>
<primary>NFS</primary>
@@ -3061,7 +2961,7 @@ Building everything..
the rest of the machines mount that work via NFS. This section
outlines a method of doing so.</para>
- <sect2 id="small-lan-preliminaries">
+ <sect2 xml:id="small-lan-preliminaries">
<title>Preliminaries</title>
<para>First, identify a set of machines which will run the
@@ -3080,12 +2980,12 @@ Building everything..
machine, but need not be.</para>
<para>All the machines in this build set need to mount
- <filename class="directory">/usr/obj</filename> and
- <filename class="directory">/usr/src</filename> from the same
+ <filename>/usr/obj</filename> and
+ <filename>/usr/src</filename> from the same
machine, and at the same point. Ideally, those directories
are on two different drives on the build machine, but they can
be NFS mounted on that machine as well. For multiple
- build sets, <filename class="directory">/usr/src</filename>
+ build sets, <filename>/usr/src</filename>
should be on one build machine, and NFS mounted on the
rest.</para>
@@ -3095,25 +2995,24 @@ Building everything..
the build machine must build all the parts of the base system
that any machine in the build set is going to install. Also,
each build machine should have its kernel name set with
- <makevar>KERNCONF</makevar> in
+ <varname>KERNCONF</varname> in
<filename>/etc/make.conf</filename>, and the build machine
- should list them all in <makevar>KERNCONF</makevar>, listing
+ should list them all in <varname>KERNCONF</varname>, listing
its own kernel first. The build machine must have the kernel
configuration files for each machine in
- <filename
- class="directory">/usr/src/sys/<replaceable>arch</replaceable>/conf</filename>
+ <filename>/usr/src/sys/arch/conf</filename>
if it is going to build their kernels.</para>
</sect2>
- <sect2 id="small-lan-base-system">
+ <sect2 xml:id="small-lan-base-system">
<title>The Base System</title>
<para>On the build machine, build the kernel and world as
described in <xref linkend="make-buildworld"/>, but do
not install anything. After the build has finished, go to the
test machine, and install the built kernel. If this machine
- mounts <filename class="directory">/usr/src</filename> and
- <filename class="directory">/usr/obj</filename> via NFS,
+ mounts <filename>/usr/src</filename> and
+ <filename>/usr/obj</filename> via NFS,
enable the network and mount these directories after rebooting
to single user mode. The easiest way to do this is to boot to
multi-user, then run <command>shutdown now</command> to go to
@@ -3128,21 +3027,20 @@ Building everything..
set.</para>
</sect2>
- <sect2 id="small-lan-ports">
+ <sect2 xml:id="small-lan-ports">
<title>Ports</title>
<para>The same ideas can be used for the ports tree. The first
- critical step is to mount <filename
- class="directory">/usr/ports</filename> from the same
+ 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 <makevar>DISTDIR</makevar> to a common shared
+ distfiles. Set <varname>DISTDIR</varname> to a common shared
directory that is writable by whichever user
- <username>root</username> is mapped to by the NFS mounts.
- Each machine should set <makevar>WRKDIRPREFIX</makevar> to a
+ <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 <makevar>PACKAGES</makevar> to a
- directory similar to <makevar>DISTDIR</makevar>.</para>
+ distribute packages, set <varname>PACKAGES</varname> to a
+ directory similar to <varname>DISTDIR</varname>.</para>
</sect2>
</sect1>
</chapter>