From owner-dev-commits-doc-all@freebsd.org Mon Apr 26 10:19:08 2021 Return-Path: Delivered-To: dev-commits-doc-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8F9615FB39F for ; Mon, 26 Apr 2021 10:19:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4FTLTm3gnYz3CyY; Mon, 26 Apr 2021 10:19:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 71179257C2; Mon, 26 Apr 2021 10:19:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 13QAJ83s073546; Mon, 26 Apr 2021 10:19:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 13QAJ8n6073545; Mon, 26 Apr 2021 10:19:08 GMT (envelope-from git) Date: Mon, 26 Apr 2021 10:19:08 GMT Message-Id: <202104261019.13QAJ8n6073545@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Ryusuke SUZUKI Subject: git: e35388b00e - main - 2a617095b1 -> 7859bada69 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ryusuke X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e35388b00ef000cc0f473b09f11adae268ba9a5b Auto-Submitted: auto-generated X-BeenThere: dev-commits-doc-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the doc repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Apr 2021 10:19:08 -0000 The branch main has been updated by ryusuke: URL: https://cgit.FreeBSD.org/doc/commit/?id=e35388b00ef000cc0f473b09f11adae268ba9a5b commit e35388b00ef000cc0f473b09f11adae268ba9a5b Author: Ryusuke SUZUKI AuthorDate: 2021-04-26 10:18:46 +0000 Commit: Ryusuke SUZUKI 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]