Date: Fri, 14 Mar 2014 10:38:27 +0000 (UTC) From: Ryusuke SUZUKI <ryusuke@FreeBSD.org> 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 Message-ID: <201403141038.s2EAcR4P029276@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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$ --> <chapter xmlns="http://docbook.org/ns/docbook" @@ -1558,7 +1558,8 @@ before running "/usr/sbin/freebsd-update に書かれている手順で入手したソースを用いて、 古い &os; のバージョンをアップデートしてください。</para> - <para><quote>world</quote> は、&os; のカーネル、コアシステムのバイナリ、 + <para>&os; では、<quote>world</quote> は、 + カーネル、コアシステムのバイナリ、 ライブラリ、プログラミングファイル、組み込みのコンパイラを意味します。 これらのコンポーネントの構築およびインストールの順番は重要です。</para> @@ -1582,179 +1583,130 @@ before running "/usr/sbin/freebsd-update をインストールする前に変更すべきものがありますが、 古い world を壊す可能性があります。 そのため、一般的に設定のアップデートは、 - 2 つの手順が必要です。 + 2 つの手順が使われます。 多くの場合、アップデートのプロセスは、ファイルを置き換えたり、 追加のみを行い、古いファイルを削除しません。 - このことが問題を引き起こす可能性があります。 - そのため、アップデートにおいては、 - 手動で削除すべきファイルがあることを、 - 特定のステップで指定することもあります。</para> + このことが問題を引き起こす可能性があるため、 + <filename>/usr/src/UPDATING</filename> には、 + 手動で削除すべきファイルをどのステップで削除すべきかが書かれています。</para> - <para>これらを配慮し、以下のアップグレードの推奨手順が作られました。</para> + <para>これらを配慮し、アップグレードの推奨手順が作られました。</para> <procedure> <title>world の構築プロセスの概要</title> <para>world の構築プロセスで用いられるコマンドは、 ここで示されている順番で実行してください。 この節では各コマンドの機能についてまとめます。</para> - <step> + + <step> <para>新しいコンパイラと関連ツールを最初にコンパイルし、 その後、新しいコンパイラで、 新しい world の残りの部分をコンパイルします。 コンパイルされたものは、 - <filename>/usr/obj</filename> に格納されます。</para> + <filename class="directory">/usr/obj</filename> + に格納されます。</para> + + <screen>&prompt.root; <userinput>cd /usr/src</userinput> +&prompt.root; <userinput>make buildworld</userinput></screen> </step> <step> - <para><command>make - buildkernel</command></para> + <para>コンパイラとカーネルのミスマッチを防ぐため、 + <filename class="directory">/usr/obj</filename> + にある新しいコンパイラを用いて新しいカーネルを構築します。</para> - <para>ここでは、 - <filename>/usr/obj</filename> にある - <emphasis>新しい</emphasis> コンパイラが用いられます。 - これにより、コンパイラとカーネルのミスマッチを防ぐことができます。</para> + <screen>&prompt.root; <userinput>make buildkernel</userinput></screen> </step> <step> - <para><command>make installkernel</command></para> - <para>新しくアップデートされたカーネルで起動できるように、 - 新しいカーネルとカーネルモジュールをディスク上に配置します。 - </para> + 新しいカーネルとカーネルモジュールをディスク上に配置します。</para> + + <screen>&prompt.root; <userinput>make installkernel</userinput></screen> </step> - <step> - <para>シングルユーザモードで再起動</para> + <step> + <para>すでに実行されているソフトウェアをアップデートする際の問題を最小限にするため、シングルユーザモードに移行します。 + また、新しいカーネル上で古い world + が実行される際の問題も最小限にします。</para> + + <screen>&prompt.root; <userinput>shutdown now</userinput></screen> + + <para>シングルユーザモードに移行したら、UFS + でフォーマットされているシステムでは、 + 以下のコマンドを実行してください。</para> + + <screen>&prompt.root; <userinput>mount -u /</userinput> +&prompt.root; <userinput>mount -a -t ufs</userinput></screen> + + <para>もしシステムが ZFS でフォーマットされている場合には、 + 以下の 2 つのコマンドを実行してください。 + この例では、zpool の名前は <literal>zroot</literal> + であると仮定します。</para> - <para>シングルユーザモードは、 - すでに実行されているソフトウェアをアップデートする際の問題を最小限にします。 - また、新しいカーネル上で古い world が実行される際の問題も最小限にします。</para> + <screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput> +&prompt.root; <userinput>zfs mount -a</userinput></screen> + </step> + + <step> + <para>その後、どちらのファイルシステムでも、 + 以下を実行してください。</para> + + <screen>&prompt.root; <userinput>adjkerntz -i</userinput></screen> </step> <step> - <para><command>mergemaster -p</command></para> - - <para>新しい world における最初の設定ファイルのアップデートを行います。 - たとえば、新しいユーザグループをシステムに追加したり、 - パスワードデータベースに対し、新しいユーザ名を追加するかもしれません。 - 前回のアップデート後に、 - 新しいグループや特別のシステムのユーザアカウントが追加された場合に、 + <para>次に、新しい world + における最初の設定ファイルのアップデートを行います。たとえば、 + このステップでは、最後のアップデート後に &os; に追加された、 + 新しいグループや新しいシステムアカウントををシステムに追加されることがあります。 <buildtarget>installworld</buildtarget> のステップで、 - 新しくインストールされたシステムのユーザまたはシステムのグループ名を問題なく使うことができるように、 - この作業がときどき必要となります。</para> + 新しくインストールされたシステムのユーザおよびシステムのグループ名を問題なく使うことができるように、 + この作業が必要となることがあります。</para> + + <screen>&prompt.root; <userinput>mergemaster -p</userinput></screen> </step> <step> - <para><command>make installworld</command></para> + <para><filename class="directory">/usr/obj</filename> + にある新しい world をインストールします。</para> - <para>world を <filename>/usr/obj</filename> からコピーします。 - これで、ディスクには新しいカーネルと world が置かれたことになります。</para> + <screen>&prompt.root; <userinput>cd /usr/src</userinput> +&prompt.root; <userinput>make installworld</userinput></screen> </step> <step> - <para><command>mergemaster</command></para> + <para>残りの設定ファイルをアップデートします。</para> - <para>ディスクに新しい world が置かれたので、 - 残りの設定ファイルをアップデートします。</para> + <screen>&prompt.root; <userinput>mergemaster -p</userinput></screen> </step> <step> - <para><command>make - delete-old</command></para> - - <para>このターゲットは (使われなくなった) ファイルを削除します。 + <para>使われなくなったファイルを削除します。 もし使われなくなったファイルがディスクに残っていると、 - 問題が起きる可能性があるため重要な作業です。 - たとえば、古い <filename>utmp.h</filename> が残っていると、 - 新しい <filename>utmpx.h</filename> をインストールしたときに、 - 問題が起きる ports があります。</para> + 問題が起きる可能性があるため重要な作業です。</para> + + <screen>&prompt.root; <userinput>make delete-old</userinput></screen> </step> <step> - <para>再起動</para> + <para>再起動を行い、新しいカーネル、 + world そして設定ファイルをロードします。</para> - <para>新しいカーネル、world そして設定ファイルがロードされたので、 - 再起動が必要です。</para> + <screen>&prompt.root; <userinput>reboot</userinput></screen> </step> <step> - <para><command>make - delete-old-libs</command></para> + <para>古いライブラリを削除する前に、 + <xref linkend="ports-upgrading"/> + に書かれている手順にしたがって、 + すべての ports を再構築する必要があります。 + 再構築が終わったら、新しいライブラリと競合することを避けるため、 + 使われなくなったライブラリを削除します。</para> - <para>使われなくなったライブラリが新しいライブラリと競合することを避けるため削除します。 - 古いライブラリを削除する前にすべての ports を再構築する必要があります。</para> + <screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen> </step> </procedure> - - <para>もし、&os; のあるブランチのあるリリースから、 - 同じブランチの最新リリースにアップデートするのであれば - (たとえば 9.0 から 9.1)、 - この手順にしたがわなくても良いでしょう。 - なぜならば、コンパイラ、カーネル、ユーザランド、そして設定ファイルの間で、 - 重度のミスマッチが起きることはあまり考えられないためです。 - マイナーなアップデートでは、新しいカーネルの構築とインストール後に、 - 古いアプローチである - <command>make world</command> - を用いてもうまくいくでしょう。</para> - - <para>メジャーリリースをまたいだアップデートでは、 - この方法を用いないと、何らかの問題にぶつかるでしょう。</para> - - <para>この手続きは、 - 開発者たちがある種のミスマッチを完全に避けるために、長い年月をかけて進化してきました。 - 願わくば、この現在の手順が長い間安定してほしいものです。</para> - - <para>まとめると、現在、ソースからの &os; - のアップグレードにおいて推奨されている方法は以下となります。</para> - - <screen>&prompt.root; <userinput>cd /usr/src</userinput> -&prompt.root; <userinput>make buildworld</userinput> -&prompt.root; <userinput>make buildkernel</userinput> -&prompt.root; <userinput>make installkernel</userinput> -&prompt.root; <userinput>shutdown -r now</userinput></screen> - - <note> - <para>まれに <buildtarget>buildworld</buildtarget> - の前に <command>mergemaster -p</command> - を余分に実行することが必要な場合があります。その場合は - <filename>UPDATING</filename> にそう書かれています。 - &os; のメジャーバージョンをまたいで更新するのでなければ、 - 通常はこの手順を省略してもなんら問題ないでしょう。</para> - </note> - - <para><buildtarget>installkernel</buildtarget> - が無事に終了したら、ローダのプロンプトから - <command>boot -s</command> - を使ってシングルユーザモードで立ち上げてください。</para> - - <para>UFS を使っているのなら、以下を実行してください。</para> - - <screen>&prompt.root; <userinput>mount -u /</userinput> -&prompt.root; <userinput>mount -a -t ufs</userinput></screen> - - <para>ZFS を使っている場合には、以下を実行してください - (zpool の名前を zroot としています)。</para> - - <screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput> -&prompt.root; <userinput>zfs mount -a</userinput></screen> - - <para>その後、以下を実行してください。:</para> - - <screen>&prompt.root; <userinput>adjkerntz -i</userinput> -&prompt.root; <userinput>mergemaster -p</userinput> -&prompt.root; <userinput>cd /usr/src</userinput> -&prompt.root; <userinput>make installworld</userinput> -&prompt.root; <userinput>mergemaster</userinput> -&prompt.root; <userinput>make delete-old</userinput> -&prompt.root; <userinput>reboot</userinput> -&prompt.root; <userinput>make delete-old-libs</userinput></screen> - - <warning> - <title>この後の説明を読んでください</title> - - <para>この後の節ではそれぞれのステップについて詳しく説明しています。 - 特にカスタムカーネルを利用する場合について説明しています。</para> - </warning> </sect2> <sect2 xml:id="src-updating"> @@ -1764,6 +1716,9 @@ before running "/usr/sbin/freebsd-update <primary><filename>make.conf</filename></primary> </indexterm> + <para>この後の節ではそれぞれのステップについて詳しく説明しています。 + 特にカスタムカーネルを利用する場合について説明しています。</para> + <para>&man.make.1; のオプションの説明は、&man.make.conf.5; や <filename>/usr/share/examples/etc/make.conf</filename> にあります。 これらの設定を <filename>/etc/make.conf</filename> に追加して、
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403141038.s2EAcR4P029276>