Catch up with English version:

1.130 -> 1.146	book.sgml

Submitted by:	Shun SUZUKI <si006@ccm.gs.niigata-u.ac.jp>, hrs
References:	[doc-jp 8001]
This commit is contained in:
Hiroki Sato 2001-03-01 20:14:33 +00:00
parent 456effc459
commit 3c90af1ab1
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=8867

View file

@ -8,19 +8,15 @@
<!ENTITY % newsgroups SYSTEM "../handbook/newsgroups.ent"> %newsgroups;
]>
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.130 -->
<!-- Original revision: 1.146 -->
<book>
<bookinfo>
<title>FreeBSD 2.X, 3.X, 4.X についての FAQ (よくある質問とその答え)</title>
<authorgroup>
<author>
<surname>FreeBSD ドキュメンテーションプロジェクト</surname>
</author>
</authorgroup>
<corpauthor>FreeBSD ドキュメンテーションプロジェクト</corpauthor>
<pubdate>$FreeBSD: doc/ja_JP.eucJP/books/faq/book.sgml,v 1.37 2000/12/28 10:46:12 hrs Exp $</pubdate>
<pubdate>$FreeBSD: doc/ja_JP.eucJP/books/faq/book.sgml,v 1.38 2001/01/20 06:21:35 hrs Exp $</pubdate>
<abstract>
<para>
@ -43,9 +39,6 @@
の検索</ulink>も可能です.
<note>
<!-- hrs:2000/03/09 This notice added by hrs -->
<!-- title>HTML 版以外の日本語 FAQ について</title -->
<!-- hrs:2000/03/09 TITLE rendered strangely, so comment this out.-->
<para>
2000 年 3 月現在, HTML 版以外の日本語 FAQ は用意されていません.
</para>
@ -873,7 +866,7 @@
に収録されています(さらに
FreeBSD CD-ROM の収録物の方がより新しい場合があります).
</para>
<!-- hrs:2000/03/09 &#xx; should not be used -->
<!-- hrs/2000/03/09 &#xx; should not be used -->
</answer>
</qandaentry>
@ -1669,6 +1662,175 @@ File: +DESC (ignored)</screen>
</answer>
</qandaentry>
<qandaentry>
<question id="boot-on-thinkpad">
<para>
IBM Thinkpad の A, T, X シリーズのいずれかを持っています.
FreeBSD をインストールしたら起動しなくなってしまいました.
どうすればいいですか?
</para>
</question>
<answer>
<para>
これらのマシンに使われている初期のリビジョンの IBM BIOS
にはバグがあり, FreeBSD のパーティションをディスクサスペンド用の
FAT 領域だと誤認します. そのため, BIOS が FreeBSD のパーティションを
検出したところでシステムがハング (停止) してしまいます.
</para>
<para>
IBM <footnote> <para>これは Keith Frechette
<email>kfrechet@us.ibm.com</email> からのメールによります.</para></footnote>
によれば, 以下のモデル/BIOS リリース番号には修正が含まれています.
</para>
<informaltable frame="none">
<tgroup cols="2">
<thead>
<row>
<entry>モデル</entry>
<entry>BIOS リビジョン番号</entry>
</row>
</thead>
<tbody>
<row>
<entry>T20</entry>
<entry>IYET49WW 以降</entry>
</row>
<row>
<entry>T21</entry>
<entry>KZET22WW 以降</entry>
</row>
<row>
<entry>A20p</entry>
<entry>IVET62WW 以降</entry>
</row>
<row>
<entry>A20m</entry>
<entry>IWET54WW 以降</entry>
</row>
<row>
<entry>A21p</entry>
<entry>KYET27WW 以降</entry>
</row>
<row>
<entry>A21m</entry>
<entry>KXET24WW 以降</entry>
</row>
<row>
<entry>A21e</entry>
<entry>KUET30WW</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
もし問題のある BIOS を使っていてアップグレードが選べない場合,
FreeBSD をインストールしてから FreeBSD が使っているパーティション ID を変更し,
変更されたパーティション ID を正しく扱うことのできる
新しい起動ブロックをインストールすることで解決することができます.
</para>
<para>
それにはまず,
セルフテスト画面を通過する状態にまでマシンを回復させる必要があります.
そのためには, マシンがプライマリディスクから FreeBSD
パーティションを見つけないようにして起動しなければなりません.
たとえば, 一度ハードディスクを外してしまって, そのディスクを古い ThinkPad
(ThinkPad 600 など) やデスクトップ PC に適切な変換ケーブルで接続します.
その後 FreeBSD のパーティションを削除し,
ハードディスクを元の ThinkPad に戻します.
こうすることで ThinkPad は起動可能な状態に戻るはずです.
</para>
<para>
マシンがちゃんと動くようになったら,
以下の復旧手順に従って FreeBSD をインストールすることができます.
</para>
<procedure>
<step>
<para>
<ulink url="http://people.freebsd.org/~bmah/ThinkPad/">http://people.freebsd.org/~bmah/ThinkPad/</ulink>
から
<filename>boot1</filename> と
<filename>boot2</filename>
をダウンロードします. これらのファイルは,
あとで必要になった時, 取り出せる場所に置いておきます.
</para>
</step>
<step>
<para>ThinkPad に普通に FreeBSD をインストールします.
ただし, <literal>Dangerously Dedicated</literal>
モードを使っては<emphasis>いけません</emphasis>.
また, インストールが終わっても再起動しては<emphasis>いけません</emphasis>.</para>
</step>
<step>
<para>
<quote>緊急ホログラフィックシェル (Emergency Holographic Shell)</quote>
(<keycombo><keycap>ALT</keycap><keycap>F4</keycap></keycombo>)
に切り替えるか, <quote>fixit</quote> シェルを起動します.
</para>
</step>
<step>
<para>
&man.fdisk.8; を使って FreeBSD のパーティション ID を
<literal>165</literal> から <literal>166</literal> に
変更します (これは OpenBSD で使われているものです).
</para>
</step>
<step>
<para>
<filename>boot1</filename> と
<filename>boot2</filename>
のファイルをローカルファイルシステムに持って来ます.
</para>
</step>
<step>
<para>
&man.disklabel.8; を使って
<filename>boot1</filename> と
<filename>boot2</filename> を
FreeBSD のスライスに書き込みます.
</para>
<screen>&prompt.root; <userinput>disklabel -B -b boot1 -s boot2 ad0s<replaceable>n</replaceable></userinput></screen>
<para>
<replaceable>n</replaceable> は,
あなたが FreeBSD をインストールしたスライスの番号です.
</para>
</step>
<step>
<para>
再起動します. 起動プロンプトは <literal>OpenBSD</literal>
と示しますが, 実際には, それで FreeBSD が起動します.
</para>
</step>
</procedure>
<para>
この方法で FreeBSD と OpenBSD
をデュアルブートする方法は, 読者への練習問題としましょう.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="install-bad-blocks">
<para>不良ブロックのあるディスクにインストールできますか?</para>
@ -2012,10 +2174,12 @@ BUSY</literallayout></entry>
<answer>
<para>
(ここでディスクの「ジオメトリ」とは, ディスクのシリンダ, ヘッダ,
トラック当りのセクタの数を意味しています - 便宜上,
C/H/S とすることにします. これはディスクのどの領域で読み書きを
行なうかを PC の BIOS が決定する手段となります.)
<note>
<para>ここでディスクの「ジオメトリ」とは, ディスクのシリンダ, ヘッダ,
トラック当りのセクタの数を意味しています - 便宜上,
C/H/S とすることにします. これはディスクのどの領域で読み書きを
行なうかを PC の BIOS が決定する手段となります.</para>
</note>
</para>
<para>
@ -3963,7 +4127,7 @@ quit</programlisting>
それは壊れているのです. 両方のチャンネルを同時に制御できないのです.
</para>
<!-- hrs:2000/03/09 needs &man.wd.4; -->
<!-- hrs/2000/03/09 needs &man.wd.4; -->
<para>
現在, このチップを使っているシステムを自動的に検出して,
うまく動かすためのしくみが使えるようになっています.
@ -4750,6 +4914,47 @@ IO range check 0x00 activate 0x01</screen>
<literal>sio</literal> として見つかるようになっているはずです.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="nlist-failed">
<para><command>top</command> や <command>systat</command> の
実行中に <errorname>nlist failed</errorname> という
エラーがでます.</para>
</question>
<answer>
<para>このエラーは,
実行しようとしたアプリケーションが
あるカーネルシンボルを検索した結果,
何らかの理由でその検索に失敗した, ということを意味しています.
これは, 以下に示すいずれかの理由によるものです.</para>
<itemizedlist>
<listitem>
<para>カーネルとユーザランドが同期していない (つまり
カーネルは新しいものを構築したが,
<maketarget>installworld</maketarget> は行なっていない.
あるいはその逆) ので,
シンボルテーブルがユーザアプリケーションの考えているものと異なっている.
もしこのケースなら, 一連のアップグレード手順に従ってアップグレードを行なってください
(正しいやり方は <filename>/usr/src/UPDATING</filename>
に書いてあります).</para>
</listitem>
<listitem>
<para>カーネルをロードするのに
<command>/boot/loader</command> を使わず,
直接 boot2 (&man.boot.8; 参照) からロードしている.
もちろん
<command>/boot/loader</command>
を使わなくとも問題はないのですが,
<command>/boot/loader</command> は一般的に,
ユーザアプリケーションからカーネルシンボルを
アクセスできるようにするための機能を持っています.</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
</qandaset>
</chapter>
@ -5367,11 +5572,7 @@ crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx</screen>
</question><answer>
<para>
ルーク, ports を使うのだ
<!-- 説明まで入れるとくどいですかね?
(映画スターウォーズの「フォースを使うのだ」のもじり)
-->
<!-- hrs: I don't think personally it is needed any explanation :-) -->
ルーク, ports を使うのだ!
パッチ処理済みの Apache が ports ツリーから入手できます.
</para>
</answer>
@ -5567,6 +5768,62 @@ device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="generic-kernel-build-failure">
<para>カーネルを構築にいつも失敗します.
GENERIC カーネルも構築できません.</para>
</question>
<answer>
<para>さまざまな理由が考えられます. 以下, 順に列記します.</para>
<itemizedlist>
<listitem>
<para>あなたは新しい
<command>make buildkernel</command> や
<command>make installkernel</command>
ターゲットを使わず,
現在走っているシステムを構築した時と異なるソースツリーを
構築しようとしている (たとえば, 4.0-RELEASE のシステム上で
4.2-RELEASE を構築しようとしている) のではないでしょうか?
もしシステムをアップグレードしようとしているのなら,
<filename>/usr/src/UPDATING</filename> ファイルを
<quote>共通項目 (COMMON ITEMS)</quote>
節に注意しながら最後までお読みください.</para>
</listitem>
<listitem>
<para>あなたは新しい <command>make buildkernel</command> や
<command>make installkernel</command> ターゲットを
使っているのにも関わらず,
<command>make buildworld</command>
を行なっていないのではないでしょうか?
<command>make buildkernel</command> ターゲットは,
<command>make buildworld</command>
ターゲットによって作られるファイルに依存しています
そのため, <command>make buildkernel</command>
が正常に終了するためには
<command>make buildworld</command>
ターゲットが正常に完了している必要があります.</para>
</listitem>
<listitem>
<para>構築しようとしているのが
<link linkend="stable">FreeBSD-STABLE</link>
だったとしても, あなたが入手したソースツリーが何らかの理由で
書き換わったり, 壊れてしまっているのかも知れません.
<link linkend="stable">FreeBSD-STABLE</link>
はほとんどの場合, きちんと構築できるようになっていますが,
確実に構築可能であることが保証されているのは
リリース版だけです. 一度ソースツリーを再取得して,
問題が解決しないかどうか試してみてください.
また, あるサーバから取得した時に問題が発生したら,
別のサーバを試すのも効果があるかも知れません.</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
</qandaset>
</chapter>
@ -5632,7 +5889,6 @@ device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr</programlisting>
<screen>&prompt.root; <userinput>echo named_enable="YES" &gt;&gt;
/etc/rc.conf</userinput></screen>
<!-- 2000/08/03:hrs - local/etc.rd is typo? -->
<para>FreeBSD 3.1 かそれ以降でローカルサービスを起動するためには,
<filename>/usr/local/etc/rc.d</filename> ディレクトリにシェルスクリプトを置きます.
シェルスクリプトは起動可能に設定し, ファイル名が .sh で終わっていなければなりません.
@ -6526,7 +6782,25 @@ C:\="DOS"</programlisting>
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="pnp-resources">
<para>起動時に, <errorname>unknown: &lt;PNP0303> can't
assign resources</errorname> というメッセージが表示されるのですが?</para>
</question>
<answer>
<para>このメッセージは, プラグアンドプレイ (Plug-and-Play)
デバイスが検出されたが,
現在利用しているカーネルには対応するドライバがない,
ということを示しています. 特に害はありません.</para>
<para>このメッセージを表示させたくないと思われる方は,
ぜひデバイスドライバを FreeBSD Project まで send-pr
してください.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="user-quotas">
<para>ユーザディスククォータが正常に動作していないようです. </para>
@ -6881,7 +7155,8 @@ rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
<para>
を記述します. これはネットワーク接続が確立したらすぐに
sendmail に溜っている mailqueue を強制的に処理させるようにします.
<application>sendmail</application> に溜っている
mailqueue を強制的に処理させるようにします.
</para>
<para>
@ -6907,13 +7182,15 @@ rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
<para>
正しい
<literal>from:</literal>
ヘッダをつけてメールを送るためには, sendmail に
ヘッダをつけてメールを送るためには,
<application>sendmail</application> に
<literal>user@bsd.home</literal> ではなく
<literal>user@myISP.com</literal>
を使用するよう教える必要があります.
メールをより早く転送するために, 全てのメールを
<filename>relay.myISP.com</filename>
へ送るように sendmail に指示しておくのも良いでしょう.
<hostid role="fqdn">relay.myISP.com</hostid>
へ送るように <application>sendmail</application> に
指示しておくのも良いでしょう.
</para>
<para>
@ -6933,7 +7210,7 @@ FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(SMART_HOST, `relay.myISP.com')
define(`SMART_HOST', `relay.myISP.com')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE', `deferred')dnl</programlisting>
@ -6942,7 +7219,7 @@ define(`confDELIVERY_MODE', `deferred')dnl</programlisting>
<filename>.mc</filename> ファイルから
<filename>sendmail.cf</filename> への変換方法については,
前のセクションを参照してください. sendmail.cf を更新した後に
sendmail をリスタートするのもお忘れなく.
<application>sendmail</application> をリスタートするのもお忘れなく.
</para>
</answer>
</qandaentry>
@ -7560,6 +7837,95 @@ define(`confDELIVERY_MODE', `deferred')dnl</programlisting>
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="kernel-chflag-failure">
<para>新しいカーネルを入れようとしたのですが,
chflags に失敗します. どうすれば良いのでしょう?</para>
</question>
<answer>
<para>簡単な回答:
多分, セキュアレベルが 0 より大きくなっているのでしょう.
直接シングルユーザモードで再起動して,
カーネルをインストールしてください.</para>
<para>詳しい回答:
FreeBSD では, セキュアレベルが 0 より大きい場合,
システムフラグの変更が禁止されます.
現在のセキュアレベルは, 次のコマンドを使って調べることができます.
</para>
<screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen>
<para>セキュアレベルを下げる操作は, できないようになっています.
そのため, カーネルをインストールするには,
シングルユーザモードで起動するか, <filename>/etc/rc.conf</filename>
のセキュリティ設定を変更して再起動する必要ばあります.
セキュアレベルの詳細は &man.init.8; を,
rc.conf の詳細は <filename>/etc/defaults/rc.conf</filename> および,
&man.rc.conf.5; のマニュアルページをご覧ください.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="kernel-securelevel-time">
<para>システムの時刻を 1 秒以上変更することができないのです!
どうすれば良いのでしょう?</para>
</question>
<answer>
<para>簡単な回答:
多分, セキュアレベルが 1 より大きくなっているのでしょう.
直接シングルユーザモードで再起動して,
時刻の変更をしてください.</para>
<para>詳しい回答:
FreeBSD では, セキュアレベルが 1 より大きい場合,
1 秒以上の時刻変更が禁止されます.
現在のセキュアレベルは, 次のコマンドを使って調べることができます.
</para>
<screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen>
<para>セキュアレベルを下げる操作は, できないようになっています.
そのため, システムの時刻を変更するには,
シングルユーザモードで起動するか, <filename>/etc/rc.conf</filename>
のセキュリティ設定を変更して再起動する必要ばあります.
セキュアレベルの詳細は &man.init.8; を,
rc.conf の詳細は <filename>/etc/defaults/rc.conf</filename> および,
&man.rc.conf.5; のマニュアルページをご覧ください.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="statd-mem-leak">
<para>&man.rpc.statd.8; にメモリリークを見つけました!
メモリを 256 メガバイトも使っています.</para>
</question>
<answer>
<para>いいえ. それはメモリリークではありませんし,
256 メガバイトのメモリを使っている, ということでもありません.
おそらく (ほとんどの場合),
処理に都合が良いように非常にたくさんの量のメモリを
そのプロセスのアドレス空間にマッピングしているのでしょう.
技術的な見地から考えても, これは大きな害があることではなく,
単に &man.top.1; や &man.ps.1; といったツールの表示に影響がある程度です.
</para>
<!-- hrs/2001/03/01: possible typo? generious - generous -->
<para>&man.rpc.statd.8; は, (<filename>/var</filename> にある)
ステータスファイルを自分のアドレス空間にマッピングします.
マッピングは, 後で大きな空間が必要になった時に再マッピングしないで済むよう,
非常に大きなサイズを指定して行なわれます.
これは, ソースコードに含まれる &man.mmap.2;
関数のマッピング長を示す引数に
<literal>0x10000000</literal> が指定されていることからも分かります.
この数字が IA32 アーキテクチャの持つアドレススペース全体の
16 分の 1, すなわち, ちょうど 256 メガバイトに相当するのです.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
@ -7599,6 +7965,34 @@ define(`confDELIVERY_MODE', `deferred')dnl</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="running-X-securelevels">
<para>X を<emphasis>実行しようと</emphasis>して
<command>startx</command>
と入力したのですが,
<errorname>KDENABIO failed (Operation not permitted)</errorname>
というエラーが表示されます.
何かおかしなことをやってしまったんでしょうか?</para>
</question>
<answer>
<para>あなたのシステムは高いセキュアレベルで運用されていますね?
実は, 高いセキュアレベルで X を起動することはできないのです.
どうしてなのかについては, &man.init.8;
のマニュアルページに書かれています.</para>
<para>では, 代わりにどうすれば良いのかお答えしましょう.
基本的に 2 つの方法があります.
一つはセキュアレベルを 0 にする (通常, これは
<filename>/etc/rc.conf</filename> で指定します) こと,
もう一つは起動時 (セキュアレベルを上げる前) に
&man.xdm.1; を実行するかです.</para>
<para>起動時に &man.xdm.1; を実行する方法の詳細については,
<xref linkend="xdm-boot"> を参照してください.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="x-and-moused">
<para>私のマウスはなぜ X で動かないのでしょうか?</para>
@ -8234,6 +8628,59 @@ ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="xfree86-root">
<para>わたしはいつも XFree86 を一般ユーザから起動していたのですが,
最近になって root ユーザでなければならないと言われるようになりました.</para>
</question>
<answer>
<para>すべての X サーバは,
ビデオハードウェアに直接アクセスするために root
ユーザで実行される必要があります.
古いバージョンの XFree86 (&lt;= 3.3.6) に含まれるすべてのサーバは,
自動的に root 権限で実行されるように (root ユーザに setuid
されて) インストールされます.
X サーバは大きく複雑なプログラムであり,
これは明らかにセキュリティを危険に晒す要因となります.
そのため新しいバージョンの XFree86 では,
サーバを root ユーザに seruid
しないでインストールするようになりました.</para>
<para>X サーバを root ユーザで動かすというのは,
明らかにセキュリティ的に不適当で受け入れられないことです.
X を一般ユーザで実行するには, 二つの方法があります.
一つは <command>xdm</command> や, その他のディスプレイマネージャ
(たとえば <command>kdm</command> など) を使うこと,
もう一つは <command>Xwrapper</command> を使うことです.
</para>
<para><command>xdm</command> は,
グラフィカルなログイン画面を扱うデーモンです.
通常, 起動時に実行され,
各ユーザの認証とユーザセションを開始させる機能を実現します.
基本的に, <command>getty</command> と <command>login</command>
のグラフィック版, と考えて良いでしょう.
<command>xdm</command> の詳細については,
<ulink url="http://www.xfree86.org/support.html">XFree86
関連文書</ulink> および
<link linkend="xdm-boot">FAQ 項目</link>をご覧ください.</para>
<para><command>Xwrapper</command> とは, X サーバ用のラッパ
(wrapper) のことです.
これは必要なセキュリティを確保しつつ, 一般ユーザが X
サーバを実行できるようにした小さなユーティリティで,
コマンドライン引数の正当性チェックを行ない,
それを通過すれば適切な X サーバを起動します.
何らかの理由でディスプレイマネージャを使いたくない場合に
これを使うと良いでしょう.
Ports Collection 全体をインストールしていれば,
<filename>/usr/ports/x11/wrapper</filename>
にあります.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ps2-x">
<para>私の PS/2 マウスは X ウィンドウシステム上でうまく動きません. </para>
@ -8610,7 +9057,7 @@ keycode 117 = F15</programlisting>
メインワークスペース(アプリケーション)のメニューを呼び出せる機能に割り当てています.
最後の機能は, そのデスクトップがまったく見えないときに便利です.
(また, キートップのロゴにもぴったりです)
<!-- hrs:2000/03/10 needs refine translation -->
<!-- hrs/2000/03/10: need refine translation -->
</para>
<para>
@ -8976,6 +9423,71 @@ Key F15 A A Menu Workplace Nop</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="exports-errors">
<para><command>mountd</command> から
<quote>can't change attributes</quote>
というメッセージがずっと出続けていて,
FreeBSD の NFS サーバでは
<quote>bad exports list</quote>
と表示されます. これは何が原因なのでしょう?</para>
</question>
<answer>
<para>最も良くある問題は, &man.exports.5;
のマニュアルページの以下の部分を正しく理解していないことです.</para>
<blockquote>
<para>このファイルの各行 (# ではじまるコメント行を除く) は,
NFS サーバのローカルファイルシステムに存在する,
他のホストにエクスポートされるマウントポイント (複数可) と,
それに対するエクスポートフラグを指定します.
特定のエクスポート先ホストおよび,
すべてのホストに適用されるデフォルトエントリは両方とも,
サーバの各ローカルファイルシステムに対して一回だけしか指定できません.</para>
</blockquote>
<para>さて, ありがちな間違いをご覧になればはっきりするでしょう.
もし <filename>/usr</filename>
以下が単一のファイルシステムである (つまり
<filename>/usr</filename> に何もマウントされない) 場合,
次の exports リストは正しくありません.</para>
<programlisting>/usr/src client
/usr/ports client</programlisting>
<para>一つのファイルシステムに対して属性の指定が二行になっています.
<filename>/usr</filename> は同じホスト
<hostid>client</hostid> にエクスポートされますから,
正しい書き方は次のようになります.</para>
<programlisting>/usr/src /usr/ports client</programlisting>
<para>もう一度マニュアルページの文章を確認すると,
あるホストにエクスポートされる各ファイルシステムの属性は
すべて一行に書かれていなければならない, となっています
(ここでは,「アクセス可能なすべてのホスト」
も一つの独立したホストとして扱われることに注意してください).
このことは, ファイルシステムをエクスポートするために
奇妙な書式を使わなければならない原因にもなっているのですが,
ほとんどの人にとって, これは問題にはならないでしょう.</para>
<para>次に示すのは, 有効な exports リストの例です.
ここでは, <filename>/usr</filename> と
<filename>/exports</filename>
がローカルファイルシステムです.</para>
<programlisting># Export src and ports to client01 and client02, but only
# client01 has root privileges on it
/usr/src /usr/ports -maproot=0 client01
/usr/src /usr/ports client02
# The "client" machines have root and can mount anywhere
# up /exports. The world can mount /exports/obj read-only
/exports -alldirs -maproot=0 client01 client02
/exports/obj -ro</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-nextstep">
<para>PPP で NeXTStep
@ -9385,6 +9897,62 @@ Znyx (2.2.X) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348
<!-- XXX update for bp's SMBFS in CURRENT, when it is imported! -->
</answer>
</qandaentry>
<qandaentry>
<question id="icmp-response-bw-limit">
<para><quote>icmp-response bandwidth limit 300/200 pps</quote>
というメッセージがログファイルに現れるのですが,
どういうことでしょう?</para>
</question>
<answer>
<para>これは, カーネル自身から「ICMP や TCP のリセット (RST)
応答を, 妥当な数よりも多く送っている」ということを,
あなたに伝えるメッセージです.
ICMP 応答は良く, 使われていない UDP
ポートに接続しようとした結果として生成されます.
また, TCP リセットはオープンされていない TCP
ポートに接続しようとした結果として生成されます.
その他, これらのメッセージが表示される原因となる状況として,
以下のようなものがあります.</para>
<itemizedlist>
<listitem>
<para>(特定のセキュリティ上の弱点を悪用しようとする攻撃ではなく)
膨大な数のパケットを使った強引なサービス妨害 (DoS) 攻撃.</para>
</listitem>
<listitem>
<para>(一部のウェルノウンポートを狙ったものではなく)
非常に広い範囲のポートに接続を試みるポートスキャン.</para>
</listitem>
</itemizedlist>
<para>メッセージ中の最初の数字は,
上限を設定しなかった場合にカーネルが送っていたであろうパケットの数を示し,
二番目の数字は, パケット数の上限値を示します.
この上限値は
<varname>net.inet.icmp.icmplim</varname> という
sysctl 変数を使うことで, 以下のように変更可能です.
ここでは上限を 1 秒あたりのパケット数で
<literal>300</literal> にしています.</para>
<screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim=300</userinput></screen>
<para>カーネルの応答制限を無効にせず,
ログファイル中のメッセージだけを抑制したい場合,
<varname>net.inet.icmp.icmplim_output</varname> sysctl
変数を次のようにすることで出力を止めることができます.</para>
<screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim_output=0</userinput></screen>
<para>最後に, もし応答制限を無効にしたい場合は,
<varname>net.inet.icmp.icmplim</varname> sysctl 変数に
(上の例のようにして) <literal>0</literal>
を設定することで実現できます.
ただし応答制限を無効化するのは, 上記の理由からおすすめしません.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
@ -10605,15 +11173,16 @@ ATDT1234567</programlisting>
<answer>
<para>
<!--
<note>
<title>訳注</title>
<para>
<!-- hrs:2000/03/10 this link is obsolete. -->
この問題は佐藤 淳一さん作の <acronym>NAT</acronym>
パッチを使っても解決できます.
<ulink URL="http://www2a.biglobe.ne.jp/~junichi/freebsd/lowtech/nat.html">NAT on iij-ppp</ulink>をご覧ください.
</para>
</note>
-->
libalias を使っている時にゲームなどの類のものが動作しない理由は,
外側にあるマシンが接続しようとしているか, 内側にあるマシンに
@ -10865,21 +11434,22 @@ nat port udp <replaceable>internal</replaceable>:5009 5009</programlisting>
情報の提供に感謝します.
</para>
<para>これは, いわゆる「ブラックホールルータ(Black Hole router)」に原因があります.
<para>これは, いわゆる「ブラックホールルータ (Black Hole router)」に原因があります.
Windows 98 と MacOS (および, おそらく他の Microsoft 社製 OS) の TCP パケット送出は,
PPPoE のフレーム(Ethernet の MTU は標準で
1500)に入らないような大きなセグメントサイズを要求します.
<emphasis>そしてさらに</emphasis>,
分割禁止("don't fragment")ビットを(TCP
パケットにデフォルトで)セットします. また Telco ルータは,
分割が必須("must fragment")であることを示す
ICMP メッセージを接続する www サイトに送出しません.
そのため www サーバが PPPoE 接続に対して大きすぎるフレームを送出すると
Telco ルータはそのフレームを捨ててしまい,
見ようとしたページが表示されないという症状が現われます(MSS
より小さいページや画像は表示されます).
ほとんどの Telco PPPoE 設定は, デフォルトでこのように設定されているようです.
(ああ, 彼らがルーティングプログラムの作り方を理解してさえいれば...)
PPPoE のフレーム (Ethernet の MTU は標準で
1500) に入らないような大きなセグメントサイズを要求します.
<emphasis>そしてさらに</emphasis>分割禁止 ("don't fragment") フラグビットを
(TCP パケットにデフォルトで) セットするのですが,
Telco のルータは, 分割が必須 ("must fragment") であることを示す
ICMP メッセージを, 接続しようとするウェブサイトに対して送出しません
(つまり, ルータは正しく ICMP パケットを送出しているのですが,
ウェブサイトのファイアウォールがそれを落としているのです).
そのためウェブサーバが PPPoE 接続に対して大きすぎるフレームを送出すると
Telco のルータはそのフレームを捨ててしまい,
見ようとしたページが表示されないという症状が現われます
(MSS より小さいページや画像は表示されます).
ほとんどの Telco PPPoE 設定は, 標準でこのように設定されているようです.
(ああ, 彼らがルーティングプログラムの作り方を理解してさえいれば...).
</para>
<para>
@ -10892,19 +11462,24 @@ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU
</literallayout>
<para>
レジストリエントリは, <quote>1450</quote> の値(もっと正確に言うと,
TCP パケットを PPPoE フレームに完全に適合させるには
レジストリエントリは, <quote>1450</quote> の値
(もっと正確に言うと, TCP パケットを PPPoE フレームに完全に適合させるには
<quote>1464</quote> であるべきでですが,
<quote>1450</quote> とすると, 現われる可能性がある他の IP
プロトコルに対してエラーマージンを確保することができます)にする必要があります.
プロトコルに対してエラーマージンを確保することができます)
にする必要があります.
このレジストリキーは, Windows2000 で
<literal>Tcpip\Parameters\Interfaces\<replaceable>ID for adapter</replaceable>\MTU</literal>
に移されたという報告がありました.
</para>
<para>
FreeBSD/NAT/PPPoE ルータと共存させるために Windoze の MTU
を変更する方法に関する詳細は,
マイクロソフトの knowledgebase にある,
<ulink URL="http://search.support.microsoft.com/kb">Microsoft Knowledge
Base</ulink> にある,
番号 <quote>Q158474 - Windows TCPIP Registry Entries</quote>,
番号
および番号
<quote>Q120642 - TCPIP & NBT Configuration Parameters for Windows NT</quote>
を参照してください.
</para>
@ -10922,6 +11497,15 @@ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU
<literal>Save as Auto Configure</literal> の隣のボックスをクリックして
<literal>Make Active</literal> をクリックする必要があります.
</para>
<para><emphasis remap=bf>ppp</emphasis> の最新版
(2.3 かそれ以降) には, 自動的に MSS を適切な値に調節する
<command>enable tcpmssfixup</command> コマンドがあります.
この機能は標準で有効になっています.
もし旧バージョンの <emphasis remap=bf>ppp</emphasis>
を使わなければならない状況にあるなら,
<emphasis remap=bf>tcpmssd</emphasis> の port
をご覧になると良いでしょう.</para>
</answer>
</qandaentry>
@ -10932,7 +11516,7 @@ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU
<answer>
<para>
これまでのての質問に当てはまらない場合, 設定ファイル,
これまでのすべての質問に当てはまらない場合, 設定ファイル,
<command>ppp</command>
の実行方法, ログファイルの該当部分と
<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?netstat">netstat -rn</ulink>
@ -11586,11 +12170,11 @@ tip57600|Dial any phone number at 57600 bps:\
<programlisting>pain|pain.deep13.com|Forrester's machine:\
:cm=CONNECT pain\n:tc=deep13:
:cm=CONNECT pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's machine:\
:cm=CONNECT muffin\n:tc=deep13:
:cm=CONNECT muffin\n:tc=deep13:
deep13:Gizmonics Institute terminal server:\
:dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:</programlisting>
:dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:</programlisting>
<para>
これで, <quote><command>tip <hostid>pain</hostid></command></quote>
@ -12421,7 +13005,7 @@ raisechar=^^</programlisting>
<qandaentry>
<question id="bikeshed-painting">
<para>なんでバイク小屋の色にまで気を使わなければいけないんですか?</para>
<para>なんでバイク小屋 (bikeshed) の色にまで気を使わなければいけないんですか?</para>
</question>
<answer>