diff --git a/ja/FAQ/admin.sgml b/ja/FAQ/admin.sgml index bc773336f6..c4bcd4b17b 100644 --- a/ja/FAQ/admin.sgml +++ b/ja/FAQ/admin.sgml @@ -1,848 +1,848 @@ - + システム管理

訳: &a.nishika;.12 November 1997. システムスタートアップファイルはどこにあるのですか?

2.0.5R から 2.2.1R までは, プライマリコンフィグレーションファイルは /etc/sysconfig にあります. オプションはすべて, このファイルと および /etc/netstartといった, 別のファイルに指定されています.

ファイル /etc/sysconfig を見て, システムに適合するように 変更してください. このファイルはそれぞれの場所に何を書けばいいのかを表す コメントがたくさん書かれています.

2.2.2 に続くリリース と 3.0 では, /etc/sysconfig は, より分りやすい名前の に改名され, それに従って 書式もいくぶん改められます. /etc/netstart/etc/rc.network に改名され, 全部のファイルを /usr/src/etc/rc* /etcで一度にコピーすることが 出来るようになります.

ファイル /etc/rc.local は常にここにあり, ファイル /etc/rc.serial はシリアルポートの初期化 (例えばポートの設定を固定したり等々) のためにあります.

ファイル /etc/rc.i386 は iBCS2 エミュレーションのような Intel アーキテクチャ固有の設定や PC システムコンソール設定のためにあります.

2.1.0R からは, "ローカル" スタートアップファイルをディレクトリ /etc/sysconfig (または /etc/rc.conf) の中に作って指定することもできます: # Location of local startup files. local_startup=/usr/local/etc/rc.local.d

.sh で終わるそれぞれのファイルは, アルファベット順に実行されます.

ファイル名を変えることなくある一定の順序で確実に実行したいのであれば, 順序が保証されるように以下のようにして, それぞれのファイルの頭に数値をつけるようなデザインを 使うことができます: 10news.sh 15httpd.sh 20ssh.sh

この方法は見苦しく (あるいは SysV のように :-)) なりますが, /etc/rc.local を 手品のような編集でソートするようなことなく ローカルの追加パッケージを使うためには, シンプルでしかもよく使われる 手法ではあります. ほとんどの ports/packages は /usr/local/etc/rc.d をローカルスタートアップディレクトリ であると仮定しています. 簡単にユーザを追加するにはどうすればいいのですか?

コマンドを使用してください.

Ollivier Robert によって Perl で書かれた ``<roberto@FreeBSD.ORG> にたずねてみてください. 現在さらなる開発をおこなっています.

また, ユーザを削除するには コマンドを使用してください. FreeBSD システムに新しいハードディスクを追加するには?

に書かれているディスクフォーマット チュートリアルを参照して下さい. 新しいリムーバブルドライブを持っていますが, どうやって使うの?

そのリムーバブルドライブが ZIP であれ EZ drive であれ (あるいはもしそういう風に使いたいのなら, フロッピーであれ), またハードディスクであれ, 一旦システムにインストールされて認識され, カートリッジ, フロッピー等々が挿入されていれば, ことはどのデバイスでも全く同じように進みます.

ZIP ドライブやフロッピーで, すでに DOS のファイルシステムで フォーマットしてある場合, 次のコマンドを使うことができます. これはフロッピーの場合です. mount -t msdos /dev/fd0c /floppy

出荷時の設定の ZIP ディスクではこうです. mount -t msdos /dev/sd2s4 /zip

その他のディスクに関しては, /stand/sysinstall を使って, どのようにレイアウト されているか確かめてください.

以降は ZIP ドライブが 3 番目の SCSI ディスクで, sd2 と認識されている場合の例です.

他人と共有しなければならないフロッピーやリムーバブルディスク でなければ, BSD ファイルシステムを載せてしまうのが良い考えでしょう. ロングファイル名もサポートされ, パフォーマンスは少なくとも 2 倍は向上しますし, おまけにずっと安定しています. まず最初に, DOS レベルでのパーティション / ファイルシステムを 無効にしておく必要があります. 使用するのは /stand/sysinstall でも結構です. 複数のオペレーティングシステムを入れることを考慮する 必要がないような容量の小さなドライブの場合は, 次のように FAT パーティションテーブル (スライス) 全体を飛ばして, BSD のパーティション設定を行うだけで良いでしょう. dd if=/dev/zero of=/dev/rsd2 count=2 disklabel -Brw sd2 auto

複数の BSD パーティションをつくる場合, disklabel か /stand/sysinstall を使います. 固定ディスク上にスワップ領域 を加える場合はそういうことをしたいと思うのはもっともですが, ZIP のようなリムーバブルドライブの上ではそういう考えは不適切 でしょう.

最後に, 新しいファイルシステムをつくります. ディスク全体を使用する ZIP ドライブの場合は, 以下のようにします. newfs /dev/rsd2c

次にマウントします. mount /dev/sd2c /zip

また, 次のような行を に入れておくのも良い考えでしょう. "mount /zip" と入力するだけでマウントできるようになります. /dev/sd2c /zip ffs rw,noauto 0 0 どのようにしたら DOS の拡張パーティションをマウントできますか?

DOS 拡張パーティションはすべての基本パーティションの後に 認識されます. たとえば, 2台目の SCSIドライブの拡張パーティションに "E" パーティションがあるとしますと, これは /dev にスライス 5 のスペシャルファイルを作る必要があり, /dev/sd1s5 としてマウントされます. # cd /dev # ./MAKEDEV sd1s5 # mount -t msdos /dev/sd1s5 /dos/e 他のシステムのファイルシステムを FreeBSD でマウントすることはできますか?

を見てください. より多くの情報があります.

この問題について他の情報があれば, 他の人から感謝されるでしょう. どのようにしたら FreeBSD を NT ローダーからブートさせることができますか?

FreeBSD のネイティブルートパーティションの最初のセクタを ファイルにして DOS/NT パーティション上に置くという画期的な アイディアがあります. ファイル名を c:\bootsect.bsd (c:\bootsect.dos からの発想です) としたとします. c:\boot.ini ファイルを次のように編集します: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" C:\BOOTSECT.BSD="FreeBSD" C:\="DOS"

この手順では DOS, NT, FreeBSD その他が(もし NTFS に変換してしまっているなら) DOS フォーマットの フロッピーディスクか FAT パーティションを /mnt に DOS マウントします. dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1

リブートして DOS か NT に切替えます. NTFS ユーザは attrib -s -r c:\boot.ini

上の例の attrib -r -s c:\boot.ini

FreeBSD が MBR からブートするようになっている場合, それぞれのネイティブパーティションからブートするように設定した後で, DOS から `` FreeBSD と Linux を LILO からブートするには?

FreeBSD と Linux が同じディスクにインストールされている場合, 単に Linux 以外の OS をブートするための LILO のインストール手順に 従えばいいだけです. 非常に簡単にではありますが, 記してみましょう:

Linux をブートし, /etc/lilo.conf に以下の行を加えて ください: other=/dev/hda2 table=/dev/hda label=FreeBSD - (上記の手順は FreeBSD のスライスが Linux から /dev/hda2 + (上記の手順は FreeBSD のスライスが Linux から /dev/hda2 という名前で見えていると仮定しています; あなたの設定にあわせて ください) その後, lilo を root で実行すれば完了です.

FreeBSD が別のディスクにインストールされているのなら, LILO の エントリに ``loader=/boot/chain.b'' を追加してください. 例えば, このようになります: other=/dev/sdb4 table=/dev/sdb loader=/boot/chain.b label=FreeBSD

場合によっては, 二つ目のディスクを正しく起動するために FreeBSD ブートローダに BIOS ドライブ番号を指定する必要があるかもしれません. 例えば, FreeBSD SCSI ディスクが BIOS によって BIOS ディスク 1 と して認識されるのなら, FreeBSD のブートローダのプロンプトで, 次の ように指定する必要があります: Boot: 1:sd(0,a)/kernel

FreeBSD 2.2.5 やそれ以降の版では, ブート時に上記のことを行なう だけで自動的に が設定されます.

が FreeBSD と Linux とを相互に 使えるようにするためのよい参考資料になるでしょう. FreeBSD と Linux を BootEasy からブートするには?

LILO をマスターブートレコード (MBR) ではなく Linux のブート パーティションにインストールしてください. これで BootEasy から LILO をブートできるようになります.

Windows95 と Linux を使用している場合は, いずれにせよ後者の方が お勧めです. Windows95 を再インストールする必要にかられたとき, Linux をブート可能に戻す手続きが簡単ですむからです (Windows95 は偏屈なオペレーティングシステムで, マスターブートレコード (MBR) から他のオペレーティングシステムを追い払ってしまうのです). 「危険覚悟の専用 (dangerously dedicated) ディスク」は健康に悪いの?

さて, これは確かに PC の世界からやって来た人々にとっては 一般的なお話でしょうが, ここで Unix の世界の方からやって来た, FreeBSD が動作する, しかも FreeBSD だけが動作するマシンをセットアップ しようとしている人の場合を考えてみましょう. 彼らは オペレーティングシステムがディスク全体を, その始めのセクタから 終りの 1 つに至るまで使い切る, 古典的な Unix の流儀に慣れ親しんで います. このような, FreeBSD が 1 日 24 時間, 1 週間に 7 日走り続け, 他のオペレーティングシステムがブートされることなど有り得ないマシン では, 正しい fdisk のテーブルは何の役にも立ちません. 結果, もし sysinstall の fdisk エディタで ``A)ll FreeBSD'' を選択し, 続く質問に ``No'' と答えれば, こちらのモードを選択したことになります. この場合, BSD のブートストラップがこのドライブの MBR になるので, ブートマネージャ等にスペースが残されていないことに注意してください. 何かを MBR にインストールすれば, BSD のブートストラップに ダメージを与えることになるでしょう.

では, なぜこれが 「危険覚悟の」と言われるのでしょう? このモードのディスクが, 通常の PC のユーティリティが有効な fdisk テーブルと見なす情報を持っていないからです. ユーティリティの出来 如何によりますが, そのようなディスクを発見したとき, 警告を 出すものもあります. また, もっと悪い場合, 確認も通告もなしに BSD のブートストラップにダメージを与えるものもあるでしょう. PC ではより広範囲で使われているあるオペレーティングシステムは, そういう非ユーザフレンドリーな行為をすることでよく知られています (もちろん, その行為は「ユーザフレンドリ」の名の元で 行われるわけですが). 少なくとも 1 種の, 例えば HP Netserver で使用されていた (もちろん, そこだけではありませんが) Award の BIOS は, 有効な fdisk テーブルを持っていないと認識した全ての ハードディスクを無視することで知られています. ブート時にこの現象が起こると, BIOS はそのようなディスクをさっさと 無視してフロッピードライブを読みに行き, しかも ``Read error'' というあっさりしたメッセージしか吐きません. 感動ものでしょ? 多分彼らにとってはこれが「ユーザフレンドリ」なんでしょうね. よくわかりませんけど.

このモードの利点はいくつかあります. FreeBSD がディスク全体を所有でき, 1980 年代の素朴なパーティショニングモデルのためだけに, いくつもの 本来不要な「トラック」を無駄使いする必要がなくなります. このモデルは, パーティショニングをどのようにすべきかという点に関して, いくらか不自然で, 今では無意味でさえある制限を課します. この制限は, しばしば PC に OS をインストールする際の最大の頭痛の種と なります. パーティショニングの情報を fdisk のテーブルに保存する際に 2 つの異なる, 冗長な方法が用意されているがゆえに, 結果として ジオメトリの不整合を引き起こすのです. の章をご覧下さい. 「危険覚悟の専用」モードでは, BSD のブートストラップはセクタ 0 から始まりますが, BIOS のディスクジオメトリ「変換」の方式とは 無関係に, 常に等しい C/H/S の値に変換される唯一のセクタ なのです. したがって, ブートしなくなる危険を犯すことなしに, 異なる変換方式を採用しているシステム / コントローラ間で, ディスクを交換することができるのです.

「危険覚悟の専用ディスク」を通常の PC での使用法に 戻すには, 原則として 2 つ方法があります. 1 つは十分な NULL バイトを MBR に書き込んで, きたるべきインストーラにディスク はまっさらだと思い込ませる方法です. 例えば, こんな感じです. dd if=/dev/zero of=/dev/rsd0 count=15

また, マニュアルには書かれていない DOS の「機能」 fdisk /mbr

は, BSD ブートストラップを追い払ってくれる上に, 新しいマスターブートレコードをインストールしてくれます. どのようにしたらスワップ領域を増やせますか?

スワップパーティションのサイズを増やすのが最良の方法ですが, 別のディスクを追加しなくて済むという利点のある方法があります.

スワップを別のディスク上に追加することは, 単純に同じディスク上 にスワップを追加する場合よりも高速に動作するようになります. 例に挙げれば, あるディスク上のソースをコンパイルしているとして, スワップが別のディスク上に作られていれば, これらが同じディスク上 にある場合よりも断然速いです. SCSI ディスクの場合は特にそうだと言えます.

IDE ドライブは同時に同じチャネル上の複数のドライブには アクセスできません (FreeBSD は mode 4 をサポートしていないので, すべての IDE ディスク I/O は ``programmed'' です). IDE の場合であってもやはり, スワップを別のハードディスク上に 作成することをおすすめします. ドライブは実に安いものです, 心配するだけ無駄です.

よいサーバと非常に高速なネットワーク環境でないのであれば, スワップを NFS 上に置こうというのは本当にばかげた考えです.

これは 64MBの vn-swap を作る例です (ここでは /usr/swap0 としますが, もちろん好きな名前を使うことができます).

カーネルが次の行を含むコンフィグファイルから構成されているかを 確認します. GENERIC カーネルには, この行が含まれています. pseudo-device vn 1 #Vnode driver (turns a file into a device) vn デバイスを作ります cd /dev sh ./MAKEDEV vn0 スワップファイルを作ります (/usr/swap0) dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 /etc/rc.conf でスワップファイルを有効化させます swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. マシンをリブートします

スワップファイルをすぐに有効化させたいのなら以下のようにタイプします vnconfig -ce /dev/vn0c /usr/swap0 swap プリンタのセットアップで問題があります

ハンドブックのプリンタの部分を参照してください. 探している問題のほとんどが書かれているはずです. をご覧ください. 私のシステムのキーボードマッピングは間違っています.

kbdcontrol プログラムは, キーボードマップファイルを読み込むための オプションを備えています. /usr/share/syscons/keymaps の下にたくさんのマップファイルがあります. システムに関連のあるものを一つ選んで, ロードしてください. kbdcontrol -l uk.iso /usr/share/syscons/keymaps と拡張子 によって使用されます.

これは /etc/sysconfig (または ) 中で設定することができます. このファイル中にあるそれぞれのコメントを参照してください.

2.0.5R やそれ以降の版では, テキストフォントやキーボードマッピングに 関係のあるものはすべて, /usr/share/examples/syscons の中におさめられています.

現在以下のマッピングがサポートされています: Belgian ISO-8859-1 Brazilian 275 keyboard Codepage 850 Brazilian 275 keyboard ISO-8859-1 Danish Codepage 865 Danish ISO-8859-1 French ISO-8859-1 German Codepage 850 German ISO-8859-1 Italian ISO-8859-1 Japanese 106 Japanese 106x Latin American Norwegian ISO-8859-1 Polish ISO-8859-2 (programmer's) Russian Codepage 866 (alternative) Russian koi8-r (shift) Russian koi8-r Spanish ISO-8859-1 Swedish Codepage 850 Swedish ISO-8859-1 Swiss-German ISO-8859-1 United Kingdom Codepage 850 United Kingdom ISO-8859-1 United States of America ISO-8859-1 United States of America dvorak United States of America dvorakx ユーザディスククォータが正常に動作していないようです.

'/' にはディスククォータを設定しないでください, クォータファイルが置かれるファイルシステム上に クォータファイルを置くようにしてください. つまり: FS QUOTA FILE /usr /usr/admin/quotas /home /home/admin/quotas ... わたしの ccd の何が適合していない (Inappropriate) のでしょう?

このような症状が現れます: # ccdconfig -C ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format #

通常この現象はタイプを ' 未使用 (unused)' のまま放っておかれた 'c' パーティションをつなげようとした場合に現れます. ccd ドライバは FS_BSDFFS タイプをベースとするパーティションを要求します. つなげようとしているディスクのディスクラベルを編集して, パーティションのタイプを '4.2BSD' に変更してください. どうしてわたしの ccd のディスクラベルを変更することができないのでしょう?

このような症状が現れます: # disklabel ccd0 (it prints something sensible here, so let's try to edit it) # disklabel -e ccd0 (edit, save, quit) disklabel: ioctl DIOCWDINFO: No disk label on disk; use "disklabel -r" to install initial label #

これは ccd から返されるディスクラベルが, 実はディスク上にはない まったくの偽の情報だからです. これを明示的に書き直すことで 問題を解消できます, このようになります: # disklabel ccd0 > /tmp/disklabel.tmp # disklabel -Rr ccd0 /tmp/disklabel.tmp # disklabel -e ccd0 (this will work now) FreeBSD は System V の IPC プリミティブをサポートしますか?

はい. FreeBSD は System-V スタイルの IPC をサポートします. 共有メモリ, メッセージ, セマフォが含まれます. 以下の行を カーネルコンフィグファイルに加えると, サポートが有効になります. options SYSVSHM options "SHMMAXPGS=64" # 256Kb of sharable memory options SYSVSEM # enable for semaphores options SYSVMSG # enable for messaging

コンパイルしてインストールしてください.

UUCP で mail を配送するには sendmail をどう使えばよいのですか?

FreeBSD に付属している sendmail は, インターネットに直接 つながっているサイトにあわせて設定してあります. UUCP 経由で mail を交換したい場合には sendmail の設定ファイルを改めてインストール しなければなりません.

/etc/sendmail.cfを自分の手で改造するのは純粋主義者の やるような事です. sendmailの version 8 は のような プリプロセッサを通して設定ファイルを生成する新しいアプローチを 取っており, より抽象化されたレベルの設定ファイルを編集します. 以下のディレクトリの中にある設定ファイルを使用してください. /usr/src/usr.sbin/sendmail/cf

もしすべてのソースをインストールしていない場合には sendmail の設定ツールは, 別の tar ファイルにまとめてあります. CD-ROM が mount されている場合には, 次のようにしてください. cd /usr/src tar -xvzf /cdrom/dists/src/ssmailcf.aa

これはたった数 100Kbyte ですから心配ないでしょう. cf ディレクトリにある README に, m4 での設定の基本的な説明があります.

UUCP での配送のためには, mailertable を使用すれば よいでしょう. これによって, sendmail が配送方式を決定するデータベースを 作成することができます.

まずはじめに, .mc ファイルを作成しなければなりません. /usr/src/usr.sbin/sendmail/cf/cf というディレクトリが, これらのファイルを作成する場所です. 既にいくつか例があると思います. これから作成するファイルの名前を foo.mc とすると, sendmail.cf を求めているような形式に変換するには, 次のようにしてください. cd /usr/src/usr.sbin/sendmail/cf/cf make foo.cf cp foo.cf /etc/sendmail.cf

標準的な .mc ファイルは次のようになります. include(`../m4/cf.m4') VERSIONID(`Your version number') OSTYPE(bsd4.4) FEATURE(nodns) FEATURE(nocanonify) FEATURE(mailertable) define(`UUCP_RELAY', your.uucp.relay) define(`UUCP_MAX_SIZE', 200000) MAILER(local) MAILER(smtp) MAILER(uucp) Cw your.alias.host.name Cw youruucpnodename.UUCP

nodnsnocanonify という指定をすることで, mail の配送に DNS を使用しなくなります. UUCP_RELAY という 行に関しては, ある理由から必要ですがそれは聞かないでください. .UUCPで終わる仮想ドメインを処理することのできるインターネット上での ホスト名をここに書いてください. 通常は, ISP の mail リレーホストを 書くことになると思います.

これが終了したら, 次に /etc/mailertable というファイル が必要です. 標準的な例は次のとおりです. # # makemap hash /etc/mailertable.db < /etc/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:sax

見れば分かるように, これは実在する設定のファイルです. はじめの 3 行はドメイン名で指定されたメールが default の経路で配送されずに, ``近道'' するために UUCP で隣りのサイトに送るための特別な状況を 処理するものです. 次の行は Ethernet でつながっているローカルのドメインに対しては SMTP で送るための設定です. 最後に, UUCP での隣りのサイトが. UUCP で終わる仮想ドメインの書式で 指定されており, default の rule を ``uucp-neighbour!recipient'' で上書きするためのものです. 一番最後の行はいつもドットを一つ書きます. これは, ここまでの行でマッチしなかったすべてのホストにマッチし, このサイトから世界に向けて出ていくための mail gateway に UUCP で配送するためのものです. uucp-dom: に続けて書かれているノード名は, uuname コマンドで指定することによって UUCP で直接配送される正しいノード名でなければなりません.

最後に, このファイルは使用する前に DBM データベースのファイルに 変換する必要があります. これをおこなうコマンドラインは mailertable の最初のコメントに書いてあります. mailertable を変更した時には, 必ずこのコマンドを実行してください.

最後のヒントです: もし特定のメール配送がうまく作動するかどうか 確かめたい場合には, sendmail の-bt オプションを 使用してください. このオプションによって sendmail は アドレステストモードで起動します. ``0 '' の後に 配送したいアドレスを書いてください. 最後の行に, 実際に使用される mail agent, この mail agent で送られる送信先のホスト, そして (多分変換されている) アドレスが表示されます. このモードを抜けるには Control-D を押してください. j@uriah 191% sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter

> 0 foo@interface-business.de rewrite: ruleset 0 input: foo @ interface-business . de ... rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ < @ interface-business . de > > ^D j@uriah 192% ダイアルアップでインターネットに接続する環境でメールをセットアップするにはどうやるの?

静的に IP アドレスが割り当てられる場合は, デフォルトの状態を 変更する必要はありません. 割り当てられた名前をホストネームと するだけで, sendmail が後のことを引き受けてくれます.

ダイアルアップ メールボックスからメールを取ってくるためには, retrieval (回収) エージェントをインストールする必要があります. /etc/ppp/ppp.linkup に以下のように記述すると, インターネットと 接続が完了した時点で自動的にメールを取得するようになります. MYADDR: !bg su user -c fetchmail

この例では, poll myISP.com protocol pop3 fetchall pass MySecret;

言うまでもなく, このファイルは 正しい 上の要件を満たすには, 以下のような VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(`myISP.com')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(SMART_HOST, `relay.myISP.com') Dmbsd.home define(`confDOMAIN_NAME',`bsd.home')dnl define(`confDELIVERY_MODE', `deferred')dnl

しまった! root のパスワードを忘れてしまった!

あわてないで下さい! 単にシステムを再起動し, シングルユーザモード に移るために Boot: と表示されるプロンプトで -s と入力してください. どのシェルを使うのかという質問には, ENTER キーを押してください. # プロンプトに移ることができるでしょう. mount -a / と入力 して, root ファイルシステムを読み書きできるようにマウントし直した後, Control-Alt-Delete でシステムがリブートしないようにするにはどうすればいい?

コンソールで使っているキーマップを編集して, /usr/share/syscons/keymaps/us.iso.kbd にあります. その 変更を反映させようとして, このキーマップのロードを明示的に行なう ために, /etc/rc.conf を実行すべきかもしれません. もちろん 他の国のキーマップを使っているのであれば, 代わりにそのキーマップ ファイルを編集して下さい. diff --git a/ja_JP.eucJP/FAQ/admin.sgml b/ja_JP.eucJP/FAQ/admin.sgml index bc773336f6..c4bcd4b17b 100644 --- a/ja_JP.eucJP/FAQ/admin.sgml +++ b/ja_JP.eucJP/FAQ/admin.sgml @@ -1,848 +1,848 @@ - + システム管理

訳: &a.nishika;.12 November 1997. システムスタートアップファイルはどこにあるのですか?

2.0.5R から 2.2.1R までは, プライマリコンフィグレーションファイルは /etc/sysconfig にあります. オプションはすべて, このファイルと および /etc/netstartといった, 別のファイルに指定されています.

ファイル /etc/sysconfig を見て, システムに適合するように 変更してください. このファイルはそれぞれの場所に何を書けばいいのかを表す コメントがたくさん書かれています.

2.2.2 に続くリリース と 3.0 では, /etc/sysconfig は, より分りやすい名前の に改名され, それに従って 書式もいくぶん改められます. /etc/netstart/etc/rc.network に改名され, 全部のファイルを /usr/src/etc/rc* /etcで一度にコピーすることが 出来るようになります.

ファイル /etc/rc.local は常にここにあり, ファイル /etc/rc.serial はシリアルポートの初期化 (例えばポートの設定を固定したり等々) のためにあります.

ファイル /etc/rc.i386 は iBCS2 エミュレーションのような Intel アーキテクチャ固有の設定や PC システムコンソール設定のためにあります.

2.1.0R からは, "ローカル" スタートアップファイルをディレクトリ /etc/sysconfig (または /etc/rc.conf) の中に作って指定することもできます: # Location of local startup files. local_startup=/usr/local/etc/rc.local.d

.sh で終わるそれぞれのファイルは, アルファベット順に実行されます.

ファイル名を変えることなくある一定の順序で確実に実行したいのであれば, 順序が保証されるように以下のようにして, それぞれのファイルの頭に数値をつけるようなデザインを 使うことができます: 10news.sh 15httpd.sh 20ssh.sh

この方法は見苦しく (あるいは SysV のように :-)) なりますが, /etc/rc.local を 手品のような編集でソートするようなことなく ローカルの追加パッケージを使うためには, シンプルでしかもよく使われる 手法ではあります. ほとんどの ports/packages は /usr/local/etc/rc.d をローカルスタートアップディレクトリ であると仮定しています. 簡単にユーザを追加するにはどうすればいいのですか?

コマンドを使用してください.

Ollivier Robert によって Perl で書かれた ``<roberto@FreeBSD.ORG> にたずねてみてください. 現在さらなる開発をおこなっています.

また, ユーザを削除するには コマンドを使用してください. FreeBSD システムに新しいハードディスクを追加するには?

に書かれているディスクフォーマット チュートリアルを参照して下さい. 新しいリムーバブルドライブを持っていますが, どうやって使うの?

そのリムーバブルドライブが ZIP であれ EZ drive であれ (あるいはもしそういう風に使いたいのなら, フロッピーであれ), またハードディスクであれ, 一旦システムにインストールされて認識され, カートリッジ, フロッピー等々が挿入されていれば, ことはどのデバイスでも全く同じように進みます.

ZIP ドライブやフロッピーで, すでに DOS のファイルシステムで フォーマットしてある場合, 次のコマンドを使うことができます. これはフロッピーの場合です. mount -t msdos /dev/fd0c /floppy

出荷時の設定の ZIP ディスクではこうです. mount -t msdos /dev/sd2s4 /zip

その他のディスクに関しては, /stand/sysinstall を使って, どのようにレイアウト されているか確かめてください.

以降は ZIP ドライブが 3 番目の SCSI ディスクで, sd2 と認識されている場合の例です.

他人と共有しなければならないフロッピーやリムーバブルディスク でなければ, BSD ファイルシステムを載せてしまうのが良い考えでしょう. ロングファイル名もサポートされ, パフォーマンスは少なくとも 2 倍は向上しますし, おまけにずっと安定しています. まず最初に, DOS レベルでのパーティション / ファイルシステムを 無効にしておく必要があります. 使用するのは /stand/sysinstall でも結構です. 複数のオペレーティングシステムを入れることを考慮する 必要がないような容量の小さなドライブの場合は, 次のように FAT パーティションテーブル (スライス) 全体を飛ばして, BSD のパーティション設定を行うだけで良いでしょう. dd if=/dev/zero of=/dev/rsd2 count=2 disklabel -Brw sd2 auto

複数の BSD パーティションをつくる場合, disklabel か /stand/sysinstall を使います. 固定ディスク上にスワップ領域 を加える場合はそういうことをしたいと思うのはもっともですが, ZIP のようなリムーバブルドライブの上ではそういう考えは不適切 でしょう.

最後に, 新しいファイルシステムをつくります. ディスク全体を使用する ZIP ドライブの場合は, 以下のようにします. newfs /dev/rsd2c

次にマウントします. mount /dev/sd2c /zip

また, 次のような行を に入れておくのも良い考えでしょう. "mount /zip" と入力するだけでマウントできるようになります. /dev/sd2c /zip ffs rw,noauto 0 0 どのようにしたら DOS の拡張パーティションをマウントできますか?

DOS 拡張パーティションはすべての基本パーティションの後に 認識されます. たとえば, 2台目の SCSIドライブの拡張パーティションに "E" パーティションがあるとしますと, これは /dev にスライス 5 のスペシャルファイルを作る必要があり, /dev/sd1s5 としてマウントされます. # cd /dev # ./MAKEDEV sd1s5 # mount -t msdos /dev/sd1s5 /dos/e 他のシステムのファイルシステムを FreeBSD でマウントすることはできますか?

を見てください. より多くの情報があります.

この問題について他の情報があれば, 他の人から感謝されるでしょう. どのようにしたら FreeBSD を NT ローダーからブートさせることができますか?

FreeBSD のネイティブルートパーティションの最初のセクタを ファイルにして DOS/NT パーティション上に置くという画期的な アイディアがあります. ファイル名を c:\bootsect.bsd (c:\bootsect.dos からの発想です) としたとします. c:\boot.ini ファイルを次のように編集します: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" C:\BOOTSECT.BSD="FreeBSD" C:\="DOS"

この手順では DOS, NT, FreeBSD その他が(もし NTFS に変換してしまっているなら) DOS フォーマットの フロッピーディスクか FAT パーティションを /mnt に DOS マウントします. dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1

リブートして DOS か NT に切替えます. NTFS ユーザは attrib -s -r c:\boot.ini

上の例の attrib -r -s c:\boot.ini

FreeBSD が MBR からブートするようになっている場合, それぞれのネイティブパーティションからブートするように設定した後で, DOS から `` FreeBSD と Linux を LILO からブートするには?

FreeBSD と Linux が同じディスクにインストールされている場合, 単に Linux 以外の OS をブートするための LILO のインストール手順に 従えばいいだけです. 非常に簡単にではありますが, 記してみましょう:

Linux をブートし, /etc/lilo.conf に以下の行を加えて ください: other=/dev/hda2 table=/dev/hda label=FreeBSD - (上記の手順は FreeBSD のスライスが Linux から /dev/hda2 + (上記の手順は FreeBSD のスライスが Linux から /dev/hda2 という名前で見えていると仮定しています; あなたの設定にあわせて ください) その後, lilo を root で実行すれば完了です.

FreeBSD が別のディスクにインストールされているのなら, LILO の エントリに ``loader=/boot/chain.b'' を追加してください. 例えば, このようになります: other=/dev/sdb4 table=/dev/sdb loader=/boot/chain.b label=FreeBSD

場合によっては, 二つ目のディスクを正しく起動するために FreeBSD ブートローダに BIOS ドライブ番号を指定する必要があるかもしれません. 例えば, FreeBSD SCSI ディスクが BIOS によって BIOS ディスク 1 と して認識されるのなら, FreeBSD のブートローダのプロンプトで, 次の ように指定する必要があります: Boot: 1:sd(0,a)/kernel

FreeBSD 2.2.5 やそれ以降の版では, ブート時に上記のことを行なう だけで自動的に が設定されます.

が FreeBSD と Linux とを相互に 使えるようにするためのよい参考資料になるでしょう. FreeBSD と Linux を BootEasy からブートするには?

LILO をマスターブートレコード (MBR) ではなく Linux のブート パーティションにインストールしてください. これで BootEasy から LILO をブートできるようになります.

Windows95 と Linux を使用している場合は, いずれにせよ後者の方が お勧めです. Windows95 を再インストールする必要にかられたとき, Linux をブート可能に戻す手続きが簡単ですむからです (Windows95 は偏屈なオペレーティングシステムで, マスターブートレコード (MBR) から他のオペレーティングシステムを追い払ってしまうのです). 「危険覚悟の専用 (dangerously dedicated) ディスク」は健康に悪いの?

さて, これは確かに PC の世界からやって来た人々にとっては 一般的なお話でしょうが, ここで Unix の世界の方からやって来た, FreeBSD が動作する, しかも FreeBSD だけが動作するマシンをセットアップ しようとしている人の場合を考えてみましょう. 彼らは オペレーティングシステムがディスク全体を, その始めのセクタから 終りの 1 つに至るまで使い切る, 古典的な Unix の流儀に慣れ親しんで います. このような, FreeBSD が 1 日 24 時間, 1 週間に 7 日走り続け, 他のオペレーティングシステムがブートされることなど有り得ないマシン では, 正しい fdisk のテーブルは何の役にも立ちません. 結果, もし sysinstall の fdisk エディタで ``A)ll FreeBSD'' を選択し, 続く質問に ``No'' と答えれば, こちらのモードを選択したことになります. この場合, BSD のブートストラップがこのドライブの MBR になるので, ブートマネージャ等にスペースが残されていないことに注意してください. 何かを MBR にインストールすれば, BSD のブートストラップに ダメージを与えることになるでしょう.

では, なぜこれが 「危険覚悟の」と言われるのでしょう? このモードのディスクが, 通常の PC のユーティリティが有効な fdisk テーブルと見なす情報を持っていないからです. ユーティリティの出来 如何によりますが, そのようなディスクを発見したとき, 警告を 出すものもあります. また, もっと悪い場合, 確認も通告もなしに BSD のブートストラップにダメージを与えるものもあるでしょう. PC ではより広範囲で使われているあるオペレーティングシステムは, そういう非ユーザフレンドリーな行為をすることでよく知られています (もちろん, その行為は「ユーザフレンドリ」の名の元で 行われるわけですが). 少なくとも 1 種の, 例えば HP Netserver で使用されていた (もちろん, そこだけではありませんが) Award の BIOS は, 有効な fdisk テーブルを持っていないと認識した全ての ハードディスクを無視することで知られています. ブート時にこの現象が起こると, BIOS はそのようなディスクをさっさと 無視してフロッピードライブを読みに行き, しかも ``Read error'' というあっさりしたメッセージしか吐きません. 感動ものでしょ? 多分彼らにとってはこれが「ユーザフレンドリ」なんでしょうね. よくわかりませんけど.

このモードの利点はいくつかあります. FreeBSD がディスク全体を所有でき, 1980 年代の素朴なパーティショニングモデルのためだけに, いくつもの 本来不要な「トラック」を無駄使いする必要がなくなります. このモデルは, パーティショニングをどのようにすべきかという点に関して, いくらか不自然で, 今では無意味でさえある制限を課します. この制限は, しばしば PC に OS をインストールする際の最大の頭痛の種と なります. パーティショニングの情報を fdisk のテーブルに保存する際に 2 つの異なる, 冗長な方法が用意されているがゆえに, 結果として ジオメトリの不整合を引き起こすのです. の章をご覧下さい. 「危険覚悟の専用」モードでは, BSD のブートストラップはセクタ 0 から始まりますが, BIOS のディスクジオメトリ「変換」の方式とは 無関係に, 常に等しい C/H/S の値に変換される唯一のセクタ なのです. したがって, ブートしなくなる危険を犯すことなしに, 異なる変換方式を採用しているシステム / コントローラ間で, ディスクを交換することができるのです.

「危険覚悟の専用ディスク」を通常の PC での使用法に 戻すには, 原則として 2 つ方法があります. 1 つは十分な NULL バイトを MBR に書き込んで, きたるべきインストーラにディスク はまっさらだと思い込ませる方法です. 例えば, こんな感じです. dd if=/dev/zero of=/dev/rsd0 count=15

また, マニュアルには書かれていない DOS の「機能」 fdisk /mbr

は, BSD ブートストラップを追い払ってくれる上に, 新しいマスターブートレコードをインストールしてくれます. どのようにしたらスワップ領域を増やせますか?

スワップパーティションのサイズを増やすのが最良の方法ですが, 別のディスクを追加しなくて済むという利点のある方法があります.

スワップを別のディスク上に追加することは, 単純に同じディスク上 にスワップを追加する場合よりも高速に動作するようになります. 例に挙げれば, あるディスク上のソースをコンパイルしているとして, スワップが別のディスク上に作られていれば, これらが同じディスク上 にある場合よりも断然速いです. SCSI ディスクの場合は特にそうだと言えます.

IDE ドライブは同時に同じチャネル上の複数のドライブには アクセスできません (FreeBSD は mode 4 をサポートしていないので, すべての IDE ディスク I/O は ``programmed'' です). IDE の場合であってもやはり, スワップを別のハードディスク上に 作成することをおすすめします. ドライブは実に安いものです, 心配するだけ無駄です.

よいサーバと非常に高速なネットワーク環境でないのであれば, スワップを NFS 上に置こうというのは本当にばかげた考えです.

これは 64MBの vn-swap を作る例です (ここでは /usr/swap0 としますが, もちろん好きな名前を使うことができます).

カーネルが次の行を含むコンフィグファイルから構成されているかを 確認します. GENERIC カーネルには, この行が含まれています. pseudo-device vn 1 #Vnode driver (turns a file into a device) vn デバイスを作ります cd /dev sh ./MAKEDEV vn0 スワップファイルを作ります (/usr/swap0) dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 /etc/rc.conf でスワップファイルを有効化させます swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. マシンをリブートします

スワップファイルをすぐに有効化させたいのなら以下のようにタイプします vnconfig -ce /dev/vn0c /usr/swap0 swap プリンタのセットアップで問題があります

ハンドブックのプリンタの部分を参照してください. 探している問題のほとんどが書かれているはずです. をご覧ください. 私のシステムのキーボードマッピングは間違っています.

kbdcontrol プログラムは, キーボードマップファイルを読み込むための オプションを備えています. /usr/share/syscons/keymaps の下にたくさんのマップファイルがあります. システムに関連のあるものを一つ選んで, ロードしてください. kbdcontrol -l uk.iso /usr/share/syscons/keymaps と拡張子 によって使用されます.

これは /etc/sysconfig (または ) 中で設定することができます. このファイル中にあるそれぞれのコメントを参照してください.

2.0.5R やそれ以降の版では, テキストフォントやキーボードマッピングに 関係のあるものはすべて, /usr/share/examples/syscons の中におさめられています.

現在以下のマッピングがサポートされています: Belgian ISO-8859-1 Brazilian 275 keyboard Codepage 850 Brazilian 275 keyboard ISO-8859-1 Danish Codepage 865 Danish ISO-8859-1 French ISO-8859-1 German Codepage 850 German ISO-8859-1 Italian ISO-8859-1 Japanese 106 Japanese 106x Latin American Norwegian ISO-8859-1 Polish ISO-8859-2 (programmer's) Russian Codepage 866 (alternative) Russian koi8-r (shift) Russian koi8-r Spanish ISO-8859-1 Swedish Codepage 850 Swedish ISO-8859-1 Swiss-German ISO-8859-1 United Kingdom Codepage 850 United Kingdom ISO-8859-1 United States of America ISO-8859-1 United States of America dvorak United States of America dvorakx ユーザディスククォータが正常に動作していないようです.

'/' にはディスククォータを設定しないでください, クォータファイルが置かれるファイルシステム上に クォータファイルを置くようにしてください. つまり: FS QUOTA FILE /usr /usr/admin/quotas /home /home/admin/quotas ... わたしの ccd の何が適合していない (Inappropriate) のでしょう?

このような症状が現れます: # ccdconfig -C ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format #

通常この現象はタイプを ' 未使用 (unused)' のまま放っておかれた 'c' パーティションをつなげようとした場合に現れます. ccd ドライバは FS_BSDFFS タイプをベースとするパーティションを要求します. つなげようとしているディスクのディスクラベルを編集して, パーティションのタイプを '4.2BSD' に変更してください. どうしてわたしの ccd のディスクラベルを変更することができないのでしょう?

このような症状が現れます: # disklabel ccd0 (it prints something sensible here, so let's try to edit it) # disklabel -e ccd0 (edit, save, quit) disklabel: ioctl DIOCWDINFO: No disk label on disk; use "disklabel -r" to install initial label #

これは ccd から返されるディスクラベルが, 実はディスク上にはない まったくの偽の情報だからです. これを明示的に書き直すことで 問題を解消できます, このようになります: # disklabel ccd0 > /tmp/disklabel.tmp # disklabel -Rr ccd0 /tmp/disklabel.tmp # disklabel -e ccd0 (this will work now) FreeBSD は System V の IPC プリミティブをサポートしますか?

はい. FreeBSD は System-V スタイルの IPC をサポートします. 共有メモリ, メッセージ, セマフォが含まれます. 以下の行を カーネルコンフィグファイルに加えると, サポートが有効になります. options SYSVSHM options "SHMMAXPGS=64" # 256Kb of sharable memory options SYSVSEM # enable for semaphores options SYSVMSG # enable for messaging

コンパイルしてインストールしてください.

UUCP で mail を配送するには sendmail をどう使えばよいのですか?

FreeBSD に付属している sendmail は, インターネットに直接 つながっているサイトにあわせて設定してあります. UUCP 経由で mail を交換したい場合には sendmail の設定ファイルを改めてインストール しなければなりません.

/etc/sendmail.cfを自分の手で改造するのは純粋主義者の やるような事です. sendmailの version 8 は のような プリプロセッサを通して設定ファイルを生成する新しいアプローチを 取っており, より抽象化されたレベルの設定ファイルを編集します. 以下のディレクトリの中にある設定ファイルを使用してください. /usr/src/usr.sbin/sendmail/cf

もしすべてのソースをインストールしていない場合には sendmail の設定ツールは, 別の tar ファイルにまとめてあります. CD-ROM が mount されている場合には, 次のようにしてください. cd /usr/src tar -xvzf /cdrom/dists/src/ssmailcf.aa

これはたった数 100Kbyte ですから心配ないでしょう. cf ディレクトリにある README に, m4 での設定の基本的な説明があります.

UUCP での配送のためには, mailertable を使用すれば よいでしょう. これによって, sendmail が配送方式を決定するデータベースを 作成することができます.

まずはじめに, .mc ファイルを作成しなければなりません. /usr/src/usr.sbin/sendmail/cf/cf というディレクトリが, これらのファイルを作成する場所です. 既にいくつか例があると思います. これから作成するファイルの名前を foo.mc とすると, sendmail.cf を求めているような形式に変換するには, 次のようにしてください. cd /usr/src/usr.sbin/sendmail/cf/cf make foo.cf cp foo.cf /etc/sendmail.cf

標準的な .mc ファイルは次のようになります. include(`../m4/cf.m4') VERSIONID(`Your version number') OSTYPE(bsd4.4) FEATURE(nodns) FEATURE(nocanonify) FEATURE(mailertable) define(`UUCP_RELAY', your.uucp.relay) define(`UUCP_MAX_SIZE', 200000) MAILER(local) MAILER(smtp) MAILER(uucp) Cw your.alias.host.name Cw youruucpnodename.UUCP

nodnsnocanonify という指定をすることで, mail の配送に DNS を使用しなくなります. UUCP_RELAY という 行に関しては, ある理由から必要ですがそれは聞かないでください. .UUCPで終わる仮想ドメインを処理することのできるインターネット上での ホスト名をここに書いてください. 通常は, ISP の mail リレーホストを 書くことになると思います.

これが終了したら, 次に /etc/mailertable というファイル が必要です. 標準的な例は次のとおりです. # # makemap hash /etc/mailertable.db < /etc/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:sax

見れば分かるように, これは実在する設定のファイルです. はじめの 3 行はドメイン名で指定されたメールが default の経路で配送されずに, ``近道'' するために UUCP で隣りのサイトに送るための特別な状況を 処理するものです. 次の行は Ethernet でつながっているローカルのドメインに対しては SMTP で送るための設定です. 最後に, UUCP での隣りのサイトが. UUCP で終わる仮想ドメインの書式で 指定されており, default の rule を ``uucp-neighbour!recipient'' で上書きするためのものです. 一番最後の行はいつもドットを一つ書きます. これは, ここまでの行でマッチしなかったすべてのホストにマッチし, このサイトから世界に向けて出ていくための mail gateway に UUCP で配送するためのものです. uucp-dom: に続けて書かれているノード名は, uuname コマンドで指定することによって UUCP で直接配送される正しいノード名でなければなりません.

最後に, このファイルは使用する前に DBM データベースのファイルに 変換する必要があります. これをおこなうコマンドラインは mailertable の最初のコメントに書いてあります. mailertable を変更した時には, 必ずこのコマンドを実行してください.

最後のヒントです: もし特定のメール配送がうまく作動するかどうか 確かめたい場合には, sendmail の-bt オプションを 使用してください. このオプションによって sendmail は アドレステストモードで起動します. ``0 '' の後に 配送したいアドレスを書いてください. 最後の行に, 実際に使用される mail agent, この mail agent で送られる送信先のホスト, そして (多分変換されている) アドレスが表示されます. このモードを抜けるには Control-D を押してください. j@uriah 191% sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter

> 0 foo@interface-business.de rewrite: ruleset 0 input: foo @ interface-business . de ... rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ < @ interface-business . de > > ^D j@uriah 192% ダイアルアップでインターネットに接続する環境でメールをセットアップするにはどうやるの?

静的に IP アドレスが割り当てられる場合は, デフォルトの状態を 変更する必要はありません. 割り当てられた名前をホストネームと するだけで, sendmail が後のことを引き受けてくれます.

ダイアルアップ メールボックスからメールを取ってくるためには, retrieval (回収) エージェントをインストールする必要があります. /etc/ppp/ppp.linkup に以下のように記述すると, インターネットと 接続が完了した時点で自動的にメールを取得するようになります. MYADDR: !bg su user -c fetchmail

この例では, poll myISP.com protocol pop3 fetchall pass MySecret;

言うまでもなく, このファイルは 正しい 上の要件を満たすには, 以下のような VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(`myISP.com')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(SMART_HOST, `relay.myISP.com') Dmbsd.home define(`confDOMAIN_NAME',`bsd.home')dnl define(`confDELIVERY_MODE', `deferred')dnl

しまった! root のパスワードを忘れてしまった!

あわてないで下さい! 単にシステムを再起動し, シングルユーザモード に移るために Boot: と表示されるプロンプトで -s と入力してください. どのシェルを使うのかという質問には, ENTER キーを押してください. # プロンプトに移ることができるでしょう. mount -a / と入力 して, root ファイルシステムを読み書きできるようにマウントし直した後, Control-Alt-Delete でシステムがリブートしないようにするにはどうすればいい?

コンソールで使っているキーマップを編集して, /usr/share/syscons/keymaps/us.iso.kbd にあります. その 変更を反映させようとして, このキーマップのロードを明示的に行なう ために, /etc/rc.conf を実行すべきかもしれません. もちろん 他の国のキーマップを使っているのであれば, 代わりにそのキーマップ ファイルを編集して下さい.