Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Dec 2008 22:32:03 GMT
From:      Rene Ladan <rene@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 155207 for review
Message-ID:  <200812232232.mBNMW3nE054570@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=155207

Change 155207 by rene@rene_self on 2008/12/23 22:31:24

	IFC

Affected files ...

.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/Makefile#4 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#12 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/basics/chapter.sgml#5 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/book.sgml#3 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/chapters.ent#3 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#5 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/dtrace/chapter.sgml#6 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/geom/chapter.sgml#6 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#6 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/l10n/chapter.sgml#2 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#6 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/preface/preface.sgml#5 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml#7 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/updating/Makefile#2 delete
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/updating/chapter.sgml#4 delete
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/vinum/chapter.sgml#3 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#16 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#4 integrate
.. //depot/projects/docproj_nl/share/sgml/man-refs.ent#10 integrate
.. //depot/projects/docproj_nl/www/en/cgi/man.cgi#6 integrate
.. //depot/projects/docproj_nl/www/en/donations/donors.sgml#11 integrate
.. //depot/projects/docproj_nl/www/en/donations/wantlist.sgml#8 integrate
.. //depot/projects/docproj_nl/www/en/platforms/sparc.sgml#2 integrate
.. //depot/projects/docproj_nl/www/en/releases/6.4R/errata.html#2 integrate
.. //depot/projects/docproj_nl/www/en/releases/6.4R/schedule.sgml#10 integrate
.. //depot/projects/docproj_nl/www/en/releases/7.0R/errata.html#3 integrate
.. //depot/projects/docproj_nl/www/en/releases/7.1R/schedule.sgml#9 integrate
.. //depot/projects/docproj_nl/www/share/sgml/advisories.xml#6 integrate

Differences ...

==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/Makefile#4 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: doc/en_US.ISO8859-1/books/handbook/Makefile,v 1.111 2008/11/14 22:19:18 manolis Exp $
+# $FreeBSD: doc/en_US.ISO8859-1/books/handbook/Makefile,v 1.112 2008/12/23 18:59:03 trhodes Exp $
 #
 # Build the FreeBSD Handbook.
 #
@@ -237,7 +237,6 @@
 SRCS+= printing/chapter.sgml
 SRCS+= security/chapter.sgml
 SRCS+= serialcomms/chapter.sgml
-SRCS+= updating/chapter.sgml
 SRCS+= users/chapter.sgml
 SRCS+= vinum/chapter.sgml
 SRCS+= virtualization/chapter.sgml

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

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml,v 1.418 2008/12/18 09:34:23 maxim Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml,v 1.419 2008/12/23 12:45:59 trhodes Exp $
 -->
 
 <chapter id="advanced-networking">
@@ -3593,7 +3593,7 @@
 	  <para><application>ISC DHCP
   	    3.0</application> is not part of the base
 	    system.  You will first need to install the
-	    <filename role="package">net/isc-dhcp3-server</filename> port or the
+	    <filename role="package">net/isc-dhcp30-server</filename> port or the
 	    corresponding package.</para>
 
 	  <para>Once <application>ISC DHCP</application> is installed, it

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

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/basics/chapter.sgml,v 1.155 2008/11/24 16:39:19 rene Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/basics/chapter.sgml,v 1.156 2008/12/23 00:15:20 trhodes Exp $
 -->
 
 <chapter id="basics">
@@ -2400,6 +2400,12 @@
       editing, learning a more powerful editor such as
       <application>vim</application> or <application>Emacs</application>
       will save you much more time in the long run.</para>
+
+    <para>Many applications which modify files or require typed input
+      will automatically open a text editor.  To alter the default
+      editor used, set the <envar>EDITOR</envar> environment
+      variable.  See <link linkend="shells">shells</link>
+      section for more details.</para>
   </sect1>
 
   <sect1 id="basics-devices">

==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/book.sgml#3 (text+ko) ====

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/book.sgml,v 1.173 2008/09/28 12:54:12 trhodes Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/book.sgml,v 1.174 2008/12/23 18:59:03 trhodes Exp $
 -->
 
 <!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@@ -50,7 +50,6 @@
 <!ENTITY % chap.audit "IGNORE">
 <!ENTITY % chap.filesystems "IGNORE">
 <!ENTITY % chap.dtrace "IGNORE">
-<!ENTITY % chap.updating "IGNORE">
 
 <!ENTITY % pgpkeys SYSTEM "../../../share/pgpkeys/pgpkeys.ent"> %pgpkeys;
 ]>
@@ -321,7 +320,6 @@
 	can begin using FreeBSD in a network environment.</para>
     </partintro>
 
-    <![ %chap.updating;		 [ &chap.updating;	       ]]>
     <![ %chap.serialcomms;              [ &chap.serialcomms;          ]]>
     <![ %chap.ppp-and-slip;             [ &chap.ppp-and-slip;         ]]>
     <![ %chap.mail;                     [ &chap.mail;                 ]]>

==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/chapters.ent#3 (text+ko) ====

@@ -6,7 +6,7 @@
    
      Chapters should be listed in the order in which they are referenced.
  
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/chapters.ent,v 1.38 2008/09/28 12:54:12 trhodes Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/chapters.ent,v 1.39 2008/12/23 18:59:03 trhodes Exp $
 -->
 
 <!ENTITY chap.preface			SYSTEM "preface/preface.sgml">
@@ -43,7 +43,6 @@
 <!ENTITY chap.dtrace			SYSTEM "dtrace/chapter.sgml">
 
 <!-- Part four -->
-<!ENTITY chap.updating			SYSTEM "updating/chapter.sgml">
 <!ENTITY chap.serialcomms		SYSTEM "serialcomms/chapter.sgml">
 <!ENTITY chap.ppp-and-slip		SYSTEM "ppp-and-slip/chapter.sgml">
 <!ENTITY chap.mail			SYSTEM "mail/chapter.sgml">

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

@@ -1,10 +1,10 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.231 2008/11/02 14:37:48 pgj Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.232 2008/12/23 18:48:21 trhodes Exp $
 -->
 
-<chapter id="cutting-edge">
+<chapter id="updating-upgrading">
   <chapterinfo>
     <authorgroup>
       <author>
@@ -40,35 +40,50 @@
     <!-- with feedback from various others -->
   </chapterinfo>
 
-  <title>The Cutting Edge</title>
+  <title>Updating and Upgrading &os;</title>
 
-  <sect1 id="cutting-edge-synopsis">
+  <sect1 id="updating-upgrading-synopsis">
     <title>Synopsis</title>
 
-    <para>&os; is under constant development between releases.  For
-      people who want to be on the cutting edge, there are several easy
-      mechanisms for keeping your system in sync with the latest
-      developments.  Be warned&mdash;the cutting edge is not for everyone!
+    <para>&os; is under constant development between releases.  Some people
+      prefer to use the officially released versions, while others prefer
+      to keep in sync with the latest developments.  However, even official
+      releases are often updated with security and other critical fixes.
+      Regardless of the version used, &os; provides all necessary tools
+      to keep your system updated, and also allows for easy upgrades between
+      versions.
       This chapter will help you decide if you want to track the
       development system, or stick with one of the released
-      versions.</para>
+      versions.  The basic tools for keeping your system up to date are
+      also presented.</para>
 
     <para>After reading this chapter, you will know:</para>
 
     <itemizedlist>
       <listitem>
-	<para>The difference between the two development
-	  branches: &os.stable; and &os.current;.</para>
+	<para>What utilities may be used to update the system and
+	  the Ports Collection.</para>
       </listitem>
 
       <listitem>
 	<para>How to keep your system up to date with
+	  <application>freebsd-update</application>,
 	  <application>CVSup</application>,
 	  <application>CVS</application>, or
 	  <application>CTM</application>.</para>
       </listitem>
 
       <listitem>
+	<para>How to compare the state of an installed system against
+	  a known pristine copy.</para>
+      </listitem>
+
+      <listitem>
+	<para>The difference between the two development
+	  branches: &os.stable; and &os.current;.</para>
+      </listitem>
+
+      <listitem>
 	<para>How to rebuild and reinstall the entire base
 	  system with <command>make buildworld</command> (etc).</para>
       </listitem>
@@ -98,8 +113,470 @@
     </note>
   </sect1>
 
+  <sect1 id="updating-upgrading-freebsdupdate">
+    <sect1info>
+      <authorgroup>
+	<author>
+	  <firstname>Tom</firstname>
+	  <surname>Rhodes</surname>
+	  <contrib>Written by </contrib>
+	</author>
+      </authorgroup>
+      <authorgroup>
+	<author>
+	  <firstname>Colin</firstname>
+	  <surname>Percival</surname>
+	  <contrib>Based on notes provided by </contrib>
+	</author>
+      </authorgroup>
+    </sect1info>
+    <title>FreeBSD Update</title>
+
+    <indexterm><primary>Updating and Upgrading</primary></indexterm>
+    <indexterm>
+      <primary>freebsd-update</primary>
+      <see>updating-upgrading</see>
+    </indexterm>
+
+    <para>Applying security patches is an important part of maintaining
+      computer software, especially the operating system.  For the
+      longest time on &os; this process was not an easy one.  Patches
+      had to be applied to the source code, the code rebuilt into
+      binaries, and then the binaries had to be re-installed.</para>
+
+    <para>This is no longer the case as &os; now includes a utility
+      simply called <command>freebsd-update</command>.  This utility
+      provides two separate functions.  First, it allows for binary
+      security and errata updates to be applied to the &os; base system
+      without the build and install requirements.  Second, the utility
+      supports minor and major release upgrades.</para>
+
+    <note>
+      <para>Binary updates are available for all architectures and
+	releases currently supported by the security team; however,
+	some features, such as the &os; operating system upgrades,
+	require the latest release of &man.freebsd-update.8; and
+	&os; 6.3 or greater.  Before updating to a new release, the current
+	release announcements should be reviewed as they may contain
+	important information pertinent to the desired release.  These
+	announcements may be viewed at the following link:
+	<ulink url="http://www.FreeBSD.org/releases/"></ulink>.</para>;
+    </note>
+
+    <para>If a <command>crontab</command> utilizing the features
+      of <command>freebsd-update</command> exists, it must be
+      disabled before the following operation is started.</para>
+
+    <sect2>
+      <title>The Configuration File</title>
+
+      <para>Some users may wish to tweak the configuration file,
+	allowing better control of the process.  The options are
+	very well documented, but the following few may require a
+	bit more explanation:</para>
+
+      <programlisting># Components of the base system which should be kept updated.
+Components src world kernel</programlisting>
+
+      <para>This parameter controls what parts of &os; will be kept
+	up to date.  The default is to update the source code, the
+	entire base system, and the kernel.  Components are the
+	same as those available during the install, for instance,
+	adding "world/games" here would allow game patches to be
+	applied.  Using "src/bin" would allow the source code in
+	<filename class="directory">src/bin</filename> to be
+	updated.</para>
+
+      <para>The best option is to leave this at the default as
+	changing it to include specific items will require the user
+	to list every item they prefer to be updated.  This could
+	have disastrous consequences as source code and binaries may
+	become out of sync.</para>
+
+      <programlisting># Paths which start with anything matching an entry in an IgnorePaths
+# statement will be ignored.
+IgnorePaths</programlisting>
+
+      <para>Add paths, such as
+	<filename class="directory">/bin</filename> or
+	<filename class="directory">/sbin</filename> to leave these
+	specific directories untouched during the update
+	process.  This option may be used to prevent
+	<command>freebsd-update</command> from overwriting local
+	modifications.</para>
+
+      <programlisting># Paths which start with anything matching an entry in an UpdateIfUnmodified
+# statement will only be updated if the contents of the file have not been
+# modified by the user (unless changes are merged; see below).
+UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile</programlisting>
+
+      <para>Update configuration files in the specified directories
+	only if they have not been modified.  Any changes made by the
+	user will invalidate the automatic updating of these files.
+	There is another option,
+	<literal>KeepModifiedMetadata</literal>, which will instruct
+	<command>freebsd-update</command> to save the changes during
+	the merge.</para>
+
+      <programlisting># When upgrading to a new &os; release, files which match MergeChanges
+# will have any local changes merged into the version from the new release.
+MergeChanges /etc/ /var/named/etc/</programlisting>
+
+      <para>List of directories with configuration files that
+	<command>freebsd-update</command> should attempt merges in.
+	The file merge process is a series of &man.diff.1; patches
+	similar to &man.mergemaster.8; with fewer options, the 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
+	accept the merges. See <xref linkend="updating-upgrading"> for more
+	information about the <command>mergemaster</command>
+	command.</para>
+
+      <programlisting># Directory in which to store downloaded updates and temporary
+# files used by &os; Update.
+# WorkDir /var/db/freebsd-update</programlisting>
+
+      <para>This directory is where all patches and temporary
+	files will be placed.  In cases where the user is doing
+	a version upgrade, this location should have a least a
+	gigabyte of disk space available.</para>
+
+      <programlisting># When upgrading between releases, should the list of Components be
+# read strictly (StrictComponents yes) or merely as a list of components
+# which *might* be installed of which &os; Update should figure out
+# which actually are installed and upgrade those (StrictComponents no)?
+# StrictComponents no</programlisting>
+
+      <para>When set to <literal>yes</literal>,
+	<command>freebsd-update</command> will assume that the
+	<literal>Components</literal> list is complete and will not
+	attempt to make changes outside of the list.  Effectively,
+	<command>freebsd-update</command> will attempt to update
+	every file which belongs to the <literal>Components</literal>
+	list.</para>
+    </sect2>
+
+    <sect2>
+      <title>Security Patches</title>
+
+      <para>Security patches are stored on a remote machine and
+	may be downloaded and installed using the following
+	command:</para>
+
+      <screen>&prompt.root; <userinput>freebsd-update fetch</userinput>
+&prompt.root; <userinput>freebsd-update install</userinput></screen>
+
+      <para>If any kernel patches have been applied the system will
+	need a reboot.  If all went well the system should be patched
+	and <command>freebsd-update</command> may be ran as a nightly
+	&man.cron.8; job.  An entry in <filename>/etc/crontab</filename>
+	would be sufficient to accomplish this task:</para>
+
+      <programlisting>@daily                                  root    freebsd-update cron</programlisting>
+
+      <para>This entry states that once every day, the
+	<command>freebsd-update</command> will be ran.  In this way,
+	using the <option>cron</option> argument,
+	<command>freebsd-update</command> will only check if updates
+	exist.  If patches exist, they will automatically be downloaded
+	to the local disk but not applied.  The
+	<username>root</username> user will be sent an email so they
+	may install them manually.</para>
+
+      <para>If anything went wrong, <command>freebsd-update</command>
+	has the ability to roll back the last set of changes with
+	the following command:</para>
+
+      <screen>&prompt.root; <userinput>freebsd-update rollback</userinput></screen>
+
+      <para>Once complete, the system should be restarted if the kernel
+	or any kernel modules were modified.  This will allow &os; to
+	load the new binaries into memory.</para>
+
+      <note>
+	<para>The <command>freebsd-update</command> only works with
+	  the <filename>GENERIC</filename> kernel.  If any changes have
+	  been made to <filename>GENERIC</filename> or a custom kernel
+	  has been installed, <command>freebsd-update</command> will
+	  not complete&nbsp;&mdash; failing in the former case and
+	  producing an error in the latter.</para>
+      </note>
+    </sect2>
+
+    <sect2>
+      <title>Major and Minor Upgrades</title>
+
+      <para>This process will remove old object files and
+	libraries which will break most third party applications.
+	It is recommended that all installed ports either be removed
+	and re-installed or upgraded later using the
+	<filename role="package">ports-mgmt/portupgrade</filename>
+	utility.  Most users will want to run a test build using
+	the following command:</para>
+
+      <screen>&prompt.root; <userinput>portupgrade -af</userinput></screen>
+
+      <para>This will ensure everything will be re-installed
+	correctly.  Note that setting the
+	<makevar>BATCH</makevar> 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>
+
+      <para>Major and minor version updates may be performed by
+	providing <command>freebsd-update</command> with a release
+	version target, for example, the following command will
+	update to &os;&nbsp;6.3:</para>
+
+      <screen>&prompt.root; <userinput>freebsd-update -r 6.3-RELEASE upgrade</userinput></screen>
+
+      <para>After the command has been received,
+	<command>freebsd-update</command> will evaluate the
+	configuration file and current system in an attempt to gather
+	the information necessary to update the system.  A screen
+	listing will display what components have been detected and
+	what components have not been detected.  For example:</para>
+
+      <screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
+Fetching metadata signature for 6.3-BETA1 from update1.FreeBSD.org... done.
+Fetching metadata index... done.
+Inspecting system... done.
+
+The following components of FreeBSD seem to be installed:
+kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games
+src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
+src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
+world/base world/info world/lib32 world/manpages
+
+The following components of FreeBSD do not seem to be installed:
+kernel/generic world/catpages world/dict world/doc world/games
+world/proflibs
+
+Does this look reasonable (y/n)? y</screen>
+
+      <para>At this point, <command>freebsd-update</command> will
+	attempt to download all files required for the upgrade.  In
+	some cases, the user may be prompted with questions regarding
+	what to install or how to proceed.</para>
+
+      <para>After all patches have been downloaded to the local
+	system, they will then be applied.  This process may take
+	a while depending on the speed and workload of the machine.
+	Configuration files will then be merged&nbsp;&mdash; this part
+	of the process requires some user intervention as a file may be
+	merged or an editor may appear on screen for a manual merge.
+	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 manually merge
+	important files, such as <filename>master.passwd</filename>
+	or <filename>group</filename> at a later time.</para>
+
+      <note>
+	<para>The system is not being altered yet, all patching and
+	  merging is happening in another directory.  When all
+	  patches have been applied successfully, all configuration
+	  files have been merged and it seems the process will go
+	  smoothly, the changes will need to be committed by the
+	  user.</para>
+      </note>
+
+      <para>Once this process is complete, the upgrade may be committed
+	to disk using the following command.</para>
+
+      <screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
+
+      <para>The kernel and kernel modules will be patched first.  At
+	this point the  machine must be rebooted.  The following
+	command may be issued to restart the machine so the new
+	kernel will be loaded into memory:</para>
+
+      <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
+
+      <para>Once the system has come back online,
+	<command>freebsd-update</command> will need to be started
+	again.  The state of the process has been saved and thus,
+	<command>freebsd-update</command> will not start from the
+	beginning, but will remove all old shared libraries and object
+	files.  To continue to this stage, issue the following
+	command:</para>
+
+      <screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
+
+      <note>
+	<para>Depending on whether any libraries version numbers got
+	  bumped, there may only be two install phases instead of
+	  three.</para>
+      </note>
+
+      <para>All third party software will now need to be rebuilt and
+	re-installed.  This is required as installed software may
+	depend on libraries which have been removed during the upgrade
+	process.  The
+	<filename role="package">ports-mgmt/portupgrade</filename>
+	command may be used to automate this process.  The following
+	commands may be used to begin this process:</para>
+
+      <screen>&prompt.root; <userinput>portupgrade -f ruby</userinput>
+&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db</userinput>
+&prompt.root; <userinput>portupgrade -f ruby18-bdb</userinput>
+&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db</userinput>
+&prompt.root; <userinput>portupgrade -af</userinput></screen>
+
+      <para>Once this has completed, finish the upgrade process with a
+	final call to <command>freebsd-update</command>.  Issue the
+	following command to tie up all loose ends in the upgrade
+	process:</para>
+
+      <screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
+
+      <para>Reboot the machine into the new &os; version.  The process
+	is complete.</para>
+    </sect2>
+
+    <sect2>
+      <title>System State Comparison</title>
+
+      <para>The <command>freebsd-update</command> utility may be used
+	to test the state of the installed &os; version against a
+	known good copy.  This option evaluates the current version
+	of system utilities, libraries, and configuration files.
+	To begin the comparison, issue the following command:</para>
+
+      <screen>&prompt.root; <userinput>freebsd-update IDS &gt;&gt; outfile.ids</userinput></screen>
+
+      <warning>
+	<para>While the command name is <acronym>IDS</acronym> it should
+	  in no way be a replacement for an intrusion detection system
+	  such as <filename role="package">security/snort</filename>.
+	  As <command>freebsd-update</command> stores data on disk, the
+	  possibility of tampering is evident.  While this possibility
+	  may be reduced by using the
+	  <varname>kern.securelevel</varname> setting and storing the
+	  <command>freebsd-update</command> data on a read only file
+	  system when not in use, a better solution would be to
+	  compare the system against a secure disk, such as a
+	  <acronym>DVD</acronym> or securely stored external
+	  <acronym>USB</acronym> disk device.</para>
+      </warning>
+
+      <para>The system will now be inspected, and a list of files
+	along with their &man.sha256.1; hash values, both the known value
+	in the release and the current installed value, will be printed.  This is why
+	the output has been sent to the
+	<filename>outfile.ids</filename> file.  It scrolls by too
+	quickly for eye comparisons, and soon it fills up the console
+	buffer.</para>
+
+      <para>These lines are also extremely long, but the output format
+	may be parsed quite easily.  For instance, to obtain a list of
+	all files different from those in the release, issue the
+	following command:</para>
+
+      <screen>&prompt.root; <userinput>cat outfile.ids | awk '{ print $1 }' | more</userinput>
+/etc/master.passwd
+/etc/motd
+/etc/passwd
+/etc/pf.conf</screen>
+
+      <para>This output has been truncated, many more files exist.
+	Some of these files have natural modifications, the
+	<filename>/etc/passwd</filename> has been modified because
+	users have been added to the system.  In some cases, there
+	may be other files, such as kernel modules, which differ
+	as <command>freebsd-update</command> may have updated them.
+	To exclude specific files or directories, add them to the
+	<literal>IDSIgnorePaths</literal> option in
+	<filename>/etc/freebsd-update.conf</filename>.</para>
+
+      <para>This system may be used as part of an elaborate upgrade
+	method, aside from the previously discussed version.</para>
+    </sect2>
+  </sect1>
+
+  <sect1 id="updating-upgrading-portsnap">
+    <sect1info>
+      <authorgroup>
+	<author>
+	  <firstname>Tom</firstname>
+	  <surname>Rhodes</surname>
+	  <contrib>Written by </contrib>
+	</author>
+      </authorgroup>
+      <authorgroup>
+	<author>
+	  <firstname>Colin</firstname>
+	  <surname>Percival</surname>
+	  <contrib>Based on notes provided by </contrib>
+	</author>
+      </authorgroup>
+    </sect1info>
+    <title>Portsnap: A Ports Collection Update Tool</title>
+
+    <indexterm><primary>Updating and Upgrading</primary></indexterm>
+    <indexterm>
+      <primary>Portsnap</primary>
+      <see>Updating and Upgrading</see>
+    </indexterm>
+
+    <para>The base system of &os; includes a utility for updating
+      the Ports Collection too: the &man.portsnap.8; utility.  Upon
+      execution, it will connect to a remote site, verify the secure
+      key, and download a new copy of the Ports Collection.  The key
+      is used to verify the integrity of all downloaded files, ensuring
+      they have not been modified in-flight.  To download the latest
+      Ports Collection files, issue the following command:</para>
+
+    <screen>&prompt.root; <userinput>portsnap fetch</userinput>
+Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found.
+Fetching snapshot tag from portsnap1.FreeBSD.org... done.
+Fetching snapshot metadata... done.
+Updating from Wed Aug  6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008.
+Fetching 3 metadata patches.. done.
+Applying metadata patches... done.
+Fetching 3 metadata files... done.
+Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done.
+Applying patches... done.
+Fetching 133 new ports or files... done.</screen>
+
+    <para>What this example shows is that &man.portsnap.8;
+      has found and verified
+      several patches to the current ports data.  This also indicates
+      that the utility was run previously, if it was a first time
+      run, the collection would have simply been downloaded.</para>
+
+    <para>When &man.portsnap.8; successfully completes
+      a <command>fetch</command> operation, the Ports Collection and
+      subsequent patches exist on the local system that have passed
+      verification.  The updated files may be installed by
+      typing:</para>
+
+    <screen>&prompt.root; <userinput>portsnap extract</userinput>
+/usr/ports/.cvsignore
+/usr/ports/CHANGES
+/usr/ports/COPYRIGHT
+/usr/ports/GIDs
+/usr/ports/KNOBS
+/usr/ports/LEGAL
+/usr/ports/MOVED
+/usr/ports/Makefile
+/usr/ports/Mk/bsd.apache.mk
+/usr/ports/Mk/bsd.autotools.mk
+/usr/ports/Mk/bsd.cmake.mk
+<replaceable>...</replaceable></screen>
+
+    <para>The process is now complete, and applications may be
+      installed or upgraded using the updated Ports Collection.</para>
+
+    <para>To run both processes consecutively, issue the following
+      command:</para>
+
+    <screen>&prompt.root; <userinput>portsnap fetch update</userinput></screen>
+  </sect1>
+
   <sect1 id="current-stable">
-    <title>&os.current; vs. &os.stable;</title>
+    <title>Tracking a Development Branch</title>
     <indexterm><primary>-CURRENT</primary></indexterm>
     <indexterm><primary>-STABLE</primary></indexterm>
 
@@ -862,7 +1339,7 @@
 &prompt.root; <userinput>rm -rf *</userinput></screen>
     </sect2>
 
-    <sect2 id="cutting-edge-compilebase">
+    <sect2 id="updating-upgrading-compilebase">
       <title>Recompile the Base System</title>
 
       <sect3>
@@ -1219,7 +1696,7 @@
 
 	<para>If you are using &man.mergemaster.8; (as recommended),
 	  you can skip forward to the <link
-	    linkend="cutting-edge-rebooting">next section</link>.</para>
+	    linkend="updating-upgrading-rebooting">next section</link>.</para>
 
 	<para>The simplest way to do this by hand is to install the
 	  files into a new directory, and then work through them looking
@@ -1367,7 +1844,7 @@
       </sect3>
     </sect2>
 
-    <sect2 id="cutting-edge-rebooting">
+    <sect2 id="updating-upgrading-rebooting">
       <title>Rebooting</title>
 
       <para>You are now done.  After you have verified that everything appears

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

@@ -8,7 +8,7 @@
 
 <!--
      The FreeBSD Documentation Project
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/dtrace/chapter.sgml,v 1.6 2008/11/20 20:59:51 pgj Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/dtrace/chapter.sgml,v 1.7 2008/12/23 18:48:21 trhodes Exp $
 -->
 
 <chapter id="dtrace">
@@ -84,7 +84,7 @@
 
       <listitem>
 	<para>Understand how to obtain and rebuild the &os; sources
-	  (<xref linkend="cutting-edge">).</para>
+	  (<xref linkend="updating-upgrading">).</para>
       </listitem>
     </itemizedlist>
 

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

@@ -1,6 +1,6 @@
 <!--
      The FreeBSD Documentation Project
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/geom/chapter.sgml,v 1.46 2008/11/26 12:21:48 manolis Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/geom/chapter.sgml,v 1.47 2008/12/23 12:07:28 trhodes Exp $
 
 -->
 
@@ -264,6 +264,13 @@
 	<filename class="devicefile">/dev/mirror/gm</filename> device
 	using the following command:</para>
 
+      <warning>
+	<para>Creating a mirror out of the boot drive may result in
+	  data loss if any data has been stored on the last sector of
+	  the disk.  This risk is reduced if creating the mirror is
+	  done promptly after a fresh install of &os;.</para>
+      </warning>
+
       <screen>&prompt.root; <userinput>gmirror label -vb round-robin gm0 /dev/da0</userinput></screen>
 
       <para>The system should respond with:</para>

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

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml,v 1.187 2008/11/29 14:05:12 pgj Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml,v 1.190 2008/12/23 18:48:22 trhodes Exp $
 -->
 
 <chapter id="kernelconfig">
@@ -336,7 +336,7 @@
 	you to realize that you have deleted your custom kernel
 	configuration file.  Also, do not edit <filename>GENERIC</filename>
 	directly, as it may get overwritten the next time you
-	<link linkend="cutting-edge">update your source tree</link>, and
+	<link linkend="updating-upgrading">update your source tree</link>, and
 	your kernel modifications will be lost.</para>
 
       <para>You might want to keep your kernel configuration file
@@ -374,7 +374,7 @@
 
     <note>
       <para>If you <link
-        linkend="cutting-edge">sync your source tree</link> with the
+        linkend="updating-upgrading">sync your source tree</link> with the
         latest sources of the &os; project,
         be sure to always check the file
         <filename>/usr/src/UPDATING</filename> before you perform any update
@@ -1366,13 +1366,6 @@
 	  </listitem>
 
 	  <listitem>
-	    <para><acronym>KLD</acronym> modules cannot be loaded into
-	      a <acronym>PAE</acronym> enabled kernel, due to the
-	      differences in the build framework of a module and the
-	      kernel.</para>
-	  </listitem>
-
-	  <listitem>
 	    <para>Device drivers that do not use the &man.bus.dma.9;
 	      interface will cause data corruption in a
 	      <acronym>PAE</acronym> enabled kernel and are not

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

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/l10n/chapter.sgml,v 1.124 2007/05/27 09:37:10 brueffer Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/l10n/chapter.sgml,v 1.125 2008/12/23 12:17:46 manolis Exp $
 -->
 
 <chapter id="l10n">
@@ -120,7 +120,7 @@
 
       <para>In order to localize a FreeBSD system to a specific language
 	(or any other I18N-supporting &unix; like systems), the user needs to find out
-	the codes for the specify country and language (country
+	the codes for the specific country and language (country
 	codes tell applications what variation of given
 	language to use).  In addition, web
 	browsers, SMTP/POP servers, web servers, etc. make decisions based on

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

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml,v 1.285 2008/12/15 01:49:53 murray Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml,v 1.286 2008/12/23 18:59:03 trhodes Exp $
 -->
 
 <chapter id="ports">
@@ -720,7 +720,7 @@
 
 	<screen>&prompt.root; <userinput>pkg_add -r portsnap</userinput></screen>
 
-	<para>Please refer to <link linkend="updating-portsnap">Using Portsnap</link>
+	<para>Please refer to <link linkend="updating-upgrading-portsnap">Using Portsnap</link>
 	  for a detailed description of all <application>Portsnap</application>
 	  features.</para>
 

==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/preface/preface.sgml#5 (text+ko) ====

@@ -1,5 +1,5 @@
 <!--
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/preface/preface.sgml,v 1.44 2008/12/14 05:42:48 murray Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/preface/preface.sgml,v 1.46 2008/12/23 18:59:03 trhodes Exp $
 -->
 
 <preface id="book-preface">
@@ -35,8 +35,8 @@
 
   <itemizedlist>
       <listitem>
-	<para><xref linkend="dtrace">, DTrace, has been added with
-	  information about the powerful DTrace performance analysis
+	<para><xref linkend="dtrace">, &dtrace;, has been added with
+	  information about the powerful &dtrace; performance analysis
 	  tool.</para>
       </listitem>
 
@@ -47,6 +47,12 @@
       </listitem>
 
       <listitem>
+	<para><xref linkend="audit">, Security Event Auditing, has
+	  been added to cover the new auditing capabilities in &os;
+	  and explain its use.</para>
+      </listitem>
+
+      <listitem>
         <para><xref linkend="virtualization">, Virtualization, has
           been added with information about installing &os; on
           virtualization software.</para>
@@ -448,12 +454,13 @@
       </listitem>
     </varlistentry>
     <varlistentry>
-      <term><emphasis><xref linkend="cutting-edge">, The Cutting Edge</emphasis></term>
+      <term><emphasis><xref linkend="updating-upgrading">, Updating and Upgrading &os;</emphasis></term>
       <listitem>
 	<para>Explains the differences between FreeBSD-STABLE,
 	FreeBSD-CURRENT, and FreeBSD releases.  Describes which users
 	would benefit from tracking a development system and outlines
-	that process.</para>
+	that process.  Covers the methods users may take to update their
+	system to the latest security release.</para>
       </listitem>
     </varlistentry>
     <varlistentry>
@@ -468,15 +475,6 @@
 <!-- Part IV - Network Communications -->
 
     <varlistentry>
-      <term><emphasis><xref linkend="updating">, Updating &os;</emphasis></term>
-      <listitem>
-	<para>Describes the latest system utilities that may be used to
-	  update a &os; system.  These are &man.freebsd-update.8; for
-	  the base system, and &man.portsnap.8; for the
-	  Ports&nbsp;Collection.</para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
       <term><emphasis><xref linkend="serialcomms">, Serial Communications</emphasis></term>
       <listitem>
 	<para>Explains how to connect terminals and modems to your

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

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml,v 1.132 2008/12/18 09:51:50 manolis Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml,v 1.133 2008/12/23 18:48:22 trhodes Exp $
 -->
 
 <chapter id="serialcomms">
@@ -2688,7 +2688,7 @@
 	<procedure>
 	  <step>
 	    <para>Get the kernel source.  (See <xref
-		linkend="cutting-edge">)</para>
+		linkend="updating-upgrading">)</para>
 	  </step>
 
 	  <step>

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

@@ -6,7 +6,7 @@
 	and Tom Rhodes <trhodes@FreeBSD.org>
 
 	For the FreeBSD Documentation Project
-	$FreeBSD: doc/en_US.ISO8859-1/books/handbook/vinum/chapter.sgml,v 1.45 2008/06/01 09:42:12 remko Exp $
+	$FreeBSD: doc/en_US.ISO8859-1/books/handbook/vinum/chapter.sgml,v 1.46 2008/12/22 21:51:29 trhodes Exp $
 -->
 
 <chapter id="vinum-vinum">
@@ -946,7 +946,10 @@
 	<note><para>This information only relates to the historic
 	Vinum implementation.  <emphasis>Gvinum</emphasis> always
 	features an automatic startup once the kernel module is
-	loaded.</para></note>
+	loaded, via &man.loader.conf.5;.  To load the
+	<emphasis>Gvinum</emphasis> module at boot time, add
+	<literal>geom_vinum_load="YES"</literal> to
+	<filename>/boot/loader.conf</filename>.</para></note>
 
         <para>In order to start Vinum automatically when you boot the
 	  system, ensure that you have the following line in your

==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#16 (text+ko) ====

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/porters-handbook/book.sgml,v 1.963 2008/12/15 08:18:57 qingli Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/porters-handbook/book.sgml,v 1.965 2008/12/23 13:17:34 blackend Exp $
 -->
 
 <!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@@ -2140,7 +2140,7 @@
 	  <step>
 	    <para>If that PR is approved, a committer will need to follow
 	      the rest of the procedure that is
-	      <ulink url="&url.articles.committers-guide;/#ports">
+	      <ulink url="&url.articles.committers-guide;/article.html#PORTS">
 	      outlined in the Committer's Guide</ulink>.</para>
 	  </step>
 	</procedure>
@@ -12268,6 +12268,10 @@
 		      new arp-v2 rewrite.</entry>
 		    <entry>800059</entry>
 		  </row>
+		  <row>
+		    <entry>8.0-CURRENT after the addition of makefs.</entry>
+		    <entry>800060</entry>
+		  </row>
 		</tbody>
 	      </tgroup>
 	    </table>

==== //depot/projects/docproj_nl/en_US.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#4 (text+ko) ====

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812232232.mBNMW3nE054570>