git: e35388b00e - main - 2a617095b1 -> 7859bada69

Ryusuke SUZUKI <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
The branch main has been updated by ryusuke:

URL: https://cgit.FreeBSD.org/doc/commit/?id=e35388b00ef000cc0f473b09f11adae268ba9a5b

commit e35388b00ef000cc0f473b09f11adae268ba9a5b
Author:     Ryusuke SUZUKI <[email protected]>
AuthorDate: 2021-04-26 10:18:46 +0000
Commit:     Ryusuke SUZUKI <[email protected]>
CommitDate: 2021-04-26 10:18:46 +0000

    2a617095b1 -> 7859bada69
---
 .../ja/books/handbook/cutting-edge/_index.adoc     | 58 ++++++++++++++++++++--
 1 file changed, 54 insertions(+), 4 deletions(-)

diff --git a/documentation/content/ja/books/handbook/cutting-edge/_index.adoc b/documentation/content/ja/books/handbook/cutting-edge/_index.adoc
index 5e8fc1a762..492f680317 100644
--- a/documentation/content/ja/books/handbook/cutting-edge/_index.adoc
+++ b/documentation/content/ja/books/handbook/cutting-edge/_index.adoc
@@ -622,9 +622,10 @@ check /usr/src/UPDATING  <.>
 # make -j4 buildworld  <.>
 # make -j4 kernel      <.>
 # shutdown -r now      <.>
+# etcupdate -p         <.>
 # cd /usr/src          <.>
 # make installworld    <.>
-# mergemaster -Ui      <.>
+# etcupdate -B         <.>
 # shutdown -r now      <.>
 ....
 
@@ -640,11 +641,13 @@ check /usr/src/UPDATING  <.>
 
 <.> 新しいカーネルを使うため、 システムを再起動してください。
 
+<.> installworld を行う前に、[.filename]#/etc/# に置かれている設定ファイルのアップデートとマージを行ってください。
+
 <.> ソースが置かれているディレクトリに移動してください。
 
 <.> world をインストールしてください。
 
-<.> [.filename]#/etc/# に置かれている設定ファイルをアップデートしたりマージしてください。
+<.> [.filename]#/etc/# に置かれている設定ファイルのアップデートとマージを行ってください。
 
 <.> 新しく構築された world およびカーネルを利用するため、 システムを再起動してください。
 ====
@@ -866,11 +869,58 @@ FreeBSD 標準のカーネルは、[.filename]#GENERIC# と呼ばれる _カー
 アップデートの完了までに、いくつかの最終作業が残されています。
 デフォルトから変更した設定ファイルを新しいバージョンのファイルにマージし、古くなったライブラリを見つけて削除した後に、システムを再起動します。
 
+[[updating-src-completing-merge-etcupdate]]
+==== man:etcupdate[8] を用いた設定ファイルのマージ
+
+man:etcupdate[8] は、[.filename]#/etc/# 以下のファイルのように installworld のプロセスで更新されないファイルをアップデートするツールです。
+このツールは、ローカルにあるファイルに対する変更点を 3-way マージでアップデートします。
+man:mergemaster[8] の対話的なプロンプトと対照的に、このツールはユーザによる操作を最小限になるように設計されています。
+
+[NOTE]
+====
+一般的に、man:etcupdate[8] は、実行する際に特定の引数を必要としません。
+しかしながら、man:etcupdate[8] を最初に使用した際に、どのようなアップデートが行われたかの健全性をチェックする便利なコマンドがあります。
+
+[source,shell]
+....
+# etcupdate diff
+....
+
+このコマンドにより、ユーザは設定の変更を検証できます。
+====
+
+man:etcupdate[8] が自動的にファイルをマージできない場合には、
+以下を実行することで、手動の操作により衝突を解決できます。
+
+[source,shell]
+....
+# etcupdate resolve
+....
+
+[WARNING]
+====
+man:mergemaster[8] から man:etcupdate[8] に移行する際に、
+最初に man:etcupdate[8] を実行すると、不適切に変更点がマージされ、誤った衝突が起こる可能性があります。
+これを避けるには、ソースを更新して新しく buildworld を行う *前に* 以下のステップを行ってください。
+
+[source,shell]
+....
+# etcupdate bootstrap <.>
+# etcupdate diff <.>
+....
+
+<.> [.filename]#/etc# ファイルを保存するデータベースをブートストラップしてください。
+詳細については、 man:etcupdate[8] を参照してください。
+
+<.> ブートストラップ後、差分を確認してください。
+不必要なローカルでの変更点をなくし、将来的なアップデートにおいて、衝突が起きる可能性が低くなるようにしてください。
+====
+
 [[updating-src-completing-merge-mergemaster]]
 ==== man:mergemaster[8] を用いた設定ファイルのマージ
 
-man:mergemaster[8] を用いることで、システムの設定ファイルに行われている変更を、 簡単にこれらのファイルの新しいバージョンにマージできます。
-
+man:mergemaster[8] を用いることで、システムの設定ファイルに行われている変更を、これらのファイルの新しいバージョンにマージできます。
+man:mergemaster[8] は、設定ファイルのアップデートで推奨されている man:etcupdate[8] の代価のツールです。
 `-Ui` オプションを使って man:mergemaster[8] を実行すると、 ユーザが手を加えていないファイルのアップデートおよび新しく追加されたファイルのインストールを自動的に行います。
 
 [source,shell]
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-doc-all
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.