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—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 — 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; 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 — 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 >> 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 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>