- Merge the following from the English version:

r44734 -> r44735	head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml
This commit is contained in:
Ryusuke SUZUKI 2014-05-27 10:17:17 +00:00
parent 22024d2de2
commit c81bb476cf
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44965

View file

@ -3,7 +3,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: r44734
Original revision: r44735
$FreeBSD$
-->
<chapter xmlns="http://docbook.org/ns/docbook"
@ -1628,7 +1628,9 @@ Script started, output file is /var/tmp/mw.out</screen>
に書かれている手順にしたがって、
すべての ports を再構築する必要があります。
再構築が終わったら、新しいライブラリと競合することを避けるため、
使われなくなったライブラリを削除します。</para>
使われなくなったライブラリを削除します。
この過程に関する詳細については、<xref linkend="make-delete-old"/>
を参照して下さい。</para>
<screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen>
</step>
@ -1807,17 +1809,24 @@ Script started, output file is /var/tmp/mw.out</screen>
</primary>
</indexterm>
<para>&man.mergemaster.8; は Bourne シェルスクリプトで
<filename>/etc</filename> にある設定ファイルとソースツリーの
<para>&os; の &man.mergemaster.8; Bourne シェルスクリプトは
<filename>/etc</filename> にある設定ファイルと
<filename>/usr/src/etc</filename>
にある設定ファイルの違いを確認するのを手伝ってくれます。
にある設定ファイルの違いを確認するためのものです。
これを使うのが、
ソースツリーにある設定ファイルにシステムの設定ファイルを
更新するために推奨される方法です。</para>
<para>始めるには、プロンプトから
<command>mergemaster</command> と入力してください
<command>mergemaster</command>
<para><command>mergemaster</command> を使う前に、
既存の <filename>/etc</filename>
をどこか安全な場所にコピーしておきましょう。
再帰的なコピーを行なう <option>-R</option> と、
ファイルの更新時間や所有者などを保存する
<option>-p</option> と共に実行してください。</para>
<screen>&prompt.root; <userinput>cp -Rp /etc /etc.old</userinput></screen>
<para><command>mergemaster</command> を実行すると、
<filename>/</filename> を起点とした一時的なルート環境を構築し、
さまざまなシステム設定ファイルを
(訳注: デフォルトでは <filename>/var/tmp/temproot</filename> に)
@ -1826,20 +1835,21 @@ Script started, output file is /var/tmp/mw.out</screen>
異なるファイルは &man.diff.1; 形式で示され、
<option>+</option> の記号は追加または変更された行を表し、
<option>-</option> は完全に削除されたか新しく置き換えられた行を表します。
&man.diff.1; の書式とファイルの違いの表示方法についてのより詳しい情報は、
ファイルの違いの表示方法についてのより詳しい情報は、
&man.diff.1; を参照してください。</para>
<para>&man.mergemaster.8; は違いのあるファイルをそれぞれ示します。
新しいファイルを削除するか、
<para>次に &man.mergemaster.8; は違いのあるファイルをそれぞれ示し、
選択可能なオプションを表示します。
ここでは、新しいファイルを削除するか、
一時ファイルをそのままインストールするか、
一時ファイルと現在インストールされているファイルを統合するか、
もしくは &man.diff.1;結果をもう一度見るか選択できます。</para>
もしくは結果をもう一度見るか選択できます。</para>
<para>一時ファイルの削除を選ぶと、&man.mergemaster.8;
<para>一時ファイルの削除を選ぶと、<command>mergemaster</command>
に現在のファイルを変更しないで新しいバージョンを削除せよと伝えます。
この選択は、現在のファイルを変更する理由が分からないのであれば、
お勧めできません。
&man.mergemaster.8; のプロンプトで <keycap>?</keycap> とタイプすれば、
この選択は、お勧めできません。
<command>mergemaster</command>
のプロンプトで <keycap>?</keycap> とタイプすれば、
いつでもヘルプが見られます。
ファイルのスキップを選ぶと、他のすべてのファイルを終えたあと、
もう一度そのファイルが提示されます。</para>
@ -1860,90 +1870,19 @@ Script started, output file is /var/tmp/mw.out</screen>
このファイルをインストールすることができます。
たいてい、このオプションはユーザが設定を変更したファイルに使われます。</para>
<para>&man.diff.1; の結果をもう一度見る、を選択すると、
ちょうど先ほど &man.mergemaster.8; が選択肢を表示する前と同じように、
ファイルの相異点を見ることができます。</para>
<para>結果をもう一度見る、を選択すると、
ファイルの相異点をもう一度見ることができます。</para>
<para>&man.mergemaster.8; がシステムファイルの比較を終えたあと、
<para><command>mergemaster</command>
がシステムファイルの比較を終えたあと、
他のオプションについてもプロンプトが表示されます。
&man.mergemaster.8;
が、パスワードファイルを再構築するかどうかを尋ねることがあります。
たとえば、
パスワードファイルを再構築するかどうかを尋ねることがあります。
最後に残った一時ファイルを削除するかどうかを尋ねて終了します。</para>
<para>手動で更新する場合には、単にファイルを
<filename>/usr/src/etc</filename>
から <filename>/etc</filename>
コピーしないでください。正常に動作しないでしょう。
ファイルの中には、
<quote>インストールという手順を踏まなければならないもの</quote>
が含まれています。
<filename>/usr/src/etc</filename>
<filename>/etc</filename>
にそのまま置き換えられるようなコピーでは
<emphasis>ない</emphasis>からです。
また、<filename>/etc</filename> にあるべきファイルのうちで
<filename>/usr/src/etc</filename> にないものもあります。</para>
<para>手動で行う際の一番簡単な方法は、
ファイルを新しいディレクトリにインストールしてから、
以前のものと異なっている部分を調べて更新作業を行なうことです。</para>
<warning>
<title>既存の <filename>/etc</filename> をバックアップする</title>
<para>たとえば以下のようにして、
既存の <filename>/etc</filename>
をどこか安全な場所にコピーしておきましょう。</para>
<screen>&prompt.root; <userinput>cp -Rp /etc /etc.old</userinput></screen>
<para>ここで、<option>-R</option> は再帰的なコピーを行ない、
<option>-p</option> はファイルの更新時間や所有者などを保存します。</para>
</warning>
<para>新しい <filename>/etc</filename>
やその他のファイルをインストールするための、
仮のディレクトリを作ってください。</para>
<screen>&prompt.root; <userinput>mkdir /var/tmp/root</userinput>
&prompt.root; <userinput>cd /usr/src/etc</userinput>
&prompt.root; <userinput>make DESTDIR=/var/tmp/root distrib-dirs distribution</userinput></screen>
<para>
上の例は、必要なディレクトリ構造をつくり、ファイルをインストールします。
<filename>/var/tmp/root</filename> 以下に作られる、
たくさんの空のサブディレクトリは削除する必要があります。
一番簡単なやり方は、次のとおりです。</para>
<screen>&prompt.root; <userinput>cd /var/tmp/root</userinput>
&prompt.root; <userinput>find -d . -type d | xargs rmdir 2&gt;/dev/null</userinput></screen>
<para>これは空ディレクトリをすべて削除します。
空でないディレクトリに関する警告を避けるために、
標準エラー出力は <filename>/dev/null</filename>
リダイレクトされます。</para>
<para>この段階の <filename>/var/tmp/root</filename> には、
本来 <filename>/</filename>
以下にあるべきファイルがすべて含まれています。各ファイルを順に見て、
既存のシステムにあるファイルと異なる部分を調べてください。</para>
<para><filename>/var/tmp/root</filename>
以下にインストールされているファイルの中には、
<quote>.</quote> から始まっているものがあります。
<command>ls -a</command> を使って確かめてください。</para>
<para>もっとも簡単な方法は、二つのファイルを比較するコマンド
&man.diff.1; を使うことです。</para>
<screen>&prompt.root; <userinput>diff /etc/shells /var/tmp/root/etc/shells</userinput></screen>
<para>このコマンドは、<filename>/etc/shells</filename> ファイルと
新しい <filename>/var/tmp/root/etc/shells</filename>
ファイルの異なる部分を表示します。
内容を確認して、書き換えたものに変更点をマージするか、
それとも既存のファイルを新しいもので上書きするかを判断してください。</para>
<!--
Probably not needed as changes should be minimal and mergemaster does
a good job of merging.
<tip>
<title>新しい root ディレクトリ
(<filename>/var/tmp/root</filename>) の名前に
@ -2028,11 +1967,12 @@ Script started, output file is /var/tmp/mw.out</screen>
<screen>&prompt.root; <userinput>mkdir /var/tmp/root-`date "+%Y%m%d"`</userinput></screen>
</tip>
-->
</sect2>
<sect2 xml:id="make-delete-old">
<info>
<title>使われなくなったファイル、ディレクトリの削除</title>
<title>使われなくなったファイル、ライブラリの削除</title>
<authorgroup>
<author>
@ -2070,7 +2010,7 @@ Script started, output file is /var/tmp/mw.out</screen>
<para>
<command>make installworld</command>
と、その後の <command>mergemaster</command> が無事に終わったら、
以下の方法で使われなくなったファイルやライブラリを確認してください。</para>
使われなくなったファイルやライブラリを確認してください。</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make check-old</userinput></screen>
@ -2079,11 +2019,6 @@ Script started, output file is /var/tmp/mw.out</screen>
<screen>&prompt.root; <userinput>make delete-old</userinput></screen>
<tip>
<para>その他のターゲットについては
<filename>/usr/src/Makefile</filename> をご覧ください。</para>
</tip>
<para>使われなくなったファイルを削除する際、
ファイルごとに確認が求められます。
確認を省略し、自動的にファイルを削除するには、
@ -2097,11 +2032,6 @@ Script started, output file is /var/tmp/mw.out</screen>
<screen>&prompt.root; <userinput>yes|make delete-old</userinput></screen>
</sect2>
<sect2 xml:id="make-delete-old-libs">
<title>使われなくなったライブラリの削除</title>
<warning>
<title>Warning</title>
@ -2116,7 +2046,6 @@ Script started, output file is /var/tmp/mw.out</screen>
</warning>
<para>共有ライブラリをチェックするユーティリティとして、
Ports Collection の
<package>sysutils/libchk</package>
<package>sysutils/bsdadminscripts</package>
を利用できます。</para>
@ -2144,15 +2073,14 @@ Script started, output file is /var/tmp/mw.out</screen>
以下のコマンドで古いライブラリを削除してください。</para>
<screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen>
<para>ここまで来れば、&os; システムのアップグレードは成功です。
おめでとうございます。</para>
<para>もしちょっとした問題があった場合でも、
システムの一部を再構築するのは簡単です。
たとえば、アップグレードや <filename>/etc</filename>
のマージの途中で誤って
<filename>/etc/magic</filename> を削除してしまい、
その結果 &man.file.1; が動作しなくなってしまったような場合には、
その結果 <command>file</command>
が動作しなくなってしまったような場合には、
次のコマンドを実行して修復してください。</para>
<screen>&prompt.root; <userinput>cd /usr/src/usr.bin/file</userinput>