- Merge the following from the English version:

r40608 -> r40712	head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml
This commit is contained in:
Ryusuke SUZUKI 2013-01-23 12:35:21 +00:00
parent 580d69a46a
commit 41e878aadd
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=40726

View file

@ -3,7 +3,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: r40608
Original revision: r40712
$FreeBSD$
-->
@ -346,15 +346,26 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
</sect2>
<sect2 id="freebsdupdate-upgrade">
<title>メジャーおよびマイナーアップグレード</title>
<title>メジャーおよびマイナーバージョンのアップグレード</title>
<para>このプロセスでは、古いオブジェクトファイルやライブラリが削除され、
<para>&os; のマイナーバージョン間のアップグレード、
たとえば、&os;&nbsp;9.0 から &os;&nbsp;9.1 へのアップグレードは、
<emphasis>マイナーバージョン</emphasis> アップグレードと呼ばれます。
通常は、マイナーバージョンのアップグレードを行った後でも、
インストールされているアプリケーションは問題なく動きます。</para>
<para><emphasis>メジャーバージョン</emphasis> アップグレードは、
&os;&nbsp;8.X から &os;&nbsp;9.X へのアップグレードといった、
&os; のメジャーバージョンが変わるようなアップグレードのことです。
メジャーバージョンのアップグレードでは、
古いオブジェクトファイルやライブラリが削除され、
これらに依存する多くのサードパーティ製アプリケーションに影響を与える可能性があります。
インストールされているすべての ports を削除して再インストールするか、
後で、<filename role="package">ports-mgmt/portupgrade</filename>
メジャーアップグレード後、
<filename role="package">ports-mgmt/portupgrade</filename>
ユーティリティを使ってアップグレードすることが推奨されています。
試験的にビルドを行いたいと思っているユーザは、
以下のコマンドを実行してください。</para>
インストールされているアプリケーションのブルートフォース的な再構築は、
以下のコマンドにより行うことができます</para>
<screen>&prompt.root; <userinput>portupgrade -af</userinput></screen>
@ -365,82 +376,141 @@ MergeChanges /etc/ /var/named/etc/</programlisting>
<literal>yes</literal> と答えるようになるので、
ビルドプロセスでの手動操作を省略できます。</para>
<para>カスタムカーネルを使用している場合には、
アップグレードのプロセスは幾分複雑となります。
<filename>GENERIC</filename> カーネルが <filename
class="directory">/boot/GENERIC</filename>
に置かれている必要があります。
もし <filename>GENERIC</filename>
カーネルがシステムに存在しない場合には、
以下のどれかの方法で用意してください。</para>
<sect3 id="freebsd-update-custom-kernel">
<title>カスタムカーネルの取り扱い</title>
<itemizedlist>
<listitem>
<para>ただ一度だけカスタムカーネルを構築したのであれば、
<filename class="directory">/boot/kernel.old</filename>
カーネルは <filename>GENERIC</filename> そのものです。
ただ単にこのディレクトリの名前を
<para>カスタムカーネルを使用している場合には、アップグレードのプロセスは、
幾分複雑となります。
アップグレードの手順は &os; のバージョンによって変わります。</para>
<sect4 id="freebsd-update-custom-kernel-8x">
<title>&os;&nbsp;8.X 以前のシステムにおけるカスタムカーネル</title>
<para><filename>GENERIC</filename> カーネルが
<filename class="directory">/boot/GENERIC</filename>
へと変更してください。</para>
</listitem>
に置かれている必要があります。
もし <filename>GENERIC</filename>
カーネルがシステムに存在しない場合には、
以下のどれかの方法で用意してください。</para>
<listitem>
<para>コンピュータへの物理的なアクセスが可能であれば、
CD-ROM から <filename>GENERIC</filename>
カーネルをインストールできます。
インストールディスクを挿入して、以下のコマンドを実行してください。</para>
<itemizedlist>
<listitem>
<para>ただ一度だけカスタムカーネルを構築したのであれば、
<filename class="directory">/boot/kernel.old</filename>
<filename>GENERIC</filename> カーネルそのものです。
ただ単にこのディレクトリの名前を
<filename class="directory">/boot/GENERIC</filename>
へと変更してください。</para>
</listitem>
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
<listitem>
<para>コンピュータへの物理的なアクセスが可能であれば、
CD-ROM メディアから <filename>GENERIC</filename>
カーネルをインストールできます。
インストールディスクを挿入して、以下のコマンドを実行してください。</para>
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
&prompt.root; <userinput>cd /cdrom/<replaceable>X.Y-RELEASE</replaceable>/kernels</userinput>
&prompt.root; <userinput>./install.sh GENERIC</userinput></screen>
<para>ここで <filename
class="directory"><replaceable>X.Y-RELEASE</replaceable></filename>
を実際のリリース番号に置き換えてください。
<filename>GENERIC</filename> は、デフォルトで <filename
class="directory">/boot/GENERIC</filename>
にインストールされます。</para>
</listitem>
<para>ここで <filename
class="directory"><replaceable>X.Y-RELEASE</replaceable></filename>
を実際のリリース番号に置き換えてください。
<filename>GENERIC</filename> は、デフォルトで <filename
class="directory">/boot/GENERIC</filename>
にインストールされます。</para>
</listitem>
<listitem>
<para>上記の方法が失敗するのであれば、
<filename>GENERIC</filename> カーネルをソースから再構築して、
インストールしてください。</para>
<listitem>
<para>上記の方法がすべて失敗するのであれば、
<filename>GENERIC</filename> カーネルをソースから再構築して、
インストールしてください。</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>env DESTDIR=/boot/GENERIC make kernel</userinput>
&prompt.root; <userinput>mv /boot/GENERIC/boot/kernel/* /boot/GENERIC</userinput>
&prompt.root; <userinput>rm -rf /boot/GENERIC/boot</userinput></screen>
<para><command>freebsd-update</command> は、このカーネルを
<filename>GENERIC</filename> として扱います。
<filename>GENERIC</filename> コンフィグレーションファイルは、
とにかく変更してはいけません。
また、特別なオプションを指定しない
(<filename>/etc/make.conf</filename> が空であることが望ましい)
で構築してください。</para>
</listitem>
</itemizedlist>
<para><command>freebsd-update</command> は、このカーネルを
<filename>GENERIC</filename> カーネルとして扱います。
<filename>GENERIC</filename> コンフィグレーションファイルは、
とにかく変更してはいけません。
また、特別なオプションを指定しない
(<filename>/etc/make.conf</filename> が空であることが望ましい)
で構築してください。</para>
</listitem>
</itemizedlist>
<para>この時点で <filename>GENERIC</filename>
カーネルで再起動する必要はありません。</para>
<para>この時点で <filename>GENERIC</filename>
カーネルで再起動する必要はありません。</para>
</sect4>
<para><command>freebsd-update</command>
によるメジャー、またはマイナーバージョンのアップデートでは、
リリースバージョンをターゲットにして実行します。
たとえば、&os;&nbsp;8.1
にアップデートするには以下のコマンドを実行してください。</para>
<sect4 id="freebsd-update-custom-kernel-9x">
<title>&os;&nbsp;9.X 以降のシステムにおけるカスタムカーネル</title>
<screen>&prompt.root; <userinput>freebsd-update -r 8.1-RELEASE upgrade</userinput></screen>
<itemizedlist>
<listitem>
<para>ただ一度だけカスタムカーネルを構築したのであれば、
<filename class="directory">/boot/kernel.old</filename>
<filename>GENERIC</filename> カーネルそのものです。
ただ単にこのディレクトリの名前を
<filename class="directory">/boot/kernel</filename>
へと変更してください。</para>
</listitem>
<para>コマンドを実行すると、<command>freebsd-update</command>
は設定ファイルと現在のシステムを評価し、
システムをアップデートするために必要な情報を収集します。
画面には、どのコンポーネントが認識され、
どのコンポーネントが認識されていないかといったリストが表示されます。
たとえば以下のように表示されます。</para>
<listitem>
<para>コンピュータへの物理的なアクセスが可能であれば、
CD-ROM メディアから <filename>GENERIC</filename>
カーネルをインストールできます。
インストールディスクを挿入して、以下のコマンドを実行してください。</para>
<screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
&prompt.root; <userinput>cd /cdrom/usr/freebsd-dist</userinput>
&prompt.root; <userinput>tar -C/ -xvf kernel.txz boot/kernel/kernel</userinput></screen>
</listitem>
<listitem>
<para>上記の方法が失敗するのであれば、
<filename>GENERIC</filename> カーネルをソースから再構築して、
インストールしてください。</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make kernel</userinput></screen>
<para><command>freebsd-update</command> は、このカーネルを
<filename>GENERIC</filename> カーネルとして扱います。
<filename>GENERIC</filename> コンフィグレーションファイルは、
とにかく変更してはいけません。
また、特別なオプションを指定しない
(<filename>/etc/make.conf</filename> が空であることが望ましい)
で構築してください。</para>
</listitem>
</itemizedlist>
<para>この時点で <filename>GENERIC</filename>
カーネルで再起動する必要はありません。</para>
</sect4>
</sect3>
<sect3 id="freebsdupdate-using">
<title>アップグレードを行う</title>
<para><command>freebsd-update</command>
によるメジャー、またはマイナーバージョンのアップデートでは、
リリースバージョンをターゲットにして実行します。
たとえば、&os;&nbsp;8.1
にアップデートするには以下のコマンドを実行してください。</para>
<screen>&prompt.root; <userinput>freebsd-update -r 8.1-RELEASE upgrade</userinput></screen>
<para>コマンドを実行すると、<command>freebsd-update</command>
は設定ファイルと現在のシステムを評価し、
システムをアップデートするために必要な情報を収集します。
画面には、どのコンポーネントが認識され、
どのコンポーネントが認識されていないかといったリストが表示されます。
たとえば以下のように表示されます。</para>
<screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching metadata signature for 8.0-RELEASE from update1.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
@ -457,116 +527,125 @@ world/proflibs
Does this look reasonable (y/n)? y</screen>
<para>ここで、<command>freebsd-update</command>
はアップグレードに必要なすべてのファイルをダウンロードします。
何をインストールし、どのように進むかといった質問をされることもあります。</para>
<para>ここで、<command>freebsd-update</command>
はアップグレードに必要なすべてのファイルをダウンロードします。
何をインストールし、どのように進むかといった質問をされることもあります。</para>
<para>カスタムカーネルを使っていると、
上記のステップで以下のような警告が表示されます。</para>
<para>カスタムカーネルを使っていると、
上記のステップで以下のような警告が表示されます。</para>
<screen>WARNING: This system is running a "<replaceable>MYKERNEL</replaceable>" kernel, which is not a
<screen>WARNING: This system is running a "<replaceable>MYKERNEL</replaceable>" kernel, which is not a
kernel configuration distributed as part of FreeBSD 8.0-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install"</screen>
<para>この時点ではこの警告を無視してもかまいません。
アップデートされた <filename>GENERIC</filename> カーネルは、
アップグレードプロセスの途中で利用されます。</para>
<para>この時点ではこの警告を無視してもかまいません。
アップデートされた <filename>GENERIC</filename> カーネルは、
アップグレードプロセスの途中で利用されます。</para>
<para>すべてのパッチがローカルシステムへダウンロードされたら、
次にパッチが適用されます。
このプロセスにかかる時間はコンピュータの性能とワークロードに依存します。
その後、設定ファイルがマージされます。
このプロセスでは、ファイルをマージするか、
画面上にエディタを立ち上げて手動でマージするかを尋ねられます。
プロセスごとに、マージに成功した情報がユーザに示されます。
マージに失敗したり、無視した場合には、プロセスが中断します。
<filename class="directory">/etc</filename> のバックアップを取り、
<filename>master.passwd</filename><filename>group</filename>
のような重要なファイルを後で手動でマージするユーザもいるでしょう。</para>
<para>すべてのパッチがローカルシステムへダウンロードされたら、
次にパッチが適用されます。
このプロセスにかかる時間はコンピュータの性能とワークロードに依存します。
その後、設定ファイルがマージされます。
このプロセスでは、ファイルをマージするか、
画面上にエディタを立ち上げて手動でマージするかを尋ねられます。
プロセスごとに、マージに成功した情報がユーザに示されます。
マージに失敗したり、無視した場合には、プロセスが中断します。
ユーザによっては <filename class="directory">/etc</filename>
のバックアップを取り、
<filename>master.passwd</filename><filename>group</filename>
のような重要なファイルを後で手動でマージする方もいます。</para>
<note>
<para>すべてのパッチは別のディレクトリでマージされており、
まだ、システムには反映されていません。
ユーザによる変更点のコミットは必要ありません。</para>
</note>
<note>
<para>すべてのパッチは別のディレクトリでマージされており、
まだ、システムには反映されていません。
すべてのパッチが正しく適用され、
すべての設定ファイルがマージされてプロセスがスムーズに進んでいる時には、
ユーザによる変更点のコミットは必要ありません。</para>
</note>
<para>このプロセスが終わったら、
以下のコマンドを用いて、アップグレードをディスクに反映してください。</para>
<para>このプロセスが終わったら、
以下のコマンドを用いて、アップグレードをディスクに反映してください。</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para>パッチは最初にカーネルとカーネルモジュールに対して当てられます。
ここでコンピュータを再起動する必要があります。
システムがカスタムカーネルを実行してい場合には、
&man.nextboot.8; コマンドを使って次回の再起動時のカーネルを
(アップデートされた) <filename
<para>パッチは最初にカーネルとカーネルモジュールに対して当てられます。
ここでコンピュータを再起動する必要があります。
システムがカスタムカーネルを実行してい場合には、
&man.nextboot.8; コマンドを使って次回の再起動時のカーネルを
(アップデートされた) <filename
class="directory">/boot/GENERIC</filename> に変更してください。</para>
<screen>&prompt.root; <userinput>nextboot -k GENERIC</userinput></screen>
<screen>&prompt.root; <userinput>nextboot -k GENERIC</userinput></screen>
<warning>
<para><filename>GENERIC</filename> カーネルで再起動する前に、
システムが適切に起動するために必要な
(もしコンピュータにリモートでアクセスしてアップデートしていたのであれば、
ネットワーク接続に必要な)
すべてのドライバが含まれていることを確認してください。
特に、これまでに実行していたカスタムカーネルが
(通常はカーネルモジュールとして提供されている)
ビルド済みの機能を含んでいるのであれば、
これらのモジュールを一時的に <filename>/boot/loader.conf</filename>
の機能を用いて、
<filename>GENERIC</filename> へと読み込んでください。
アップグレードプロセスが終わるまでは、
重要ではないサービスを無効にし、
ディスクやネットワークのマウントなどは避けてください。</para>
</warning>
<warning>
<para><filename>GENERIC</filename> カーネルで再起動する前に、
システムが適切に起動するために必要な
(もしコンピュータにリモートでアクセスしてアップデートしていたのであれば、
ネットワーク接続に必要な)
すべてのドライバが含まれていることを確認してください。
特に、これまでに実行していたカスタムカーネルが
(通常はカーネルモジュールとして提供されている)
ビルド済みの機能を含んでいるのであれば、
これらのモジュールを一時的に <filename>/boot/loader.conf</filename>
の機能を用いて、
<filename>GENERIC</filename> へと読み込んでください。
アップグレードプロセスが終わるまでは、
重要ではないサービスを無効にし、
ディスクやネットワークのマウントなどは避けてください。</para>
</warning>
<para>アップデートされたカーネルでコンピュータを再起動してください。</para>
<para>アップデートされたカーネルでコンピュータを再起動してください。</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>システムがオンラインに戻ったら、
<command>freebsd-update</command> を再び実行する必要があります。
アップデートプロセスの状態は保存されているので、
<command>freebsd-update</command> を実行すると、最初からではなく、
古い共有ライブラリとオブジェクトファイルを削除するプロセスから始まります。
このステージを続行するには、以下のコマンドを実行してください。</para>
<para>システムがオンラインに戻ったら、
<command>freebsd-update</command> を再び実行する必要があります。
アップデートプロセスの状態は保存されているので、
<command>freebsd-update</command> を実行すると、最初からではなく、
古い共有ライブラリとオブジェクトファイルを削除するプロセスから始まります。
このステージを続行するには、以下のコマンドを実行してください。</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<note>
<para>使用しているライブラリのバージョン番号の付けられ方によって、
3 つのインストールフェーズが 2 つになる場合もあります。</para>
</note>
<note>
<para>使用しているライブラリのバージョン番号の付けられ方によって、
3 つのインストールフェーズが 2 つになる場合もあります。</para>
</note>
</sect3>
<para>すべてのサードパーティ製のソフトウェアを再構築し、
再インストールする必要があります。
この作業が必要なのは、インストールされているソフトウェアが、
アップグレードの際に削除されたライブラリに依存している可能性があるためです。
<filename role="package">ports-mgmt/portupgrade</filename>
コマンドは、このプロセスを自動化します。
以下のコマンドで、このプロセスを開始します。</para>
<sect3 id="freebsdupdate-portsrebuild">
<title>メジャーバージョンアップグレード後の ports の再構築</title>
<screen>&prompt.root; <userinput>portupgrade -f ruby</userinput>
<para>メジャーバージョンアップグレードを行った後では、
すべてのサードパーティ製のソフトウェアを再構築し、
再インストールする必要があります。
この作業が必要なのは、インストールされているソフトウェアが、
アップグレードの際に削除されたライブラリに依存している可能性があるためです。
<filename role="package">ports-mgmt/portupgrade</filename>
コマンドは、このプロセスを自動化します。
以下のコマンドで、このプロセスを開始します。</para>
<screen>&prompt.root; <userinput>portupgrade -f ruby</userinput>
&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db</userinput>
&prompt.root; <userinput>portupgrade -f ruby18-bdb</userinput>
&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db</userinput>
&prompt.root; <userinput>portupgrade -af</userinput></screen>
<para>この作業の終了後、最後にもう一度
<command>freebsd-update</command>
を実行すると、アップグレードのプロセスが完了します。
以下のコマンドですべてのアップグレードプロセスのやり残し作業が行われます。</para>
<para>この作業の終了後、最後にもう一度
<command>freebsd-update</command>
を実行すると、アップグレードのプロセスが完了します。
以下のコマンドですべてのアップグレードプロセスのやり残し作業が行われます。</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para><filename>GENERIC</filename>
カーネルを一時的に読み込んでいたのであれば、
ここで、通常の方法を用いて新しいカスタムを構築し、インストールしてください。</para>
<para><filename>GENERIC</filename>
カーネルを一時的に読み込んでいたのであれば、
ここで、通常の方法を用いて新しいカスタムを構築し、インストールしてください。</para>
<para>コンピュータを再起動し、新しい &os; を立ち上げてください。
これでアップグレードのプロセスは完了です。</para>
<para>コンピュータを再起動し、新しい &os; を立ち上げてください。
これでアップグレードのプロセスは完了です。</para>
</sect3>
</sect2>
<sect2 id="freebsdupdate-system-comparison">