Page MenuHomeFreeBSD

D27848.id81414.diff
No OneTemporary

D27848.id81414.diff

diff --git a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml
--- a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml
+++ b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml
@@ -1195,9 +1195,10 @@
&prompt.root; <userinput>make -j<replaceable>4</replaceable> buildworld</userinput> <co xml:id="updating-src-qs-buildworld"/>
&prompt.root; <userinput>make -j<replaceable>4</replaceable> kernel</userinput> <co xml:id="updating-src-qs-kernel"/>
&prompt.root; <userinput>shutdown -r now</userinput> <co xml:id="updating-src-qs-reboot"/>
+&prompt.root; <userinput>etcupdate -p</userinput> <co xml:id="updating-src-qs-etcupdate-preworld"/>
&prompt.root; <userinput>cd /usr/src</userinput> <co xml:id="updating-src-qs-cd2"/>
&prompt.root; <userinput>make installworld</userinput> <co xml:id="updating-src-qs-installworld"/>
-&prompt.root; <userinput>mergemaster -Ui</userinput> <co xml:id="updating-src-qs-mergemaster"/>
+&prompt.root; <userinput>etcupdate -B</userinput> <co xml:id="updating-src-qs-etcupdate"/>
&prompt.root; <userinput>shutdown -r now</userinput> <co xml:id="updating-src-qs-shutdown"/></screen>
<calloutlist>
@@ -1214,6 +1215,12 @@
from source.</para>
</callout>
+ <callout arearefs="updating-src-qs-etcupdate-preworld">
+ <para>Update and merge configuration files in
+ <filename>/etc/</filename> required before
+ installworld.</para>
+ </callout>
+
<callout arearefs="updating-src-qs-cd">
<para>Go to the source directory.</para>
</callout>
@@ -1241,7 +1248,7 @@
<para>Install the world.</para>
</callout>
- <callout arearefs="updating-src-qs-mergemaster">
+ <callout arearefs="updating-src-qs-etcupdate">
<para>Update and merge configuration files in
<filename>/etc/</filename>.</para>
</callout>
@@ -1536,13 +1543,84 @@
libraries are located and removed, then the system is
restarted.</para>
- <sect3 xml:id="updating-src-completing-merge-mergemaster">
+ <sect3 xml:id="updating-src-completing-merge-etcupdate">
+ <title>Merging Configuration Files with
+ &man.etcupdate.8;</title>
+
+ <para>&man.etcupdate.8; is a tool for managing updates to
+ files that are not updated as part of an installworld such
+ as files in <filename>/etc/</filename>. It manages updates
+ by doing a three-way merge of changes made to these files
+ against the local versions. It is also designed to minimize
+ the amount of user intervention which is the largest benefit
+ in comparison to &man.mergemaster.8;.</para>
+
+ <note>
+ <para>In general, &man.etcupdate.8; does not need any
+ specific arguments for its job. There is however a handy in
+ between command for sanity checking what will be done the
+ first time &man.etcupdate.8; is used:
+
+ <screen>&prompt.root; <userinput>etcupdate diff</userinput></screen>
+
+ By giving the output a quick look and making sure the diff
+ looks OK, the merge should work just fine.</para>
+ </note>
+
+ <para>If &man.etcupdate.8; is not able to merge a file
+ automatically, the merge conflicts can be resolved with
+ manual interaction by issuing:</para>
+
+ <screen>&prompt.root; <userinput>etcupdate resolve</userinput></screen>
+
+ <warning>
+ <para>When switching from &man.mergemaster.8; to
+ &man.etcupdate.8; the first run might print some bogus
+ conflicts due to already applied changes. In general, the
+ following command sequence should recover from this
+ behavior:</para>
+
+ <procedure>
+ <step>
+ <title>Bootstrapping &man.etcupdate.8;</title>
+
+ <screen>&prompt.root; <userinput>etcupdate diff</userinput> <co xml:id="updating-src-completing-merge-diff"/>
+&prompt.root; <userinput>etcupdate bootstrap</userinput> <co xml:id="updating-src-completing-merge-bootstrap"/>
+&prompt.root; <userinput>etcupdate diff</userinput> <co xml:id="updating-src-completing-merge-diff-after"/></screen>
+
+ <calloutlist>
+ <callout arearefs="updating-src-completing-merge-diff">
+ <para>Check the output before updating sources and
+ building the new world. If the output shows a lot
+ of diffs that are not expected, continue with the
+ bootstrap command.</para>
+ </callout>
+
+ <callout arearefs="updating-src-completing-merge-bootstrap">
+ <para>Bootstrap the program, for more information
+ see &man.etcupdate.8;.</para>
+ </callout>
+
+ <callout arearefs="updating-src-completing-merge-diff-after">
+ <para>Check the diff again after bootstrapping. The
+ unexpected diffs should be gone.</para>
+ </callout>
+ </calloutlist>
+ </step>
+ </procedure>
+ </warning>
+ </sect3>
+
+ <sect3 xml:id="updating-src-completing-merge-mergemsater">
<title>Merging Configuration Files with
&man.mergemaster.8;</title>
- <para>&man.mergemaster.8; provides an easy
- way to merge changes that have been made to system
- configuration files with new versions of those files.</para>
+ <para>&man.mergemaster.8; provides a way to merge changes that
+ have been made to system configuration files with new
+ versions of those files. &man.mergemaster.8; is an
+ alternative to the preferred &man.etcupdate.8; tool,
+ although &man.mergemaster.8; might still be needed on legacy
+ installs.</para>
<para>With <option>-Ui</option>, &man.mergemaster.8;
automatically updates files that have not been user-modified

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 28, 11:28 AM (5 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30470235
Default Alt Text
D27848.id81414.diff (5 KB)

Event Timeline