- Merge the following from the English version:
r43794 -> r43795 head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml
This commit is contained in:
parent
b59cbd5364
commit
625a07a13e
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44193
1 changed files with 47 additions and 91 deletions
|
@ -3,7 +3,7 @@
|
||||||
The FreeBSD Documentation Project
|
The FreeBSD Documentation Project
|
||||||
The FreeBSD Japanese Documentation Project
|
The FreeBSD Japanese Documentation Project
|
||||||
|
|
||||||
Original revision: r43794
|
Original revision: r43795
|
||||||
$FreeBSD$
|
$FreeBSD$
|
||||||
-->
|
-->
|
||||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
|
@ -1493,7 +1493,7 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
以下を行ってください。</para>
|
以下を行ってください。</para>
|
||||||
|
|
||||||
<procedure>
|
<procedure>
|
||||||
<title>world の構築前に行う作業</title>
|
<title>world の構築<emphasis>前</emphasis>に行う作業</title>
|
||||||
|
|
||||||
<step>
|
<step>
|
||||||
<para>重要なデータを他のシステムやリムーバブルメディアにバックアップし、
|
<para>重要なデータを他のシステムやリムーバブルメディアにバックアップし、
|
||||||
|
@ -1552,104 +1552,60 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
</warning>
|
</warning>
|
||||||
|
|
||||||
<sect2 xml:id="canonical-build">
|
<sect2 xml:id="canonical-build">
|
||||||
<title>システムを更新する正式な方法</title>
|
<title>システム更新の概要</title>
|
||||||
|
|
||||||
<para>上で述べた作業を行ったら、
|
<para>world の構築では、<xref linkend="synching"/>
|
||||||
以下の手順を踏んでシステムをアップデートしてください。</para>
|
に書かれている手順で入手したソースを用いて、
|
||||||
|
古い &os; のバージョンをアップデートしてください。</para>
|
||||||
|
|
||||||
<para>この節で説明するアップデートのプロセスは、古いコンパイラ、
|
<para><quote>world</quote> は、&os; のカーネル、コアシステムのバイナリ、
|
||||||
古いカーネル、古い world、そして古いコンフィグレーションファイルからなる、
|
ライブラリ、プログラミングファイル、組み込みのコンパイラを意味します。
|
||||||
古いバージョンの &os; をアップデートすることを想定しています。
|
これらのコンポーネントの構築およびインストールの順番は重要です。</para>
|
||||||
ここで <quote>world</quote> は、コアシステムのバイナリ、ライブラリ、
|
|
||||||
プログラミングファイルを意味します。
|
|
||||||
コンパイラは <quote>world</quote> の一部ですが、
|
|
||||||
いくつか特別に気をつけなければならないことがあります。</para>
|
|
||||||
|
|
||||||
<para>また、これらのステップでは、
|
<para>例えば、古いコンパイラは、
|
||||||
新しいバージョンのソースをすでに入手していることも仮定しています。
|
バグを含み、新しいカーネルをコンパイルできない可能性があります。
|
||||||
もしシステムのソースコードが古いようでしたら、
|
|
||||||
<xref linkend="synching"/> を読んで、
|
|
||||||
ソースコードを新しいバージョンへ同期する方法の詳細を理解してください。</para>
|
|
||||||
|
|
||||||
<para>ソースからのシステムのアップデートは、
|
|
||||||
当初予想していたものよりとらえがたいものです。
|
|
||||||
長い年月において避けられない依存問題が判明したため、
|
|
||||||
&os; の開発者達は、推奨されるアプローチを大きく変更しました。
|
|
||||||
この節では、現在推奨されているアップグレードの手順の背後にある、
|
|
||||||
理論的根拠について説明します。</para>
|
|
||||||
|
|
||||||
<para>連続したアップデートの手順は、以下の問題に対応している必要があります。</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>古いコンパイラは、
|
|
||||||
バグを含み新しいカーネルをコンパイルできない可能性があります。
|
|
||||||
そのため、新しいカーネルの構築には、
|
そのため、新しいカーネルの構築には、
|
||||||
新しいコンパイラを使う必要があります。
|
新しいコンパイラを使う必要があり、
|
||||||
ことのことは、新しいカーネルを構築する前に、
|
新しいコンパイラを構築しなくてはいけませんが、
|
||||||
新しいコンパイラを構築していなければならないことを意味しています。
|
必ずしも、
|
||||||
必ずしも、新しいカーネルを構築する前に、新しいコンパイラが
|
新しいコンパイラがインストールされている必要があるわけではありません。</para>
|
||||||
<emphasis>インストールされている</emphasis>
|
|
||||||
必要があることを意味しているわけではありません。</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>新しい world は、
|
<para>新しい world は、
|
||||||
新しいカーネルの機能に依存している可能性があるため、
|
新しいカーネルの機能に依存している可能性があるため、
|
||||||
新しい world をインストールする前に、
|
新しい world をインストールする前に、
|
||||||
新しいカーネルがインストールされていなければなりません。</para>
|
新しいカーネルがインストールされていなければなりません。
|
||||||
</listitem>
|
古い world は、新しいカーネルでは正しく動かないかも知れません。
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>これら 2 つの重要事項は、
|
|
||||||
以下の説明で中心となる <buildtarget>buildworld</buildtarget>,
|
|
||||||
<buildtarget>buildkernel</buildtarget>,
|
|
||||||
<buildtarget>installkernel</buildtarget>,
|
|
||||||
<buildtarget>installworld</buildtarget> の基本です。
|
|
||||||
他の理由については以下でリストアップします。</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>古い world は、新しいカーネルでは正しく動かないかも知れません。
|
|
||||||
そのため、新しいカーネルをインストールしたら、
|
そのため、新しいカーネルをインストールしたら、
|
||||||
直ちに新しい world をインストールしてください。</para>
|
直ちに新しい world をインストールしてください。</para>
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>設定の中には、新しい world
|
<para>設定の中には、新しい world
|
||||||
をインストールする前に変更すべきものがありますが、
|
をインストールする前に変更すべきものがありますが、
|
||||||
古い world を壊す可能性があります。
|
古い world を壊す可能性があります。
|
||||||
そのため、一般的に設定のアップデートは、
|
そのため、一般的に設定のアップデートは、
|
||||||
2 つの手順が必要です。</para>
|
2 つの手順が必要です。
|
||||||
</listitem>
|
多くの場合、アップデートのプロセスは、ファイルを置き換えたり、
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>多くの場合、アップデートのプロセスは、ファイルを置き換えたり、
|
|
||||||
追加のみを行い、古いファイルを削除しません。
|
追加のみを行い、古いファイルを削除しません。
|
||||||
このことが問題を引き起こす可能性があります。
|
このことが問題を引き起こす可能性があります。
|
||||||
そのため、アップデートにおいては、
|
そのため、アップデートにおいては、
|
||||||
手動で削除すべきファイルがあることを、
|
手動で削除すべきファイルがあることを、
|
||||||
特定のステップで指定することもあります。
|
特定のステップで指定することもあります。</para>
|
||||||
これは将来自動化されるかもしれないし、されないかもしれません。</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>これらを配慮し、以下の推奨手順が作られました。
|
<para>これらを配慮し、以下のアップグレードの推奨手順が作られました。</para>
|
||||||
アップデートの細かい手順においては、追加の手順が必要になるかもしれませんが、
|
<procedure>
|
||||||
この中心となるプロセスは、しばらくの間変わっていません。</para>
|
<title>world の構築プロセスの概要</title>
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><command>make buildworld</command></para>
|
|
||||||
|
|
||||||
|
<para>world の構築プロセスで用いられるコマンドは、
|
||||||
|
ここで示されている順番で実行してください。
|
||||||
|
この節では各コマンドの機能についてまとめます。</para>
|
||||||
|
<step>
|
||||||
<para>新しいコンパイラと関連ツールを最初にコンパイルし、
|
<para>新しいコンパイラと関連ツールを最初にコンパイルし、
|
||||||
その後、新しいコンパイラで、
|
その後、新しいコンパイラで、
|
||||||
新しい world の残りの部分をコンパイルします。
|
新しい world の残りの部分をコンパイルします。
|
||||||
コンパイルされたものは、
|
コンパイルされたものは、
|
||||||
<filename>/usr/obj</filename> に格納されます。</para>
|
<filename>/usr/obj</filename> に格納されます。</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para><command>make
|
<para><command>make
|
||||||
buildkernel</command></para>
|
buildkernel</command></para>
|
||||||
|
|
||||||
|
@ -1657,25 +1613,25 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
<filename>/usr/obj</filename> にある
|
<filename>/usr/obj</filename> にある
|
||||||
<emphasis>新しい</emphasis> コンパイラが用いられます。
|
<emphasis>新しい</emphasis> コンパイラが用いられます。
|
||||||
これにより、コンパイラとカーネルのミスマッチを防ぐことができます。</para>
|
これにより、コンパイラとカーネルのミスマッチを防ぐことができます。</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para><command>make installkernel</command></para>
|
<para><command>make installkernel</command></para>
|
||||||
|
|
||||||
<para>新しくアップデートされたカーネルで起動できるように、
|
<para>新しくアップデートされたカーネルで起動できるように、
|
||||||
新しいカーネルとカーネルモジュールをディスク上に配置します。
|
新しいカーネルとカーネルモジュールをディスク上に配置します。
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para>シングルユーザモードで再起動</para>
|
<para>シングルユーザモードで再起動</para>
|
||||||
|
|
||||||
<para>シングルユーザモードは、
|
<para>シングルユーザモードは、
|
||||||
すでに実行されているソフトウェアをアップデートする際の問題を最小限にします。
|
すでに実行されているソフトウェアをアップデートする際の問題を最小限にします。
|
||||||
また、新しいカーネル上で古い world が実行される際の問題も最小限にします。</para>
|
また、新しいカーネル上で古い world が実行される際の問題も最小限にします。</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para><command>mergemaster -p</command></para>
|
<para><command>mergemaster -p</command></para>
|
||||||
|
|
||||||
<para>新しい world における最初の設定ファイルのアップデートを行います。
|
<para>新しい world における最初の設定ファイルのアップデートを行います。
|
||||||
|
@ -1686,23 +1642,23 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
<buildtarget>installworld</buildtarget> のステップで、
|
<buildtarget>installworld</buildtarget> のステップで、
|
||||||
新しくインストールされたシステムのユーザまたはシステムのグループ名を問題なく使うことができるように、
|
新しくインストールされたシステムのユーザまたはシステムのグループ名を問題なく使うことができるように、
|
||||||
この作業がときどき必要となります。</para>
|
この作業がときどき必要となります。</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para><command>make installworld</command></para>
|
<para><command>make installworld</command></para>
|
||||||
|
|
||||||
<para>world を <filename>/usr/obj</filename> からコピーします。
|
<para>world を <filename>/usr/obj</filename> からコピーします。
|
||||||
これで、ディスクには新しいカーネルと world が置かれたことになります。</para>
|
これで、ディスクには新しいカーネルと world が置かれたことになります。</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para><command>mergemaster</command></para>
|
<para><command>mergemaster</command></para>
|
||||||
|
|
||||||
<para>ディスクに新しい world が置かれたので、
|
<para>ディスクに新しい world が置かれたので、
|
||||||
残りの設定ファイルをアップデートします。</para>
|
残りの設定ファイルをアップデートします。</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para><command>make
|
<para><command>make
|
||||||
delete-old</command></para>
|
delete-old</command></para>
|
||||||
|
|
||||||
|
@ -1712,23 +1668,23 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
たとえば、古い <filename>utmp.h</filename> が残っていると、
|
たとえば、古い <filename>utmp.h</filename> が残っていると、
|
||||||
新しい <filename>utmpx.h</filename> をインストールしたときに、
|
新しい <filename>utmpx.h</filename> をインストールしたときに、
|
||||||
問題が起きる ports があります。</para>
|
問題が起きる ports があります。</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para>再起動</para>
|
<para>再起動</para>
|
||||||
|
|
||||||
<para>新しいカーネル、world そして設定ファイルがロードされたので、
|
<para>新しいカーネル、world そして設定ファイルがロードされたので、
|
||||||
再起動が必要です。</para>
|
再起動が必要です。</para>
|
||||||
</listitem>
|
</step>
|
||||||
|
|
||||||
<listitem>
|
<step>
|
||||||
<para><command>make
|
<para><command>make
|
||||||
delete-old-libs</command></para>
|
delete-old-libs</command></para>
|
||||||
|
|
||||||
<para>使われなくなったライブラリが新しいライブラリと競合することを避けるため削除します。
|
<para>使われなくなったライブラリが新しいライブラリと競合することを避けるため削除します。
|
||||||
古いライブラリを削除する前にすべての ports を再構築する必要があります。</para>
|
古いライブラリを削除する前にすべての ports を再構築する必要があります。</para>
|
||||||
</listitem>
|
</step>
|
||||||
</orderedlist>
|
</procedure>
|
||||||
|
|
||||||
<para>もし、&os; のあるブランチのあるリリースから、
|
<para>もし、&os; のあるブランチのあるリリースから、
|
||||||
同じブランチの最新リリースにアップデートするのであれば
|
同じブランチの最新リリースにアップデートするのであれば
|
||||||
|
|
Loading…
Reference in a new issue