Merge the following from the English version:
1.222 -> 1.225 doc/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml Submitted by: Hiroo Ono <hiroo _at_ jp dot FreeBSD dot org> Reference: [doc-jp-work 1797]
This commit is contained in:
parent
dbf7d90b8a
commit
0872b3c2f7
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=37952
1 changed files with 30 additions and 174 deletions
|
@ -2,7 +2,7 @@
|
||||||
The FreeBSD Documentation Project
|
The FreeBSD Documentation Project
|
||||||
The FreeBSD Japanese Documentation Project
|
The FreeBSD Japanese Documentation Project
|
||||||
|
|
||||||
Original revision: 1.222
|
Original revision: 1.225
|
||||||
$FreeBSD$
|
$FreeBSD$
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
@ -607,7 +607,7 @@
|
||||||
再構築しなければなりません。</para>
|
再構築しなければなりません。</para>
|
||||||
|
|
||||||
<warning>
|
<warning>
|
||||||
<title>バックアップを作成する</title>
|
<title>バックアップの作成</title>
|
||||||
|
|
||||||
<para>システムを再構築する<emphasis>前に</emphasis>バックアップを
|
<para>システムを再構築する<emphasis>前に</emphasis>バックアップを
|
||||||
作成することの重要性は、いくら強調してもし過ぎると言うことはありません。
|
作成することの重要性は、いくら強調してもし過ぎると言うことはありません。
|
||||||
|
@ -745,8 +745,7 @@
|
||||||
<primary><filename>make.conf</filename></primary>
|
<primary><filename>make.conf</filename></primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>まず、<filename>/usr/share/examples/etc/make.conf</filename>
|
<para>まず、<filename>/usr/share/examples/etc/make.conf</filename> と
|
||||||
(&os; 4.X では <filename>/etc/defaults/make.conf</filename>) と
|
|
||||||
<filename>/etc/make.conf</filename> を調べてください。そこには
|
<filename>/etc/make.conf</filename> を調べてください。そこには
|
||||||
最初から標準的なものが (多くのものはコメントアウトされていますが)
|
最初から標準的なものが (多くのものはコメントアウトされていますが)
|
||||||
含まれています。ソースからシステムを再構築するときに make が
|
含まれています。ソースからシステムを再構築するときに make が
|
||||||
|
@ -756,10 +755,8 @@
|
||||||
そのため、システムに必要な設定を書いておくと良いでしょう。</para>
|
そのため、システムに必要な設定を書いておくと良いでしょう。</para>
|
||||||
|
|
||||||
<para>標準的なユーザならおそらく、
|
<para>標準的なユーザならおそらく、
|
||||||
<filename>/usr/share/examples/etc/make.conf</filename>
|
<filename>/usr/share/examples/etc/make.conf</filename> の
|
||||||
(&os; 4.X では <filename>/etc/defaults/make.conf</filename>) の
|
|
||||||
<makevar>CFLAGS</makevar> と <makevar>NO_PROFILE</makevar>
|
<makevar>CFLAGS</makevar> と <makevar>NO_PROFILE</makevar>
|
||||||
(&os; 5.X 以前なら <makevar>NOPROFILE</makevar>)
|
|
||||||
のコメントをはずしたくなるでしょう。</para>
|
のコメントをはずしたくなるでしょう。</para>
|
||||||
|
|
||||||
<para>他の定義 (<makevar>COPTFLAGS</makevar>、
|
<para>他の定義 (<makevar>COPTFLAGS</makevar>、
|
||||||
|
@ -796,7 +793,7 @@
|
||||||
それらのユーザ名やグループが存在するか確認が行われる場合もあります。
|
それらのユーザ名やグループが存在するか確認が行われる場合もあります。
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>この例で記憶に新しいのは、
|
<para>この例の一つは、
|
||||||
<username>smmsp</username> ユーザが追加された時です。
|
<username>smmsp</username> ユーザが追加された時です。
|
||||||
&man.mtree.8; が
|
&man.mtree.8; が
|
||||||
<filename>/var/spool/clientmqueue</filename>
|
<filename>/var/spool/clientmqueue</filename>
|
||||||
|
@ -804,19 +801,8 @@
|
||||||
そのユーザ名 (およびグループ)
|
そのユーザ名 (およびグループ)
|
||||||
が存在しないためにインストールに失敗してしまったのです。</para>
|
が存在しないためにインストールに失敗してしまったのです。</para>
|
||||||
|
|
||||||
<para>解決方法は、<filename>/usr/src/etc/group</filename> を調べ、
|
<para>解決方法は、buildworld の前に <option>-p</option>
|
||||||
自分のシステムのグループ名リストと比較することです。
|
オプションをつけて &man.mergemaster.8; を実行することです。
|
||||||
最新のファイルに含まれていて、あなたのファイルに含まれていない
|
|
||||||
グループ名があれば、あなたのファイルにそのグループ名をコピーしてください。
|
|
||||||
同様に、名前が異なるにも関わらず、
|
|
||||||
<filename>/etc/group</filename> と
|
|
||||||
<filename>/usr/src/etc/group</filename> で同じ GID を持っているグループ名があれば、
|
|
||||||
<filename>/etc/group</filename> に含まれる、
|
|
||||||
該当するすべてのグループ名を変更しておかなければなりません。
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>4.6-RELEASE からは、buildworld の前に <option>-p</option>
|
|
||||||
をつけて &man.mergemaster.8; を実行してもよいです。
|
|
||||||
これを実行すると、<maketarget>buildworld</maketarget> や
|
これを実行すると、<maketarget>buildworld</maketarget> や
|
||||||
<maketarget>installworld</maketarget>
|
<maketarget>installworld</maketarget>
|
||||||
が成功するために必要なファイルだけを比較します。
|
が成功するために必要なファイルだけを比較します。
|
||||||
|
@ -869,10 +855,9 @@
|
||||||
<screen>&prompt.root; <userinput>shutdown now</userinput></screen>
|
<screen>&prompt.root; <userinput>shutdown now</userinput></screen>
|
||||||
|
|
||||||
<para>あるいはシステムを再起動し、ブートプロンプトから
|
<para>あるいはシステムを再起動し、ブートプロンプトから
|
||||||
<option>-s</option> フラグを設定することで、シングルユーザモードで
|
<quote>single user</quote> を選択すると、
|
||||||
システムを起動させることができます。起動後、シェルプロンプトから
|
シングルユーザモードでシステムを起動できます。
|
||||||
次のように実行してください。
|
起動後、シェルプロンプトから次のように実行してください。</para>
|
||||||
</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>fsck -p</userinput>
|
<screen>&prompt.root; <userinput>fsck -p</userinput>
|
||||||
&prompt.root; <userinput>mount -u /</userinput>
|
&prompt.root; <userinput>mount -u /</userinput>
|
||||||
|
@ -925,8 +910,8 @@
|
||||||
&prompt.root; <userinput>rm -rf *</userinput></screen>
|
&prompt.root; <userinput>rm -rf *</userinput></screen>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2 id="cutting-edge-compilebase">
|
||||||
<title>ソースの再構築</title>
|
<title>ベースシステムの再構築</title>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>出力メッセージの保存</title>
|
<title>出力メッセージの保存</title>
|
||||||
|
@ -1031,27 +1016,20 @@ Script done, …</screen>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
|
<screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
|
||||||
|
|
||||||
<para>
|
<para>ここで、<replaceable>target</replaceable>
|
||||||
&os; の 2.2.5 から (実際には、&os.current; ブランチで最初に作成され、
|
は、多くのビルドオプションのどれかになります。
|
||||||
2.2.2 と 2.2.5 の間の時点で &os.stable; に導入されたのですが)、
|
最初のターゲットはいつも <maketarget>buildworld</maketarget>
|
||||||
<maketarget>world</maketarget> ターゲットは
|
になるでしょう。</para>
|
||||||
<maketarget>buildworld</maketarget> と
|
|
||||||
<maketarget>installworld</maketarget> の二つに分割されました。
|
|
||||||
<maketarget>world</maketarget> ターゲットは、
|
|
||||||
ほとんどのユーザにとっては実際に危険なものなので、&os;
|
|
||||||
バージョン 5.3 からは全く動かないように変更されます。
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
その名前が示すように、<maketarget>buildworld</maketarget> は
|
その名前が示すように、<maketarget>buildworld</maketarget> は
|
||||||
<filename>/usr/obj</filename> 以下に新しい完全な
|
<filename>/usr/obj</filename> 以下に新しい完全な
|
||||||
ディレクトリツリーを構築し、
|
ディレクトリツリーを構築し、もう一つのターゲット
|
||||||
<maketarget>installworld</maketarget> は、そのツリーを
|
<maketarget>installworld</maketarget> は、そのツリーを
|
||||||
現在のマシンにインストールします。
|
現在のマシンにインストールします。
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>選択肢が分けられていることは、二つの理由から非常に有用です。
|
||||||
これは、二つの理由から非常に有用です。
|
|
||||||
まず第一に、稼働中のシステムに全く影響を与えることなく、
|
まず第一に、稼働中のシステムに全く影響を与えることなく、
|
||||||
安全にシステムの構築作業を行えることです。
|
安全にシステムの構築作業を行えることです。
|
||||||
構築作業は <quote>何にも依存せず独立して行なわれる</quote> ため、
|
構築作業は <quote>何にも依存せず独立して行なわれる</quote> ため、
|
||||||
|
@ -1104,13 +1082,6 @@ Script done, …</screen>
|
||||||
<para>もし、複数の CPU を備えたマシンで SMP 設定が行なわれたカーネルを
|
<para>もし、複数の CPU を備えたマシンで SMP 設定が行なわれたカーネルを
|
||||||
利用しているなら、6 から 10 の間の値を設定し、速度がどれくらい
|
利用しているなら、6 から 10 の間の値を設定し、速度がどれくらい
|
||||||
向上するか確認してみてください。</para>
|
向上するか確認してみてください。</para>
|
||||||
|
|
||||||
<para>ただし、この機能はまだ実験段階であるということに注意してください。
|
|
||||||
そのため、ソースツリーへ変更が加えられたときに
|
|
||||||
これが正常に機能しなくなる可能性があります。
|
|
||||||
もし、このオプションを用いてシステムの構築に失敗した場合には、
|
|
||||||
障害を報告する前に、もう一度オプションを付けずに試してみてください。
|
|
||||||
</para>
|
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
|
@ -1122,9 +1093,9 @@ Script done, …</screen>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>構築時間を決める要素はさまざまありますが、
|
<para>構築時間を決める要素はさまざまありますが、
|
||||||
現時点では Pentium III の 500 MHz、128 MB の
|
十分新しいマシンであれば、
|
||||||
RAM という構成でトリックや近道を使わずに普通に構築した場合、
|
トリックや近道を使わずに普通に構築した場合、&os.stable;
|
||||||
&os.stable; の構築に約 2 時間かかります。
|
の構築には 1, 2 時間しかかからないでしょう。
|
||||||
&os.current; の構築は、もう少し時間がかかります。</para>
|
&os.current; の構築は、もう少し時間がかかります。</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -1155,7 +1126,7 @@ Script done, …</screen>
|
||||||
使って新しいカーネルを構築することで、
|
使って新しいカーネルを構築することで、
|
||||||
システムが正常に動作しているかどうか確かめることができます。</para>
|
システムが正常に動作しているかどうか確かめることができます。</para>
|
||||||
|
|
||||||
<para>FreeBSD の最近のバージョンでは、新しいカーネルを構築する前に <link
|
<para>&os; では、新しいカーネルを構築する前に <link
|
||||||
linkend="make-buildworld">build world</link> を行うことが重要です。
|
linkend="make-buildworld">build world</link> を行うことが重要です。
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1192,7 +1163,7 @@ Script done, …</screen>
|
||||||
に書かれている手順に従ってください。</para>
|
に書かれている手順に従ってください。</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2 id="make-installworld">
|
||||||
<title>新しいシステムバイナリのインストール</title>
|
<title>新しいシステムバイナリのインストール</title>
|
||||||
|
|
||||||
<para>十分最近のバージョンの &os; を
|
<para>十分最近のバージョンの &os; を
|
||||||
|
@ -1318,9 +1289,8 @@ Script done, …</screen>
|
||||||
|
|
||||||
<para>&man.mergemaster.8; がシステムファイルの比較を終えたあと、
|
<para>&man.mergemaster.8; がシステムファイルの比較を終えたあと、
|
||||||
他のオプションについてもプロンプトが表示されます。
|
他のオプションについてもプロンプトが表示されます。
|
||||||
&man.mergemaster.8; が、パスワードファイルを再構築したいかどうかや、
|
&man.mergemaster.8;
|
||||||
FreeBSD 5.0 より前のバージョンを動かしている場合は
|
が、パスワードファイルを再構築したいかどうか尋ねることがあります。
|
||||||
&man.MAKEDEV.8; を実行するかどうかを尋ねることがあります。
|
|
||||||
最後に残った一時ファイルを削除するかどうかを尋ねて終了します。</para>
|
最後に残った一時ファイルを削除するかどうかを尋ねて終了します。</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
|
@ -1342,8 +1312,10 @@ Script done, …</screen>
|
||||||
<filename>/usr/src/etc</filename> にないものもあります。
|
<filename>/usr/src/etc</filename> にないものもあります。
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>&man.mergemaster.8; を使っているのであれば (お勧めです)、
|
<para>&man.mergemaster.8; を (勧められた通り)
|
||||||
<link linkend="update-dev">次のセクション</link>まで飛ばしてもかまいません。</para>
|
使っているのであれば、<link
|
||||||
|
linkend="cutting-edge-rebooting">次の節</link>
|
||||||
|
まで飛ばしてもかまいません。</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
手動で行う際の
|
手動で行う際の
|
||||||
|
@ -1535,120 +1507,7 @@ Script done, …</screen>
|
||||||
</sect3>
|
</sect3>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="update-dev">
|
<sect2 id="cutting-edge-rebooting">
|
||||||
<title><filename>/dev</filename> の更新</title>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<indexterm><primary>DEVFS</primary></indexterm>
|
|
||||||
<para>FreeBSD 5.0 以降を利用しているなら、この節は飛ばし
|
|
||||||
て構いません。それらのバージョンでは、&man.devfs.5; を利用し
|
|
||||||
てデバイスノードをユーザに意識させずに割り当てています。</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>ほとんどの場合、&man.mergemaster.8; は
|
|
||||||
デバイスノードの再構築が必要であることを検出して自動的にそれを
|
|
||||||
実行するのですが、ここではデバイスノードの再構築を手動で行なう
|
|
||||||
方法について説明します。</para>
|
|
||||||
|
|
||||||
<para>安全のため、これはいくつかの段階に分けて行ないます。</para>
|
|
||||||
|
|
||||||
<procedure>
|
|
||||||
<step>
|
|
||||||
<para>
|
|
||||||
<filename>/var/tmp/root/dev/MAKEDEV</filename> を
|
|
||||||
<filename>/dev</filename> にコピーします。
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cp /var/tmp/root/dev/MAKEDEV /dev</userinput></screen>
|
|
||||||
|
|
||||||
<indexterm>
|
|
||||||
<primary><filename>MAKEDEV</filename></primary>
|
|
||||||
</indexterm>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<filename>/etc</filename> を更新するのに
|
|
||||||
&man.mergemaster.8; を使った場合、
|
|
||||||
<filename>MAKEDEV</filename> スクリプトは既に更新
|
|
||||||
されているでしょうが、(&man.diff.1; を使って)
|
|
||||||
チェックすることは無駄ではありませんし、
|
|
||||||
必要なら自分でコピーしてください。
|
|
||||||
</para>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>
|
|
||||||
ここで、<filename>/dev</filename> のファイル一覧を記録しておきます。
|
|
||||||
この一覧は、各ファイルの許可属性、所有者、メジャー番号、マイナー番号が
|
|
||||||
含まれている必要がありますが、タイムスタンプは含まれていてはいけません。
|
|
||||||
これを行なう簡単な方法は、&man.awk.1; を使って、
|
|
||||||
いくつかの情報を取り除くことです。
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cd /dev</userinput>
|
|
||||||
&prompt.root; <userinput>ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.out</userinput></screen>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>デバイスノードをつくり直します。</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>sh MAKEDEV all</userinput></screen>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>
|
|
||||||
もう一度、ディレクトリのファイル一覧を記録します。
|
|
||||||
今回は <filename>/var/tmp/dev2.out</filename> です。
|
|
||||||
この段階で、この二つのファイル一覧を調べて
|
|
||||||
作成に失敗したデバイスノードを探してください。
|
|
||||||
違いは一つもないはずなのですが、安全のために一応チェックしてください。
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>diff /var/tmp/dev.out /var/tmp/dev2.out</userinput></screen>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
次のようなコマンドを使用し、ディスクスライスエントリを
|
|
||||||
再作成することで、ディスクスライスの矛盾を検出することがで
|
|
||||||
きます。</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>sh MAKEDEV sd0s1</userinput></screen>
|
|
||||||
|
|
||||||
<para>適当な組み合わせは、環境によって異なります。</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title><filename>/stand</filename> の更新</title>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>
|
|
||||||
この段階は、完全な更新を行なう場合にだけ必要な内容を含んでいます。
|
|
||||||
悪影響はありませんので、省略しても構いません。
|
|
||||||
FreeBSD 5.2 以降を利用しているなら、
|
|
||||||
<command>make installworld</command> の際に、ユーザのために、
|
|
||||||
<filename>/rescue</filename> ディレクトリが、静的コンパイル
|
|
||||||
されたその時点のバイナリで更新されます。ですから、
|
|
||||||
<filename>/stand</filename> を更新する必要はありません。
|
|
||||||
(&os; 6.0 以降では、そもそも存在しません)。</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
完全な更新を行なうために、
|
|
||||||
<filename>/stand</filename> にあるファイルも同じように
|
|
||||||
更新したいと考えるかも知れません。
|
|
||||||
これらのファイルは、<filename>/stand/sysinstall</filename> という
|
|
||||||
バイナリファイルへのハードリンクです。このバイナリファイルは、
|
|
||||||
他のファイルシステム (特に <filename>/usr</filename>) が
|
|
||||||
マウントされていない場合にも動作できるよう、
|
|
||||||
静的にリンクされていなければなりません。
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cd /usr/src/release/sysinstall</userinput>
|
|
||||||
&prompt.root; <userinput>make all install</userinput></screen>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>再起動</title>
|
<title>再起動</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -1813,9 +1672,6 @@ Script done, …</screen>
|
||||||
&prompt.root; <userinput>cd /usr/src</userinput>
|
&prompt.root; <userinput>cd /usr/src</userinput>
|
||||||
&prompt.root; <userinput>make -DNO_CLEAN all</userinput></screen>
|
&prompt.root; <userinput>make -DNO_CLEAN all</userinput></screen>
|
||||||
|
|
||||||
<note><para>&os; 5.X 以前では、代わりに
|
|
||||||
<makevar>-DNOCLEAN</makevar> を使ってください。</para></note>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
これは、前回の <command>make buildworld</command>
|
これは、前回の <command>make buildworld</command>
|
||||||
の作業をやり直しません。
|
の作業をやり直しません。
|
||||||
|
|
Loading…
Reference in a new issue