Whitespace-only fixes, translators please ignore.
This commit is contained in:
parent
cb7318168f
commit
8a4ddc9b49
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=43685
1 changed files with 298 additions and 169 deletions
|
|
@ -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; 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 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 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, …</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, …</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, …</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, …</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, …</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, …</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, …</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, …</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, …</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, …</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, …</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, …</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>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue