aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/FAQ/admin.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'ja_JP.eucJP/FAQ/admin.sgml')
-rw-r--r--ja_JP.eucJP/FAQ/admin.sgml217
1 files changed, 165 insertions, 52 deletions
diff --git a/ja_JP.eucJP/FAQ/admin.sgml b/ja_JP.eucJP/FAQ/admin.sgml
index f09759f8c2..302f7e1cdf 100644
--- a/ja_JP.eucJP/FAQ/admin.sgml
+++ b/ja_JP.eucJP/FAQ/admin.sgml
@@ -1,6 +1,6 @@
-<!-- $Id: admin.sgml,v 1.12 1998-08-27 06:10:02 motoyuki Exp $ -->
+<!-- $Id: admin.sgml,v 1.13 1999-05-12 04:46:23 motoyuki Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.11 -->
+<!-- Original revision: 1.22 -->
<sect>
<heading>システム管理<label id="admin"></heading>
@@ -198,6 +198,12 @@
マニュアルの <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?mount_ext2fs"
name="mount_ext2fs"> を見てください. より多くの情報があります.
+
+ <p><bf/ NT/: FreeBSD 用の読みだしのみ可能な NTFS ドライバがあります.
+ より詳しくは, Mark Ovens 氏によって書かれたチュートリアル
+ <htmlurl url="http://www.users.globalnet.co.uk/~markov/ntfs_install.html"
+ name="http://www.users.globalnet.co.uk/~markov/ntfs_install.html"> を
+ 見てください.
<p>この問題について他の情報があれば, 他の人から感謝されるでしょう.
@@ -334,23 +340,11 @@
自身のパーティションを使用する FreeBSD のスライスを, 同じマシン
の他のオペレーティングシステムと互換性のある形にします.
それに付随して, ブートセレクタをインストールすれば, ディスク上の
- 使用可能なオペレーションシステムを切り替えることができます.
-
- <p>さて, これは確かに PC の世界からやって来た人々にとっては
- 一般的なお話でしょうが, ここで Unix の世界の方からやって来た,
- FreeBSD が動作する, しかも FreeBSD だけが動作するマシンをセットアップ
- しようとしている人の場合を考えてみましょう. 彼らは
- オペレーティングシステムがディスク全体を, その始めのセクタから
- 終りの 1 つに至るまで使い切る, 古典的な Unix の流儀に慣れ親しんで
- います. このような, FreeBSD が 1 日 24 時間, 1 週間に 7 日走り続け,
- 他のオペレーティングシステムがブートされることなど有り得ないマシン
- では, 正しい fdisk のテーブルは何の役にも立ちません. 結果, もし
- sysinstall の fdisk エディタで ``A)ll FreeBSD'' を選択し, 続く質問に
- ``No'' と答えれば, こちらのモードを選択したことになります.
- この場合, BSD のブートストラップがこのドライブの MBR になるので,
- ブートマネージャ等にスペースが残されていないことに注意してください.
- 何かを MBR にインストールすれば, BSD のブートストラップに
- ダメージを与えることになるでしょう.
+ 使用可能なオペレーティングシステムを切り替えることができます.
+ もう一つの方法はディスク全てを FreeBSD で使うというもので, この
+ 場合ほかのオペレーティングシステムとの互換性を考慮しないことに
+ なります.
+
<p>では, なぜこれが 「危険覚悟の」と言われるのでしょう?
このモードのディスクが, 通常の PC のユーティリティが有効な fdisk
@@ -358,35 +352,61 @@
如何によりますが, そのようなディスクを発見したとき, 警告を
出すものもあります. また, もっと悪い場合, 確認も通告もなしに
BSD のブートストラップにダメージを与えるものもあるでしょう.
- PC ではより広範囲で使われているあるオペレーティングシステムは,
- そういう非ユーザフレンドリーな行為をすることでよく知られています
- (もちろん, その行為は「ユーザフレンドリ」の名の元で
- 行われるわけですが). 少なくとも 1 種の, 例えば HP Netserver
- で使用されていた (もちろん, そこだけではありませんが) Award の
- BIOS は, 有効な fdisk テーブルを持っていないと認識した全ての
- ハードディスクを無視することで知られています.
- ブート時にこの現象が起こると, BIOS はそのようなディスクをさっさと
- 無視してフロッピードライブを読みに行き, しかも ``Read error''
- というあっさりしたメッセージしか吐きません. 感動ものでしょ?
- 多分彼らにとってはこれが「ユーザフレンドリ」なんでしょうね.
- よくわかりませんけど.
-
- <p>このモードの利点はいくつかあります. FreeBSD がディスク全体を所有でき,
- 1980 年代の素朴なパーティショニングモデルのためだけに, いくつもの
- 本来不要な「トラック」を無駄使いする必要がなくなります.
- このモデルは, パーティショニングをどのようにすべきかという点に関して,
- いくらか不自然で, 今では無意味でさえある制限を課します.
- この制限は, しばしば PC に OS をインストールする際の最大の頭痛の種と
- なります. パーティショニングの情報を fdisk のテーブルに保存する際に
- 2 つの異なる, 冗長な方法が用意されているがゆえに, 結果として
- ジオメトリの不整合を引き起こすのです. <ref id="missing_os"
- name="Missing Operating System"> の章をご覧下さい.
- 「危険覚悟の専用」モードでは, BSD のブートストラップはセクタ 0
- から始まりますが, BIOS のディスクジオメトリ「変換」の方式とは
- 無関係に, 常に等しい C/H/S の値に変換される唯一のセクタ
- なのです. したがって, ブートしなくなる危険を犯すことなしに,
- 異なる変換方式を採用しているシステム / コントローラ間で,
- ディスクを交換することができるのです.
+ さらには, 「危険覚悟の」ディスクレイアウトは多数の BIOS,
+ AWARD (例えば HP Netserver や Micronics システム, 他多数で
+ 使用されていた) や Symbios/NCR (人気のあるSCSI コントローラ
+ 53C8xx 用) などを混乱させることが分かっています. これは完全な
+ リストではありません. 他にもまだまだあります. この混乱の兆候は,
+ 起動時にシステムがロックするというだけでなく, FreeBSD のブート
+ ストラップが自分自身を見つけられないために表示する "read error"
+ というメッセージなどにも現れることでしょう.
+
+ <p>そもそもいったいなぜこのモードがあるのでしょうか? これは
+ わずかに数キロバイトのディスク容量を節約するのみであり, 新規
+ インストールで実際に問題を生ずるのです. 「危険覚悟の」モードの
+ 起源は新しい FreeBSD インストーラでの, BIOS から見えるディスクの
+ 「ジオメトリ」の値とディスク自身との整合性という, もっとも一般的な
+ 問題のひとつを回避したいという要求が背景にあります.
+
+ <p>「ジオメトリ」は時代遅れの概念ですが, 未だに PC BIOS と
+ ディスクへの相互作用の中核をなしています. FreeBSD のインストーラが
+ スライスを作る時, ディスク上のスライスを BIOS が見つけられる
+ ようにスライス位置をディスク上に記録します. それが誤っていれば,
+ 起動できなくなってしまうでしょう.
+
+ <p>「危険覚悟の」モードはこれを, 問題を単純にすることで
+ 回避しようとします. 状況によってはこれでうまくいきます.
+ しかし次善の策として使われているに過ぎません. この問題を
+ 解決するもっと良い方法はいくらでもあるのです.
+
+ <p>では, インストール時に「危険覚悟の専用」モードが必要になる
+ 状況を回避するにはどうすればよいのでしょうか?
+ まず BIOS が報告するディスクのジオメトリの値を覚えておくことから
+ はじめましょう. ``boot:'' プロンプトで ``-v'' を指定するか
+ ローダで ``boot -v'' と指定して, ブート時にカーネルにこの値を
+ 表示させることができます. インストーラが起動する直前に,
+ カーネルがジオメトリ値のリストを表示するでしょう.
+ パニックを起こさないでください. インストーラが起動するのを待ち,
+ 逆スクロールでさかのぼって値を確認してください. 普通は BIOS
+ ディスクユニット番号は, FreeBSD がディスクを検出する順序と同様であり,
+ 最初に IDE, 次に SCSI となります.
+
+ <p>ディスクをスライシングする際に, FDISK の画面で表示される
+ ディスクのジオメトリが正しいことを確認してください (BIOS の
+ 返す値と一致しいるか). 万一ちがっていたら ``g'' を押して
+ 修正してください. ディスクにまったくなにもない場合や他の
+ システムから持ってきたディスクの場合は, これをおこなう必要が
+ あるかもしれません. これはそのディスクから起動させようと
+ している場合にのみ問題になることに注意してください.
+ FreeBSD はそのディスクをうまい具合いに他のディスクと区別して
+ くれます.
+
+ <p>ディスクのジオメトリについて BIOS と FreeBSD 間で一致させる
+ ことができたら, この問題はほぼ解決したと思ってよいでしょう.
+ そしてもはや「危険覚悟の専用」モードは必要ありません.
+ しかし, まだブート時に恐怖の ``read error'' メッセージが出るようで
+ あれば, お祈りを捧げて新しいディスクを買いましょう.
+ もう失うものは何もありません.
<p>「危険覚悟の専用ディスク」を通常の PC での使用法に
戻すには, 原則として 2 つ方法があります. 1 つは十分な NULL
@@ -411,6 +431,11 @@
<p>スワップパーティションのサイズを増やすのが最良の方法ですが,
別のディスクを追加しなくて済むという利点のある方法があります.
+ 経験から得た一般的な方法はメインメモリの 2倍程度のスワップ領域を
+ とるというものです. しかしごく小さなメインメモリしかない場合は,
+ それ以上のスワップを構成したいと思うでしょう. また, 将来のメモリの
+ アップグレードに備え, 後でスワップの構成を変更する必要がないように
+ 十分なスワップを構成しておくことは良い考えです.
<p>スワップを別のディスク上に追加することは, 単純に同じディスク上
にスワップを追加する場合よりも高速に動作するようになります.
@@ -418,6 +443,18 @@
スワップが別のディスク上に作られていれば, これらが同じディスク上
にある場合よりも断然速いです. SCSI ディスクの場合は特にそうだと言えます.
+ <p>ディスクが複数ある場合, スワップパーティションを各ディスクに
+ 作るように構成すると, 使用中のディスク上にスワップを置いたとしても,
+ 通常の場合は有益です. 一般的に, システムにある高速なディスクには
+ スワップを作るようにすべきでしょう.
+ FreeBSD はデフォルトでインターリーブなスワップデバイスを 4つまで
+ サポートします. 複数のスワップパーティションを構成する際に,
+ 普通はそれらを大体同じくらいの大きさにして作りたいところですが,
+ カーネルのコアダンプを取るのに都合が良いようにメインの
+ スワップパーティションを大きめにとる人もいます.
+ メインのスワップパーティションはカーネルのコアがとれるように
+ 最低でも実メモリと同じ大きさにすべきでしょう.
+
<p> IDE ドライブは同時に同じチャネル上の複数のドライブには
アクセスできません (FreeBSD は mode 4 をサポートしていないので,
すべての IDE ディスク I/O は ``programmed'' です).
@@ -425,8 +462,12 @@
作成することをおすすめします.
ドライブは実に安いものです, 心配するだけ無駄です.
- <p>よいサーバと非常に高速なネットワーク環境でないのであれば,
- スワップを NFS 上に置こうというのは本当にばかげた考えです.
+ <p>NFS 越しにスワッピングさせる方法は, スワップ用の
+ ローカルディスクが無い場合にのみ推奨されます.
+ NFS 越しのスワッピングは遅く, FreeBSD 4.x より前のリリースでは
+ 効率が悪いのですが, 4.0 以降ではそれなりに高速になります.
+ そうはいっても, 利用できるネットワークの太さに制限されますし,
+ NFS サーバに余計な負荷がかかります.
<p>これは 64MBの vn-swap を作る例です (ここでは <tt>/usr/swap0</tt>
としますが, もちろん好きな名前を使うことができます).
@@ -779,6 +820,16 @@
!bg su user -c fetchmail
</verb>
+ <p><tt>non-local なアカウントにメールを配送するのに
+ sendmail</tt> を使用している場合 (後述), 上に示したエントリの後に
+
+ <verb>
+ !bg su user -c "sendmail -q"
+ </verb>
+
+ を記述します. これはネットワーク接続が確立したらすぐに
+ sendmail に溜っている mailqueue を強制的に処理させるようにします.
+
<p>この例では, <tt/user/ が <tt/bsd.home/ にアカウントを持ち,
<tt/bsd.home/ 上の <tt/user/ のホームディレクトリに, 以下のような
<tt/.fetchmailrc/ ファイルがつくられていることを想定しています.
@@ -850,17 +901,28 @@
<p>単に次の perl コマンドを実行してください:
<verb>
-perl -i.bak -pe 's/\r\n/\n/g' file ...
+perl -i.bak -npe 's/\r\n/\n/g' file ...
</verb>
<p>file の部分には処理するファイルを指定して下さい. 整形後のファイルは
元のファイル名で作成され, 整形前のファイルはバックアップとして元の
ファイル名の末尾に拡張子 .bak のつけられた名前で作成されます.
+ <p>あるいは <url url="/cgi/man.cgi?tr"
+ name="tr(1)"> コマンドを使うこともできます:
+
+<verb>
+tr -d '\r' &lt; dos-text-file &gt; unix-file
+</verb>
+
+ <p>dos-text-file は DOS 形式のテストファイル,
+ unix-file には変換された出力が格納されます.
+ perl を使うよりほんのちょっぴり速くなります.
+
<sect1>
<heading>名前で指定してプロセスにシグナルを送るにはどうすればいい?</heading>
- <p><url url="/cgi/cvsweb.cgi/man.cgi?killall" name="killall(1)"> を
+ <p><url url="/cgi/man.cgi?killall" name="killall(1)"> を
使って下さい.
<sect1>
@@ -884,5 +946,56 @@ cd /cdrom/bin
./install.sh
</verb>
+ <sect1>
+ <heading>疑似ターミナルを追加するには?</heading>
+
+ <p>telnet, ssh, X, screen をたくさん利用されている場合,
+ 疑似ターミナルが足りなくなっている可能性があります.
+ これを増やすには次のようにします:
+
+ <enum>
+ <item>次の行をカーネルコンフィグレーションファイルに追加して
+
+ <verb>
+ pseudo-device pty 256
+ </verb>
+
+ <p>新たにカーネルを作りインストールします.
+
+ <item>次のコマンドを実行して
+
+ <verb>
+ # cd /dev
+ # ./MAKEDEV pty{1,2,3,4,5,6,7}
+ </verb>
+
+ <p>新たなターミナル用の 256 個のデバイスノードを作ります.
+
+ <item><tt>/etc/ttys</tt> を編集し 256 個のターミナルごとの定義を追加します.
+ 既存のエントリーの形式にあわせる必要があるでしょう. 例えばこんな感じです.
+
+ <verb>
+ ttyqc none network
+ </verb>
+
+ <p>正規表現を使った指定は <tt>tty[pqrsPQRS][0-9a-v]</tt> となります.
+
+ <item>新しいカーネルでシステムをリブートすると完了です.
+ </enum>
+
+ <sect1>
+ <heading>リブートせずにもう一度 /etc/rc.conf を読み込んで /etc/rc を開始させるには?</heading>
+
+ <p>シングルユーザモードに移行して、マルチユーザモードに戻ってください.
+
+ コンソールで次のように実行します:
+<verb>
+ # shutdown now
+ (注: -r や -h は付けません)
+
+ # return
+ # exit
+</verb>
+
</sect>