From owner-svn-doc-head@FreeBSD.ORG Fri Mar 14 10:38:27 2014 Return-Path: Delivered-To: svn-doc-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7348EA5F; Fri, 14 Mar 2014 10:38:27 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5E7EC669; Fri, 14 Mar 2014 10:38:27 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s2EAcRZ1029277; Fri, 14 Mar 2014 10:38:27 GMT (envelope-from ryusuke@svn.freebsd.org) Received: (from ryusuke@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s2EAcR4P029276; Fri, 14 Mar 2014 10:38:27 GMT (envelope-from ryusuke@svn.freebsd.org) Message-Id: <201403141038.s2EAcR4P029276@svn.freebsd.org> From: Ryusuke SUZUKI Date: Fri, 14 Mar 2014 10:38:27 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r44233 - head/ja_JP.eucJP/books/handbook/cutting-edge X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Fri, 14 Mar 2014 12:26:20 +0000 X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Mar 2014 10:38:27 -0000 Author: ryusuke Date: Fri Mar 14 10:38:26 2014 New Revision: 44233 URL: http://svnweb.freebsd.org/changeset/doc/44233 Log: - Merge the following from the English version: r43795 -> r43796 head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml Modified: head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml Modified: head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml ============================================================================== --- head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml Fri Mar 14 05:32:26 2014 (r44232) +++ head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml Fri Mar 14 10:38:26 2014 (r44233) @@ -3,7 +3,7 @@ The FreeBSD Documentation Project The FreeBSD Japanese Documentation Project - Original revision: r43795 + Original revision: r43796 $FreeBSD$ --> - world は、&os; のカーネル、コアシステムのバイナリ、 + &os; では、world は、 + カーネル、コアシステムのバイナリ、 ライブラリ、プログラミングファイル、組み込みのコンパイラを意味します。 これらのコンポーネントの構築およびインストールの順番は重要です。 @@ -1582,179 +1583,130 @@ before running "/usr/sbin/freebsd-update をインストールする前に変更すべきものがありますが、 古い world を壊す可能性があります。 そのため、一般的に設定のアップデートは、 - 2 つの手順が必要です。 + 2 つの手順が使われます。 多くの場合、アップデートのプロセスは、ファイルを置き換えたり、 追加のみを行い、古いファイルを削除しません。 - このことが問題を引き起こす可能性があります。 - そのため、アップデートにおいては、 - 手動で削除すべきファイルがあることを、 - 特定のステップで指定することもあります。 + このことが問題を引き起こす可能性があるため、 + /usr/src/UPDATING には、 + 手動で削除すべきファイルをどのステップで削除すべきかが書かれています。 - これらを配慮し、以下のアップグレードの推奨手順が作られました。 + これらを配慮し、アップグレードの推奨手順が作られました。 world の構築プロセスの概要 world の構築プロセスで用いられるコマンドは、 ここで示されている順番で実行してください。 この節では各コマンドの機能についてまとめます。 - + + 新しいコンパイラと関連ツールを最初にコンパイルし、 その後、新しいコンパイラで、 新しい world の残りの部分をコンパイルします。 コンパイルされたものは、 - /usr/obj に格納されます。 + /usr/obj + に格納されます。 + + &prompt.root; cd /usr/src +&prompt.root; make buildworld - make - buildkernel + コンパイラとカーネルのミスマッチを防ぐため、 + /usr/obj + にある新しいコンパイラを用いて新しいカーネルを構築します。 - ここでは、 - /usr/obj にある - 新しい コンパイラが用いられます。 - これにより、コンパイラとカーネルのミスマッチを防ぐことができます。 + &prompt.root; make buildkernel - make installkernel - 新しくアップデートされたカーネルで起動できるように、 - 新しいカーネルとカーネルモジュールをディスク上に配置します。 - + 新しいカーネルとカーネルモジュールをディスク上に配置します。 + + &prompt.root; make installkernel - - シングルユーザモードで再起動 + + すでに実行されているソフトウェアをアップデートする際の問題を最小限にするため、シングルユーザモードに移行します。 + また、新しいカーネル上で古い world + が実行される際の問題も最小限にします。 + + &prompt.root; shutdown now + + シングルユーザモードに移行したら、UFS + でフォーマットされているシステムでは、 + 以下のコマンドを実行してください。 + + &prompt.root; mount -u / +&prompt.root; mount -a -t ufs + + もしシステムが ZFS でフォーマットされている場合には、 + 以下の 2 つのコマンドを実行してください。 + この例では、zpool の名前は zroot + であると仮定します。 - シングルユーザモードは、 - すでに実行されているソフトウェアをアップデートする際の問題を最小限にします。 - また、新しいカーネル上で古い world が実行される際の問題も最小限にします。 + &prompt.root; zfs set readonly=off zroot +&prompt.root; zfs mount -a + + + + その後、どちらのファイルシステムでも、 + 以下を実行してください。 + + &prompt.root; adjkerntz -i - mergemaster -p - - 新しい world における最初の設定ファイルのアップデートを行います。 - たとえば、新しいユーザグループをシステムに追加したり、 - パスワードデータベースに対し、新しいユーザ名を追加するかもしれません。 - 前回のアップデート後に、 - 新しいグループや特別のシステムのユーザアカウントが追加された場合に、 + 次に、新しい world + における最初の設定ファイルのアップデートを行います。たとえば、 + このステップでは、最後のアップデート後に &os; に追加された、 + 新しいグループや新しいシステムアカウントををシステムに追加されることがあります。 installworld のステップで、 - 新しくインストールされたシステムのユーザまたはシステムのグループ名を問題なく使うことができるように、 - この作業がときどき必要となります。 + 新しくインストールされたシステムのユーザおよびシステムのグループ名を問題なく使うことができるように、 + この作業が必要となることがあります。 + + &prompt.root; mergemaster -p - make installworld + /usr/obj + にある新しい world をインストールします。 - world を /usr/obj からコピーします。 - これで、ディスクには新しいカーネルと world が置かれたことになります。 + &prompt.root; cd /usr/src +&prompt.root; make installworld - mergemaster + 残りの設定ファイルをアップデートします。 - ディスクに新しい world が置かれたので、 - 残りの設定ファイルをアップデートします。 + &prompt.root; mergemaster -p - make - delete-old - - このターゲットは (使われなくなった) ファイルを削除します。 + 使われなくなったファイルを削除します。 もし使われなくなったファイルがディスクに残っていると、 - 問題が起きる可能性があるため重要な作業です。 - たとえば、古い utmp.h が残っていると、 - 新しい utmpx.h をインストールしたときに、 - 問題が起きる ports があります。 + 問題が起きる可能性があるため重要な作業です。 + + &prompt.root; make delete-old - 再起動 + 再起動を行い、新しいカーネル、 + world そして設定ファイルをロードします。 - 新しいカーネル、world そして設定ファイルがロードされたので、 - 再起動が必要です。 + &prompt.root; reboot - make - delete-old-libs + 古いライブラリを削除する前に、 + + に書かれている手順にしたがって、 + すべての ports を再構築する必要があります。 + 再構築が終わったら、新しいライブラリと競合することを避けるため、 + 使われなくなったライブラリを削除します。 - 使われなくなったライブラリが新しいライブラリと競合することを避けるため削除します。 - 古いライブラリを削除する前にすべての ports を再構築する必要があります。 + &prompt.root; make delete-old-libs - - もし、&os; のあるブランチのあるリリースから、 - 同じブランチの最新リリースにアップデートするのであれば - (たとえば 9.0 から 9.1)、 - この手順にしたがわなくても良いでしょう。 - なぜならば、コンパイラ、カーネル、ユーザランド、そして設定ファイルの間で、 - 重度のミスマッチが起きることはあまり考えられないためです。 - マイナーなアップデートでは、新しいカーネルの構築とインストール後に、 - 古いアプローチである - make world - を用いてもうまくいくでしょう。 - - メジャーリリースをまたいだアップデートでは、 - この方法を用いないと、何らかの問題にぶつかるでしょう。 - - この手続きは、 - 開発者たちがある種のミスマッチを完全に避けるために、長い年月をかけて進化してきました。 - 願わくば、この現在の手順が長い間安定してほしいものです。 - - まとめると、現在、ソースからの &os; - のアップグレードにおいて推奨されている方法は以下となります。 - - &prompt.root; cd /usr/src -&prompt.root; make buildworld -&prompt.root; make buildkernel -&prompt.root; make installkernel -&prompt.root; shutdown -r now - - - まれに buildworld - の前に mergemaster -p - を余分に実行することが必要な場合があります。その場合は - UPDATING にそう書かれています。 - &os; のメジャーバージョンをまたいで更新するのでなければ、 - 通常はこの手順を省略してもなんら問題ないでしょう。 - - - installkernel - が無事に終了したら、ローダのプロンプトから - boot -s - を使ってシングルユーザモードで立ち上げてください。 - - UFS を使っているのなら、以下を実行してください。 - - &prompt.root; mount -u / -&prompt.root; mount -a -t ufs - - ZFS を使っている場合には、以下を実行してください - (zpool の名前を zroot としています)。 - - &prompt.root; zfs set readonly=off zroot -&prompt.root; zfs mount -a - - その後、以下を実行してください。: - - &prompt.root; adjkerntz -i -&prompt.root; mergemaster -p -&prompt.root; cd /usr/src -&prompt.root; make installworld -&prompt.root; mergemaster -&prompt.root; make delete-old -&prompt.root; reboot -&prompt.root; make delete-old-libs - - - この後の説明を読んでください - - この後の節ではそれぞれのステップについて詳しく説明しています。 - 特にカスタムカーネルを利用する場合について説明しています。 - @@ -1764,6 +1716,9 @@ before running "/usr/sbin/freebsd-update make.conf + この後の節ではそれぞれのステップについて詳しく説明しています。 + 特にカスタムカーネルを利用する場合について説明しています。 + &man.make.1; のオプションの説明は、&man.make.conf.5; や /usr/share/examples/etc/make.conf にあります。 これらの設定を /etc/make.conf に追加して、