PERFORCE change 156992 for review

Rene Ladan rene at FreeBSD.org
Sun Feb 1 04:39:36 PST 2009


http://perforce.freebsd.org/chv.cgi?CH=156992

Change 156992 by rene at rene_self on 2009/02/01 12:38:45

	IFC

Affected files ...

.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#12 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#12 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#8 integrate
.. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#19 integrate
.. //depot/projects/docproj_nl/www/en/where.sgml#3 integrate

Differences ...

==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#12 (text+ko) ====

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.239 2009/01/31 06:37:04 keramida Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.240 2009/02/01 04:25:22 keramida Exp $
 -->
 
 <chapter id="updating-upgrading">
@@ -1588,9 +1588,190 @@
       <title>The Canonical Way to Update Your System</title>
 
       <para>To update your system, you should check
-	<filename>/usr/src/UPDATING</filename> for any pre-buildworld steps
-	necessary for your version of the sources and then use the following
-	procedure:</para>
+	<filename>/usr/src/UPDATING</filename> for any pre-buildworld
+	steps necessary for your version of the sources and then use the
+	procedure outlined here.</para>
+
+      <para>These upgrade steps assume that you are currently using an old
+	&os; version, consisting of an old compiler, old kernel, old world and
+	old configuration files.  By <quote>world</quote> here we mean the
+	core system binaries, libraries and programming files.  The compiler
+	is part of <quote>world</quote>, but has a few special concerns.</para>
+
+      <para>We also assume that you have already obtained the sources to a
+	newer system.  If the sources available on the particular system are
+	old too, see <xref linkend="synching"> for detailed help about
+	synchronizing them to a newer version.</para>
+
+      <para>Updating the system from sources is a bit more subtle than it
+	might initially seem to be, and the &os; developers have found it
+	necessary over the years to change the recommended approach fairly
+	dramatically as new kinds of unavoidable dependencies come to light.
+	The rest of this section describes the rationale behind the currently
+	recommended upgrade sequence.</para>
+
+      <para>Any successful update sequence must deal with the following
+	issues:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>The old compiler might not be able to compile the new
+	    kernel.  (Old compilers sometimes have bugs.)  So, the new
+	    kernel should be built with the new compiler.  In particular,
+	    the new compiler must be built before the new kernel is built.
+	    This does not necessarily mean that the new compiler must
+	    be <emphasis>installed</emphasis> before building the new
+	    kernel.</para>
+	</listitem>
+
+	<listitem>
+	  <para>The new world might rely on new kernel features.  So, the
+	    new kernel must be installed before the new world is
+	    installed.</para>
+	</listitem>
+      </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 that we describe in
+	the following paragraphs.  This is not an exhaustive list of all the
+	reasons why you should prefer the currently recommended upgrade
+	process.  Some of the less obvious ones are listed below:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>The old world might not run correctly on the new kernel, so
+	    you must install the new world immediately upon installing the
+	    new kernel.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Some configuration changes must be done before the new world
+	    is installed, but others might break the old world.  Hence, two
+	    different configuration upgrade steps are generally
+	    needed.</para>
+	</listitem>
+
+	<listitem>
+	  <para>For the most part, the update process only replaces or adds
+	    files; existing old files are not deleted.  In a few cases, this
+	    can cause problems.  As a result, the update procedure will
+	    sometimes specify certain files that should be manually deleted
+	    at certain steps.  This may or may not be automated in the
+	    future.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>These concerns have led to the following recommended sequence.
+	Note that the detailed sequence for particular updates may require
+	additional steps, but this core process should remain unchanged for
+	some time:</para>
+
+      <orderedlist>
+	<listitem>
+	  <para><command>make <maketarget>buildworld</maketarget></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>
+	</listitem>
+
+	<listitem>
+	  <para><command>make <maketarget>buildkernel</maketarget></command></para>
+
+	  <para>Unlike the older approach, using &man.config.8; and
+	    &man.make.1;, this uses the <emphasis>new</emphasis> compiler
+	    residing in <filename class="directory">/usr/obj</filename>.
+	    This protects you against compiler-kernel mismatches.</para>
+	</listitem>
+
+	<listitem>
+	  <para><command>make <maketarget>installkernel</maketarget></command></para>
+
+	  <para>Place the new kernel and kernel modules onto the disk,
+	    making it possible to boot with the newly updated kernel.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Reboot into single user mode.</para>
+
+	  <para>Single user mode minimizes problems from updating software
+	    that's already running.  It also minimizes any problems from
+	    running the old world on a new kernel.</para>
+	</listitem>
+
+	<listitem>
+	  <para><command>mergemaster <option>-p</option></command></para>
+
+	  <para>This does some initial configuration file updates in
+	    preparation for the new world.  For instance it may add new user
+	    groups to the system, or new user names to the 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
+	    use the newly installed system user or system group names
+	    without problems.</para>
+	</listitem>
+
+	<listitem>
+	  <para><command>make <maketarget>installworld</maketarget></command></para>
+
+	  <para>Copies the world
+	    from <filename class="directory">/usr/obj</filename>.  You now
+	    have a new kernel and new world on disk.</para>
+	</listitem>
+
+	<listitem>
+	  <para><command>mergemaster</command></para>
+
+	  <para>Now you can update the remaining configuration files, since
+	    you have a new world on disk.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Reboot.</para>
+
+	  <para>A full machine reboot is needed now to load the new kernel
+	    and new world with new configuration files.</para>
+	</listitem>
+      </orderedlist>
+
+      <para>Note that if you're upgrading from one release of the same &os;
+	branch to a more recent release of the same branch, i.e. from 7.0 to
+	7.1, then this procedure may not be absolutely necessary, since
+	you're unlikely to run into serious mismatches between compiler,
+	kernel, userland and configuration files.  The older approach
+	of <command>make <maketarget>world</maketarget></command> followed
+	by building and installing a new kernel might work well enough for
+	minor updates.</para>
+
+      <para>But, when upgrading across major releases, people who don't
+	follow this procedure should expect some problems.</para>
+
+      <para>It is also worth noting that many upgrades
+	(i.e.&nbsp;4.<replaceable>X</replaceable> to 5.0) may require
+	specific additional steps (renaming or deleting specific files prior
+	to installworld, for instance).  Read
+	the <filename>/usr/src/UPDATING</filename> file carefully,
+	especially at the end, where the currently recommended upgrade
+	sequence is explicitly spelled out.</para>
+
+      <para>This procedure has evolved over time as the developers have
+	found it impossible to completely prevent certain kinds of mismatch
+	problems.  Hopefully, the current procedure will remain stable for a
+	long time.</para>
+
+      <note>
+	<para>Upgrading from &os; 3.<replaceable>X</replaceable> or earlier
+	  releases is a bit trickier; read <filename>UPDATING</filename>
+	  carefully if you have to perform this sort of upgrade.</para>
+      </note>
+
+      <para>To summarize, the currently recommended way of upgrading &os;
+	from sources is:</para>
 
       <screen>&prompt.root; <userinput>cd /usr/src</userinput>
 &prompt.root; <userinput>make buildworld</userinput>

==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#12 (text+ko) ====

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml,v 1.115 2008/12/31 11:52:26 remko Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml,v 1.116 2009/02/01 07:07:43 keramida Exp $
 -->
 
 <chapter id="network-servers">
@@ -3227,7 +3227,7 @@
 	relatively simple.</para>
 
       <para>The default <application>named</application> configuration
-	is that of a basic resolving name server, ran in a
+	is that of a basic resolving name server, running in a
 	&man.chroot.8; environment.  To start the server one time with
 	this configuration, use the following command:</para>
 

==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#8 (text+ko) ====

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml,v 1.191 2009/01/27 19:28:26 manolis Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml,v 1.192 2009/02/01 09:38:25 manolis Exp $
 -->
 
 <chapter id="ppp-and-slip">
@@ -156,9 +156,9 @@
 	  </listitem>
 
 	  <listitem>
-	    <para>You have a modem or
-	      other device connected to your system and configured
-	      correctly which allows you to connect to your ISP.</para>
+	    <para>A modem or
+	      other device connected to your system and properly configured
+	      to allow you to connect to your ISP.</para>
 	  </listitem>
 
 	  <listitem>
@@ -1825,9 +1825,14 @@
     <sect2>
       <title>Check the Device Nodes</title>
 
-	<para>If you reconfigured your kernel then you recall the
-	  <devicename>sio</devicename> device.  If you did not
-	  configure your kernel, there is no reason to worry.  Just
+	<para>When using a custom kernel, make sure to include the following
+	  line in your kernel configuration file:</para>
+
+	<programlisting>device   sio</programlisting>
+
+	<para>The <devicename>sio</devicename> device is already included
+	  in the <literal>GENERIC</literal> kernel, so no additional steps
+	  are necessary in this case.  Just
 	  check the <command>dmesg</command> output for the modem
 	  device with:</para>
 

==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#19 (text+ko) ====

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Dutch Documentation Project
 
-     $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.13 2009/01/23 16:50:43 rene Exp $
+     $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.14 2009/01/31 22:23:39 rene Exp $
      $FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.47 2006/01/07 11:27:42 siebrand Exp $
 
      %SOURCE%	en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml

==== //depot/projects/docproj_nl/www/en/where.sgml#3 (text+ko) ====

@@ -1,5 +1,5 @@
 <!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
-<!ENTITY date "$FreeBSD: www/en/where.sgml,v 1.99 2008/09/14 10:39:10 danger Exp $">
+<!ENTITY date "$FreeBSD: www/en/where.sgml,v 1.100 2009/02/01 09:29:06 danger Exp $">
 <!ENTITY title "Getting FreeBSD">
 <!ENTITY % navinclude.download "INCLUDE">
 <!ENTITY url.rel "ftp://ftp.FreeBSD.org/pub/FreeBSD/releases">
@@ -169,9 +169,10 @@
       listing of <a
 	href="&base;/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html"><strong>mirror
 	  sites</strong></a> in the handbook to see if there is a site
-      closer to you.  For more information about past, present and
-      future releases in general, please visit the <a
-	href="&base;/releases/index.html">release information page</a>.</p>
+      closer to you.  Alternatively, you may want to download &os; using
+      the BitTorrent protocol.  The <q>.torrent</q> files can be
+      downloaded from the <a
+	href="http://torrents.FreeBSD.org:8080/">&os; BitTorrent Tracker</a>.</p>
 
   <![ %beta.testing; [
 
@@ -317,7 +318,11 @@
       <strong>snapshot</strong> release of FreeBSD-CURRENT (AKA
       &rel.head;-CURRENT), aimed at developers and bleeding-edge
       testers only, then please see the <a
-	href="&base;/snapshots/">&os; Snapshot Releases</a> page.</p>
+	href="&base;/snapshots/">&os; Snapshot Releases</a> page.  For
+      more information about past, present and future releases in
+      general, please visit the <a
+	href="&base;/releases/index.html">release information
+	page</a>.</p>
 
     <a name="derived"></a>
     <h2>FreeBSD-derived Operating System Distributions</h2>


More information about the p4-projects mailing list