Moving doc/ja_JP.EUC/* to doc/ja. (Already repository copied.)

Also, this change to doc/Makefile now requires either ALLLANG is
defined or DOC_LANG=ja (instead of LANG=ja_JP.EUC) to build Japanese
documentation.
backups/projects/sgml2xml@41712
Masafumi Max NAKANE 27 years ago
parent 3eb48cad51
commit 94ca33054a
Notes: svn2git 3 years ago
svn path=/head/; revision=2444

@ -1,20 +1,20 @@
# $Id: Makefile,v 1.1 1997-05-23 16:23:43 peter Exp $
# $Id: Makefile,v 1.2 1998-02-15 17:03:38 max Exp $
SUBDIR= FAQ handbook
# List of all language-specific subdirs.
LANGSUBDIR= ja_JP.EUC
LANGSUBDIR= ja
# If ALLLANG is defined, descend to all language-specific subdirs too.
# If ALLLANG is not defined, but LANG is defined and a subdirectory with
# If ALLLANG is not defined, but DOC_LANG is defined and a subdirectory with
# that name exists, descend to that directory too.
# In either case, the default subdirectories are always traversed.
.if defined(ALLLANG)
SUBDIR+= ${LANGSUBDIR}
.elif defined(LANG)
.if exists(${.CURDIR}/${LANG})
SUBDIR+= ${LANG}
.elif defined(DOC_LANG)
.if exists(${.CURDIR}/${DOC_LANG})
SUBDIR+= ${DOC_LANG}
.endif
.endif

@ -1,73 +0,0 @@
<!-- $Id: FAQ.sgml,v 1.1.1.1 1997-11-17 15:48:59 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.94 -->
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
<!ENTITY preface SYSTEM "preface.sgml">
<!ENTITY install SYSTEM "install.sgml">
<!ENTITY hardware SYSTEM "hardware.sgml">
<!ENTITY troubleshoot SYSTEM "troubleshoot.sgml">
<!ENTITY commercial SYSTEM "commercial.sgml">
<!ENTITY applications SYSTEM "applications.sgml">
<!ENTITY kernelconfig SYSTEM "kernelconfig.sgml">
<!ENTITY admin SYSTEM "admin.sgml">
<!ENTITY x SYSTEM "x.sgml">
<!ENTITY network SYSTEM "network.sgml">
<!ENTITY serial SYSTEM "serial.sgml">
<!ENTITY misc SYSTEM "misc.sgml">
<!ENTITY hackers SYSTEM "hackers.sgml">
<!ENTITY acknowledgments SYSTEM "acknowledgments.sgml">
<!ENTITY jcontrib SYSTEM "jcontrib.sgml">
<!ENTITY % jmembers SYSTEM "jmembers.sgml">
%jmembers;
]>
<article>
<title>FreeBSD 2.X についての FAQ (よくある質問とその答え)</title>
<author>
<name>The FreeBSD Documentation Project</name>
</author>
<date>$Date: 1997-11-17 15:48:59 $</date>
<abstract>
これは FreeBSD システムバージョン 2.X についての FAQ です.
特に断わりがない限りはどの項目も FreeBSD 2.0.5 以降のものを想定しています.
&lt;XXX&gt;のついている項目はまだ作業中のものです.
</abstract>
<toc>
<p>日本語版の作成は FreeBSD 日本語ドキュメンテーションプロジェクトが
オリジナルの英語版をもとにしておこなっています. 日本語訳および,
日本語版のみに関することは &a.doc-jp; において日本語で議論されています.
必要に応じて日本語ドキュメンテーションプロジェクトから
本家ドキュメンテーションプロジェクトに対してフィードバックを
おこないますので, 英語が得意でない方は &a.doc-jp; まで日本語で
コメントをお寄せください.
<p>また, この FreeBSD FAQ とは別に, 日本の FreeBSD ユーザ有志によって
メーリングリスト <url url="mailto:FreeBSD-users-jp@jp.FreeBSD.org"
name="FreeBSD-users-jp"> や ニュースグループ <url
url="news:fj.os.bsd.freebsd" name="fj.os.bsd.freebsd"> などへの投稿
をもとに作成された <url url="http://www.jp.freebsd.org/QandA/"
name="QandA"> が公開されています. 特に日本語環境など日本固有の話題
が充実していますので, こちらも合わせてご覧ください.
&preface;
&install;
&hardware;
&troubleshoot;
&commercial;
&applications;
&kernelconfig;
&admin;
&x;
&network;
&serial;
&misc;
&hackers;
&acknowledgments;
&jcontrib;
</article>

@ -1,16 +0,0 @@
# $Id: Makefile,v 1.4 1998-02-13 12:36:56 hanai Exp $
# Original revision: 1.6
# The FreeBSD Japanese Documentation Project
DOC= FAQ
DOCDIR= ${SHAREDIR}/doc/ja_JP.EUC
FORMATS?= html roff
SGMLOPTS+=-e EUC-JP
SGMLOPTS+=-links
SRCS= FAQ.sgml acknowledgments.sgml admin.sgml applications.sgml
SRCS+= commercial.sgml hackers.sgml hardware.sgml install.sgml
SRCS+= kernelconfig.sgml misc.sgml network.sgml preface.sgml
SRCS+= serial.sgml troubleshoot.sgml x.sgml
.include <bsd.sgml.mk>

@ -1,45 +0,0 @@
<!-- $Id: acknowledgments.sgml,v 1.1.1.1 1997-11-17 15:49:00 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.1 -->
<sect>
<heading>謝辞<label id="aknowledgments"></heading>
<p><em>訳: &a.koga;.<newline>10 November 1997.</em>
<p>
<verb>
この FAQ について問題を見つけたり, 何か登録したい場合は,
<FAQ@FreeBSD.ORG> までメールを送ってください. フィードバック
してくれるみなさんには感謝感謝なのです.
みなさんに手伝ってもらわないとこの FAQ はよくなりませんから!
FreeBSD Core Team
</verb>
<descrip>
<tag/Jordan Hubbard/
たまに起こす FAQ の並べ替えや更新の発作
<tag/Doug White/
freebsd-questions メーリングリストでの義務を超えたサービス
<tag/Joerg Wunsch/
Usenet (NetNews) での義務を超えたサービス
<tag/Garrett Wollman/
ネットワーク節の執筆と文書整形
<tag/Jim Lowe/
マルチキャストについて
<tag/Peter da Silva/
FreeBSD FAQ タイピング機械奴隷
<tag/FreeBSD チーム/
不平を言ったり, うめいたり, 情報提供してくれたり
</descrip>
<p>あと, 抜けてしまった他の方々に対して, 謝罪と心からの感謝を捧げます!
</sect>

@ -1,976 +0,0 @@
<!-- $Id: admin.sgml,v 1.2 1998-01-22 08:48:52 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.2 -->
<sect>
<heading>システム管理<label id="admin"></heading>
<p><em>訳: &a.nishika;.<newline>12 November 1997.</em>
<sect1>
<heading>システムスタートアップファイルはどこにあるのですか?</heading>
<p>2.0.5R から 2.2.1R までは, プライマリコンフィグレーションファイルは
<tt>/etc/sysconfig</tt> にあります. オプションはすべて, このファイルと
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc"
name="/etc/rc"> および <tt>/etc/netstart</tt>といった,
別のファイルに指定されています.
<p>ファイル <tt>/etc/sysconfig</tt> を見て, システムに適合するように
変更してください. このファイルはそれぞれの場所に何を書けばいいのかを表す
コメントがたくさん書かれています.
<p>2.2.2 に続くリリース と 3.0 では, <tt>/etc/sysconfig</tt> は,
より分りやすい名前の <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)"
name="rc.conf"> に改名され, それに従って
書式もいくぶん改められます. <tt>/etc/netstart</tt> も
<tt>/etc/rc.network</tt> に改名され, 全部のファイルを
<tt><htmlurl url="http://www.freebsd.org/cgi/man.cgi?cp"
name="cp"> /usr/src/etc/rc* /etc</tt>で一度にコピーすることが
出来るようになります.
<p>ファイル <tt>/etc/rc.local</tt> は常にここにあり, <htmlurl
url="http://www.freebsd.org/cgi/ports.cgi?^inn" name="INN">
や <tt/http/ といった追加のサービス開始や
カスタムオプションを記述するために使われるでしょう.
<p>ファイル <tt>/etc/rc.serial</tt> はシリアルポートの初期化
(例えばポートの設定を固定したり等々) のためにあります.
<p>ファイル <tt>/etc/rc.i386</tt> は iBCS2 エミュレーションのような
Intel アーキテクチャ固有の設定や PC システムコンソール設定のためにあります.
<p>2.1.0R からは, "ローカル" スタートアップファイルをディレクトリ
<tt>/etc/sysconfig</tt> (または <tt>/etc/rc.conf</tt>)
の中に作って指定することもできます:
<verb>
# Location of local startup files.
local_startup=/usr/local/etc/rc.local.d
</verb>
<p>.sh で終わるそれぞれのファイルは, アルファベット順に実行されます.
<p>ファイル名を変えることなくある一定の順序で確実に実行したいのであれば,
順序が保証されるように以下のようにして,
それぞれのファイルの頭に数値をつけるようなデザインを
使うことができます:
<verb>
10news.sh
15httpd.sh
20ssh.sh
</verb>
<p>この方法は見苦しく (あるいは SysV のように :-)) なりますが,
<tt>/etc/rc.local</tt> を 手品のような編集でソートするようなことなく
ローカルの追加パッケージを使うためには, シンプルでしかもよく使われる
手法ではあります. ほとんどの ports/packages は
<tt>/usr/local/etc/rc.d</tt> をローカルスタートアップディレクトリ
であると仮定しています.
<sect1>
<heading>簡単にユーザを追加するにはどうすればいいのですか?</heading>
<p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?adduser"
name="adduser"> コマンドを使用してください.
<p>Ollivier Robert によって Perl で書かれた ``<tt/new-account/'' と
呼ばれるパッケージもあります. これについては
<tt>&lt;roberto@FreeBSD.ORG&gt;</tt> にたずねてみてください.
現在さらなる開発をおこなっています.
<p>また, ユーザを削除するには <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?rmuser" name="rmuser">
コマンドを使用してください.
<sect1>
<heading>FreeBSD システムに新しいハードディスクを追加するには?</heading>
<p>最も簡単な方法はインストールプログラムからおこなうことです. root で
<tt>/stand/sysinstall</tt> を起動してインストールプログラム
を利用することができます.
<p>また, インストールフロッピーディスクを持っている場合は, そこから
リブートしてシステムが完全に動作していないインストールプログラムの内で,
パーティション & ラベルエディタを利用してください.
<p><label id="2_1-disklabel-fix">上記の方法でうまくいかないとか,
あなたが不可解なインタフェースを好む変わり者である場合は, 以下の
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel"
name="disklabel"> コマンドを手動で使用する方法を読んでください:
<p><em>警告: 注意深く読んで自分が何をおこなっているか理解する
以外に方法はありません! ここで説明されていることはシステム
を「破壊する」かもしれません. 注意しておこなってください!
事前に「バックアップ」をおこなうことを忘れずに!</em>
<p>2.1.5-RELEASE までの <tt /sysinstall/ は不具合いがあり,
ディスクラベルエディタで / に何かをマウントすることを
強要します. <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?newfs"name="newfs">
を実行する前に <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?disklabel"
name="disklabel">
を手動で実行する必要があるでしょう.
つまり, パーティション分割の計算を自分でおこなうということです.
これは簡単だというウワサです :-)
''<tt>disklabel -r &lt;diskname&gt;</tt>''
を実行してラベルのひな型が得られるかどうかを確認してください.
<em> (例えば </em>''<tt>disklabel -r /dev/rwd0s2</tt>''<em> は,
新しいディスクが wd0 つまり 1 台めの IDE ディスク, そして
FreeBSD スライスは二つめ, つまり s2 であることを仮定しています)
</em>. 以下のようなものが出力されるはずです:-
<verb>
# /dev/rwd0s2:
type: ESDI
disk: wd0s2
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 64
sectors/cylinder: 4032
cylinders: 610
sectors/unit: 2459520
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 2459520 0 unused 0 0 # (Cyl. 0 - 609)
e: 2459520 0 4.2BSD 0 0 0 # (Cyl. 0 - 609)
</verb>
<p>サイズ (size) が正しいことを確認してください. この例では,
2459520 sectors/unit x 512 bytes/sector / 2**20 (1 メガバイト)
= 1200 メガバイトとなっています. あとのものは (b/s, t/c, s/c,
interleave, など), <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?disklabel"
name="disklabel"> から適切なデフォルト値が取得されますが,
古いディスクについては<ref id="ESDI" name="この注意事項">
をご覧ください. 'fsize' はファイルシステム用の
<ref id="fsize" name="フラグメントサイズ"> であり,'bsize' は
<ref id="bsize" name="ブロックサイズ"> です. 'c' は
スライス全体をカバーするパーティション (またはスライスされていない
ディスクではディスク全体) であり, そのまま残しておく必要があります.
<em>これはファイルシステムとして使用してはいけません</em>.
'c' パーティションはディスクラベルが存在しない場合でもカーネルが
存在するように見せかけている手品なのです.
<p>スライス全体を一つのファイルシステムとしたいようなごく普通の
場合は, 'e' のエントリを修正する必要があります. ファイルシステム
に妥当な値として fsize を 1024, bsize を 8192
(8 フラグメント/ブロック) に設定して, 'e' のエントリを以下のように
修正します:-
<verb>
e: 2459520 0 4.2BSD 1024 8192
</verb>
<p>さて, 二つのファイルシステム用に二つのパーティションを
作成したいいような (ちょっとだけ) 難しい場合です. <ref id="fsname"
name="BSD のネーミングの慣例">にしたがって, パーティションを
<tt /wd0s2e/ &amp; <tt /wd0s2f/ のようにします. 1200MB を 'e'
用に 300MB, 残りの 900MB を 'f' に分割することにすると,
パーティションエントリは次のようになります:-
<verb>
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 2459520 0 unused 0 0 # (Cyl. 0 - 609)
e: 614400 0 4.2BSD 1024 8192
f: 1843200 614400 4.2BSD 1024 8192
</verb>
<p><bf /注:/ ''<tt>disklabel -e wd0s2</tt>'' で
ディスクラベルを直接編集することができます. <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?disklabel"
name="disklabel"> を参照してください.
<p>FreeBSD 2.1.5 以降を使用していて, 他のシステムに関心がなく,
ディスク全体を FreeBSD 専用にするつもりなら, 以下のような手順を
踏むことによって, 作業を短縮することも可能です.
<verb>
# dd if=/dev/zero of=/dev/rwd0 count=100
# disklabel -Brw wd0 auto
# disklabel -e wd0
</verb>
<p>最初の <htmlurl url="http://www.freebsd.org/cgi/man.cgi?dd"
name="dd"> コマンドは, カーネルのディスクコードを
混乱させる可能性のある古いゴミが, ディスクの先頭に確実に
残らないようにしています. 次はブート時にディスクから検出された
デフォルト値を使って, 自動的にスケルトンラベルを生成しています.
それに続けて, ラベルの編集を行っています.
<p>やっと終りました! 以下のような感じでファイルシステムを
初期化しましょう:-
<verb>
newfs -d0 /dev/rwd0s2e
newfs -d0 /dev/rwd0s2f
</verb>
<p>ディスク名とスライス番号によって, 事前にスクリプト
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV"
name="/dev/MAKEDEV"> を実行して, お望みのデバイスノードを
作成する必要があるかもしれません.
<p>そして新しいファイルシステムを mount します (<htmlurl
url="http://www.freebsd.org/cgi/man.cgi?mount"
name="mount"> を参照してください) :-
<verb>
mount /dev/wd0s2e /mnt/foo
mount /dev/wd0s2f /mnt/bar
</verb>
<p>ブート時に自動的にファイルシステムを mount するには
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fstab(5)"
name="/etc/fstab"> を編集してください.
<p><bf /用語一覧:/
<descrip>
<tag><label id="fsize"><bf>フラグメントサイズ (fsize)</bf></tag>
<tt /ffs/ におけるストレージの基本単位.
M. McKusick, W. Joy, S. Leffler, and R. Fabry,
"A Fast File System for UNIX",
ACM Transactions on Computer Systems 2, 3, pp 181-197, August
1984, (再版は BSD System Manager's Manual, SMM:5) または
<url url="file:/usr/share/doc/smm/05.fastfs/paper.ascii.gz"
name="/usr/share/doc/smm/05.fastfs/paper.ascii.gz">
を参照してください.
<tag><label id="bsize"><bf>ブロックサイズ (bsize)</bf></tag>
ブロックは一つ以上のフラグメントを構成します. 上記の資料と
<url url="file:/usr/include/sys/disklabel.h"
name="&lt;sys/disklabel.h&gt;"> を参照してください.
<tag><label id="ESDI">
<bf>古いディスク用のディスクラベル特性 (ESDI)</bf></tag>
たまたま「本物のディスク」を持っている場合, より詳細な情報を
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel"
name="disklabel"> に与える必要があります. 例えば,
古い ESDIディスクのような画一的なジオメトリ, 本当のヘッド,
セクタ, シリンダです. これらすべてはディスクドライブのケース,
オーナーズマニュアル, 被害者仲間などから得ることができるはずです. :-)
<tag><label id="fsname">
<bf>BSD ファイルシステムのネーミングの慣例</bf></tag>
慣例により, パーティション 'a' はブート可能なパーティション,
パーティション 'b' はスワップスペースとして予約されています.
正規のパーティションの名称は 'd' から始まることになっています.
(386BSD 0.1 から FreeBSD 2.0 までは 'd' は特別な意味を
持っていたため, パーティション 'e' はファイルシステムを持つ
最初のブート可能でないパーティションとして使われる場合
もあります.)
<tag><label id="swap">
<bf>スワップスペースに関する警告</bf></tag>
BSD パーティションテーブルが必要とする領域は,
ファイルシステム内に用意しておく必要があります.
これはスワップパーティションではいけません. したがって,
シリンダ 0 でスワップパーティションが始まらないように,
開始位置をずらすかパーティション 'a' にファイルシステム
を配置してください.
</descrip>
<sect1>
<heading>新しいリムーバブルドライブを持っていますが, どうやって使うの?</heading>
<p>そのリムーバブルドライブが ZIP であれ EZ drive であれ
(あるいはもしそういう風に使いたいのなら, フロッピーであれ),
またハードディスクであれ, 一旦システムにインストールされて認識され,
カートリッジ, フロッピー等々が挿入されていれば,
ことはどのデバイスでも全く同じように進みます.
<p><label id="disklabel"> (このセクションは<url
url="http://vinyl.quickweb.com/mark/FreeBSD/ZIP-FAQ.html"
name="Mark Mayo's ZIP FAQ"> に基づいています.)
<p>ZIP ドライブやフロッピーで, すでに DOS のファイルシステムで
フォーマットしてある場合, 次のコマンドを使うことができます.
これはフロッピーの場合です.
<verb>
mount -t msdos /dev/fd0c /floppy
</verb>
<p>出荷時の設定の ZIP ディスクではこうです.
<verb>
mount -t msdos /dev/sd2s4 /zip
</verb>
<p>その他のディスクに関しては, <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?fdisk" name="fdisk">
や <tt>/stand/sysinstall</tt> を使って, どのようにレイアウト
されているか確かめてください.
<p>以降は ZIP ドライブが 3 番目の SCSI ディスクで,
sd2 と認識されている場合の例です.
<p>他人と共有しなければならないフロッピーやリムーバブルディスク
でなければ, BSD ファイルシステムを載せてしまうのが良い考えでしょう.
ロングファイル名もサポートされ, パフォーマンスは少なくとも
2 倍は向上しますし, おまけにずっと安定しています.
まず最初に, DOS レベルでのパーティション / ファイルシステムを
無効にしておく必要があります. 使用するのは <tt/fdisk/ でも
<tt>/stand/sysinstall</tt> でも結構です.
複数のオペレーティングシステムを入れることを考慮する
必要がないような容量の小さなドライブの場合は,
次のように FAT パーティションテーブル (スライス)
全体を飛ばして, BSD のパーティション設定を行うだけで良いでしょう.
<verb>
dd if=/dev/zero of=/dev/rsd2 count=2
disklabel -Brw sd2 auto
</verb>
<p>複数の BSD パーティションをつくる場合, disklabel (詳しい情報は
<ref id="2_1-disklabel-fix" name="この注意事項"> にあります) か
<tt>/stand/sysinstall</tt> を使います. 固定ディスク上にスワップ領域
を加える場合はそういうことをしたいと思うのはもっともですが,
ZIP のようなリムーバブルドライブの上ではそういう考えは不適切
でしょう.
<p>最後に, 新しいファイルシステムをつくります. ディスク全体を使用する
ZIP ドライブの場合は, 以下のようにします.
<verb>
newfs /dev/rsd2c
</verb>
<p>次にマウントします.
<verb>
mount /dev/sd2c /zip
</verb>
<p>また, 次のような行を <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?fstab"
name="/etc/fstab"> に入れておくのも良い考えでしょう.
"mount /zip" と入力するだけでマウントできるようになります.
<verb>
/dev/sd2c /zip ffs rw,noauto 0 0
</verb>
<sect1>
<heading>どのようにしたら DOS の拡張パーティションをマウントできますか?</heading>
<p>DOS 拡張パーティションはすべての基本パーティションの後に
認識されます. たとえば, 2台目の SCSIドライブの拡張パーティションに
"E" パーティションがあるとしますと, これは /dev にスライス 5
のスペシャルファイルを作る必要があり, /dev/sd1s5 としてマウントされます.
<verb>
# cd /dev
# ./MAKEDEV sd1s5
# mount -t msdos /dev/sd1s5 /dos/e
</verb>
<sect1>
<heading>他のシステムのファイルシステムを FreeBSD でマウントすることはできますか?</heading>
<p><bf/ Digital UNIX/ UFS CDROM は直接 FreeBSD でマウント
することができます. Digital UNIX やそれ以外のシステムのサポートする
UFS のディスクパーティションをマウントすることはもっと複雑
なことで, オペレーティングシステムのディスクパーティション
の詳細に依存します.
<p><bf/ Linux/: 2.2 以降は <bf/ext2fs/ パーティションをサポートします.
マニュアルの <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?mount_ext2fs"
name="mount_ext2fs"> を見てください. より多くの情報があります.
<p>この問題について他の情報があれば, 他の人から感謝されるでしょう.
<sect1>
<heading>どのようにしたら FreeBSD を NT ローダーからブートさせることができますか?</heading>
<p>FreeBSD のネイティブルートパーティションの最初のセクタを
ファイルにして DOS/NT パーティション上に置くという画期的な
アイディアがあります.
ファイル名を <tt>c:&bsol;bootsect.bsd</tt>
(<tt>c:&bsol;bootsect.dos</tt> からの発想です)
としたとします. <tt>c:&bsol;boot.ini</tt>
ファイルを次のように編集します:
<verb>
[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"
</verb>
<p>この手順では DOS, NT, FreeBSD その他が<bf/同じ/ディスクのそれぞれの
fdisk パーティションにインストールされているとしています.
私の場合は, DOS と NT は最初のパーティション, FreeBSDは 2番目にあります.
また, FreeBSD は MBR を<bf/使わずに/, ネイティブパーティションから
ブートするようにインストールしてあります.
(訳注: FreeBSD のインストールではブートマネジャを使わずに標準
MBR を使う場合に相当します)
<p>(もし NTFS に変換してしまっているなら) DOS フォーマットの
フロッピーディスクか FAT パーティションを <tt>/mnt</tt> に DOS
マウントします.
<verb>
dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1
</verb>
<p>リブートして DOS か NT に切替えます. NTFS ユーザは
<tt/bootsect.bsd/ や <tt/bootsect.lnx/ をフロッピーディスクから
<tt/C:&bsol;/ へコピーします. <tt/boot.ini/ のファイル属性
(パーミッション) の変更を以下のようにおこないます:
<verb>
attrib -s -r c:\boot.ini
</verb>
<p>上の例の <tt/boot.ini/ で示したような正しいエントリを加え,
ファイル属性を元に戻します.
<verb>
attrib -r -s c:\boot.ini
</verb>
<p>FreeBSD が MBR からブートするようになっている場合,
それぞれのネイティブパーティションからブートするように設定した後で,
DOS から ``<tt/fdisk/'' コマンドを実行して元に戻してください.
<sect1>
<heading>
FreeBSD と Linux を LILO からブートするには?
</heading>
<p>理論的には, LILO から FreeBSD をブートするには DOS スタイルの
オペレーティングシステムとして扱えばできるはずですが, 私はいまだに
うまくいったためしがありません. LILO を置く場所を MBR から Linux
のブートパーティションの先頭に変えれば, FreeBSD のブートマネージャから
LILO をブートすることができます. 私はこっちを使っています.
<p>Windows95 と Linux を使用している場合は, いずれにせよ後者の方が
お勧めです. Windows95 を再インストールする必要にかられたとき,
Linux をブート可能に戻す手続きが簡単ですむからです
(Windows95 は偏屈なオペレーティングシステムで, マスターブートレコード
(MBR) から他のオペレーティングシステムを追い払ってしまうのです).
<sect1>
<heading>
「危険覚悟の専用 (dangerously dedicated) ディスク」は健康に悪いの?
</heading>
<p><label id="dedicate">
インストール作業中, ハードディスクのパーティションを切る際に
2 つの方法を選ぶことができます. デフォルトの方法では, fdisk の
テーブルエントリ (FreeBSD ではスライスと呼ばれる) を使って,
自身のパーティションを使用する FreeBSD のスライスを, 同じマシン
の他のオペレーティングシステムと互換性のある形にします.
それに付随して, ブートセレクタをインストールすれば, ディスク上の
使用可能なオペレーションシステムを切り替えることができます.
<p>さて, これは確かに PC の世界からやって来た人々にとっては
一般的なお話でしょうが, ここで Unix の世界の方からやって来た,
FreeBSD が動作する, しかも FreeBSD だけが動作するマシンをセットアップ
しようとしている人の場合を考えてみましょう. 彼らは
オペレーティングシステムがディスク全体を, その始めのセクタから
終りの 1 つに至るまで使い切る, 古典的な Unix の流儀に慣れ親しんで
います. このような, FreeBSD が 1 日 24 時間, 1 週間に 7 日走り続け,
他のオペレーティングシステムがブートされることなど有り得ないマシン
では, 正しい fdisk のテーブルは何の役にも立ちません. 結果, もし
sysinstall の fdisk エディタで ``A)ll FreeBSD'' を選択し, 続く質問に
``No'' と答えれば, こちらのモードを選択したことになります.
この場合, BSD のブートストラップがこのドライブの MBR になるので,
ブートマネージャ等にスペースが残されていないことに注意してください.
何かを MBR にインストールすれば, BSD のブートストラップに
ダメージを与えることになるでしょう.
<p>では, なぜこれが 「危険覚悟の」と言われるのでしょう?
このモードのディスクが, 通常の PC のユーティリティが有効な fdisk
テーブルと見なす情報を持っていないからです. ユーティリティの出来
如何によりますが, そのようなディスクを発見したとき, 警告を
出すものもあります. また, もっと悪い場合, 確認も通告もなしに
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 の値に変換される唯一のセクタ
なのです. したがって, ブートしなくなる危険を犯すことなしに,
異なる変換方式を採用しているシステム / コントローラ間で,
ディスクを交換することができるのです.
<p>「危険覚悟の専用ディスク」を通常の PC での使用法に
戻すには, 原則として 2 つ方法があります. 1 つは十分な NULL
バイトを MBR に書き込んで, きたるべきインストーラにディスク
はまっさらだと思い込ませる方法です. 例えば, こんな感じです.
<verb>
dd if=/dev/zero of=/dev/rsd0 count=15
</verb>
<p>また, マニュアルには書かれていない DOS の「機能」
<verb>
fdisk /mbr
</verb>
<p>は, BSD ブートストラップを追い払ってくれる上に,
新しいマスターブートレコードをインストールしてくれます.
<sect1>
<heading>どのようにしたらスワップ領域を増やせますか?</heading>
<p>スワップパーティションのサイズを増やすのが最良の方法ですが,
別のディスクを追加しなくて済むという利点のある方法があります.
(これを行う時には <ref id="swap" name="この注意事項">
も見ておいてください)
<p>スワップを別のディスク上に追加することは, 単純に同じディスク上
にスワップを追加する場合よりも高速に動作するようになります.
例に挙げれば, あるディスク上のソースをコンパイルしているとして,
スワップが別のディスク上に作られていれば, これらが同じディスク上
にある場合よりも断然速いです. SCSI ディスクの場合は特にそうだと言えます.
<p> IDE ドライブは同時に同じチャネル上の複数のドライブには
アクセスできません (FreeBSD は mode 4 をサポートしていないので,
すべての IDE ディスク I/O は ``programmed'' です).
IDE の場合であってもやはり, スワップを別のハードディスク上に
作成することをおすすめします.
ドライブは実に安いものです, 心配するだけ無駄です.
<p>よいサーバと非常に高速なネットワーク環境でないのであれば,
スワップを NFS 上に置こうというのは本当にばかげた考えです.
<p>これは 64MBの vn-swap を作る例です (ここでは <tt>/usr/swap0</tt>
としますが, もちろん好きな名前を使うことができます).
<p>カーネルが次の行を含むコンフィグファイルから構成されているかを
確認します. GENERIC カーネルには, この行が含まれています.
<verb>
pseudo-device vn 1 #Vnode driver (turns a file into a device)
</verb>
<enum>
<item>vn デバイスを作ります
<verb>
cd /dev
sh ./MAKEDEV vn0
</verb>
<item>スワップファイルを作ります (<tt>/usr/swap0</tt>)
<verb>
dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
</verb>
<item><tt>/etc/rc.conf</tt> でスワップファイルを有効化させます
<verb>
swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
</verb>
<item>マシンをリブートします
</enum>
<p>スワップファイルをすぐに有効化させたいのなら以下のようにタイプします
<verb>
vnconfig -ce /dev/vn0c /usr/swap0 swap
</verb>
<sect1>
<heading>プリンタのセットアップで問題があります</heading>
<p>ハンドブックのプリンタの部分を参照してください.
探している問題のほとんどが書かれているはずです.
<url url="../handbook/printing.html"
name="ハンドブック中のプリンタの利用">をご覧ください.
<sect1>
<heading>私のシステムのキーボードマッピングは間違っています. </heading>
<p>kbdcontrol プログラムは, キーボードマップファイルを読み込むための
オプションを備えています.
<tt>/usr/share/syscons/keymaps</tt> の下にたくさんのマップファイルがあります.
システムに関連のあるものを一つ選んで, ロードしてください.
<verb>
kbdcontrol -l uk.iso
</verb>
<tt>/usr/share/syscons/keymaps</tt> と拡張子 <tt/.kbd/ は
どちらも <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?kbdcontrol"
name="kbdcontrol"> によって使用されます.
<p>これは <tt>/etc/sysconfig</tt> (または <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)"
name="rc.conf">) 中で設定することができます.
このファイル中にあるそれぞれのコメントを参照してください.
<p>2.0.5R やそれ以降の版では, テキストフォントやキーボードマッピングに
関係のあるものはすべて, <tt>/usr/share/examples/syscons</tt>
の中におさめられています.
<p>現在以下のマッピングがサポートされています:
<itemize>
<!-- generate by `kbdmap -p' -->
<item>Belgian ISO-8859-1
<item>Brazilian 275 keyboard Codepage 850
<item>Brazilian 275 keyboard ISO-8859-1
<item>Danish Codepage 865
<item>Danish ISO-8859-1
<item>French ISO-8859-1
<item>German Codepage 850
<item>German ISO-8859-1
<item>Italian ISO-8859-1
<item>Japanese 106
<item>Japanese 106x
<item>Latin American
<item>Norwegian ISO-8859-1
<item>Polish ISO-8859-2 (programmer's)
<item>Russian Codepage 866 (alternative)
<item>Russian koi8-r (shift)
<item>Russian koi8-r
<item>Spanish ISO-8859-1
<item>Swedish Codepage 850
<item>Swedish ISO-8859-1
<item>Swiss-German ISO-8859-1
<item>United Kingdom Codepage 850
<item>United Kingdom ISO-8859-1
<item>United States of America ISO-8859-1
<item>United States of America dvorak
<item>United States of America dvorakx
</itemize>
<sect1>
<heading>ユーザディスククォータが正常に動作していないようです. </heading>
<p>
<enum>
<item>'/' にはディスククォータを設定しないでください,
<item>クォータファイルが置かれるファイルシステム上に
クォータファイルを置くようにしてください. つまり:
<verb>
FS QUOTA FILE
/usr /usr/admin/quotas
/home /home/admin/quotas
...
</verb>
</enum>
<sect1>
<heading>わたしの ccd の何が適合していない (Inappropriate) のでしょう?</heading>
<p>このような症状が現れます:
<verb>
# ccdconfig -C
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
#
</verb>
<p>通常この現象はタイプを ' 未使用 (unused)' のまま放っておかれた
'c' パーティションをつなげようとした場合に現れます. ccd ドライバは
FS_BSDFFS タイプをベースとするパーティションを要求します.
つなげようとしているディスクのディスクラベルを編集して,
パーティションのタイプを '4.2BSD' に変更してください.
<sect1>
<heading>どうしてわたしの ccd のディスクラベルを変更することができないのでしょう?</heading>
<p>このような症状が現れます:
<verb>
# 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
#
</verb>
<p>これは ccd から返されるディスクラベルが, 実はディスク上にはない
まったくの偽の情報だからです. これを明示的に書き直すことで
問題を解消できます, このようになります:
<verb>
# disklabel ccd0 > /tmp/disklabel.tmp
# disklabel -Rr ccd0 /tmp/disklabel.tmp
# disklabel -e ccd0
(this will work now)
</verb>
<sect1>
<heading>FreeBSD は System V の IPC プリミティブをサポートしますか? </heading>
<p>はい. FreeBSD は System-V スタイルの IPC をサポートします.
共有メモリ, メッセージ, セマフォが含まれます. 以下の行を
カーネルコンフィグファイルに加えると, サポートが有効になります.
<verb>
options SYSVSHM
options "SHMMAXPGS=64" # 256Kb of sharable memory
options SYSVSEM # enable for semaphores
options SYSVMSG # enable for messaging
</verb>
<p>コンパイルしてインストールしてください.
<p><bf/注:/ GIMP を実行したい場合は, SHMMAXPGS を 4096(16M)
くらい馬鹿でかい数字に増やす必要があります. X11R6 の共有メモリは
256Kb で十分です.
<sect1>
<heading>
UUCP で mail を配送するには sendmail をどう使えばよいのですか?<label id="uucpmail">
</heading>
<p>FreeBSD に付属している sendmail は, インターネットに直接
つながっているサイトにあわせて設定してあります. UUCP 経由で mail
を交換したい場合には sendmail の設定ファイルを改めてインストール
しなければなりません.
<p><tt>/etc/sendmail.cf</tt>を自分の手で改造するのは純粋主義者の
やるような事です. sendmailの version 8 は <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?m4" name="m4"> のような
プリプロセッサを通して設定ファイルを生成する新しいアプローチを
取っており, より抽象化されたレベルの設定ファイルを編集します.
以下のディレクトリの中にある設定ファイルを使用してください.
<verb>
/usr/src/usr.sbin/sendmail/cf
</verb>
<p>もしすべてのソースをインストールしていない場合には sendmail
の設定ツールは, 別の tar ファイルにまとめてあります. CD-ROM が
mount されている場合には, 次のようにしてください.
<verb>
cd /usr/src
tar -xvzf /cdrom/dists/src/ssmailcf.aa
</verb>
<p>これはたった数 100Kbyte ですから心配ないでしょう. <tt>cf</tt>
ディレクトリにある <tt>README</tt> に, m4 での設定の基本的な説明があります.
<p>UUCP での配送のためには, <em>mailertable</em> を使用すれば
よいでしょう. これによって, sendmail が配送方式を決定するデータベースを
作成することができます.
<p>まずはじめに, <tt>.mc</tt> ファイルを作成しなければなりません.
<tt>/usr/src/usr.sbin/sendmail/cf/cf</tt> というディレクトリが,
これらのファイルを作成する場所です. 既にいくつか例があると思います.
これから作成するファイルの名前を <tt>foo.mc</tt> とすると,
<tt>sendmail.cf</tt> を求めているような形式に変換するには,
次のようにしてください.
<verb>
cd /usr/src/usr.sbin/sendmail/cf/cf
make foo.cf
cp foo.cf /etc/sendmail.cf
</verb>
<p>標準的な <tt>.mc</tt> ファイルは次のようになります.
<verb>
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
</verb>
<p><em>nodns</em> と <em>nocanonify</em> という指定をすることで,
mail の配送に DNS を使用しなくなります. <em>UUCP_RELAY</em> という
行に関しては, ある理由から必要ですがそれは聞かないでください.
.UUCPで終わる仮想ドメインを処理することのできるインターネット上での
ホスト名をここに書いてください. 通常は, ISP の mail リレーホストを
書くことになると思います.
<p>これが終了したら, 次に <tt>/etc/mailertable</tt> というファイル
が必要です. 標準的な例は次のとおりです.
<verb>
#
# 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
</verb>
<p>見れば分かるように, これは実在する設定のファイルです. はじめの
3 行はドメイン名で指定されたメールが default の経路で配送されずに,
``近道'' するために UUCP で隣りのサイトに送るための特別な状況を
処理するものです.
次の行は Ethernet でつながっているローカルのドメインに対しては
SMTP で送るための設定です.
最後に, UUCP での隣りのサイトが. UUCP で終わる仮想ドメインの書式で
指定されており, default の rule を ``uucp-neighbour!recipient''
で上書きするためのものです. 一番最後の行はいつもドットを一つ書きます.
これは, ここまでの行でマッチしなかったすべてのホストにマッチし,
このサイトから世界に向けて出ていくための mail gateway に UUCP
で配送するためのものです.
<tt>uucp-dom:</tt> に続けて書かれているノード名は,
<tt>uuname</tt> コマンドで指定することによって UUCP
で直接配送される正しいノード名でなければなりません.
<p>最後に, このファイルは使用する前に DBM データベースのファイルに
変換する必要があります. これをおこなうコマンドラインは mailertable
の最初のコメントに書いてあります. mailertable を変更した時には,
必ずこのコマンドを実行してください.
<p>最後のヒントです: もし特定のメール配送がうまく作動するかどうか
確かめたい場合には, sendmail の<tt>-bt</tt> オプションを
使用してください. このオプションによって sendmail は
<em>アドレステストモード</em>で起動します. ``0 '' の後に
配送したいアドレスを書いてください. 最後の行に, 実際に使用される
mail agent, この mail agent で送られる送信先のホスト, そして
(多分変換されている) アドレスが表示されます. このモードを抜けるには
Control-D を押してください.
<verb>
j@uriah 191% sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 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%
</verb>
<sect1>
<heading>
ダイアルアップでインターネットに接続する環境でメールをセットアップするにはどうやるの?
<label id="ispmail">
</heading>
<p>静的に IP アドレスが割り当てられる場合は, デフォルトの状態を
変更する必要はありません. 割り当てられた名前をホストネームと
するだけで, sendmail が後のことを引き受けてくれます.
<p>ダイアルアップ <bf/ppp/ をインターネット接続に使用し, 動的に IP
アドレスが割り当てられる場合は, インターネットサービスプロバイダ
(ISP) のメールサーバにメールボックスがあるはずです. ISP のドメイン
が <tt/myISP.com/ で, あなたのユーザ名が <tt/user/ だと仮定します.
また, あなたが自分のマシンを <tt/bsd.home/ と呼んでおり, ISP が
<tt/relay.myISP.com/ をメールリレーとして使用できると言っていると
しましょう.
<p>メールボックスからメールを取ってくるためには, retrieval (回収)
エージェントをインストールする必要があります. <bf/Fetchmail/ は
多種多様なプロトコルをサポートしているのでお勧めです. ISP が
使用しているのは大抵 POP3 プロトコルです. ユーザ ppp を使用している場合,
<tt>/etc/ppp/ppp.linkup</tt> に以下のように記述すると, インターネットと
接続が完了した時点で自動的にメールを取得するようになります.
<verb>
MYADDR:
!bg su user -c fetchmail
</verb>
<p>この例では, <tt/user/ が <tt/bsd.home/ にアカウントを持ち,
<tt/bsd.home/ 上の <tt/user/ のホームディレクトリに, 以下のような
<tt/.fetchmailrc/ ファイルがつくられていることを想定しています.
<verb>
poll myISP.com protocol pop3 fetchall pass MySecret;
</verb>
<p>言うまでもなく, このファイルは <tt/user/ 以外のユーザが読むことが
出来ないようにしなくてはなりません. 内容にパスワード <tt/MySecret/ が
含まれているからです.
<p>正しい <bf/from:/ ヘッダをつけてメールを送るためには, sendmail に
<tt/user@bsd.home/ ではなく <tt/user@myISP.com/ を使用するよう教える
必要があります. メールをより早く転送するために, 全てのメールを
<tt/relay.myISP.com/ へ送るように sendmail に指示しておくのも良い
でしょう.
<p>上の要件を満たすには, 以下のような <tt/.mc/ ファイルが適しています.
<verb>
VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
CwmyISP.com
MASQUERADE_AS(`myISP.com')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(SMART_HOST, `relay.myISP.com')
DmmyISP.com
define(`confDOMAIN_NAME',`myISP.com')dnl
define(`confDELIVERY_MODE', `deferred')dnl
</verb>
<p><tt/.mc/ ファイルから <tt/sendmail.rc/ への変換方法については,
前のセクションを参照してください. sendmail.cf を更新した後に
sendmail をリスタートするのもお忘れなく.
</sect>

@ -1,140 +0,0 @@
<!-- $Id: applications.sgml,v 1.3 1997-11-22 02:15:44 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.2 -->
<sect>
<heading>ユーザアプリケーション<label id="applications"></heading>
<p><em>訳: &a.junkun; <newline>&a.shou; .<newline>8 November 1997.</em>
<sect1>
<heading>そういうユーザアプリケーションはどこにあるの?</heading>
<p>FreeBSDに port (移植) されたソフトウェアパッケージについては,
<url url="http://www.FreeBSD.ORG/ports/" name="ports のページ">
をご覧下さい. このリストには現在 1000 を越える項目があり,
しかも毎日更新されています. このページを小まめに訪れるか,
<tt/freebsd-announce/ <ref id="mailing" name="メーリングリスト">
を購読すると, 新しく入った ports を定期的にチェックすることが
できます.
<p>大部分の ports は 2.2 と 3.0 ブランチの両方で利用できるはずです.
多くは 2.1.x 系のシステムでも同様に動作するでしょう.
FreeBSD のリリースが出る度に, そのリリースの時点での ports ツリーの
スナップショットが撮られ, <tt>ports/</tt> ディレクトリに
納められることになっています.
<p>また, ``package'' という考えも採用されています. これは基本的には
gzip されたバイナリディストリビューションに, インストール時に
環境に合わせた作業が必要になった場合にそれを執り行う多少の英知を
付け加えたものです. package を使えば, どのようなファイルが
配布物として含まれているかと言った細かい事柄にいちいち煩わされる
ことなく, 簡単にインストールやアンインストールを繰り返す
ことができます.
<p>インストールしたい package があるなら, <tt>/stand/sysinstall</tt>
の, 「インストール後の FreeBSD の設定を行う」の下にある
package のインストールメニューを使うか, package のファイル名を
指定して <em>pkg_add(1)</em> を使用して下さい. package の
ファイル名には通常末尾に <em>.tgz</em> がついています.
CDROM をご使用の方は, CD の <tt>packages/All</tt> ディレクトリから
それらのファイルを利用することができます. また, 以下の場所から,
FreeBSD の各種バージョンにあわせた package をダウンロードする
こともできます.
<descrip>
<tag>2.1.x-release 用</tag>
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/"
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/">
<tag>2.2.5-release/2.2-stable 用</tag>
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.5/"
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.5/">
<tag>3.0-current 用</tag>
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/"
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/">
</descrip>
<p>お近くのミラーサイトもご利用下さい.
<p>新しい ports が続々と追加されている状態なので, 全ての ports に
対応する package が存在するわけではないことを覚えておいてください.
定期的に <url url="ftp://ftp.freebsd.org/pub/FreeBSD/"
name="ftp.freebsd.org"> マスターサイトを訪れて, どのような
package が利用できるのかチェックするのも良いでしょう.
<sect1>
<heading>libc.so.3.0 はどこにありますか?</heading>
<p>2.1.x のシステムで 2.2/3.0 用の package を動かそうとしていますね.
前のセクションを読んで, システムに合った正しい port/package を
入手してください.
<sect1>
<heading>
386/486SX のマシンで ghostscript を動かすとエラーがでます. <label id="emul">
</heading>
<p>あなたのマシンには数値演算プロセッサが塔載されていませんね?
カーネルにコプロセッサの代わりとなる数値演算エミュレータを
追加する必要があります.
以下のオプションをカーネルのコンフィグレーションファイルに
追加して, カーネルを再構築してください.
<verb>
options GPL_MATH_EMULATE
</verb>
<p><bf/注/ このオプションを追加する場合,
<tt/MATH&lowbar;EMULATE/ の行を削除してください.
<sect1>
<heading>
SCO/iBCS2 のアプリケーションを実行すると, <tt/socksys/ で落ちてしまいます.
</heading>
<p>まず最初に <tt>/etc/sysconfig</tt> (または
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)"
name="/etc/rc.conf">) の中の
最後のセクションを編集し, 以下の変数を<tt/YES/に直します.
<verb>
# Set to YES if you want ibcs2 (SCO) emulation loaded at startup
ibcs2=NO
</verb>
<p>これでシステムの起動時に <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?ibcs2" name="ibcs2">
カーネルモジュールが読み込まるようになります.
<p>次に /compat/ibcs2/dev/ を以下のように編集します:
<verb>
lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null
lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys
-rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null
lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null
crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx
</verb>
<p>open や close の処理は, socksysから <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?null(4)"
name="/dev/null"> へ
シンボリックリンクを張ることで代用します.
残りの処理は, -current に入っているコードが担当しています.
これは以前のものより ずっとスッキリした方法です.
<p>ローカルでの X のソケット接続に <tt/spx/ ドライバを使いたい
のであれば, システムをコンパイルする際に<tt/SPX&lowbar;HACK/
を定義してください.
<sect1>
<heading>INN (インターネットニュース) の設定方法は?</heading>
<p>inn の package や port をインストールしたあとに
<url url="http://www.cis.ohio-state.edu/~barr/INN.html"
name="Dave Barr's INN Page"> を見てみましょう.
初心者向けの INN FAQ があります.
</sect>

@ -1,101 +0,0 @@
<!-- $Id: commercial.sgml,v 1.1.1.1 1997-11-17 15:48:59 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.1 -->
<sect>
<heading>商用アプリケーション<label id="commercial"></heading>
<p><em>訳: &a.junkun;.<newline>10 November 1997.</em>
<p><bf/注/ この章はまだまだ情報が足りません. 情報を追加してくれる
ような企業を待ち望んでいます. FreeBSD グループはここに載っている
企業からの金銭的な支援を期待してはいませんので, 奉仕作業の
一つとして掲載しています (そして FreeBSD が係わる宣伝は,
長い目で見ると FreeBSD に対してよい方向へ働くと思っています).
私たちは商用ソフトウェアベンダーに, ここで製品を宣伝してもらう
ことを望んでいます.
<sect1>
<heading>FreeBSD 用の Motif はどうやったら手に入りますか</heading>
<p>FreeBSD 用の Motif 2.0 に関する情報は
<ref id="xig" name="Xi Graphics"> から
手に入れることができます.
<p>この製品は以下の物が含まれています:
<itemize>
<item>OSF/Motif manager, xmbind, panner, wsm.
<item>uil, mrm, xm, xmcxx, インクルードファイルや Imake
ファイルといった開発者向けキット
<item>スタティックライブラリ, およびダイナミックライブラリ
<item>デモンストレーションプログラム
<item>整形済みのマニュアルページ
</itemize>
<p>注文する際には FreeBSD 用の Motif であることをきちんと
確認してください. BSDI や Linux 用の Motif も <em>Xi Graphics</em>
から販売されています. 現在フロッピーディスク 4枚組ですが,
将来的には CDE のように統合された CD に変わるでしょう.
<sect1>
<heading>FreeBSD 用の CDE はどうやったら手に入りますか</heading>
<p>FreeBSD 用の CDE 1.0.10 に関する情報は
<ref id="xig" name="Xi Graphics"> から
手に入れることができます. これは Motif 1.2.5 を含んでおり,
Motif 2.0 と一緒に使用することができます.
<p>これは FreeBSD 用と Linux 用の統合された CD-ROM です.
<sect1>
<heading>
高機能な商用 X サーバってあるんですか?<label id="xig">
</heading>
<p>はい, <url url="http://www.xig.com" name="Xi Graphics">
から, FreeBSD ほか Intel ベースのシステムで動作する
Accelerated-X という製品が販売されています.
<p>この高性能な X サーバは楽に設定をおこなえるほか, 数多くのビデオボード
をサポートしています. サーバはバイナリのみが含まれます.
FreeBSD 用と Linux 用の統合されたフロッピーディスクに入っています.
<p>バージョン 3.1 の「互換デモ」が無料で入手できます.
<p>また Xi Graphics は FreeBSD 用の Motif と CDE も販売しています (前を参照).
<descrip>
<tag/より詳しい情報は/
<url url="http://www.xig.com/" name="Xi Graphics WWW page">
<tag/問い合せは/
<url url="mailto:sales@xig.com" name="Sales"> または
<url url="mailto:support@xig.com" name="Support">
<tag/もしくは/ phone (800) 946 7433 or +1 303 298-7478.
</descrip>
<sect1>
<heading>FreeBSD 用のデータベースシステムはありますか?</heading>
<p>もちろんあります! Conetic Software Systems が FreeBSD 2.0.5
以降のシステムで動作する C/base と C/books データベースシステムを
移植しています. さらに Sleepycat Software は DB database library
の商用サポートバージョンを販売しています.
<descrip>
<tag/詳しい情報は/
<url url="http://www.conetic.com/" name="Conetic Software Systems">
<tag/もしくはメールで/
<url url="mailto:info@conetic.com" name="Information E-mail address">
<tag/さらにこちらも/
<url url="http://www.sleepycat.com/" name = "Sleepycat Software">.
</descrip>
</sect>

@ -1,269 +0,0 @@
<!-- $Id: hackers.sgml,v 1.2 1997-12-21 23:02:14 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.2 -->
<sect>
<heading>まじめな FreeBSD ハッカーだけの話題<label id="hackers"></heading>
<p><em>訳: &a.iwasaki;.<newline>8 November 1997.</em>
<sect1>
<heading>
SNAP とか RELEASE とかは何?
</heading>
<p>現在, FreeBSD の
<url url="http://www.freebsd.org/cgi/cvsweb.cgi" name="CVS リポジトリ">
には, 三つのアクティブ/準アクティブなブランチがあります.
<itemize>
<item><bf/RELENG_2_1_0/ 通称 <bf/2.1-stable/ または <bf/"2.1 branch"/
<item><bf/RELENG_2_2/ 通称 <bf/2.2-stable/ または <bf/"2.2 branch"/
<item><bf/HEAD/ 通称 <bf/-current/ または <bf/3.0-current/
</itemize>
<p><bf/HEAD/ は他の二つと違って実際のブランチ tag ではなく,
<em/「current, 分岐していない開発本流」/のための単なるシンボリック
な定数です. 私たちはこれを <bf/-current/ と呼んでいます.
<p>現在, <bf/-current/ は 3.0 の開発本流であり,
<bf/2.2-stable/ ブランチ, つまり <bf/RELENG_2_2/ は
1996年11月に<bf/-current/ から分岐しています.
<p><bf/2.1-stable/ ブランチ, <bf/RELENG_2_1_0/ は 1994年9月に
-current から分岐しました.
<sect1>
<heading>
自分用のカスタムリリースを構築するには?<label id="custrel">
</heading>
<p>リリースを構築するには三つのことが必要です:
まず, <htmlurl url="http://www.freebsd.org/cgi/man.cgi?vn"
name="vn"> ドライバが組み込まれたカーネルを実行させている必要があります.
以下をカーネルコンフィグレーションファイルに追加し,
カーネルを作り直してください:
<verb>
pseudo-device vn #Vnode driver (turns a file into a device)
</verb>
<p>次に, CVS リポジトリ全体を手元においておく必要があります.
これを入手するには
<url url="../handbook/cvsup.html" name="CVSUP">
が使用できますが, supfile で release の名称を cvs にして
他のタグや date フィールドを削除する必要があります:
<verb>
*default prefix=/home/ncvs
*default base=/a
*default host=cvsup.FreeBSD.org
*default release=cvs
*default delete compress use-rel-suffix
## Main Source Tree
src-all
src-eBones
src-secure
# Other stuff
ports-all
www
doc-all
</verb>
<p>そして <tt/cvsup -g supfile/ を実行して自分のマシンに
CVS リポジトリ全体をコピーします...
<p>最後に, ビルド用にかなりの空き領域を用意する必要があります.
そのディレクトリを <tt>/some/big/filesystem</tt> として,
上の例で CVS リポジトリを <tt>/home/ncvs</tt> に置いたものとすると,
以下のようにしてリリースを構築します:
<verb>
setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs
cd /usr/src/release
make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release
</verb>
<p>処理が終了すると, リリース全体が <tt>/some/big/filesystem/release</tt>
に構築され, 完全な FTP インストール用の配布物が
<tt>/some/big/filesystem/release/R/ftp</tt> に作成されます.
-current 以外の開発ブランチの SNAP を自分で構築したい場合は,
<tt/RELEASETAG=SOMETAG/ を上の make release のコマンドラインに追加します.
例えば, <tt/RELEASETAG=RELENG_2_2/ とすると最新の 2.2 GAMMA snapshot
が構築されます.
<sect1>
<heading>カスタムのインストールディスクを作るにはどうすればいいのですか? </heading>
<p><tt>/usr/src/release/Makefile</tt> のいろいろなターゲットとして
インストールディスク, ソース, バイナリアーカイブを作る完全な処理を
自動的におこなうようになっています. Makefile に十分な情報があります.
しかし, 実行には ``make world'' が必要で,
多くの時間とディスクの容量が必要です.
<sect1>
<heading>
``make world'' をおこなうと既存のバイナリを上書きしてしまうのですが.
</heading>
<p>ええ, それが一般的な考え方です. 名前が示しているように
``make world'' はすべてのシステムのバイナリを一から作り直しますので,
結果としてクリーンで一貫性のある環境を得ることができます
(これがそれだけ長い時間がかかる理由です).
<p>環境変数 <tt/DESTDIR/ を ``<tt/make world/'' や ``<tt/make
install/'' を実行する時に定義しておくと, 新しく作られたバイナリは
<tt>&dollar;&lcub;DESTDIR&rcub;</tt>を root とみなした
ディレクトリツリーにインストールされます.
あるでたらめな共有ライブラリの変更やプログラムの再構築によって
``<tt/make world/'' は失敗することもあります.
<sect1>
<heading>
システムブート時に ``(bus speed defaulted)'' とメッセージが出ます.
</heading>
<p>アダプテックの 1542 SCSI ホストアダプタはユーザがソフトウェア的に
バスアクセス速度の設定をおこなうことができます. 以前のバージョンの
1542 ドライバは使用可能な最大の速度を求めてアダプタを
その設定にしようとしました. これは特定のユーザのシステムでは
問題がある事がわかり, 現在ではカーネルコンフィグオプションに
``<tt/TUNE&lowbar;1542/'' が加えられています. これを使用すると,
これが働くシステムではディスクが速くなりますが,
データの衝突が起きて速くはならないシステムもあるでしょう.
<sect1>
<heading>
インターネットアクセスに制限があっても current を追いかけられますか? <label id="ctm">
</heading>
<p>はい, <url url="../handbook/ctm.html" name="CTM システム ">を使って
ソースツリー全体のダウンロードを<tt/おこなわず/に追いかけることができます.
<sect1>
<heading>どのようにして配布ファイルを 240kバイトに分割しているのですか?</heading>
<p>比較的新しい BSDベースのシステムでは split に任意のバイト境界で
分割する ``<tt/-b/'' オプションがあります.
<p>以下は <tt>/usr/src/Makefile</tt> からの例です.
<verb>
bin-tarball:
(cd $&lcub;DISTDIR&rcub;; \
tar cf - . \
gzip --no-name -9 -c | \
split -b 240640 - \
$&lcub;RELEASEDIR&rcub;/tarballs/bindist/bin_tgz.)
</verb>
<sect1>
<heading>私はカーネルに拡張をおこないました. 誰に送ればいいですか? </heading>
<p><url url="../handbook/contrib.html"
name="ハンドブックの「貢献の仕方 (Contributing to FreeBSD)」の章">
を参照してください.
<p>あなたのアイディアに感謝します!
<sect1>
<heading>PnP ISA カードの検出と初期化はどのようにおこなうのですか? </heading>
<p><url url="mailto:uhclem@nemesis.lonestar.org"
name="Frank Durda IV"> 氏より:
<p>要点は, ホストが認識されていないボードを探す時に, すべての
PnP ボードが応答することのできる少数の I/O ポートがあるという
ことです. それにより, PnP プローブルーチンが開始したとき, PnP
ボードが存在するなら, すべての PnP ボードは自分のモデル番号を
返します. そのポートを I/O read するとプローブルーチンは
問いに対するワイアード-OR された ``yes'' を得ます. この場合は
少なくとも 1ビットが ON になります. そして, プローブルーチンは
モデル ID (Microsoft/Intel によって割り当てられています)
が X より小さいボードを ``オフライン'' にすることができます.
この操作をおこない, 問い合わせに応答しているボードがまだ
残っているかどうかを調べます. もし ``<tt/0/'' が返ってくるなら X
より大きな ID を持つボードはないことになります. 今度は ``X''
よりも小さな値を持つボードについて問い合わせます. もしあるのであれば,
プローブルーチンはモデル番号が X より小さいことを知ります.
今度は, X-(limit/4) より大きな値を持つボードをオフラインにして
問い合わせを繰り返します. この ID の範囲による準バイナリサーチを
十分繰り返すことにより, プローブルーチンはマシンに存在するすべての
PnP ボードの値を最終的に得ることができます. その繰り返しの回数は
2^64 よりはるかに少ない回数です.
<p>ID は二つの 32-bit (つまり 64bit) フィールド + 8 bit
チェックサムからなります. 最初の 32 bits はベンダの識別子です.
これは公表されてはいませんが, 同一のベンダから供給されている
異なるタイプのボードでは異なる 32-bit ベンダ ID を持つことが
できるように考えられます. 製造元を特定するだけのために 32 bits
はいくらか過剰です.
<p>下位の 32 bits はシリアル番号, イーサネットアドレスなどの
ボードを特定するものです. ベンダは上位 32 bits が異なっていない
のであれば下位 32 bits が同一である 2枚目のボードを製造することは
ありません. したがって, 同じタイプの複数のボードをマシンに
いれることができ, この場合でも 64 bits 全体ではユニークです.
<p>32 bit のフィールドはすべてを 0 にすることはできません.
これは初期化のバイナリサーチの間ワイアード-OR によって 0 ではない
ビットを参照するからです.
<p>システムがすべてのボードの与えられた ID を認識すると,
それぞれのボードに対応した処理を一つずつ (同一の I/O ポートを通して)
おこないます. そして, 利用できる割り込みの選択などのボードが必要
とするリソースを検出します. すべてのボードについてこの情報を集めます.
<p>この情報はハードディスク上の ECU ファイルなどの情報とまとめられ,
マザーボードの BIOS にも結合されます. マザーボード上のハードウェア
への ECU と BIOS PnP のサポートは通常は統合されていますが,
周辺機器については真の PnPであるとはいえません.
しかし, BIOS の情報に ECU の情報を加えて調査することで,
プローブルーチンは PnP デバイスが再配置できなくなることを
避けることができます.
<p>それから, 再度 PnP デバイスにアクセスし, I/O, DMA, IRQ,
メモリマップアドレスの設定をします. デバイスはこのアドレスに
見えるようになり, 次にリブートするまでこの位置を占めます. しかし,
あなたの望む時に移動させることが不可能であるといっている
わけではありません.
<p>以上の話では大きく単純化をしてありますが, 基本的な考え方は得
られたでしょう.
<p>マイクロソフトはボードのロジックが 対立するI/O サイクルでは
デコードしていない (訳注: おそらく read 時しかデコードされていず
write 時はポートが空いているという意味でしょう)
プライマリプリンタのステータスポートのいくつかを PnP のために
占有しました. 私は初期の PnP の提案レビュー時に IBM 純正の
プリンタボードでステータスポートの write のデコードがされている
ということに気がつきましたが, MS は ``tough (頑固, 不運,
無法な)'' と言っています. そしてプリンタのステータスポートへ
アドレスの設定のために write をおこなっています. また,
そのアドレス + <tt/0x800/と read のための 3番目の I/O ポートが
<tt/0x200/ から <tt/0x3ff/ の間のどこかに置かれるでしょう.
<sect1>
<heading>FreeBSD は, Intel 以外のアーキテクチャをサポートしないんですか? </heading>
<p>いくつかのグループが, FreeBSD の他のアーキテクチャのサポートに関心を
示しており, 現在数人が DEC の協力を得て FreeBSD の ALPHA アーキテクチャへの
移植に取り組んでいます. 新しいアーキテクチャに関する一般的な議論は
<tt>&lt;platforms@FreeBSD.ORG&gt;</tt> をご利用ください.
<sect1>
<heading>デバイスドライバを開発したので, メジャー番号が必要です. </heading>
<p>これは, 開発したドライバを公開するかどうかに依存します.
公開するのであれば, ドライバのソースコード, <tt>files.i386</tt> の変更,
コンフィグファイルのサンプル, デバイスが使うスペシャルファイルを作成する
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV" name="MAKEDEV">
のコードを私たちに送ってください. 公開するつもりがない場合, ライセンスの
問題により公開できない場合は, キャラクタメジャー番号 32 もしくは
ブロックメジャー番号 8 が, このような目的のために予約されています.
これらの番号を使用してください. どちらの場合であれ, ドライバに関する情報を
<tt>&lt;hackers@FreeBSD.ORG&gt;</tt> に流して頂けると助かります.
</sect>

@ -1,436 +0,0 @@
<!-- $Id: hardware.sgml,v 1.2 1997-12-21 23:02:12 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.2 -->
<sect>
<heading>ハードウェアコンパチビリティ<label id="hardware"></heading>
<p><em>訳: &a.nishika;.<newline>12 November 1997.</em>
<sect1>
<heading>FreeBSD は, どんなハードディスクドライブをサポートしているのですか?</heading>
<p>FreeBSD は, EIDE と SCSI ハードディスクドライブをサポート
しています (互換コントローラも含みます: 次の節参照). また
オリジナルの "Western Digital" インタフェースを使用している
すべてのドライブも (MFM, RLL, ESDI, もちろん IDE も)
サポートしています. 独自仕様のインタフェースを使用する
ESDI コントローラでは動作しないものがあり, WD1002/3/6/7
とその互換インタフェースと衝突します.
<sect1>
<heading>どの SCSI コントローラをサポートしているのですか?</heading>
<p>FreeBSD は, 以下の SCSI コントローラをサポートしています:
<descrip>
<tag/Adaptec/
AH-1505 &lt;ISA&gt; <newline>
AH-152x シリーズ &lt;ISA&gt; <newline>
AH-154x シリーズ &lt;ISA&gt; <newline>
AH-174x シリーズ &lt;EISA&gt; <newline>
Sound Blaster SCSI (AH-152x 互換) &lt;ISA&gt; <newline>
AH-2742/2842 シリーズ &lt;ISA/EISA&gt; <newline>
AH-2820/2822/2825 シリーズ (Narrow/Twin/Wide) &lt;VLB&gt; <newline>
AH-294x および aic7870 MB コントローラ (Narrow/Twin/Wide) &lt;PCI&gt;
<newline>
AH-394x (Narrow/Twin/Wide)
<tag/Buslogic/
BT-445 シリーズ &lt;VLB&gt; (これは, <ref id="bigram"
name="16 MB を越える容量のメモリを載せたマシン">の節で
引き合いにも出されるカードの一つです.)
<newline>
BT-545 シリーズ &lt;ISA&gt; <newline>
BT-742 シリーズ &lt;EISA&gt;<newline>
BT-747 シリーズ &lt;EISA&gt;<newline>
BT-946 シリーズ &lt;PCI&gt; <newline>
BT-956 シリーズ &lt;PCI&gt; <newline>
<tag/Future Domain/
TMC-950 シリーズ &lt;ISA&gt; <newline>
<tag/PCI Generic/
NCR 53C81x ベースの SCSI コントローラ &lt;PCI&gt; <newline>
NCR 53C82x ベースの SCSI コントローラ &lt;PCI&gt; <newline>
NCR 53C860/75 ベースの SCSI コントローラ &lt;PCI&gt; <newline>
<tag/ProAudioSpectrum/
Zilog 5380 ベースの SCSI コントローラ &lt;ISA&gt; <newline>
Trantor 130 ベースの SCSI コントローラ &lt;ISA&gt; <newline>
<tag/DTC/
DTC 3290 EISA SCSI コントローラ (AHA-154x エミュレーション).<newline>
<tag/Seagate/
ST-01/02 シリーズ &lt;ISA&gt;<newline>
<tag/UltraStor/
UH-14f シリーズ &lt;ISA&gt;<newline>
UH-24f シリーズ &lt;EISA&gt; <newline>
UH-34f シリーズ &lt;VLB&gt;<newline>
<tag/Western Digital/
WD7000 &lt;ISA&gt; &lt;No scatter/gather&gt;
</descrip>
<sect1>
<heading>どんな CD-ROM ドライブをサポートしているのですか?</heading>
<p>サポートされている SCSI コントローラに接続できる SCSI
ドライブすべてをサポートしています.
<p>また, 以下の専用 CD-ROM インタフェースもサポートしています.
<itemize>
<item>ミツミ LU002 (8bit), LU005 (16bit) および FX001D (16bit 2倍速).
<item>ソニー CDU 31/33A<newline>
<item>Sound Blaster 非 SCSI タイプの CD-ROM<newline>
<item>松下 / Panasonic CD-ROM<newline>
<item>ATAPI 互換の IDE CD-ROM<newline>
</itemize>
<p>SCSI でないカードはすべて, SCSI ドライブよりも極めて動作速度が
遅いことが知られており, ATAPI CD-ROM には動作しないものもあるようです.
<p>Walnut Creek の FreeBSD 2.2 CD-ROM からは CD からの直接ブートが
サポートされています.
<sect1>
<heading>ZIP ドライブをサポートしていますか?</heading>
<p>もちろん, FreeBSD は SCSI ZIP ドライブ (外付け) をサポートしています.
ZIP ドライブは SCSI ID を 5 か 6 に設定した状態でなら使用できますが,
もし SCSI ホストアダプタの BIOS がサポートしてさえいれば
ZIP ドライブからブートさせることもできます. 私はどのホストアダプタが
SCSI ID を 0 や 1 以外に設定したデバイスからブートできるのか知りませんが...
ドキュメントを参照してください (うまくいった場合は教えてください).
<p>パラレル ZIP ドライブはサポートされていません. まだ ZIP ドライブを
購入していないのなら, SCSI の ZIP ドライブを購入することをおすすめします...
同程度の価格で, よりよいパフォーマンスが得られます. それにパラレルポートから
ブートするなんて考えられないでしょう.
<p>すでにパラレル ZIP ドライブを持っているのであれば,
フランスの
<url url="http://www.prism.uvsq.fr/~son/ppa3.html"
name="Nicolas Souchu の home page">
に Linux のドライバがあります.
<p>それから <ref id="jaz" name="リムーバブルドライブに関する注意">および
<ref id="disklabel" name="「フォーマット」に関する注意">についても
確認しておいてください.
<sect1>
<heading>
では, JAZ や EZ, それからその他のリムーバブルドライブはサポートしていますか?
</heading>
<p>FreeBSD では, IDE バージョンの EZ ドライブを除くすべての SCSI デバイスは,
SCSI のディスクと同等に扱われます. また IDE EZ は IDE ドライブと同等となります.
<p><label id="jaz">システム稼働中のメディア交換について FreeBSD が
どれほどうまく動くか定かではありません. もちろんメディアを入れ替える前に
そのドライブをマウント解除しなければいけないでしょうし,
FreeBSD がそれらを認識するにはブート時に外部ユニットにも電源が投入されている
ことを確認しなければいけないでしょう.
<p><ref id="disklabel" name="「フォーマット」に関する注意">も参照.
<sect1>
<heading>どのマルチポートシリアルカードをサポートしていますか?</heading>
<p>一覧は
<htmlurl url="../handbook/install:misc.html"
name="その他のデバイス"> の節にあります.
<p>無名のカードにもうまく動くものがあり,
特に AST 互換といわれているものに多く見られます.
<p>カード設定の詳細な情報は,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio"
name="sio"> オンラインマニュアルを参照してください.
<sect1>
<heading>珍しいバスマウスを持っているのですが, どのように設定すればいいのですか?</heading>
<p>FreeBSD は Logitech と ATI のグラフィックアダプタカードに付属している
バスマウスをサポートしています.
これらを使用するには, カーネルコンフィグレーションファイルに以下の行を加えて
再コンパイルする必要があります.
<verb>
device mse0 at isa? port 0x23c tty irq5 vector mseintr
</verb>
<sect1>
<heading>
PS/2 (キーボードマウス) を使うには, どのように設定すればいいのですか?
<label id="ps2mouse">
</heading>
<p>あなたの使っている FreeBSD が比較的新しいバージョンのものなら,
インストールの時に, 単にカーネルのコンフィグレーションのメニュー上で
PS/2 マウスを有効化するだけです, あるいは後で boot: プロンプト上で
-c を指定することでもメニューは現れます.
デフォルトでは無効に設定されていますので, 明示的に
有効化してあげないといけません.
<p>あなたの使っている FreeBSD が比較的古いものなら,
カーネルコンフィグレーションファイルに以下の行を加えて
カーネルを再コンパイルする必要があります.
<verb>
device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
# Options for psm:
options PSM_CHECKSYNC #checks the header byte for sync.
</verb>
<p>カーネルの再構築についてよく知らないのであれば,
<url url="../handbook/kernelconfig.html"
name="ハンドブックの FreeBSD カーネルのコンフィグレーション">
を参照してください.
<p>ブート時にカーネルが psm0 を検出したら, psm0 のエントリが /dev
の中にあることを確認してください. 以下のようにします.
<verb>
cd /dev; sh MAKEDEV psm0
</verb>
<p>これは root でログインしているときにおこなってください.
<sect1>
<heading>
ラップトップ PC のマウス/トラックボール/タッチパッドは使えますか?
</heading>
<p><ref id="ps2mouse" name="直前の質問に対する答え"> を参照してください.
加えて, <ref id="pao" name="こちら"> にあるモーバイルコンピューティングの
ページもご覧ください.
<sect1>
<heading>どんなテープドライブをサポートしていますか?</heading>
<p>FreeBSD は SCSI, QIC-36 (QIC-02 インタフェース付き) および
QIC-40/80 (フロッピーベース) テープドライブをサポートしています.
これらには 8-mm (Exabyte と呼ばれています) や DAT ドライブも含まれています.
QIC-40/80 ドライブは遅いことが知られています.
<p>初期の 8-mm ドライブの中には SCSI-2 とまったく互換性を持たないものがあります.
これらは FreeBSD 上では動作しません.
<sect1>
<heading>どんなテープチェンジャーをサポートしていますか?</heading>
<p>FreeBSD 2.2 は <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?ch(4)" name="ch">
デバイスと <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?chio" name="chio">
コマンドを使用した SCSI チェンジャーをサポートしています.
実際のチェンジャーの制御方法の詳細は,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?chio"
name="chio"> のマニュアルページにあります.
<p>使用している製品が, <htmlurl
url="http://www.freebsd.org/cgi/ports.cgi?amanda"
name="AMANDA"> などのようにチェンジャーに対応済みのものでない場合は,
次のことについて留意してください.
それらの製品は任意のポイント間のテープの移動を制御するだけなので,
テープがどのスロットに入っているか, 現在ドライブにあるテープが
どのスロットに戻るべきかを把握しておく必要があります.
<sect1>
<heading>どんなサウンドカードをサポートしていますか?</heading>
<p>FreeBSD は SoundBlaster, SoundBlaster Pro, SoundBlaster 16,
Pro Audio Spectrum 16, AdLib それから Gravis UltraSound サウンドカードを
サポートしています. MPU-401 やその互換カードも機能に制限はあるものの
サポートされています. SoundBlaster 16 ASP カードはまだサポートされていません.
マイクロソフトサウンドシステムもサポートされています.
<p><bf/注/ これらはサウンドについてのみの話です! これらのドライバは
CD-ROM, SCSI, カード上にあるジョイスティックをサポートしていません
(SoundBlaster は例外です). SoundBlaster SCSI インタフェースと非 SCSI
CD-ROM はサポートしていますが, そのデバイスからはブートできません.
<sect1>
<heading>どんなネットワークカードをサポートしていますか?</heading>
<p>より完全な一覧については <htmlurl url="../handbook/install:nics.html"
name="イーサネットカード"> の節を参照してください.
カードごとの必要なドライバが一覧表になっていないので,
以下の不完全な一覧でまとめてみます.
<descrip>
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?de(4)"
name="de"> driver/
DEC DC21x40 およびそれらと互換性のある PCI コントローラ<newline>
(21140 100bT カードを含みます) <newline>
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ed(4)"
name="ed"> driver/
NE2000 および 1000<newline>
WD/SMC 8003, 8013 および Elite Ultra (8216)<newline>
3Com 3c503 <newline>
HP 27247B および 27252A <newline>
および 上に挙げたもののクローン <newline>
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?le(4)"
name="le"> driver/
DEC EtherWORKS II および EtherWORKS III コントローラ. <newline>
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ie(4)"
name="ie"> driver/
AT&amp;T EN100/StarLAN 10 <newline>
3COM 3c507 Etherlink 16/TP<newline>
NI5210 <newline>
Intel EtherExpress <newline>
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?is(4)"
name="is"> driver/
Isolan AT 4141-0 <newline>
Isolink 4110 <newline>
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?el(4)"
name="el"> driver/
3com 3c501 (Multicast や DMA はサポートされていません)
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?eg(4)"
name="eg"> driver/
3com 3c505 Etherlink/+
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ze(4)"
name="ze"> driver/
IBM PCMCIA クレジットカードアダプタ
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?lnc(4)"
name="lnc"> drive/
Lance/PCnet カード (Isolan, Novell NE2100, NE32-VL)(*)
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ep(4)"
name="ep"> driver/
3com 3c509 (カードの PNP サポートを無効化しなければなりません)
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?cx(4)"
name="cx"> driver/
Cronyx/Sigma multiport Sync/Async (Cisco および PPP framing)
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?zp(4)"
name="zp"> driver/
3Com PCMCIA Etherlink III (通称 3c589) (A-C のみ)
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fea(4)"
name="fea"> driver/
DEC DEFEA EISA FDDI コントローラ
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fpa(4)"
name="fpa"> driver/
DEC DEFPA PCI FDDI コントローラ
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fe(4)"
name="fe"> driver/
Fujitsu MB86960A/MB86965A Ethernet カード
</descrip>
<p><bf/注/ (*) の印のついたドライバは問題があることが知られています.
<p><bf/注/ 3C598D はまだサポートされて「いません」.
<p><bf/注/ PLIP (パラレルライン IP) もサポートしています.
現時点では別のバージョンのものについては互換性を持っていませんが,
近い将来直していこうと考えています. lp(4) のマニュアルページの説明を
参照してください.
<p><bf/注/ これらのカードの中には コンフィグレーションソフトウェアを使用するために
ハードディスク上に DOS パーティションを作成する必要のあるものがあります.
ソフトウェアによって構成されたカードの場合は, 製造元が供給するドライバを使う
別の OS で実行させる前に, ハードリセットをおこなう必要があるかもしれません.
完全な電源再投入まで必要な場合もあります.
<sect1>
<heading>数値演算コプロセッサを持っていません - 何かまずいでしょうか? </heading>
<p><tt /注意/ これらは 386/486SX/486SLC を持っている場合に影響します
- ほかのマシンでは CPU に内蔵されています.
<p>一般にこれらは問題とはなりません. しかし, 数値演算エミュレーションコードの
パフォーマンスか正確さのいずれかを選択する状況があります.
(<ref id="emul" name="FP エミュレーション"> についての節をご覧ください).
とくに, X 上で弧を描く際にとても遅くなることでしょう.
数値演算コプロセッサを購入されることを強くおすすめします.
とても役立つことでしょう.
<p><bf/注/ 他の数値演算コプロセッサよりも優れたコプロセッサもあります.
これは言いにくいことなのですが, Intel を買うために躍起になる人もいないでしょう.
それが FreeBSD 上で動くという確信がないのなら, クローンにご用心を.
<sect1>
<heading>2.x で, 他にどのドライバがサポートされていますか?</heading>
<p>以下に示すものは上記に属さないドライバのリストです.
<descrip>
<tag><tt/b004.c/</tag>
B004 互換の Transputer ボード用ドライバ <newline>
<tag>``ctx'' driver</tag>
CORTEX-I Frame grabber 用ドライバ <newline>
<tag>``gp'' driver</tag>
National Instruments AT-GPIB および<newline>
AT-GPIB/TNT board 用ドライバ
<tag>``pca'' driver</tag>
PC スピーカからオーディオファイルを演奏させるためのドライバ
<tag>``spigot'' driver</tag>
Creative Labs の Video Spigot 用ドライバ
<tag><htmlurl url="http://www.freebsd.org/cgi/man.cgi?gsc(4)"
name="gsc"> driver</tag>
Genuis GS-4500 ハンドスキャナ用ドライバ
<tag><htmlurl url="http://www.freebsd.org/cgi/man.cgi?joy(4)"
name="joy"> driver</tag>
ジョイスティック用ドライバ
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?labpc(4)"
name="labpc"> driver/
National Instrument's Lab-PC および Lab-PC+ 用ドライバ
<tag/``uart'' driver/
MIDI 用スタンドアロン 6850 UART
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?psm(4)"
name="psm"> driver/
PS/2 マウスポート
<tag><tt/tw.c/</tag>
X-10 POWERHOUSE 用ドライバ <newline>
</descrip>
<!--
<sect1>
<heading>I am about to buy a new machine. What do you recommend?</heading>
<p>See the <url url="../handbook/hw.html" name="hardware section">
of the handbook for general tips if you're going to build it
yourself, otherwise see the
FreeBSD <url url="http://www.freebsd.org/commercial/hardware.html"
name="Hardware vendors"> page for various companies who offer
FreeBSD compatible systems.
-->
<sect1>
<heading>パワーマネージメント機能付きのラップトップ PC を持っています. </heading>
<p>FreeBSD は一部のマシンの APM をサポートしています.
<tt/LINT/ カーネルコンフィグファイル の
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?apm" name="APM">
の部分をご覧ください.
</sect>

@ -1,476 +0,0 @@
<!-- $Id: install.sgml,v 1.1.1.1 1997-11-17 15:48:59 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.1 -->
<sect>
<heading>インストール<label id="install"></heading>
<p><em>訳: &a.iwasaki; <newline>&a.murata; .<newline>8 November 1997.</em>
<sect1>
<heading>
FreeBSD を入手するにはどのファイルをダウンロードすればいいですか?
</heading>
<p>通常は <em>floppies/boot.flp</em> というファイルの
フロッピーディスクイメージが一つだけ必要になります. 1.44MB の
フロッピーディスクに書き込み, そこからブートしてその他のファイル群を
ダウンロードします (インストールプログラムが TCP/IP 接続, テープ, CD-ROM,
フロッピーディスク, DOS パーティションなど, インストールに必要なもの
すべてに関する処理を担当します).
<p>この手続きの完全な説明と, 一般的なインストール時の問題については
<url url="../handbook/install.html" name="ハンドブックのインストールの節">
を参照してください.
<sect1>
<heading>FreeBSD のインストールについての説明書はどこにありますか?</heading>
<p>インストールの説明書は次のところにあります.
<url url="../handbook/install.html"
name="ハンドブックの「FreeBSD のインストール」の章">
<sect1>
<heading>FreeBSD を動作させるには何が必要ですか?</heading>
<p>386 以上の PC, 5MB 以上の RAM, そして最低 60MB の
ハードディスク容量が必要となります. ローエンドの MDA カード
でも動作しますが, X11R6 を使うには VGA かそれ以上のビデオカード
が必要となります.
<p><ref id="hardware" name="ハードウェアコンパチビリティ">
の節も併せてご覧ください.
<sect1>
<heading>4 MB しかメモリがないのですが, インストールできますか?</heading>
<p>4MB のシステムにインストールできた FreeBSD の最新版は
FreeBSD 2.1.7 でした. 2.2 のように, 2.2 などのより新しいバージョンの
FreeBSD は新規のインストールに最低 5MB は必要になります.
<p>インストールプログラムが 4MB では動作しないだけで, 3.0 を含む
FreeBSD のすべてのバージョンは 4MB の RAM で動作可能です.
インストールする時だけさらに 4MB 追加しておき, システムが
セットアップされて動作するようになった後に, また 4MBを取り出して
もとに戻すこともできます. あるいは 4MB より多くメモリを搭載
したシステムにディスクを持っていき, そのマシンでインストール
した後にディスクを戻すこともできます.
<p>また, FreeBSD 2.1.7 でも 4MB ではインストールできない場合も
あります. 正確には, 640KB のベースメモリ + 3MB の拡張メモリ
ではインストールはできません. もしマシンのマザーボードが
640KB から 1MB の領域で「失われた」メモリを再マップできる
場合は, FreeBSD 2.1.7 をインストールできるかもしれません.
<p>BIOS のセットアップ画面で, `remap' のオプションを探して
有効 (Enable) にしてみてください. また, ROM shadowing を無効
(Disable) にしておかなくてはなりません.
<p>簡単なやり方としては, インストールする時だけあと 4MB 追加
しておく方法があります. 必要なオプションだけを選択して
カスタムカーネルを構築し, また 4MB を取り出してもとに戻せば
いいのです.
<p>また, 2.0.5 をインストールして, それから 2.1.7 のインストーラ
の ``upgrade'' オプションでシステムを 2.1.7 へアップグレード
するというやり方もあります.
<p>インストールしたあとでカスタムカーネルの構築をした場合, 4MB
でも動作します. 2MBでブートに成功した人もいます. (でもその
システムはほとんど使いものになりませんでした :-))
<sect1>
<heading>
自分用のインストールフロッピーを作るには?
</heading>
<p>現在はカスタムインストールフロッピーディスク「だけ」を作る方法はありません.
カスタムインストールフロッピーディスクイメージを含む, release 環境全体を
新たに作る必要があります. <tt>/usr/src/release/floppies/Makefile</tt>
にあるコードでフロッピーディスクイメージ「だけ」を作れるはずですが,
まだ完全なものにはなっていません.
<p>カスタムの release 環境をつくるには<ref id="custrel" name="ここ">
の指示にしたがってください.
<sect1>
<heading>自分の PC に複数のオペレーティングシステムを入れるには?</heading>
<p><url url="../tutorials/multios/multios.html"
name="multi-OS のページ"> をご覧ください.
<sect1>
<heading>同じマシンで Windows 95 と共存できますか?</heading>
<p>まず Windows 95 をインストールして, そのあとで FreeBSD を
インストールしてください. FreeBSD のブートマネージャが Win95
と FreeBSD のブート管理をしてくれるようになります.
Windows 95 を後にインストールした場合はひどいことに,
問い合わせることもなくブートマネージャを上書きしてしまいます.
そうなってしまった場合は次の節をご覧ください.
<sect1>
<heading>
Windows 95 がブートマネージャを潰しちゃった! どうやって戻すの?
</heading>
<p>ブートマネージャの再インストールの方法として, FreeBSD では
以下に示す二通りの方法が用意されています:
<itemize>
<item>DOS を起動し, FreeBSD の配布物の中にある tools/ ディレクトリ
へ移動し, <bf>bootinst.exe</bf> を探してみてください.
そして次のように実行してください:
<p><bf>bootinst.exe boot.bin</bf>
<p>ブートマネージャが再インストールされます.
<item>FreeBSD のブートフロッピーディスクから起動し, 「カスタム」
インストールメニューを選択し, 続いて「パーティション」を
選択します. ブートマネージャがインストールされていたドライブ
(多分最初のもの) を選択し, パーティションエディタにたどり着いたら,
(何も変更せず) そのまま (W)rite を指定します. 確認のメッセージ
が出ますので「はい」と答え, ブートマネージャ選択の画面で確実に
"Boot Manager" を選択します.
これでブートマネージャがディスクに再び書き込まれます.
インストールメニューから抜けてリブートするとハードディスクは
元通りになります.
</itemize>
<sect1>
<heading>不良ブロックのあるディスクにインストールできますか?</heading>
<p>FreeBSD の不良ブロックの扱い (<htmlurl
url="http://www.freebsd.org/cgi/man.cgi?bad144" name="bad144">
コマンド) は,
(ひいき目に見ても) 100&percnt; 完全ではなく, 残念ながら
多数の不良ブロックのある IDE や ESDI ドライブは FreeBSD
では使用できないと言わざるをえません! でも, 非常に多くの IDE
ベースのシステムで動作しているようですので, 簡単にあきらめて
しまう前にとりあえず試してみましょう.
<p>不良ブロックのある SCSI ドライブの場合は,
<ref id="awre" name="この回答"> を参照してください.
<sect1>
<heading>インストーラからブートしたら変なことになりました!</heading>
<p>インストーラからブートしようとしたときに, マシンが固まってし
まうとか自然とリブートしてしまうといった現象であれば,
次の三つの項目を確認してください:-
<enum>
<item>新品の, フォーマットしたての, エラーフリーの
フロッピーディスクを使っていますか? (三年間もベッドの下に
放置されていた雑誌の付録みたいなやつではなくて,
買ってきたばかりの新品が好ましいですね)
<item>フロッピーイメージをバイナリモードでダウンロード
しましたか? (困った顔をしないでください. 私たちの中
で一番優秀な人でさえ, 少なくとも一回はバイナリファイルを
ASCII モードで思いがけずダウンロードしたことがあるのです!)
<item>Windows95 や Windows NT のような最近ご流行の
オペレーティングシステムを使用している場合, システムを
シャットダウンしてありのままの本物の DOS を再起動
しましたか? これらの OS は, ディスク作成プログラム
のようなハードウェアに直接書き込みをおこなうプログラムに
干渉できます: GUI の中の DOS シェル内部で動作している
場合でも, この問題は発生します.
</enum>
<p>また, Netscape でブートイメージをダウンロードする場合も問題
があることが報告されていますので, できれば別の FTP クライアント
を使うのがよいでしょう.
<sect1>
<heading>あれ! テープからインストールできません!</heading>
<p>2.1.7R をテープからインストールする場合, tar ブロックサイズ
を 10 (5120 バイト) にしたテープを作る必要があります.
デフォルト の tar ブロックサイズは 20 (10240 バイト) で,
このデフォルトサイズで作られたテープでは 2.1.7R を
インストールすることはできません. もしこうしたテープを使うと,
レコードサイズが大き過ぎるというエラーが起きることになります.
<sect1>
<heading>
ラップトップ PC に PLIP (パラレルライン IP) 経由でインストールできますか?
</heading>
<p>次のようにして二つのコンピュータを Laplink パラレルケーブル
を通して接続してください:
<verb>
+----------------------------------------+
|A-name A-End B-End Descr. Port/Bit |
+----------------------------------------+
|DATA0 2 15 Data 0/0x01 |
|-ERROR 15 2 1/0x08 |
+----------------------------------------+
|DATA1 3 13 Data 0/0x02 |
|+SLCT 13 3 1/0x10 |
+----------------------------------------+
|DATA2 4 12 Data 0/0x04 |
|+PE 12 4 1/0x20 |
+----------------------------------------+
|DATA3 5 10 Strobe 0/0x08 |
|-ACK 10 5 1/0x40 |
+----------------------------------------+
|DATA4 6 11 Data 0/0x10 |
|BUSY 11 6 1/0x80 |
+----------------------------------------+
|GND 18-25 18-25 GND - |
+----------------------------------------+
</verb>
<p>また, <ref id="pao" name="この"> Mobile Computing についての
ページもご覧ください.
<sect1>
<heading>
ハードディスクドライブには, どのジオメトリを使うべきでしょうか?
<label id="geometry">
</heading>
<p>(ここでディスクの「ジオメトリ」とは, ディスクのシリンダ,
ヘッダ, トラック当りのセクタの数を意味しています - 便宜上,
C/H/S とすることにします. これはディスクのどの領域で読み書きを
おこなうかを PC の BIOS が決定する手段となります.)
<p>これについてはある理由のために, 誤解されている点が多いようです.
まず最初に, FreeBSD はディスクブロックで動作しているため,
SCSI ドライブの<tt /物理的/なジオメトリという言い方は,
まったく見当違いのものです. 事実, セクタの密度はディスク
によってまちまちであるため, 物理的なジオメトリというものは
存在しません - 製造者が「本当の」物理的なジオメトリと公表
しているものは通常, 彼らが検査して得た最小の使用不可容量の
結果のジオメトリのことです. IDE の場合は, FreeBSD は C/H/S
で動作しますが, 最近のドライブすべては同様にこれを内部で参照
するブロックに変換しています.
<p>すべての問題は<tt /論理的な/ジオメトリです - これは BIOS が
そのディスクのジオメトリについて調べた際に取得されるものであり,
その後のディスクへのアクセスに使用します. FreeBSD はブート時に
BIOS を使用するため, これを正しく取得することは非常に重要な
ことなのです. 実際に, ディスク上に複数のオペレーティング
システムがある場合は, ジオメトリはどこからでも同じように解釈
される必要があり, さもないとブートの際に深刻な問題になります.
<p>SCSI ディスクでは, 使用するジオメトリはコントローラの拡張 BIOS
トランスレーションが有効になっているかどうかによります (``&gt;1GB の
DOS ディスクドライブのサポート'' とも呼ばれます).
無効になっている場合, N シリンダ, 64 ヘッド, 32 セクタ/トラック
を使用しますが, ここで `N' は MB 単位のディスク容量です.
例えば, 2GB ディスクは見かけ上 2048 シリンダ, 64 ヘッド,
32 セクタ/トラックとなります.
<p>それが「有効」になっており (MS-DOS ではこの方法で, ある制限
を回避する場合もあります), ディスク容量が 1GB を越える場合は,
M シリンダ, 63 ヘッド (64 「ではなく」), 255 セクタ/トラック
を使用します. `M' は MB 単位のディスク容量を 7.844238 (!)
で割った値となります. ということで, 2GB ディスクの例では,
261 シリンダ, 63 ヘッド, 255 セクタ/トラックとなります.
(訳注: 以上は Adaptec 社と NCR 社製の SCSI アダプタの場合です.
SCSI アダプタによって変換の数値が変わってくるのでマニュアルを
参照してください.)
<p>これについてよく分からない場合や FreeBSD がインストール中に
正しくジオメトリを取得できない場合, これを回避するもっとも
簡単な方法はディスクに小さな DOS パーティションを作ることです.
そうすると正しいジオメトリが取得されるはずです (そして,
残しておきたくないとかネットワークカードのプログラミング用に
使いたい場合などには, いつでもパーティションエディタで DOS
パーティションを削除することができます).
<p>もう一つの方法として, FreeBSDと一緒にに配布されているフリー
で使えるユーティリティに ``<tt/pfdisk/''(FreeBSD CD-ROM の
<tt>tools</tt>ディレクトリかいろいろな FTP サイトにあります)
と呼ばれるものがあり, ディスク上の他のオペレーティングシステム
が使用しているジオメトリを調べるのに役立ちます. そして, この
ジオメトリ情報をパーティションエディタに入力することができます.
<sect1>
<heading>ディスクの分割の仕方で何か制限はありますか?</heading>
<p>はい. BIOS がカーネルをブートできるようにルートパーティションが
1024 シリンダ以内にあることを確認する必要があります
(これは FreeBSD ではなく PC の BIOS の制限です).
<p>SCSI ドライブでは, 通常はルートパーティションが最初の 1024MB
に収まっていることが前提となります (または拡張 BIOS トランスレーション
が有効になっている場合は最初の 4096MB - 他の質問をご覧ください).
IDE でそれに相当する値は 504MB となります.
(訳注: E-IDE 対応の BIOS 搭載マシンの場合は IDE の 504MB という
制限はありません.)
<sect1>
<heading>
大容量ディスクを持っていますが, ディスクマネージャは使えますか?
</heading>
<p>FreeBSD は Ontrack Disk Manager を認識し, これを考慮にいれます.
他のディスクマネージャはサポートしません.
<p>ディスク全体を FreeBSD で使いたい場合は, ディスクマネージャ
は必要ありません. BIOS が扱える容量いっぱいで (通常は 504MB)
ディスクの設定をおこなうと, FreeBSD は実際の容量を算出する
はずです. MFM コントローラ付きの古いディスクを使っている場合は,
FreeBSD に使用するシリンダ数を詳細に指定する必要があります.
<p>FreeBSD と他のオペレーティングシステムが入っているディスクを
使用したい場合は, ディスクマネージャなしでもできるでしょう:
FreeBSD のブートパーティションと他のオペレーティングシステム
用のスライスが最初の 1024 シリンダ内に収まっている事を確認
するだけです. 気になる方は, ブートパーティションを 20 メガバイト
ぐらいにして大きめにするととよいでしょう.
<sect1>
<heading>
FreeBSD のブート時に ``Missing Operationg System'' と表示されます
<label id="missing_os">
</heading>
<p>これは FreeBSD や DOS, そのほかの OS がディスク領域
<ref id="geometry" name="ジオメトリ"> のとらえ方で衝突
しあっていることから起こる典型的な例です. こうなったら
FreeBSD をインストールし直す以外にはありませんが,
他のところで説明した手順にしたがってやれば,
ほぼ間違いなくうまくいくはずです.
<sect1>
<heading>ブートマネージャの `F?' プロンプトが表示されません. </heading>
<p>これはすでに前に質問されている問題のもう一つの症状です. BIOS
のジオメトリと FreeBSD のジオメトリ設定が一致していないのです!
コントローラや BIOS がシリンダの変換 (``&gt;1GB ドライブの
サポート'' とも呼ばれます) をサポートしていたら,
その設定を無効化して FreeBSD をインストールし直してみてください.
<sect1>
<heading>
16MB を越えるメモリを搭載していますが, 何か問題が起こりますか?
<label id="bigram">
</heading>
<p>性能問題以外は無しです. FreeBSD 2.X は bounce-buffer をサポートしており,
バスマスタリングコントローラは 16MB より上のメモリ領域に
アクセスできます. (ISA デバイスを使用している場合のみ必要
となりますが, 一部の EISA と VLB デバイスでも必要な場合
があります.)
<p>また, もっと多くのメモリを搭載している場合, Compaq や利用可能な
メモリサイズを正しく報告しない他の BIOS を使用している場合は,
<ref id="reallybigram" name="&gt;64M マシン"> の節をご覧ください.
<sect1>
<heading>ソースを全部インストールする必要はありますか?</heading>
<p>一般的には「いいえ」です. しかし最低でも, ``<tt/base/''
ソースキット (これにはこの FAQ で述べられているファイルの
いくつかが含まれています) と, ``<tt/sys/'' (kernel) ソースキット
(これにはカーネルのソースが含まれています) をインストール
する事を強くおすすめします. 通常, 何かの実行にソースが必要
になる事はありません. しかし, カーネルをコンフィグレーション
するためのプログラム <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?config" name="config">
を実行する時は例外です.
カーネルのソースをインストールしなくてもよい例として, どこか
別の場所からカーネルのソースを読み込み専用で NFS マウントする
事ができ, またそこから新しいバイナリを作成できるようになって
います. (カーネルソースの制限があるので, 直接 /usr/src を
マウントする事はおすすめできません. それよりもどこか別の
ディレクトリにマウントして, ソースツリーの複製ができるように
適切にシンボリックリンクを張ってください.)
<p>ソースをネットワーク上に持ち, そこからシステムをビルド
するようにしておけば, FreeBSD の将来のリリースへのアップグレード
がずっと簡単になります.
<p>実際にソースのサブセットを選択するには, システムインストール
ツールの「配布ファイル」メニューにある「カスタム」メニュー
を使用します. また, <tt>src/install.sh</tt> スクリプトでも
与える引数によってソース配布ファイルの一部分をインストールできます.
<sect1>
<heading>カーネルは作り直さなくちゃならないんですか?</heading>
<p>カーネルを新しく作り直すのは元々 FreeBSD のインストール時に
どうしても必要なことでした. でも最近のリリースでは, とても
ユーザフレンドリなカーネル設定ツールの恩恵を受けています.
FreeBSD のブートプロンプト (boot:) で "-c" と打てば
ビジュアルな設定画面になり, ほとんどの一般的な ISA カードに
ついてのカーネルの設定をすることができるのです.
<p>今でも, 必要なデバイスドライバだけを組み込んだカーネルを
作ることはよい事とされています. ほんのちょっとだけメモリを
節約できますからね. でもほとんどのシステムでは, もはや
どうしてもやらなくちゃならないことではないのです.
<sect1>
<heading>
アメリカ合衆国国外に住んでいますが, DES 暗号化ソフトウェアは使えますか?
</heading>
<p>DES スタイルの暗号化コードの使用が絶対避けられないものでない
場合は, <bf/よりよいセキュリティ/で輸出規制のない FreeBSD の
デフォルトの暗号化コードが使用できます. FreeBSD 2.0 ではパスワードの
デフォルトのスクランブラは <bf/MD5/ ベースになっています.
これは, パスワード破りのプログラムに対して DES よりも CPU
パワーを要求し, またより長いパスワードを使うことできます.
いまどき <bf/MD5/ ベースの crypt を使用しない理由があるとすれば,
それは FreeBSD とそれ以外のシステムで同じ password エントリを
使用しているぐらいのもんでしょう.
<p>DES 暗号化アルゴリズムを合法的に合衆国国外に持ち出す事
ができないため, 合衆国国外のユーザは合衆国の FTP サイト
から該当するソフトウェア (<tt/secrdist/ の部分) を
持ち出してはいけません.
<p>しかし, これに代わる libcrypt が, オーストラリアの David
Burren によって書かれたソースをベースに作られています.
これは合衆国国外のいくつかの FTP ミラーサイトで公開されています.
この制限の課せられていない libcrypt のソースと, それを
使ったプログラムのバイナリは, 以下の FTP サイトから入手する
事ができます:
<descrip>
<tag/南アフリカ/
<tt>ftp://ftp.internat.freebsd.org/pub/FreeBSD</tt><newline>
<tt>ftp://storm.sea.uct.ac.za/pub/FreeBSD</tt>
<tag/ブラジル/
<tt>ftp://ftp.iqm.unicamp.br/pub/FreeBSD</tt>
<tag/フィンランド/
<tt>ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</tt>
訳注: 日本国内では以下のサイトにあります.
<tag/日本/
<tt>ftp://jaz.jp.freebsd.org/pub/FreeBSD-internat</tt>
</descrip>
<p>この合衆国国外向けの <tt/securdist/ は, 合衆国国内向けの
<tt/securedist/ をちょうど置き換えるように使う事ができます.
この <tt/securedist/ は合衆国国内版のパッケージと同じ方法で
インストールできます (詳しい方法はインストールノートを
ご覧ください). DES 暗号化コードをインストールしたい場合は,
他のアプリケーションをインストールする前に, なるべく早い段階で
インストールしておく必要があります.
<p>合衆国国外のユーザは, お願いですからいかなる暗号化ソフトウェア
も合衆国内からダウンロードしないでください. ダウンロードされた
サイトの管理者は, 法律的にとても難しく困難な立場に立たされる
事になります.
<p>合衆国以外向けの Kerberos も開発されつつあります. 現在の
バージョンは anonymous FTP で <tt>braae.ru.ac.za</tt> から
入手できます.
<p>また, 合衆国国外向けの暗号化ソフトウェアに関する議論のための
<ref id="mailing" name="メーリングリスト">もあります.
より詳しい情報については, メールの本文に ``<tt/help/'' とだけ書いて
<tt>&lt;majordomo@braae.ru.ac.za&gt;</tt> まで送ってください.
</sect>

@ -1,78 +0,0 @@
<!-- $Id: jcontrib.sgml,v 1.1.1.1 1997-11-17 15:48:59 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<sect>
<heading>FreeBSD FAQ 日本語化について<label id="jcontrib"></heading>
<p>FreeBSD 日本語ドキュメンテーションプロジェクトは, FreeBSD 関係の日本語
ドキュメントが少ないことを嘆いた数人の FreeBSD ユーザの提唱によって
1996年2月26日にスタートし, FreeBSD 日本語ハンドブックの作成をはじめとした
活動をおこなってきました.
FreeBSD FAQ の日本語化については, オリジナルの翻訳作業だけでなく
日本国内に固有の話題についても広く情報を集め, 日本の FreeBSD ユーザにとって
真に有益なドキュメントを提供しようと考えています.
オリジナルの FAQ は日毎に更新されており, 私たちもまた
これに追い付くために作業を続けていきます. もちろん, 新しいメンバも大歓迎です.
日本語翻訳版について, 何かお気づきの点がありましたら, &a.doc-jp;
までご連絡ください.
また, もし私たちの作業を手伝ってくれるなら,
<url url="http://www.jp.FreeBSD.ORG/~hanai/doc-jp/"
name="FreeBSD 日本語ドキュメンテーションプロジェクトのページ">
をご覧の上, 是非参加してください.
<sect1>
<heading>翻訳者 (五十音順) </heading>
<p>
<itemize>
<item>&a.arimura
<item>&a.ryo
<item>&a.iwasaki
<item>&a.yoshiaki
<item>&a.kuriyama
<item>&a.koga
<item>&a.motoyuki
<item>&a.nakai
<item>&a.nishika
<item>&a.hanai
<item>&a.kiroh
<item>&a.shou
<item>&a.murata
<item>&a.junkun
</itemize>
<sect1>
<heading>査読者 (五十音順) </heading>
<p>
<itemize>
<item>&a.asami
<item>&a.iwasaki
<item>&a.yoshiaki
<item>&a.ohashi
<item>&a.kuriyama
<item>&a.motoyuki
<item>&a.saeki
<item>&a.hanai
<item>&a.nao
<item>&a.kiroh
<item>&a.hino
<item>&a.shiyama
<item>&a.shou
<item>&a.murata
<item>&a.earth
</itemize>
<sect1>
<heading>作業環境整備 (五十音順) </heading>
<p>
<itemize>
<item>&a.ryo
<item>&a.iwasaki
<item>&a.simokawa
<item>&a.hideyuki
</itemize>
</sect>

@ -1,103 +0,0 @@
<!-- $Id: jmembers.sgml,v 1.1.1.1 1997-11-17 15:48:59 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!--
翻訳者及び査読者などの名前及び電子メールアドレス
-->
<!ENTITY a.doc-jp "FreeBSD 日本語ドキュメンテーションプロジェクト
<tt><htmlurl url='mailto:doc-jp@jp.FreeBSD.ORG'
name='&lt;doc-jp@jp.FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.asami "浅見 賢
<tt><htmlurl url='mailto:asami@FreeBSD.ORG'
name='&lt;asami@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.nakai "中井 幸博
<tt><htmlurl url='mailto:nakai@mlab.t.u-tokyo.ac.jp'
name='&lt;nakai@mlab.t.u-tokyo.ac.jp&gt;'></tt>">
<!ENTITY a.koga "こがよういちろう
<tt><htmlurl url='mailto:y-koga@ccs.mt.nec.co.jp'
name='&lt;y-koga@ccs.mt.nec.co.jp&gt;'></tt>">
<!ENTITY a.iwasaki "岩崎 満
<tt><htmlurl url='mailto:iwasaki@jp.FreeBSD.org'
name='&lt;iwasaki@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.saeki "佐伯 隆司
<tt><htmlurl url='mailto:saeki@jp.FreeBSD.org'
name='&lt;saeki@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.kiroh "はらだ きろう
<tt><htmlurl url='mailto:kiroh@kh.rim.or.jp'
name='&lt;kiroh@kh.rim.or.jp&gt;'></tt>">
<!ENTITY a.hino "日野 浩志
<tt><htmlurl url='mailto:hino@ccm.cl.nec.co.jp'
name='&lt;hino@ccm.cl.nec.co.jp&gt;'></tt>">
<!ENTITY a.yoshiaki "内川 喜章
<tt><htmlurl url='mailto:yoshiaki@kt.rim.or.jp'
name='&lt;yoshiaki@kt.rim.or.jp&gt;'></tt>">
<!ENTITY a.arimura "有村 光晴
<tt><htmlurl url='mailto:arimura@jp.FreeBSD.org'
name='&lt;arimura@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.hanai "花井 浩之
<tt><htmlurl url='mailto:hanai@jp.FreeBSD.org'
name='&lt;hanai@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.simokawa "下川 英敏
<tt><htmlurl url='mailto:simokawa@jp.FreeBSD.org'
name='&lt;simokawa@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.nao "浜田 直樹
<tt><htmlurl url='mailto:nao@tom-yam.or.jp'
name='&lt;nao@tom-yam.or.jp&gt;'></tt>">
<!ENTITY a.junkun "山下 淳
<tt><htmlurl url='mailto:junkun@esys.tsukuba.ac.jp'
name='&lt;junkun@esys.tsukuba.ac.jp&gt;'></tt>">
<!ENTITY a.nishika "にしか
<tt><htmlurl url='mailto:nishika@cheerful.com'
name='&lt;nishika@cheerful.com&gt;'></tt>">
<!ENTITY a.ryo "一宮 亮
<tt><htmlurl url='mailto:ryo@azusa.shinshu-u.ac.jp'
name='&lt;ryo@azusa.shinshu-u.ac.jp&gt;'></tt>">
<!ENTITY a.murata "むらたしゅういちろう
<tt><htmlurl url='mailto:mrt@mickey.ai.kyutech.ac.jp'
name='&lt;mrt@mickey.ai.kyutech.ac.jp&gt;'></tt>">
<!ENTITY a.shou "広瀬 昌一
<tt><htmlurl url='mailto:shou@kt.rim.or.jp'
name='&lt;shou@kt.rim.or.jp&gt;'></tt>">
<!ENTITY a.kuriyama "くりやま
<tt><htmlurl url='mailto:kuriyama@opt.phys.waseda.ac.jp'
name='&lt;kuriyama@opt.phys.waseda.ac.jp&gt;'></tt>">
<!ENTITY a.motoyuki "今野 元之
<tt><htmlurl url='mailto:motoyuki@jp.FreeBSD.ORG'
name='&lt;motoyuki@jp.FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.earth "若井 久史
<tt><htmlurl url='mailto:earth@hokuto7.or.jp'
name='&lt;earth@hokuto7.or.jp&gt;'></tt>">
<!ENTITY a.ohashi "大橋 健
<tt><htmlurl url='mailto:ohashi@mickey.ai.kyutech.ac.jp'
name='&lt;ohashi@mickey.ai.kyutech.ac.jp&gt;'></tt>">
<!ENTITY a.shiyama "檜山 卓
<tt><htmlurl url='mailto:shiyama@intercity.or.jp'
name='&lt;shiyama@intercity.or.jp&gt;'></tt>">
<!ENTITY a.hideyuki "鈴木 秀幸
<tt><htmlurl url='mailto:hideyuki@jp.FreeBSD.org'
name='&lt;hideyuki@jp.FreeBSD.org&gt;'></tt>">

@ -1,163 +0,0 @@
<!-- $Id: kernelconfig.sgml,v 1.1.1.1 1997-11-17 15:48:59 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.1 -->
<sect>
<heading>カーネルコンフィグレーション<label id="kernelconfig"></heading>
<p><em>訳: &a.kiroh;.<newline>10 November 1997.</em>
<sect1>
<heading>
カーネルをカスタマイズしたいんですが, 難しいですか?
<label id="make-kernel">
</heading>
<p>全然難しくありません. 最低 <tt/kerndist/ がシステムに
インストールされていることが必要です. もちろん完全な
<tt/srcdist/ をインストールしてあっても構いません. <tt/kerndist/
がインストールしてあれば, カーネルを構築するのに必要なソースは
すべて揃っています. 多くの商用 UNIX ベンダとは違い,
バイナリオブジェクトでのカーネルは提供して<bf/いません/.
<p>ソースコードで提供すると多少ディスクスペースを多く消費します.
しかし, 何か問題があった場合や, 動作を確認したい場合など,
<bf/実際に/カーネルのソースを参照できます.
<p><tt/kerndist/ または <tt/srcdist/ がインストールされたら,
root で以下の操作をおこなってください.
<enum>
<item> <tt>cd /usr/src/sys/i386/conf</tt>
<item> <tt/cp GENERIC MYKERNEL/
<item> <tt/vi MYKERNEL/
<item> <tt/config MYKERNEL/
<item> <tt>cd ../../compile/MYKERNEL</tt>
<item> <tt/make depend/
<item> <tt/make all/
<item> <tt/make install/
<item> <tt/reboot/
</enum>
<p>以前のリリース (FreeBSD 2.X) でのカーネルコンフィグファイルが
既にある場合は, ステップ 2 は必要ないかもしれません.
以前のファイルをコピーして, 書式が変更されてたり,
廃止されたドライバがないか, 注意深く確認してください.
<p>カーネルコンフィグファイル <tt/LINT/ には,
すべての利用可能なカーネルオプションが適切な説明とともに
含まれており, 大変参考になります.
<p><tt/GENERIC/ カーネルコンフィグファイル は, 最も一般的と
思われる構成が含まれいます. (アップグレードを行っていない限り)
あなたが最初に使ったカーネルは, おそらくこのファイルにより
構築されたものです. カーネルコンフィグファイルを書く場合,
このファイルを出発点にするとよいでしょう.
<p><tt/GENERIC/ に変更する必要がない場合は, ステップ 3
も省略できます. このステップでは, カーネルを必要な構成に
カスタマイズします. ステップ 8 は, ステップ 6 と 7 が
うまく完了してから実行してください. ステップ 8 では,
新しいカーネルイメージが <tt>/kernel</tt> にコピーされ,
古い <tt>/kernel</tt> は, <tt>/kernel.old</tt> に
<bf/バックアップ/されます! 新しいカーネルがうまく動作しなかった
場合, ブートプロンプトから指定して<tt>/kernel.old</tt> から
ブートすることも可能ですので, 必ず覚えておいてください.
リブートすると, デフォルトでは新しいカーネルでブートします.
<p>何らかの理由でステップ 7 のコンパイルが失敗したら, ステップ 4
にもどって, <tt/MYKERNEL/ の代わりに <tt/GENERIC/ で試してみて
ください. <tt/GENERIC/ でうまくカーネルが生成できた場合は,
コンフィグファイルがどこか間違っているのでしょう (バグ発見!
の可能性もありますが). <tt/GENERIC/ カーネルの生成にも失敗した
場合は, おそらくソースコードが壊れています.
<p>最後になりますが, 新しいカーネルが使用しているハードウェアに
うまく適合しているかどうか調べるために元のブートメッセージを
調べる必要がある場合は, <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?dmesg" name="dmesg">
コマンドを使ってみてください. このコマンドは, 古いカーネルの
ブート時のメッセージをすべて表示します. メッセージの中には,
新しいカーネルを設定するのに, 非常に有用な情報が含まれます.
<p><bf/注:/ うまく動作するカーネルができたら, 日付入りのカーネル
のスナップショットを <tt/kernel.YYMMDD/ のように作成することを
おすすめします. こうしておけば, 次にカーネルの構築をやってうまく
いかなくなってしまっても, <tt/kernel.GENERIC/ にわざわざ戻る
必要がなくなります. これは, GENERIC kernel でサポートされない
デバイスからブートしている場合は, 特に重要です
(経験者は語るってやつです).
<sect1>
<heading>
<tt/&lowbar;hw&lowbar;float/ が無いので, カーネルのコンパイルがうまくいきません.
</heading>
<p>推測ですけど, 数値演算コプロセッサを持ってないからと思って,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?npx(4)"
name="npx0"> をカーネルコンフィグファイルから削除しちゃったんじゃ
ないですか? <tt/npx0/ は<bf/必須/です. コプロセッサがなくても,
<tt/npx0/ デバイスは削除してはいけません.
<sect1>
<heading>マルチポートシリアル関連のコードでの, 割り込みの競合</heading>
<p><bf/Q./ マルチポートシリアルをサポートするコードを含んだ
カーネルをコンパイルしようとすると, 最初のポートだけ検出され,
残りのポートは割り込みの競合のためスキップされたと言われます.
どうやったらいいでしょうか?
<p><bf/A./ ここでの問題は, FreeBSD にはハードウェアまたは
ソフトウェアの競合によってカーネルがクラッシュするのを防ぐ
コードが含まれているという点です. 解決するには, 最初のポート
にだけ IRQ の設定を書き, 残りは IRQ の設定を削除します.
以下に例を示します.
<verb>
#
# Multiport high-speed serial line - 16550 UARTS
#
device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
</verb>
<sect1>
<heading>QIC-40/80 ドライブのサポートを有効にするには? </heading>
<p><tt/GENERIC/ コンフィグファイルの以下の行のコメントを外して
ください (もしくは使用するコンフィグファイルに追加してください).
そして <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fdc(4)"
name="fdc"> の行に, ``<tt/flags 0x1/'' を追加してください.
<verb>
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr
disk fd0 at fdc0 drive 0 ^^^^^^^^^
disk fd1 at fdc0 drive 1
#tape ft0 at fdc0 drive 2
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
</verb>
<p>次に, <tt>/dev/ft0</tt> デバイスを作成します. <tt>/dev/</tt>
に移動して, 以下のコマンドを実行します.
<verb>
sh ./MAKEDEV ft0
</verb>
<p>これは, 1 番目のドライブの例です. 2 番目には <tt/ft1/ を使い,
以降は同様にしてください.
<p><tt>/dev/ft0</tt> デバイスは, ``<tt/ft/'' と呼ばれる特別な
コマンドを使用して書き込みをおこなえます. 詳細については
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ft" name="ft">
のマニュアルページを参照してください.
<p><tt/-current/ 以前のバージョンの <tt/ft/ には,
不良テープメディアの扱いに問題があります. <tt/ft/
がテープの同じ部分を行ったり来たりしているようであれば,
<tt/-current/ の <tt>/usr/src/sbin/ft</tt> から最新の <tt/ft/
を取得して試してみてください.
</sect>

@ -1,233 +0,0 @@
<!-- $Id: misc.sgml,v 1.1.1.1 1997-11-17 15:48:59 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.1 -->
<sect>
<heading>その他の質問<label id="misc"></heading>
<p><em>訳: &a.yoshiaki;.<newline>10 November 1997.</em>
<sect1>
<heading>
FreeBSD は Linux より多くのスワップ領域を消費するのはなぜですか?
</heading>
<p>そうではありません. 本当は「なぜスワップが全部使われてる
ように見えるのか」と聞きたいのでしょう. そういうことであれば,
その理由は, 実行プログラムのクリーンな (無変更の) ブロックを,
終了後すぐに捨ててしまわずにスワップ領域に残しておけば,
そのプログラムが再実行される際にファイルシステムから読み直すよりも
迅速に実行することができるからです.
<p>メモリ中に同時に保持する事のできるダーティページの実際の量は
減少しません. クリーンなページが必要に応じて置き換えられます.
<sect1>
<heading>
FreeBSD の実行フォーマットの a.out はどのようなものですか, a.out を使う理由, ELFを使う理由は何でしょう?
</heading>
<p>FreeBSD の <tt>a.out</tt>フォーマットを理解するためには,
まず UNIXにおいて現在 「優勢」な 3種類の実行フォーマットについて
いくらか知っておく必要があります:
<itemize>
<item><htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)"
name="a.out">
<p>最も古く 「由緒正しい」 unix オブジェクトフォーマットです.
マジックナンバを含む短くてコンパクトなヘッダが先頭にあり,
これがフォーマットの特徴とされています (参照
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)"
name="a.out(5)">
より詳細な内容があります). ロードされる 3種類のセグメント:
.text, .data, .bss と加えてシンボルテーブルと文字列テーブルを
含みます.
<item><bf>COFF</bf>
<p>SVR3 のオブジェクトフォーマットです. ヘッダは単一の
セクションテーブルから成り, .text, .data, .bss セクション以外
の部分を持つことができます. </item>
<item><bf>ELF</bf>
<p> <tt/COFF/の後継です. 複数のセクションをサポートし, 32-bit
と 64-bitのいずれの値も可能です. 大きな欠点の一つは, <tt/ELF/
はそれぞれのシステムアーキテクチャ毎に単一の ABI のみが存在する
という仮定で設計されていることです. この仮定はまったく
正しくありません. 商用の SYSV の世界でさえそうです
(少なくとも SVR4, Solaris, SCO の 3種類の ABI があります).
<p>FreeBSD はこの問題を解決するための試みとして, 既知の <tt/ELF/
実行ファイルに ABI に応じた情報を <em>書き加える</em>
ユーティリティを提供しています.
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?brandelf"
name="brandelf"> のマニュアルページ
を参照してください. より多くの情報があります.
</itemize>
<p>FreeBSD は伝統的な立場をとり, 数多くの世代の BSD のリリース
で試され, 実証されてきた
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)"
name="a.out">フォーマットを使用しています.
いつかは FreeBSDシステムでネイティブ <tt/ELF/ バイナリを作り,
実行することができるようになるかもしれませんが, オフィシャルには
ELF をデフォルトのフォーマットに変更するような動きは,
現在までありません. なぜでしょうか? ところで Linux においては,
<tt/ELF/ への苦痛をともなった変更は, その時に <tt/a.out/
実行フォーマットから逃れたというよりは, ジャンプテーブルベース
の共有ライブラリのメカニズムの柔軟性の低さからの脱却でした.
これはベンダや開発者全体にとって共有ライブラリの作成が非常に
難しかった原因でした.
<tt/ELF/のツールには共有ライブラリの問題を
解決することができるものが提供されており, またいずれにせよ
一般的に「進歩」していると考えられます. このため移行のコストは
必要なものとして容認され, 移行はおこなわれました.
<p>FreeBSDの場合は, 共有ライブラリのメカニズムは Sun の
<tt>SunOS</tt>スタイルの共有ライブラリのメカニズムに極めて近い
ものになっていて非常に使いやすいためにこれほど話は単純では
ありません. 実際に <tt/a.out/ に不足しているのは, <tt/ELF/
では C++ のコンストラクタとデストラクタのためのよりすっきりとした
サポートがあるという点だけです. 同じ程度に複雑なことがらは
他にもいろいろありますし, これが大きな問題となったことは絶対に
ありません (FreeBSDのソースツリーにある C++ のコードは本当に
わずかな量しかありません). 移行をおこなうのであれば,
いろいろな面からよりじっくりと考慮すべきです.
<sect1>
<heading>なぜシンボリックリンクのパーミッションは chmod で変えられないのですか?</heading>
<p>この場合, ``<tt/-H/'' か ``<tt/-L/'' のどちらかのオプションを
``<tt/-R/'' と同時に使う必要があります.
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?chmod"
name="chmod"> と
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?symlink"
name="symlink"> のマニュアルページにはもっと詳しい情報があります.
<p><bf/注意/ ``<tt/-R/'' オプションは <bf/再帰的に/ <tt/chmod/
を実行します. ディレクトリやディレクトリへのシンボリックリンクを
<tt/chmod/ する場合は気をつけてください. シンボリックリンクで
参照されている単一のディレクトリのパーミッションを変更したい場合は,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?chmod" name="chmod">
をオプションをつけずにシンボリックリンクの名前の後ろにスラッシュ
(``<tt>/</tt>'') をつけて使います. 例えば, ``<tt/foo/'' がディレクトリ
``<tt/bar/'' へのシンボリックリンクである場合, ``<tt/foo/'' (実際には
``<tt/bar/'') のパーミッションを変更したい場合にはこのようにします:
<verb>
chmod 555 foo/
</verb>
<p>後ろにスラッシュをつけると,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?chmod"
name="chmod"> はシンボリックリンク
``<tt/foo/'' を追いかけてディレクトリ ``<tt/bar/''
のパーミッションを変更します.
<sect1>
<heading>
login 名が<bf/いまだに/ 8文字に制限されているのはなぜですか
</heading>
<p> <bf/UT_NAMESIZE/を変更して全体を作り直せば十分で, それだけで
うまくいくだろうとあなたは考えるかもしれません.
残念ながら多くのアプリケーションやユーティリティ
(システムツールも含めて) は小さな数値を構造体やバッファなどに
使っています ( 必ずしも "8" や "9" ではなく, "15" や "20"
などの変った値を使うものもあります). また, Sun の NIS の
クライアントであると不具合いが起きます. 他の UNIX システムとの
関連においてこれら以外の問題も起きることはまちがいないでしょう.
<sect1>
<heading>FreeBSD 上で DOS のバイナリを動かすことはできますか? </heading>
<p>今のところはできませんが, BSDI は彼らの <tt/rundos/ DOS
エミュレーションサブシステムを寄贈してくれました. これは現在,
統合と改良がおこなわれています. この努力に興味を持って参加して
いただけるなら
<url url="mailto:emulation@freebsd.org"
name="The FreeBSD emulation discussion list">
へメールを送ってください.
<p>現在,
<htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^pcemu"
name="pcemu"> という巧妙なユーティリティが ports
コレクションにあり, 8088 のエミュレーションと DOS の
テキストモードアプリケーションを動かすに十分な BIOS
サービスをおこないます. これは X ウィンドウシステムが必要です
(XFree86 として提供されています)
<sect1>
<heading>
``<tt/sup/'' とは何で, どのようにして使うものなのでしょうか?
</heading>
<p><htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^sup"
name="SUP">
とはソフトウェアアップデートプロトコル (Software Update
Protocol) で CMU で開発ツリーの同期のために開発されました.
私たちの中心開発ツリーをリモートサイトで同期させるために
使っていました.
<p>SUP はバンド幅を浪費しますので, 今は使っていません. ソースコードの
アップデートの現在のおすすめの方法は <url
url="../handbook/cvsup.html" name="ハンドブックの CVSup の項">
にあります.
<sect1>
<heading>FreeBSD をクールに使うには?</heading>
<p>Q. FreeBSD を動かす時に温度測定をおこなった人はいますか? Linux
は dos よりも温度が下がるということは知っていますが, FreeBSD
についてはこのようなことに触れたものを見たことはありません.
実際熱くなっているように見えます.
<p>A. いいえ. 私たちは 250 マイクログラムの LSD-25 をあらかじめ
与えておいたボランティアに対する目隠し味覚テストを大量に
おこなっています.
35% のボランティアは FreeBSD はオレンジのような味
がすると言っているのに対し Linux は紫煙のような味わいがある
と言っている人もいます. 私の知る限り両方のグループとも温度の
不一致については触れていません. この調査で, 非常に多くの
ボランティアがテストをおこなった部屋から不思議そうに出てきて,
このようなおかしな結果を示したことに私たちは当惑させられました.
私は, ほとんどのボランティアは Apple にいて彼らの最新の
「引っかいて匂いをかぐ」 GUI を使っているのではないかと
考えています. 私たちは奇妙な古い仕事をしているのでしょう!
<p>真面目に言うと, FreeBSD も Linux も ``<tt/HLT/'' (停止)
命令をシステムのアイドル時に使い, エネルギーの消費を押えて
いますので熱の発生も少なくなります. また, APM (automatic power
management) を設定してあるなら FreeBSD は CPU をローパワーモード
にすることができます.
<sect1>
<heading>誰かが私のメモリカードをひっかいているのですか??</heading>
<p>Q. FreeBSDでカーネルのコンパイルをしている時にメモリから
引っかいているような奇妙な音が聞こえるようなことはあるのでしょうか?
コンパイルをしている時 (あるいは起動時にフロッピドライブを
認識した後の短い間など), 奇妙な引っかくような音がメモリカードの
あたりから聞こえてきます.
<p>A. その通りです. BSDのドキュメントでしばしば「デーモン」に
ついて述べられている理由がわかるでしょう. しかし多くの人は本当の
事については触れていません. 非物質的な存在があなたのコンピュータ
にあるのです. メモリからの引っかいたような音は, 実際に色々な
システム管理タスクの扱いをいかに最善なものにするかという内容を交わす,
デーモンたちのかん高いささやきなのです.
<p>「雑音」があなたに DOS プログラムの ``<tt>fdisk /mbr</tt>''
を使ってうまくささやきを取り除かせようとしているように聞こえても,
彼らは逆にそうすることをやめさせようとしているのかもしれません.
本当は内蔵スピーカからのビル ゲイツの悪魔的な声が
あなたに影響を与えているのかもしれません.
実行するのは止めましょう, そして振り返ってはいけません!
BSD の守護神 (daemon) の力により,
繰り返しあなたのマシンを支配下に置こうとし, あなたの魂を
無限地獄に突き落そうとする DOSと Windows の双子の悪鬼 (demon) の
影響から自由になりましょう.
選択の機会は与えられました. 私自身はこの引っかくような音が
聞こえていたことを嬉しく思っています.
</sect>

@ -1,935 +0,0 @@
<!-- $Id: network.sgml,v 1.3 1998-01-27 01:38:20 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.6 -->
<sect>
<heading>ネットワーキング<label id="networking"></heading>
<p><em>訳: &a.arimura; <newline>&a.shou; <newline>&a.nishika; .
<newline>24 December 1997.</em>
<sect1>
<heading>``diskless boot'' に関する情報はどこで得られますか?</heading>
<p>``diskless boot'' というのは, FreeBSD がネットワーク上で起動し,
必要なファイルを自分のハードディスクではなくてサーバから読み込むものです.
詳細については
<url url="../handbook/diskless.html"
name="ハンドブックのディスクレスブートに関する節">
を読んでください.
<sect1>
<heading>
FreeBSD をネットワークの router として使用することはできますか?
</heading>
<p>インターネット標準やこれまでのよい経験によって指摘されている通り,
FreeBSD は標準ではパケットを forward するように設定されていません.
しかし, <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf"
name="rc.conf"> の中で次の変数の値を
<tt/YES/ とする事によってこの機能を有効にすることができます.
<verb>
gateway_enable=YES # Set to YES if this host will be a gateway
</verb>
<p>このオプションによって<htmlurl
url="http://www.freebsd.org/cgi/man.cgi?sysctl" name="sysctl"> の変数
<tt/net.inet.ip.forwarding/ が <tt/1/ になります.
<p>ほとんどの場合, router についての情報を同じネットワーク
の他の計算機等に知らせるために, 経路制御のためのの process
を走らせる必要があるでしょう. FreeBSD には BSD の標準経路制御デーモン
である
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?routed"
name="routed"> が付属していますが, より複雑な状況に対処するためには
<em/GaTeD/ (<tt/ftp.gated.Merit.EDU/ から FTP で手に入れることができます)
を使用することもできます. 3_5Alpha7 において FreeBSD がサポートされています.
<p>注意してほしいのは, FreeBSD をこのようにして使用している場合でも,
router に関するインターネット標準の必要条件を完全には満たしていない
ということです. しかし, 普通に使用する場合にはほとんど問題ありません.
<sect1>
<heading>
Win95 の走っているマシンを, FreeBSD 経由でインターネットに接続できますか?
</heading>
<p>通常, この質問が出てくる状況は自宅に二台の PC があり, 一台では
FreeBSD が, もう一台では Win95 が走っているような場合です.
ここでやろうとしていう事はFreeBSDの走っている計算機をインターネット
に接続し, Win95 の走っているマシンからは FreeBSD の走っているマシンを
経由して接続をおこなう事です. これは二つ前の質問の特別な場合に相当します.
<p>FreeBSDを<url url="http://www.ssimicro.com/~jeremyc/ppp.html"
name="PPP の Dialup ルータ">として設定する方法については,
役に立つ文書があります.
<p><bf/注:/ これには, Windows の走っているマシンからどれだけの
作業を同時におこなうかによって, 最低 2 個, 場合によってはもっと多くの
固定した IP アドレスが必要です. もし固定した IP アドレスがない場合には,
プライベートな IP アドレスを用いたサブネットを使用し, FreeBSD 上で
<url url="http://squid.nlanr.net/Squid/" name="SQUID">や
<url url="http://www.tis.com/" name="TIS firewall ツールキット">
のような <bf/proxy/ を用いることによって実現することもできます.
<p>また, <ref id="direct-at" name="natd"> に関する節も参照してください.
<sect1>
<heading>
ISC からリリースされている BIND の最新版は compile できないんでしょうか?
</heading>
<p>BIND の配布物と FreeBSD とでは ``<tt/cdefs.h/'' というファイルの中で,
データ型の矛盾があります.
<tt>compat/include/sys/cdefs.h</tt> を削除してください.
<sect1>
<heading>FreeBSD で SLIP と PPP は使えますか?</heading>
<p>使えます. FreeBSD を用いて他のサイトに接続する場合には,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?slattach"
name="slattach">,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?sliplogin"
name="sliplogin">,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?pppd"
name="pppd"> そして
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp"
name="ppp">
のマニュアルページを見てください.
<tt/pppd/ と <tt/ppp/ は PPP のサーバ, クライアント両方の
機能を持っています.
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?sliplogin"
name="Sliplogin"> は SLIP のサーバ専用で,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?slattach"
name="slattach"> は SLIP のクライアント専用です.
<p>これらのプログラムの解説が, <url
url="../handbook/handbook.html" name="ハンドブック">
の以下のセクションにあります.
<itemize>
<item><url url="../handbook/slips.html"
name="ハンドブックの SLIP (サーバ側) の節">
<item><url url="../handbook/slipc.html"
name="ハンドブックの SLIP (クライアント側) の節">
<item><url url="../handbook/ppp.html"
name="ハンドブックの PPP (kernel バージョン) の節">
<item><url url="../handbook/userppp.html"
name="ハンドブックの PPP (user モードバージョン) の節">
</itemize>
<p>「シェルアカウント」を通じてのみインターネットへアクセス可能な場合,
<htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^slirp"
name="slirp"> package みたいなものが欲しくなるかもしれませんね.
これを使えば, ローカルマシンから直接 ftp や http のようなサービスに
(限定的ではありますが) アクセスすることができます.
<sect1>
<heading>
FreeBSD は NAT か IP マスカレードをサポートしていますか?<label id="natd">
</heading>
<p>ローカルなサブネット (一台以上のローカルマシン) を持っているが,
インターネットプロバイダから 1 つしか IP アドレスの割り当てを
受けていない場合 (または IP アドレスを動的に割り当てられている場合でも),
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?natd"
name="natd"> プログラムを使いたくなるかもしれませんね.
<tt/Natd/ を使えば, 1 つしか IP アドレスを持っていない場合でも,
サブネット全体をインターネットに接続させることができます.
<p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp"
name="ppp"> も, 同様の機能を持っており, <tt/-alias/
スイッチで有効にすることができます. どちらの場合も <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?libalias" name="alias library">
が使われます.
<sect1>
<heading>
<tt/ppp/ が動きません. どこを間違えているのでしょう?<label id="userppp">
</heading>
<p>まず <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp"
name="ppp"> のマニュアルと, <url url="../handbook/userppp.html"
name="ハンドブックの ppp のセクション">を読んでみましょう. 次に,
<verb>
set log Phase Chat Connect Carrier lcp ipcp ccp command
</verb>
<p>という命令を <tt/ppp/ のコマンドプロンプトで打ち込むか,
設定ファイル <tt>/etc/ppp/ppp.conf</tt> に加えて
(<bf>default</bf> セクションの先頭に加えるのが一番良いでしょう)
ログを有効にしてみてください. その際, <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?syslog.conf"
name="/etc/syslog.conf"> に
<verb>
!ppp
*.* /var/log/ppp.log
</verb>
<p>と書かれた行が含まれているか, また, <tt>/var/log/ppp.log</tt>
が存在しているかどうか確かめておいてください. さて, これで
何が起きているのか突き止めるために, ログファイルからたくさんの
情報を得られるようになりました. ログに訳の分らない部分があっても
心配ご無用. あなたが助けを求めた誰かにとっては, その部分が
意味をなす場合があるのです.
<p>訳注: ログの取得に syslog を使用するようになったのは
2.2.5 以降からです.
<p>使用中の ppp のバージョンで "set log" 命令を解釈しない場合は,
<url url="http://www.freebsd.org/~brian" name="最新版">
をダウンロードすべきです. FreeBSD の 2.1.5 以降でビルドできます.
<sect2>
<heading>ppp が -auto モードでダイアルしてくれない</heading>
<p>まず最初に, デフォルトルートが確立しているかどうかチェックして
ください. <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?netstat"
name="netstat -rn"> を実行すると, 以下のような情報が表示されるはずです.
<verb>
Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.2 UGSc 0 0 tun0
10.0.0.2 10.0.0.1 UH 0 0 tun0
</verb>
<p>これはあなたがハンドブックやマニュアル, ppp.conf.sample の中で
出てくるアドレスを使用していると仮定した場合の例です.
デフォルトルートが確立していない場合, ppp.conf の中の <tt/HISADDR/
が理解できない, 古いバージョンの <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?ppp"
name="ppp"> が走っている可能性があります. FreeBSD 2.2.5 より前の
バージョンに付属していた <tt/ppp/ を使用している場合,
<verb>
add 0 0 HISADDR
</verb>
<p>と書かれた行を以下のように修正してください.
<verb>
add 0 0 10.0.0.2
</verb>
<p>netstat -rn でデフォルトルートの情報が表示されない場合, もう一つ,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf"
name="/etc/rc.conf"> (2.2.2 より前のリリースでは
<tt>/etc/sysconfig</tt> と呼ばれていました) の中でデフォルトの
ルータを誤って設定し, <tt>ppp.conf</tt> から
<verb>
delete ALL
</verb>
<p>の行をうっかり消してしまった可能性があります.
この場合は, ハンドブックの
<url url="../handbook/userppp:final.html"
name="システムの最終設定"> の項を読み直してください.
<sect2>
<heading>"No route to host" とはどういう意味ですか?</heading>
<p>このエラーは通常, <tt>/etc/ppp/ppp.linkup</tt> に以下のような
セクションが無い場合に起こります.
<verb>
MYADDR:
delete ALL
add 0 0 HISADDR
</verb>
<p>これは動的 IP アドレスを使用している場合, またはゲートウェイの
アドレスを知らない場合にのみ必要な設定です. インタラクティブモード
を使用している場合, <tt/パケットモード/ に入った後で (プロンプトが
<bf/PPP/ と大文字に変わったらパケットモードに入ったしるしです),
以下の命令を入力してください.
<verb>
delete ALL
add 0 0 HISADDR
</verb>
<p>詳しい情報については, ハンドブックの
<url url="../handbook/userppp:dynamicIP.html"
name="PPP と動的 IP 設定"> の項を参照してください.
<sect2>
<heading>3 分ほど経つと接続が切れてしまう</heading>
<p>ppp のタイムアウトは デフォルトでは 3 分です. これは
<verb>
set timeout NNN
</verb>
<p>という命令によって調整することができます. <bf/NNN/ には
接続が切れるまでのアイドル時間が秒数で入ります. NNN が 0 の場合,
タイムアウトによる切断は起こりません. このコマンドは <tt>ppp.conf</tt>
に入れることも, インタラクティブモードでプロンプトから入力することも
できます. ソケットを用いる
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?telnet"
name="telnet"> か
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?pppctl"
name="pppctl"> を使用し, <tt/ppp/ サーバに接続することによって,
回線がアクティブな間に限定してタイムアウトの時間を調整することも
可能です.
<p>訳注 pppctl は 2.2.5R からです.
<p>詳しい情報は
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp"
name="ppp"> のマニュアルを参照してください.
<sect2>
<heading>負荷が高いと接続が切れてしまう</heading>
<p>Link Quality Reporting (LQR) の設定を行っている場合,
マシンと接続先の間で非常にたくさんの LQR パケットが失われている
可能性があります. 結果として ppp は回線の具合いが悪いと考え,
回線を切断するのです. 2.2.5 より前のバージョンの FreeBSD では
LQR はデフォルトで有効になっています. 現在ではデフォルトの状態で
無効です. LQR は以下の命令で無効にすることができます.
<verb>
disable lqr
</verb>
<sect2>
<heading>接続がランダムに切れてしまう</heading>
<p>時々, ノイズの多い回線, あるいは待ち機能付きの回線では,
モデムが (誤って) キャリアを失ったと思い込み, ハングアップしてしまう
ことがあります.
<p>大多数のモデムでは, 一時的なキャリアの喪失にどれだけ我慢するか
設定で決めることができます. 例えば USR Sportster では, S10 レジスタ
の値を 10 倍した秒数がその値になります. この場合, モデムをもっと
のんびり屋さんにするには, dial 行に次のような文字列を加えると
良いでしょう.
<verb>
set dial "...... ATS10=10 OK ......"
</verb>
<p>詳しくはお使いのモデムのマニュアルをご覧ください.
<sect2>
<heading>Login OK! のメッセージが出た後, 何も起こらない</heading>
<p>2.2.5 より前のリリースの FreeBSD では,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp"
name="ppp"> はリンクが確立した後, 接続先が Line Control Protocol (LCP)
を発信するのを待ちます. しかし, 多くの ISP ではネゴジェーションを
自分からは起こさず, クライアントが起こすのを待っています.
<tt/ppp/ に強制的に LCP を発信させるには, 次の命令を使います.
<verb>
set openmode active
</verb>
<p><bf/注/: 両方の側がネゴジェーションを起こしても, 大抵の場合は
何の問題もありません. ですから, 現在では openmode はデフォルトで
active になっています. 次のセクションでこれが問題に<bf/なる/場合を
説明します.
<sect2>
<heading>でもまだ "magic is the same" というエラーが出る</heading>
<p>時折, 接続直後のログに "magic is the same" というメッセージが
あらわれることがあります. このメッセージがあらわれても何も起きない
場合もありますし, どちらかの側が接続を切ってしまう場合もあります.
ppp の実装の多くはこの問題に対応できておらず, その場合にはちゃんと
link が上がっている状態であっても, ppp が最終的にあきらめてしまい
接続を切るまで, 設定のリクエストが繰り返し送られ, 設定が行われた
という通知が log ファイルに残ると思います.
<p>これは通常, ディスクアクセスの遅いサーバマシンのシリアルポートで
getty が生きていて, ppp がログインスクリプトか, ログイン直後に
起動されたプログラムから実行されている場合に起こります. slirp を使用
している場合に同様の症状が見られたという報告もあります. 原因は
getty の終了されるまでと, ppp が実行され, クライアント側の ppp が
Line Control Protocol (LCP) を送り始めるまでのタイミングにあります.
サーバ側のシリアルポートで ECHO が有効なままになっているので,
クライアント側の ppp にパケットが「反射」してしまうのです.
<p>LCP ネゴジェーションの一部として, リンクの両サイドで magic number
を定めて, 「反射」が起きていないかどうか確かめる作業があります.
規約では, 接続相手がこちらと同じ magic number を提示してきたら,
NAK を送って新しい magic number を選択しなければならないと
定めています. この作業の間, サーバのシリアルポートの ECHO がずっと
有効になったままなので, クライアント側の ppp は LCP パケットを送り,
パケットが反射して全く同じ magic number が送られてくるのを見つけ,
それに対して NAK を送るのです. 一方 NAK 自体も (これは ppp が magic
number を変更しなければいけないことを意味しています) 反射して
くるので, 結果として magic number が数えきれないほど変更され,
その全てがサーバの tty バッファの中に積み重なることになるのです.
サーバでスタートした ppp はとすぐ magic number であふれかえってしまい,
LCP のネゴジェーションを十分に行ったものと判断して, さっさと接続を
切ってしまいます. 一方, クライアント側は反射が帰ってこなくなったので
満足しますが, それもサーバが接続を切ったことを知るまでです.
<p>この事態は, 以下の行を ppp.conf の中に書いて, 相手がネゴシェー
ションを開始できるようにする事によって回避できます.
<verb>
set openmode passive
</verb>
<p>これで ppp はサーバが LCP ネゴジェーションを起こすのを待つように
なります. しかし, 自分からは決してネゴジェーションを起こさないサーバ
もあるかもしれません. もしこの状況に遭遇した場合には, 次のようにして
ください.
<verb>
set openmode active 3
</verb>
<p>これによって ppp は 3 秒間 passive モードを続けた後で LCP リク
エストを送り始めます. この間に相手がリクエストを送り始めた場合には
3 秒間待たずにこのリクエストに即座に応答します.
<sect2>
<heading>ppp が接続直後に固まってしまう</heading>
<p>2.2.5 より前のバージョンの FreeBSD では, <tt/ppp/ が Predictor1 圧縮
のネゴジェーションを誤って解釈して, 接続直後にリンクを無効にしている
可能性があります. これは両サイドが 異なる Compression Control
Protocols (CCP) を使ってネゴジェーションを行った場合にのみ発生します.
この問題は現在は解決していますが, あなたの走らせている <tt/ppp/ の
バージョンが古い場合でも, 次の命令で解決することができます.
<verb>
disable pred1
</verb>
<sect2>
<heading>ppp の内部でシェルを起動しようとすると固まってしまう</heading>
<p><tt/shell/ あるいは <tt/!/ コマンドを使用すると, <tt/ppp/ は
シェルを起動し (何か引数を渡した場合は, <tt/ppp/ は引数も
実行します), コマンドが終了するまで処理を中断します. コマンドを
実行中に ppp のリンクを使おうとすると, リンクが固まっているように
見えますが, これは <tt/ppp/ がコマンドの終了を待っているからです.
<p>このような場合は, 代わりに <tt/!bg/ コマンドを使用してください.
与えられたコマンドがバックグラウンドで実行されるので, ppp は
リンクに関するサービスを継続することができます.
<sect2>
<heading>ヌルモデムケーブルを使用しているとき, ppp が終了しない</heading>
<p>ヌルモデムケーブルを使用して直接接続している場合, <tt/ppp/ は
自動的には接続の終了を知ることができません. これはヌルモデム
シリアルケーブルの配線に起因しています. この種の接続形態を用いる
場合は, 以下の命令を用いて LQR を常に有効にする必要があります.
<verb>
enable lqr
</verb>
<p>こうすると, 接続先がネゴジェーションを行う場合, デフォルトで
LQR の使用を受け入れるようになります.
<sect2>
<heading>ppp を -auto モードで動かすと, 勝手にダイアルすることがある</heading>
<p><tt/ppp/ が思いもしないときにダイアルを始める場合, その原因を
突き止め, 防止のために Dial filters (dfilters) をかけてやる
必要があります.
<p>原因を突き止めるためには, 以下の命令を使用してください.
<verb>
set log +tcp/ip
</verb>
<p>これで接続を通過する全てのトラヒックをログに残すことができるように
なりました. 次に突然回線がつながったときのログのタイムスタンプを
たどれば, 原因を突き止めることができるはずです.
<p>原因がわかったら, 次に, このような状況ではダイヤルが起こらないように
しましょう. 通常, この手の問題は, DNS で名前の解決をしようとしたために
起こります. DNS による名前の解決によって, 接続が行われるのを防止する
には, 次のような手段を用います (これは <tt/ppp/ の既に確立した接続
に関してパケットのフィルタリングをするものでは<bf/ありません/).
<verb>
set dfilter 1 deny udp src eq 53
set dfilter 2 deny udp dst eq 53
set dfilter 3 permit 0/0 0/0
</verb>
<p>これはデマンドダイヤル機能に問題を生じさせるため,
常に適切であるとはかぎりません. ほとんどのプログラムは
他のネットワーク関連の処理をおこなう前に DNS への問い合わせ
が必要になります.
<p>DNS の場合は, 何が実際にホスト名を検索しようとしているのかを
突き止めるべきでしょう. 大抵の場合は,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?sendmail"
name="sendmail"> が犯人です. 設定ファイルで sendmail に
DNS に問い合わせないようになっているか確認すべきです.
自分用の設定ファイルを作成するための詳しい方法は
<ref id="ispmail" name="メールの設定"> の節をご覧ください.
または, <bf/.mc/ファイルに次のような行を追加してもよいでしょう.
<verb>
define(`confDELIVERY_MODE', `d')dnl
</verb>
<p>この行を追加すると, sendmailはメールキューを処理する
(通常sendmailは30分ごとにキューを処理するよう, ``-bd -q30m''
というオプションを付けて起動されます)
か, または
(多分ppp.linkupというファイルの中で)
``sendmail -q''というコマンドが送られるまで, 全てのメールを
送信しないようになります.
<sect2>
<heading>CCP エラーとはどういう意味ですか</heading>
<p>ログファイル中の以下のエラーは,
<verb>
CCP: CcpSendConfigReq
CCP: Received Terminate Ack (1) state = Req-Sent (6)
</verb>
<p>ネゴジェーションにおいて ppp は Predictor1 圧縮を用いるべく主張したが,
接続先は圧縮を使用しないことを主張した場合に起こります. このメッセージ
には何の害もありませんが, 出るのが嫌なら, 以下の命令を用いて
こちら側でも Predictor1 圧縮を無効にすることで対応できます.
<verb>
disable pred1
</verb>
<sect2>
<heading>ファイル転送の途中で, ppp が IO エラーを出して固まってしまう</heading>
<p>FreeBSD 2.2.2 以前のバージョンの tun ドライバには, tun インタフェース
の MTU のサイズより大きなパケットを受け取ることができないというバグが
ありました. MTU のサイズより大きなパケットを受け付けると IO エラーが
起こり, syslogd 経由で記録されるのです.
<p>ppp の仕様では, LCP のネゴジェーションを行う場合を含む
<bf>どのような場合でも</bf>最低 1500 オクテットの
Maximum Receive Unit (MRU) を受け入れる必要があります.
ですから, MTU を 1500 以下に設定した場合でも, ISP はそれに関係なく
1500 の大きさのパケットを送ってくるでしょう. そしてこのイケてない
機能にぶちあたって, リンクが固まるのを目にすることになるのです.
<p>FreeBSD 2.2.2 以前のバージョンでは, MTU を決して 1500 より小さく
しないことで, この問題を回避することができます.
<sect2>
<heading>どうして ppp は接続速度をログに残さないんでしょう?</heading>
<p>モデムとの「やり取り」全ての行をログに残すには,
以下のようにして接続速度のログの有効化を行ってください:
<verb>
set log +connect
</verb>
<p>これは
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp">
に最後にくることが要求されている "expect" という文字列がくるま
でのすべてのものをログに記録させます.
<p>接続速度はログにとりたいけれど, PAP や CHAP を使っている
(その結果, dial スクリプト中の CONNECT 以降に全く「やりとり」
を行わない - "set login" スクリプトには何も書かない) のであれ
ば, ppp に "expect" を含んだ CONNECT 行全てがくるまで待たせる
ようにしないといけません, 以下のようになります:
<verb>
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
</verb>
<p>ここで, CONNECT を受信してから, 何も送らず, linefeed を
待っています, <bf/ppp/ に CONNECT の応答全てを読み込ませている
わけです.
<sect2>
<heading>私のchatスクリプトでは`\'という文字をPPPが解釈して
くれません</heading>
<p>PPPは設定ファイルを読み込むときに, <tt/set phone "123 456 789"/
のような文字列を正しく解釈し, 番号が実際に<bf/1つの/引数であると
理解します. ``"''という文字を指定するには, backslash (``\'')で
エスケープしなければなりません.
<p>chatの各引数が解釈されるときには, ``\P''や``\T''のような
特別なescape sequence (man pageを見てください)を見付けるために
もう1回parseを行います. このようにparseは2回繰り返されま
すので, 正しい回数だけescapeを行わないといけません.
<p>モデムにたとえば``\''のような文字を送りたい場合には, 次のように
する必要があります:
<verb>
set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"
</verb>
<p>実際にモデムに送られる文字列は次のようになります:
<verb>
ATZ
OK
AT\X
OK
</verb>
<p>他の例ですと
<verb>
set phone 1234567
set dial "\"\" ATZ OK ATDT\\T"
</verb>
<p>は次のようになります:
<verb>
ATZ
OK
ATDT1234567
</verb>
<sect2>
<heading>ppp が segmentation fault になるのですが, <tt/ppp.core/
ファイルがありません</heading>
<p>ppp (や他のプログラム) はけして core を吐いてはいけません.
ppp は 実効 uid が 0 で動いていますので, オペレーティングシステム
は ppp を終了させる前にディスクに core イメージを書き込みません.
しかし ppp は実際にはセグメンテーション違反や他の core を吐く原因
となるようなシグナルによって<bf/終了して/ おり, <bf/さらに/ 最新の
バージョン (このセクションの始めを見てください) を使用している
ならば, 次のようにしてください:
<verb>
$ tar xfz ppp-*.src.tar.gz
$ cd ppp*/ppp
$ echo STRIP= >>Makefile
$ echo CFLAGS+=-g >>Makefile
$ make clean all
$ su
# make install
# chmod 555 /usr/sbin/ppp
</verb>
<p>これで debug 可能なバージョンの ppp がインストールされます.
root で ppp を実行し, 全ての特権が無効になっているようにする必要
があるでしょう. ppp を実行する時には, current directory が make
した directory であるようにしてください.
<p>これで, ppp がセグメンテーション例外を受け取ったときには
ppp.core という名前の core ファイルを吐くようになります. core が
吐かれたら次のようにしてください:
<verb>
$ su
# gdb /usr/sbin/ppp ppp.core
(gdb) bt
.....
(gdb) f 0
.....
(gdb) i args
.....
(gdb) l
.....
</verb>
<p>質問する際には, これら全ての情報を提供して, 問題点の分析ができ
るようにしてください.
<p>gdb の使い方に慣れている場合には, 実際に dump の原因となった
理由やそのアドレス, 関連した変数の値なども調べる事ができるでしょう.
<sect2>
<heading>どれにも当てはまらない! どうしたらいいの?</heading>
<p>これまでの全ての質問に当てはまらない場合, 設定ファイル, <tt/ppp/
の実行方法, ログファイルの該当部分と
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?netstat"
name="netstat -rn"> コマンドの出力 (接続前と接続後) を含む,
あなたの持っている全ての情報を
<url url="mailto:freebsd-questions@FreeBSD.org"
name="freebsd-questions@FreeBSD.org"> メーリングリストや
<url url="news:comp.unix.bsd.freebsd.misc"
name="comp.unix.bsd.freebsd.misc"> ニュースグループへ
送ってください. 誰かがあなたを正しい方向へ導いてくれるでしょう.
<sect1>
<heading><tt>/dev/ed0</tt> デバイスを作成することができません. </heading>
<p>
Berkeley UNIX におけるネットワークの構成においては, ネットワーク
のインタフェースは kernel のコードからのみ直接あつかうことが
できます. より詳しく知りたい場合は, <tt>/etc/rc.network</tt>
というファイルや, このファイルの中に書いてあるさまざまなプログラム
についてのマニュアルページを見てください. それでもまだ分からない場合には,
他の BSD 系の OS のネットワーク管理についての本を読むべきでしょう.
ごく少しの例外をのぞいては, FreeBSD のネットワーク管理は SunOS 4.0
や Ultrix と基本的に同じです.
<sect1>
<heading>Ethernet アドレスのエイリアスはどのようにして設定できますか?</heading>
<p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?ifconfig"
name="ifconfig"> のコマンドラインに ``<tt/netmask 0xffffffff/''
を追加して, 次のように書いてください.
<verb>
ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff
</verb>
<sect1>
<heading>3C503 で他のネットワークの port を使用するにはどのようにすればよいですか?</heading>
<p>他の port を使用したい場合には, <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?ifconfig"
name="ifconfig"> のコマンドラインにパラメータを
追加しなければなりません. default は ``<tt/link0/''
が用いられるようになっています. BNC のかわりに AUI port
を使用したい場合には ``<tt/link2/'' というパラメータを
追加してください.
これらのフラグは <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?rc.conf" name="/etc/rc.conf">.
の using the ifconfig_* の変数を使って指定されるはずです.
<sect1>
<heading>FreeBSD との間で NFS がうまくできません. </heading>
<p>PC 用のネットワークカードによっては NFS のようなネットワークを
酷使するアプリケーションにおいて問題を起こすものがあります.
<p>この点に関しては <url
url="../handbook/nfs.html" name="ハンドブックの NFS についての節">
を見てください.
<sect1>
<heading>何故 Linux のディスクを NFS マウントできないのでしょうか?</heading>
<p>Linux の NFS のコードによっては許可されたportからの
リクエストからしか受けつけないものがあります.
以下を試してみてください.
<verb>
mount -o -P linuxbox:/blah /mnt
</verb>
<sect1>
<heading>何故 Sun のディスクを NFS マウントできないのでしょうか?</heading>
<p>SunOS 4.X が走っている Sun Workstation は許可された port からの
mount のリクエストしか受けつけません.
以下を試してみてください.
<verb>
mount -o -P sunbox:/blah /mnt
</verb>
<sect1>
<heading>PPP で NeXTStep に接続する際に問題があるのですが. </heading>
<p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf"
name="/etc/rc.conf"> の中で次の変数を NO にして,
TCP extension を無効にしてみてください.
<verb>
tcp_extensions=NO
</verb>
<p>Xylogic の Annex も同様の問題がありますので, Annex 経由で PPP をおこなう
場合にもこの変更を行ってください.
<sect1>
<heading>IP multicast を有効にするには?</heading>
<p>FreeBSD 2.0 においては multicast は標準で完全に対応しています.
現在使用している計算機を multicast の router として使用するには,
<tt/ip_mroute_mod/というloadable kernel moduleをloadして
<tt/mrouted/ を走らせる必要があります.
<p>より詳しい情報は以下の場所にあります.
<verb>
Product Description Where
--------------- ----------------------- ---------------------------------------
faq.txt Mbone FAQ ftp.isi.edu:/mbone/faq.txt
imm/immserv jpg/gif画像のための ftp.hawaii.edu:/paccom/imm.src.tar.Z
IMage Multicast
nv Networkビデオ ftp.parc.xerox.com:
/pub/net-reseach/exp/nv3.3alpha.tar.Z
vat LBL Visual Audioツール ftp.ee.lbl.gov:
/conferencing/vat/i386-vat.tar.Z
wb LBL White Board ftp.ee.lbl.gov:
/conferencing/wb/i386-wb.tar.Z
mmcc MultiMedia Conference ftp.isi.edu:
制御プログラム /confctrl/mmcc/mmcc-intel.tar.Z
rtpqual RTPパケットの質を ftp.psc.edu:/pub/net_tools/rtpqual.c
チェックするツール
vat_nv_record vatとnvのための ftp.sics.se:archive/vat_nv_record.tar.Z
録画ツール
</verb>
<sect1>
<heading>DEC の PCI チップセットを用いている network カードにはどのような物がありますか?</heading>
<p><url url="mailto:gfoster@driver.nsta.org"
name="Glen Foster"> による一覧があります.
<verb>
Vendor Model
----------------------------------------------
ASUS PCI-L101-TB
Accton ENI1203
Cogent EM960PCI
Compex ENET32-PCI
D-Link DE-530
DEC DE435
Danpex EN-9400P3
JCIS Condor JC1260
Linksys EtherPCI
Mylex LNP101
SMC EtherPower 10/100 (Model 9332)
SMC EtherPower (Model 8432)
TopWare TE-3500P
Zynx ZX342
</verb>
<sect1>
<heading>何故自分のサイトのホストに対して FQDN を使用する必要があるのですか?</heading>
<p>実際にはそのホストは別のドメインにあるのではないですか. たとえば,
foo.bar.edu というドメインの中から, bar.edu ドメインにある
``mumble'' というホストを指定したい場合には, ``mumble'' だけでは
駄目で, ``mumble.bar.edu'' という fully-qualified domain name で
指定しなければなりません.
<p>伝統的に, BSD の BIND の resolver ではこのような事は可能でしたが,
FreeBSD に入っている <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?named" name="bind">
の現在のバージョンでは, 自分以外のドメインに対して FQDN
でない別名を自動的につけてくれるような事はありません.
したがって <tt>mumble</tt> というホスト名は <tt>mumble.foo.bar.edu</tt>
という名前か, もしくは root ドメイン内にある場合にしか適用されません.
<p>これは, <tt>mumble.bar.edu</tt> と <tt>mumble.edu</tt>
ということなったドメイン名に対してホスト名のサーチがおこなわれていた
以前の振る舞いとは異なったものです. このような事が悪い例もしくは
セキュリティホールとみなされる理由については RFC 1535 を見てください.
<p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?resolv.conf"
name="/etc/resolv.conf"> の中で
<verb>
domain foo.bar.edu
</verb>
<p>と書いてある行を
<verb>
search foo.bar.edu bar.edu
</verb>
<p>のように書きかえることで, 上のような事ができます. しかし,
RFC 1535 にあるように, search order が ``ローカルな管理と
パブリックな管理の境界'' をまたがないようにしてください.
<sect1>
<heading>すべてのネットワークの操作に対して ``Permission denied'' というメッセージが表示されるのですが. </heading>
<p><tt/IPFIREWALL/オプションを付けてkernelをコンパイルした場合には,
2.1-STABLE の開発の途中から変更になった 2.1.7R の標準的な方針として,
明示的に許可されていないすべてのパケットは落とされる設定
になっている事を覚えておいてください.
<p>もしfirewallの設定を間違えた場合にネットワークの操作が再びできる
ようにするには, root で login して次のコマンドを実行してください.
<verb>
ipfw add 65534 allow all from any to any
</verb>
<p>FreeBSD の firewall の設定についての情報は
<url url="../handbook/firewalls.html" name="FreeBSD ハンドブック">
にあります.
<sect1>
<heading>IPFWのオーバーヘッドはどのくらいでしょうか?</heading>
<p>この答えはあなたのrule setとprocessorのスピードによって
ほとんど決まります. Ethernetに対して少しのrule setだけを使っ
ているほどんどの場合には, その影響は無視できる程度です. 実
際の測定値を見ないと満足できない方々のために, 実際の測定結
果をお見せしましょう.
<p>次の測定は486-66上で2.2.5-STABLEを使用しておこなわれました.
IPFWは変更が加えられて, <tt/ip_fw_chk/ルーチン内でかかる時間を
測定して1000パケット毎に結果をconsoleに表示するようになっています.
<p>それぞれ1000ずつのruleが入っている2つのrule setでテストが
おこなわれました. ひとつ目のsetは最悪のケースを見るために
<verb>
ipfw add deny tcp from any to any 55555
</verb>
というruleを繰り返したものです.
<p>このsetを用いますと, (port番号によって) packetが全てのruleにマッチ
しない事が最終的に決まるまでに, IPFWのpacketをチェックするルーチン
のほとんど全てが実行されますので, 最悪のケースとなります. この
ruleを999個繰り返した後に<tt>allow ip from any to any</tt>が
書かれています.
<p>2つ目のsetは, なるべく早くチェックが終了するように書かれたものです:
<verb>
ipfw add deny ip from 1.2.3.4 to 1.2.3.4
</verb>
<p>このruleではsource側のIPアドレスがマッチしないのでチェックは
すぐに終了します. 上のsetとおなじように, 1000個目のruleは
<tt>allow ip from any to any</tt>です.
<p>1つ目のsetでは, packetあたりのoverheadはだいたい2.703ms/packet,
言いかえると1つのruleあたり2.7マイクロ秒です. したがってこのruleに
おけるpacketを処理する時間の理論的な限界は1秒あたり約370 packetです.
10MbpsのEthernetで1500 byte以下のpacketサイズを仮定すると, 55.5%の
バンド幅までしか使えない事になります.
<p>2つ目のsetでは, それぞれのpacketはだいたい1.172msで処理されて
いますので1つのruleあたり1.2マイクロ秒となります. packetの
処理時間の理論的な限界はだいたい1秒あたり853 packetとなりますので
10Mbps Ethernetのバンド幅を使い切ることができます.
<p>このテストでのruleの数は多過ぎますので, 実際に使用している際の
結果を反映している訳ではありません. これらは上に示した数値を出す
ためだけに用いられたものです. 実際に効率の良いrule setを作るために
は, 次のような事を考えておけばよいでしょう.
<itemize>
<item>`確定している' ruleは, TCPのtrafficの多数を処理するために
前の方に持ってきてください. そしてこのruleの前には<tt>allow tcp</tt>
という記述をしないでください.
<item>良く使われるruleを, あまり良く使われないruleよりも
前の方に(もちろん<bf>firewallの許可の設定を変えない範囲で</bf>)
持ってきてください.
<tt>ipfw -a l</tt>のようにしてpacket数の統計を取ることによって
どのruleが最もよく使われているかが分かります.
</itemize>
</sect>

@ -1,521 +0,0 @@
<!-- $Id: preface.sgml,v 1.2 1998-01-28 02:11:29 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.2 -->
<sect>
<heading>まえがき<label id="preface"></heading>
<p><em>訳: &a.kuriyama;, <newline>&a.hanai;, <newline>&a.nakai;.
<newline>5 November 1997.</em>
<p>FreeBSD 2.X FAQ へようこそ!
<sect1>
<heading>この FAQ の目的は?</heading>
<p>Usenet の FAQ がそうであるように, この文書も FreeBSD
オペレーティングシステムに関して頻繁に尋ねられる質問を
網羅することを目的としています (もちろんそれに対する答えも!).
FAQ は本来バンド幅を減らし, 同じ質問が何度も繰り返されるのを
避けるために作られたものですが, 最近は有用な情報源と
見なされるようになってきました.
<p>この FAQ をできる限り有用なものにしようと, あらゆる努力が
はらわれています. もし何かしらの改善案が浮かんだら, ぜひ
<url url="mailto:pds@FreeBSD.ORG" name="FAQ 管理者"> まで
メールを送ってください.
<sect1>
<heading>FreeBSD って何?</heading>
<p>FreeBSD 2.X はカリフォルニア大学バークレイ校が i386 系の
プラットフォーム向けにリリースした 4.4BSD-lite をもとにした
UN*X ライクなオペレーティングシステムです. 間接的には同じ
バークレイ校の Net/2 を William Jolitz が i386 系に移植した
386BSD も基にしていますが, 386BSD のコードはほとんど残って
いません. FreeBSD についての詳細と, 何ができるかについては
<url url="http://www.freebsd.org" name="FreeBSD のホームページ">
を参照してください.
<p>FreeBSD は企業やインターネットサービスプロバイダ, 研究者,
コンピュータ専門家, 学生, 家庭のユーザなどにより, 業務や教育,
娯楽に用いられています. これらに関しては
<url url="http://www.freebsd.org/gallery.html" name="FreeBSD ギャラリー">
を参照してください.
<p>FreeBSD に関するより詳しい情報は
<url url="../handbook/handbook.html" name="FreeBSD ハンドブック">
を参照してください.
<sect1>
<heading>FreeBSD が目指しているもの</heading>
<p>FreeBSD プロジェクトの目的は, いかなる用途にも使用でき, 何ら
制限のないソフトウェアを供給することです. 私たちの多くは,
コード (そしてプロジェクト) に対してかなりの投資をしてきており,
これからも多少の無駄はあっても投資を続けて行くつもりです.
ただ, 他の人達にも同じような負担をするよ うに主張している
わけではありません. FreeBSD に興味を持っている一人の残らず
全ての人々に, 目的を限定しないでコードを提供すること.
これが, 私たちの最初のそして最大の「任務」であると信じて
います. そうすれば, コードは可能な限り広く使われ, 最大の
恩恵をもたらすことができるでしょう. これが, 私たちが熱烈に
支持しているフリーソフトウェアの最も基本的な目的であると,
私は信じています.
<p>私たちのソースツリーに含まれるソースのうち, GNU
一般公有使用許諾 (GPL) または GNU ライブラリ
一般公有使用許諾 (GLPL) に従っているものについては, 多少制限が
科されています. ただし, ソースコードへのアクセスの
保証という, 一般の制限とはいわば逆の制限 (訳注1) です. ただし
GPL ソフトウェアを商用で利用する場合, さらに複雑になるのは
避けられません. そのため, それらのソフトウェアを, より制限の
少ない BSD 著作権に従ったソフトウェアで置き換える努力を,
可能な限り日々続けています.
<p>(訳注1) GPL では, 「ソースコードを実際に受け取るか, あるいは,
希望しさえすればそれを入手することが可能であること」を求めています.
<sect1>
<heading>どうして FreeBSD と呼ばれているのですか?</heading>
<p>
<itemize>
<item>無料 (free) で使うことができる (商利用も含む).
<item>オペレーティングシステムの完全なソースコードが自由に
(freely) 手に入り, 商利用・非商利用にかかわらず,
最低限の制限で他の仕事への利用, 配布, 導入が可能.
<item>改良やバグフィックスがある場合, 誰でも (free) その
コードを提出でき, ソースツリーに加えることができます
(いくつかの簡単な条件には従ってもらいます).
</itemize>
<p>母国語が英語でない読者のために, ここでは ``free'' という単語が
二通りに用いられていることを指摘しておくとわかりやすいかも
しれません. ひとつは「無料である」ということ, もうひとつは
「自分のやりたいようにできる」ということです. FreeBSD のコードで
<tt /できない/ いくつかのこと (自分が書いたものだと偽るなど) を
除けば, あなたは自分のやりたいことをやることが可能なのです.
<sect1>
<heading>FreeBSD の最新バージョンは?</heading>
<p><url url="ftp://ftp.freebsd.org/pub/FreeBSD/2.2.5-RELEASE" name="2.2.5">
が最新の <em>stable</em> バージョンで, 1997 年 10 月にリリース
されました. また, これは最新の <em>release</em> バージョンでもあります.
<p>簡単に言ってしまうと, <bf>-stable</bf> は
最新のリリースのすばらしい新機能の数々よりも, 安定性と変更回数の
少なさを好む ISP や他の企業のユーザをターゲットにしています.
今のところ, これらのバージョンは同一のものですが, この状況も
<bf>-current</bf>ブランチが一般のリリースとして十分に洗練されるまでの
ことでしょう.
<p>これは 3.0-current snapshot がビジネスサービス向けとしては不安定である,
と言っているわけではなく, 3.0 特有の機能 (新しいコンパイラ技術や
高速なネットワークコードなど) を必要とする多くの人たちは, これを
使う決定をし, 良い成果を収めています.
私たちとしては, このブランチでさらに実績を積むまでは,
3.0 が自信を持っておすすめめできるものあるということを
「保証」したくないだけなのです.
<sect1>
<heading>FreeBSD-currentって何?<label id="current"></heading>
<p><url url="../handbook/current.html" name="FreeBSD-current"> は
オペレーティングシステムのの開発バージョンで, やがて 3.0-RELEASE
となります. よってこれは, そこに携わっている開発者や,
どんな障害をも乗り越えていけるタフな愛好家たちにとってのみ
興味深いものです.
-current の使用に際しての詳細は <url
url="../handbook/handbook.html" name="ハンドブック"> の
<url url="../handbook/current.html" name="関連するセクション">
を参照してください.
<p>オペレーティングシステムに馴染みがない場合や一時的な問題か
本物の問題かを見極める能力がない場合は, FreeBSD-current を
使うべきではありません. このブランチは時々急激に拡張されたり,
ビルドできない状態になることもちょっちゅうあります.
FreeBSD-current を使う人は, 問題を分析して「小さな欠陥」では
なく間違いであると思われるものだけを報告できるものと想定され
ています. 「make world したら group 関係でエラーがでました」
のような質問は -current メーリングリストでは軽蔑の眼差しで
あしらわれることもあります.
<p>時たま, -current の開発コードから <url url="../releases/snapshots.html"
name="snapshot"> が作成され, snapshot の中からは 配布 CD-ROM
が作成されることもあります.
それぞれの snapshot には以下のような目的があります:
<itemize>
<item>インストールプログラムの最新版のテスト.
<item>試してみたいけれど, 基礎的な所から毎日変わるような
ものを追いかける時間もバンド幅も無い, という人にも
-current を使えるようにする. また, そのような人たち
のシステム移行のための手っ取り早い方法を提供する.
<item>あとでとんでもないことをしてしまった時のために,
問題となるコードの特定の参照基準点を保存しておく. (通常は
CVS がこういうハプニングのような恐ろしい事態を防止して
いるんですけどね :)
<item>テストが必要な新しい機能を, できる限り多くの
隠れテスターに試してもらう.
</itemize>
<p>どんな目的であれ, snapshot が「製品レベルの品質」であるとの考えに
基づく要求は行わないでください. 安定性やテスト十分性にこだわる人は
完全なリリースから離れてはいけません.
<p>3.0-current および 2.2-stable ブランチ両方の snapshot は,
平均的に一日に一度生成されており, <url
url="ftp://current.freebsd.org/pub/FreeBSD/"> から直接入手することが
できます.
<sect1>
<heading>FreeBSD-stable のコンセプトって何?</heading>
<p>FreeBSD 2.0.5 がリリースされた後, 私たちは FreeBSD の開発を
2 系統に分割することにしました. 一つは <url url="../handbook/stable.html"
name="-stable"> というブランチで, バグの修正はしっかりテストされ,
機能の強化は少しずつしか行われません (急な変更や実験的機能を望まない,
インターネットサービスプロバイダや営利企業向け). もう一方のブランチは
<url url="../handbook/current.html" name="-current"> で,
2.0 がリリースされて以来 3.0-RELEASE (そしてその後も) へ向けて脈々と
続いているものです.
ASCII で描いた簡単な図がわかりやすいかは自信がありませんが,
こんな感じになります:
<verb>
2.0
|
|
| [2.1-stable]
*BRANCH* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-stable 終了]
| (1997年3月)
|
|
| [2.2-stable]
*BRANCH* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5-RELEASE -> ...
| (1997年3月) (1997年10月)
|
|
3.0-SNAPs (1997年第一四半期開始)
|
|
3.0.0-RELEASE (1998年第一四半期)
|
\|/
+
[今後の 3.x リリース群]
</verb>
<p>以前の 2.1-stable ブランチが 2.2.0 がリリースされたことによって
終了し, 「安定版ブランチ」がいわゆる 2.2-stable として新しくなったのに対して,
-current ブランチは 3.0 とその先へ向けてゆっくりと進化を続けています.
3.0-current は, 実際に 3.0 がリリースされるまで, 活発な開発の
舞台として続いていくでしょう. その時点で 3.0 は別のブランチとなり,
3.1-current が次の「最新ブランチ」となる予定です.
<sect1>
<heading>2.1-stable ブランチが 2.1.7.1 で終わったのはなぜですか?</heading>
<p>三つのブランチの開発を続けたいのはやまやまなのですが, 残念ながら
このような状況を効率的に扱えるバージョン管理ツールがまだ
存在しないのです.
現在我々が使っているツールで, 複数のブランチを数ヶ月以上の
長期間に渡って並行してバージョン管理し続けることは, まさに
悪夢のような作業なのです.
一方で 2.1-stable ブランチは一年以上も続いていますから, FreeBSD
の開発者たちの作業の大変さを考えると, このまま継続することは
深刻な問題に陥りかねません.
おそらくみんなが望むものを提供してくれるような方法がそのうち
考え出されるでしょうし, また, 我々もそのような方法について
検討中なのですが, 現状では古い -stable ブランチを
<url url="ftp://ftp.freebsd.org/pub/FreeBSD/pub/2.1.7.1-RELEASE" name="2.1.7.1-RELEASE">
(2.1.7 の後の最終リリース)
で終了し, 2.2.2 からを新たな -stable とすることが
最善の手段であると考えています.
<sect1>
<heading>FreeBSD のリリースはいつ作られるのですか?</heading>
<p>原則的には, FreeBSD コアチームは新しい機能やバグフィックスが
充分集まり, リリースの安定性を損なうことが無いようにさまざま
な変更が十分に安定しているという条件を満たしている場合にのみ,
新しいバージョンの FreeBSD をリリースします.
たとえこの用心深さが新しい機能が使えるようになることを
待ち望んでいるユーザを欲求不満にさせるとしても, 多くのユーザは
このことを FreeBSD の最も良い所の一つだと考えています.
<p>平均的には, だいたい 6 ヶ月ごとにリリースが作成されます.
<p>もう少し刺激が欲しい (あるいは待ち遠しい) 方々向けに SNAP
というものが存在し, これは特にリリースに近付いてきた数ヶ月
ぐらいの期間により頻繁に公開されます.
<sect1>
<heading>FreeBSD は PC 用だけしかないの?</heading>
<p>現時点ではそうですが, DEC Alpha アーキテクチャへの移植
が計画されています. 異なるアーキテクチャのマシンを
持っていて, ゆっくり待てないという場合には次の URL を
参照してください.
<url url="http://www.netbsd.org/" name="NetBSD">
または
<url url="http://www.openbsd.org/" name="OpenBSD">.
<sect1>
<heading>誰が FreeBSD の責任者?</heading>
<p>プロジェクトの全体的な方向性や, 誰にソースツリーにコードの
書き込み権限を与えるか, などといった FreeBSD プロジェクトに関する
重要な意思決定は 17 名からなる
<url url="../handbook/staff:core.html" name="コアチーム">
によってなされます.
ソースツリーを直接変更できる人はもっと多く, 80 名以上の
<url url="../handbook/staff:committers.html"
name="ソースツリー管理者 (committer)"> がいます.
<p>しかし, 通常の変更ではないものは<ref id="mailing"
name="メーリングリスト">で先行して議論されますが,
この議論への参加については一切の制限はありません.
<sect1>
<heading>どこから FreeBSD を入手できますか?<label id="where-get"></heading>
<p>FreeBSD のすべての主要なリリースは anonymous FTP 経由で
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/"
name="FreeBSD FTP サイト"> から入手できます:
<itemize>
<item>現在の 2.2-stable リリース, 2.2.5R は
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.2.5-RELEASE/"
name="FreeBSD 2.2.5-RELEASE"> にあります.
<item>現在の 3.0-current, 3.0-SNAP は
<url url="ftp://current.freebsd.org/pub/FreeBSD/" name="3.0">
にあります.
<item>次の 2.2 ブランチのリリースへと向かっている
RELENG_2_2 ブランチ (2.2.5 -> 2.2.x) に基づき一日に一回,
<url url="ftp://releng22.freebsd.org/pub/FreeBSD/" name="2.2 Snapshot">
リリースが作成されます.
不慮の手違いによるまれな例外もありますが, RELENG_2_2 ブランチは
注意深く保守されています (実験的な変更はなく, -current でテスト済みの
変更だけが入ります).
<item><url url="ftp://current.freebsd.org/pub/FreeBSD/" name="3.0 Snapshot">
リリースも <ref id="current" name="-current"> ブランチ用に一日に一回
作成されており, これらは純粋に最先端の開発者およびテスターのために
提供されています.
</itemize>
<p>また, FreeBSD は CD-ROM でも入手でき, 次のところでオーダできます.
<p>Walnut Creek CDROM<newline>
4041 Pike Lane, Suite D-386<newline>
Concord, CA 94520 USA<newline>
Orders: +1 800 786-9907<newline>
Questions: +1 510 674-0783<newline>
FAX: +1 510 674-0821<newline>
email: <url url="mailto:orders@cdrom.com" name="WC Orders address">
<newline>
WWW: <url url="http://www.cdrom.com/" name="WC Home page">
<newline>
<p>オーストラリアでは, 次のところに問い合わせてください.
<p>Advanced Multimedia Distributors<newline>
Factory 1/1 Ovata Drive<newline>
Tullamarine, Melbourne<newline>
Victoria<newline>
Australia<newline>
Voice: +61 3 9338 6777<newline>
CDROM Support BBS<newline>
17 Irvine St<newline>
Peppermint Grove WA 6011<newline>
Voice: +61 9 385-3793<newline>
Fax: +61 9 385-2360<newline>
<p>イギリスの場合は次のところです.
The Public Domain &amp; Shareware Library<newline>
Winscombe House, Beacon Rd<newline>
Crowborough<newline>
Sussex. TN6 1UL<newline>
Voice: +44 1892 663-298<newline>
Fax: +44 1892 667-473<newline>
<sect1>
<heading>
FreeBSD のメーリングリストについて知りたいのですが?<label id="mailing">
</heading>
<p>完全な情報が
<url url="../handbook/eresources:mail.html"
name="ハンドブックのメーリングリストの節">にあります.
<sect1>
<heading>FreeBSD のニュースグループは何がありますか?</heading>
<p>完全な情報が
<url url="../handbook/eresources:news.html"
name="ハンドブックのニュースグループの節">にあります.
<sect1>
<heading>
FreeBSD の IRC (Internet Relay Chat) について何か情報はありますか?
</heading>
<p>FreeBSD の IRC に関して二つのチャンネルがあります.
<enum>
<item>メインのチャンネルは, EFNET 上の &num;FreeBSD です.
正式な IRC サーバが使用できます.
<item>IRC クライアントで <tt/irc.FreeBSD.org/ を利用できます.
このサーバは BSDnet にあり, &num;FreeBSD を運用しています.
上のものと同じチャンネルではありません.
</enum>
<sect1>
<heading>FreeBSD の本</heading>
<p>Greg Lehey の本 ``Installing and Running FreeBSD'' が
Walnut Creek から出版されており 2.2.5 の CD-ROM が付属しています.
また, より詳しい本が ``The Complete FreeBSD'' というタイトルで
出ており, 印刷されたマニュアルページと 2.2.5 の CD-ROM
が付属しています. 現在大抵の大型書店で入手できるはずです.
<p>FreeBSD ドキュメンテーションプロジェクトがありますので,
<tt>doc</tt> メーリングリストにコンタクトしてみてください
(さらに参加すればもっとよいでしょう).
<url url="mailto:doc@FreeBSD.ORG" name="&lt;doc@FreeBSD.ORG&gt;">.
<p>FreeBSD の「ハンドブック」もあり,
<url url="../handbook/handbook.html" name="FreeBSD ハンドブック">
から読むことができます.
現在作業中ですので不完全な部分もあることに注意してください.
<p>しかし, FreeBSD 2.2.X は Berkeley 4.4BSD-Lite2 ベースなので,
ほとんどの 4.4BSD のマニュアルが FreeBSD 2.2.X にも応用できます.
O'Reilly and Associates が以下のマニュアルを出版しています.
<itemize>
<item>4.4BSD System Manager's Manual <newline>
By Computer Systems Research Group, UC Berkeley <newline>
1st Edition June 1994, 804 pages <newline>
ISBN: 1-56592-080-5 <newline>
<item>4.4BSD User's Reference Manual <newline>
By Computer Systems Research Group, UC Berkeley <newline>
1st Edition June 1994, 905 pages <newline>
ISBN: 1-56592-075-9 <newline>
<item>4.4BSD User's Supplementary Documents <newline>
By Computer Systems Research Group, UC Berkeley <newline>
1st Edition July 1994, 712 pages <newline>
ISBN: 1-56592-076-7 <newline>
<item>4.4BSD Programmer's Reference Manual <newline>
By Computer Systems Research Group, UC Berkeley <newline>
1st Edition June 1994, 886 pages <newline>
ISBN: 1-56592-078-3 <newline>
<item>4.4BSD Programmer's Supplementary Documents <newline>
By Computer Systems Research Group, UC Berkeley <newline>
1st Edition July 1994, 596 pages <newline>
ISBN: 1-56592-079-1 <newline>
</itemize>
<p>WWW 経由で以下の URL から, これらの詳細な説明を読むことができます.
<url url="http://gnn.com/gnn/bus/ora/category/bsd.html"
name="4.4BSD books description">
<p>4.4BSD のカーネル構成についてより徹底的に知りたいのなら,
これなら間違いないでしょう:
<p>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
and John Quarterman.<newline>
<p><em>The Design and Implementation of the 4.4BSD Operating
System</em>. Reading, Mass. : Addison-Wesley, 1996.<newline>
ISBN 0-201-54979-4<newline>
<p>システム管理について参考になる本は次のものです.
<p>Evi Nemeth, Garth Snyder, Scott Seebass &amp; Trent R. Hein,<newline>
``Unix System Administration Handbook'', Prentice-Hall, 1995<newline>
ISBN: 0-13-151051-7<newline>
<p><bf/注意/ 初版のものではなく, 赤いカバーの第二版であるか
確認してください.
<p>この本は TCP/IP だけでなく DNS, NFS, SLIP/PPP, sendmail,
INN/NNTP, 印刷などの基礎を扱っています. 高価ですが
(およそ US&dollar;45-&dollar;55), 買う価値はあります.
また, 色々なツールのソースコードが入った CD-ROM が付属しています.
しかし, それらのほとんどは FreeBSD 2.2.5R CD-ROM に収録されています
(さらに FreeBSD CD-ROM の収録物の方がより新しい場合があります).
<sect1>
<heading>Problem Report (障害報告) データベースにアクセスする方法は?</heading>
<p>ユーザ変更要求のすべてが公開されている Problem Report データベースは
障害報告の
<url url="http://www.freebsd.org/send-pr.html" name="提出"> と
<url url="http://www.freebsd.org/cgi/query-pr-summary.cgi"
name="問い合わせ"> の web ベースのインタフェースを通して, 問い合わせ
(または提出) をおこなうことができます. また, <em>send-pr(1)</em>
コマンドを使用して, 電子メール経由で障害報告や変更要求を提出することもできます.
<sect1>
<heading>その他の情報</heading>
<p>以下のニュースグループには FreeBSD ユーザに直接関係のある
議論が行われてます.
<itemize>
<item><url url="news:comp.unix.bsd.freebsd.announce"
name="comp.unix.bsd.freebsd.announce"> (moderated)
<item><url url="news:comp.unix.bsd.freebsd.misc"
name="comp.unix.bsd.freebsd.misc">
<item><url url="comp.unix.bsd.misc" name="comp.unix.bsd.misc">
</itemize>
<p>Web 上のリソース:
<itemize>
<item><url url="http://www.freebsd.org/" name="FreeBSD の Home Page">.
<item><label id="pao">ラップトップ PC を持っている方は, 迷うことなく
日本の<url url="http://www.jp.FreeBSD.org/PAO/"
name="細川 達己氏の Mobile Computing のページ"> を見ましょう.
<item><label id="smp">SMP (Symmetric MultiProcessing) に関する情報は,
<url url="http://www.freebsd.org/~fsmp/SMP/SMP.html"
name="SMP サポートページ">をご覧ください.
<item><label id="multimedia">FreeBSD のマルチメディア
アプリケーションに関する情報は, <url
url="http://www.freebsd.org/~faulkner/multimedia/mm.html"
name="マルチメディア">のページをご覧ください. 特に
<url url="http://www.freebsd.org/~ahasty/Bt848.html"
name="Bt848"> ビデオキャプチャーチップに興味のある方は,
リンクをたどってみてください.
</itemize>
<p>FreeBSD handbook には本当に完璧な
<url url="../handbook/bibliography.html" name="参考図書">
の一覧があり, 買うべき本をさがしている方は読む価値があります.
</sect>

@ -1,521 +0,0 @@
<!-- $Id: serial.sgml,v 1.1.1.1 1997-11-17 15:48:59 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.1 -->
<sect>
<heading>シリアル接続<label id="serial"></heading>
<p><em>訳: &a.ryo;.<newline>16 November 1997.</em>
<p>このセクションでは, FreeBSD でシリアル接続をする時の一般的な質問に答えます.
PPP および SLIP については,
<ref id="networking" name="ネットワーキング">のセクションを参照してください.
<sect1>
<heading>どうやったら FreeBSD がシリアルポートを認識したことを知る事ができますか?</heading>
<p>FreeBSD のカーネルがブートする時, カーネルはその設定にしたがって,
システムのシリアルポートを検出します. 起動時に表示されるメッセージをよく観察するか,
起動後に次のコマンドを実行する事によって確認できます.
<verb>
dmesg | grep sio
</verb>
<p>ここに上に挙げたコマンドの出力例を示します.
<verb>
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
</verb>
<p>これは, 二つのシリアルポートを示しています. 1番めは,
irq が 4 で <tt/0x3f8/ のポートアドレスを使用しています.
そして, 16550A-type UART チップが存在します. 2番目は, 同じチップを使っていますが,
irq は 3 で, <tt/0x2f8/ のポートアドレスを使用しています. 内蔵のモデムカードは,
通常のシリアルポートと同じように扱われますが,
常時シリアルポートにモデムが接続されているという点で異なります.
<p><tt/GENERIC/ カーネルは,
上の例と同じ irq とポートアドレスの設定の二つのシリアルポートをサポートしています.
これらの設定があなたのシステムに合わない場合,
またはモデムカードを追加した場合やカーネルの設定以上にシリアルポートを持っている場合は,
カーネルを再構築 (リコンフィグ) してください.
詳しくは, <ref id="make-kernel" name="カーネルコンフィグレーション"> のセクションを参照してください.
<sect1>
<heading> どうやったら FreeBSD がモデムカードを認識したことを知ることができますか?</heading>
<p>前の質問を参照してください.
<sect1>
<heading>2.0.5 にアップグレードしたら <tt/tty0X/ が見つからなくなってしまったのですが</heading>
<p>心配ありません. <tt/ttydX/ に統合されました.
ただ, 古い設定ファイルのすべてを更新する必要があります.
<sect1>
<heading>どうやったら FreeBSD でシリアルポートにアクセスできますか?</heading>
<p>3番目のポート <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?sio"
name="sio2"> (DOS では, COM3 と呼ばれます.) には,
ダイヤルアウトデバイスとしては <tt>/dev/cuaa2</tt>,
ダイヤルインデバイスとして <tt>/dev/ttyd2</tt> があります.
それではこの両者にはどのような違いがあるのでしょうか?
<p>まず, ダイヤルインの時には <tt/ttydX/ を使います.
<tt>/dev/ttydX</tt> をブロッキングモードでオープンすると,
プロセスは対応する <tt/cuaaX/ デバイスがインアクティブになるのを待ちます.
次に CD ラインがアクティブになるのを待ちます. <tt/cuaaX/ デバイスをオープンすると,
シリアルポートが<tt/ttydX/ デバイスによってすでに使われていないかどうかを確認します.
もしこのポートが使用可能であれば, ポートの使用権を <tt/ttydX/ から ``奪い取る'' のです.
また, <tt/cuaXX/ デバイスは CD ラインを監視しません. この仕組みと自動応答モデムによって,
リモートユーザーをログインさせたり, 同じモデムでダイヤルアウトしたりすることができ,
システムのあらゆるトラブルの面倒を見ることができるでしょう.
<sect1>
<heading>マルチポートシリアルカードをサポートさせるにはどうしたらよいのでしょうか?</heading>
<p>繰り返しになりますが, <ref id="make-kernel" name="カーネルコンフィグレーション"> のセクションでは,
あなたのカーネルの設定についての情報が得られるでしょう.
マルチポートシリアルカードを使用するためには, カーネルの設定ファイルに,
カードの持つそれぞれのシリアルポートに対応する <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?sio"
name="sio">
の行を記述する必要があります. しかし, irq とベクターは一つのエントリにのみ記述してください.
カード上のすべてのポートは一つの irq を共有しなければなりません. 一貫性を持たせるためにも,
最後のシリアルポートの所で irq を指定してください.
また, <tt/COM&lowbar;MULTIPORT/ オプションも付けてください.
<p>次に示す例は, AST の 4 ポートシリアルカードを irq 7 で設定したものです.
<verb>
options "COM_MULTIPORT"
device sio4 at isa? port 0x2a0 tty flags 0x781
device sio5 at isa? port 0x2a8 tty flags 0x781
device sio6 at isa? port 0x2b0 tty flags 0x781
device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
</verb>
<p>このフラグはマスタポートがマイナーナンバー 7 (<tt/0x700/) を持っていて,
検出時の診断機能を有効にし (<tt/0x080/), そしてすべてのポートで irq を共有する (<tt/0x001/)
ということを意味しています.
<sect1>
<heading> FreeBSD で複数のマルチポートシリアルカード間で irq を共有することはできますか?</heading>
<p>現在のところはできません. それぞれのカード毎に異なった irq を使ってください.
<sect1>
<heading>ポートにデフォルトのパラメータを設定する事は出来ますか?</heading>
<p><tt/ttydX/ デバイス (または <tt/cuaaX/ デバイス) は,
アプリケーションのためにオープンする標準的なデバイスです.
プロセスがそのポートをオープンする時, プロセスはデフォルトの端末 I/O 設定を取得します.
これらの設定は次のコマンドで確認することができます.
<verb>
stty -a -f /dev/ttyd1
</verb>
<p>このデバイスに対する設定を変更した場合, その設定はデバイスをクローズするまで有効です.
デバイスを再オープンした場合, それらの設定はデフォルトに戻ってしまいます.
デフォルトの設定に変更を加えるために, ``初期設定'' デバイスをオープンし,
設定を修正することができます.
例えば, <tt/CLOCAL/ モード, 8 ビット, <tt>XON/XOFF</tt> フロー制御という設定を
ttyd5 のデフォルトにしたい場合, 次のようにおこなってください.
<verb>
stty -f /dev/ttyid5 clocal cs8 ixon ixoff
</verb>
<p>この設定をおこなうためのコマンドを記述するのに適切なファイルは,
<tt>/etc/rc.serial</tt> です. これでアプリケーションが<tt/ttyd5/ をオープンした時に,
これらの設定をデフォルトで取得します. しかし, こういったリンクによる設定は変更可能です.
<p>``設定固定'' デバイスを調整してやることによって,
アプリケーションによる設定の変更を禁止することができます. 例えば, <tt/ttyd5/
の通信速度を 57600 bps に固定するには, 次のように行ってください.
<verb>
stty -f /dev/ttyld5 57600
</verb>
<p>これにより, アプリケーションは <tt/ttyd5/ をオープンし,
ポートの通信速度を変更しようとしますが, 通信速度は 57600 bps のままになります.
<p>当然のことながら, 初期設定デバイスおよび, 設定固定デバイスは
<tt/root/ のみが書き込みできるようになっていなければなりません.
しかし, <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV"
name="MAKEDEV"> スクリプトはデバイスエントリを作成する時に,
このような設定は行いません.
<sect1>
<heading>どのようにしたら モデム経由でダイヤルアップログインができるのでしょうか?</heading>
<p>つまり, インターネットサービスプロバイダーになりたいのですね.
それにはまず, 1 台ないし複数の自動応答モデムが必要です.
モデムには, キャリアーを検出した時には CD信号を出力し,
そうでない場合には出力しないことが必要とされます. また <tt/DTR/ 信号が
on から off になった時には, 電話回線を切断し, モデム自身をリセットしなければなりません.
おそらく, <tt>RTS/CTS</tt> フロー制御を使うか,
ローカルフロー制御をまったく使わないかのどちらかでしょう.
最後に, コンピュータとモデムの間は固定速度でなければなりません.
ただ, (ダイヤルアップの発呼者に対して親切であるためには) こちらのモデムと相手側のモデムの間の速度を,
モデム間で自動調整できるようにすべきでしょう.
<p>多くあるヘイズコマンド互換モデムに対して, 次のコマンドはこれらの設定をおこない,
その設定を不揮発性メモリーに保存します.
<verb>
AT &amp;C1 &amp;D3 &amp;K3 &amp;Q6 S0=1 &amp;W
</verb>
<p>MS-DOS のターミナルプログラムに頼らずに AT コマンドを送出するには,
<ref id="direct-at" name="これらの AT コマンドを入力するには"> のセクション以下を参照してください.
<p>次に, モデム用のエントリを <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?ttys"
name="/etc/ttys"> に作成しましょう.
このファイルには, オペレーティングシステムがログインを待っているすべてのポートが記述されています.
以下のような行を追加してください.
<verb>
ttyd1 "/usr/libexec/getty std.57600" dialup on insecure
</verb>
<p>この行は, 2 番目のシリアルポート (<tt>/dev/ttyd1</tt>) には,
57600 bps の通信速度でノンパリティ (<tt/std.57600/ : これは <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?gettytab"
name="/etc/gettytab">に記述されています.)
のモデムが接続されていることを示しています. このポートの端末タイプは ``dialup'' です.
またこのポートは, ``on'' すなわちログイン可能であり,
``insecure'' これは <tt/root/ がこのポートから直接ログインするのは,
許可されていないということを意味します. このようなダイヤルインポートに対しては,
<tt/ttydX/ のエントリを使用してください.
<p>これが一般的な, ターミナルタイプとして ``dialup'' を使う方法です.
多くのユーザーは, .profile や .login で, login 時の端末タイプが dialup であった場合には,
実際の端末タイプをユーザーに問い合わせるように設定しています.
この例は, ポートが ``insecure'' でした. このポートで <tt/root/ になるには,
一般ユーザーとしてログインし, それから ``<htmlurl
url="http://www.freebsd.org/cgi/man.cgi?su"
name="su">'' を使って <tt/root/ になってください.
もし, ``secure'' を指定したならば, 直接 <tt/root/ がそのポートからログインできます.
<p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?ttys"
name="/etc/ttys"> に変更を加えた後は, hungup もしくは<tt/HUP/ シグナルを
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?init"
name="init"> プロセスに送る必要があります.
<verb>
kill -HUP 1
</verb>
<p>この操作は init プロセスに <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ttys"
name="/etc/ttys"> を再読み込みさせます.
これにより, init プロセスは getty プロセスを すべての ``on'' となっているポートに起動させます.
次のようにして, ポートがログイン可能かを知ることができます.
<verb>
ps -ax | grep '[t]tyd1'
</verb>
<p>ログイン可能であれば, 次のような出力が得られるはずです.
<verb>
747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1
</verb>
<sect1>
<heading>ダムターミナルを FreeBSD マシンに接続するにはどうしたらよいのでしょうか?</heading>
<p>もし, 他のコンピューターを FreeBSD の端末として接続したいのならば,
お互いのシリアルポート間をつなぐヌルモデムケーブル
[訳注: リバースケーブルもしくはクロスケーブルとも呼ばれます.]
を用意してください. もし, 既製の端末を使う場合は, 付属するマニュアルを参照してください.
<p>そして, <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?ttys"
name="/etc/ttys"> を上と同じように変更してください.
例えば, WYSE-50 という端末を 5 番目のポートに接続するならば,
次のようなエントリを使用してください.
<verb>
ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
</verb>
<p>この例は, <tt>/dev/ttyd4</tt> ポートにノンパリティー,
端末タイプが wyse50, 通信速度が 38400 bps (<tt/std.38400/ : この設定は,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?gettytab"
name="/etc/gettytab"> に記述されています.) の端末が存在しており,
<tt/root/ のログインが許可されている (secure) であることを示しています.
<sect1>
<heading>どうして <tt/tip/ や <tt/cu/ が動かないのですか?</heading>
<p>おそらくあなたのシステムでは <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> や <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?cu" name="cu"> は <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?uucp" name="uucp"> ユーザーか,
<tt/dialer/ グループによってのみ実行可能なのでしょう. <tt/dialer/
グループは, モデムやリモートシステムにアクセスするユーザーを管理するために,
使用することができます.
それには, /etc/group ファイルの dialer グループにあなた自身を追加してください.
<p>そうする代わりに, 次のようにタイプすることにより, あなたのシステムの全ユーザーが
<tt/tip/ や <tt/cu/ を実行できるようになります.
<verb>
# chmod 4511 /usr/bin/cu
# chmod 4511 /usr/bin/tip
</verb>
<sect1>
<heading>私の Hayes モデムはサポートされていないのですが, どうしたらいいのでしょうか. </heading>
<p>実際, <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?tip"
name="tip"> のオンラインマニュアルは古くなっています.
すでに, Hayes ダイアラーが実装されています.
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote"
name="/etc/remote"> ファイルで, ``<tt/at=hayes/'' と指定してください.
<p>Hayes ドライバは, 最近のモデムの新しい機能である, <tt/BUSY/,
<tt/NO DIALTONE/, <tt/CONNECT 115200/ などのメッセージを認識できるほど賢くはなく,
単に混乱を起こすだけです. <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> を使う場合には,
(<tt/ATX0&amp;W/とするなどして) これらのメッセージを表示させないようにしなくてはいけません.
<p>また, <tt/tip/ のダイヤルのタイムアウトは 60 秒です.
モデムのタイムアウト設定はそれより短くすべきであり,
そうしないと <tt/tip/ は通信に問題があると判断するでしょう.
<tt/ATS7=45&amp;W/ を実行してください.
<p>実際, デフォルトの <tt/tip/ は Hayes の完全なサポートをしているわけではありません.
解決方法は <tt>/usr/src/usr.bin/tip/tip</tt> の下の<tt/tipconf.h/を変更することです.
もちろん, これにはソース配布ファイルが必要です.
<p>``<tt/#define HAYES 0/'' と記述されている行を ``<tt/#define HAYES1/'' と変更し,
そして ``<tt/make/'' and ``<tt/make install/'' を実行します.
これでうまく動作するでしょう.
<sect1>
<heading>これらの AT コマンドを入力するには?<label id="direct-at"></heading>
<p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote"
name="/etc/remote"> ファイルの中で ``<tt/direct/'' エントリを作ります.
たとえばモデムが 1番目のシリアルポートである <tt>/dev/cuaa0</tt>に接続されている場合,
次のようにします:
<verb>
cuaa0:dv=/dev/cuaa0:br#19200:pa=none
</verb>
<p>モデムがサポートする最大の bps レートを br フィールドに使います.
そして <htmlurl url="http://www.freebsd.org/cgi/man.cgi?tip"
name="tip cuaa0"> を実行すると, モデムが利用できるようになります.
<p><tt>/dev/cuaa0</tt>がシステムに存在しない場合は, 次のようにします:
<verb>
# cd /dev
# ./MAKEDEV cuaa0
</verb>
<p>または <tt/root/ になって以下のように <tt/cu/ コマンドを実行します:
<verb>
# cu -l``line'' -s``speed''
</verb>
<p>``line'' にはシリアルポートを指定します (例えば <tt>/dev/cuaa0</tt>).
そして ``speed'' には接続する速度を指定します (例えば <tt>57600</tt>).
その後 AT コマンドを実行したら, <tt>~.</tt>と入力すれば終了します.
<sect1>
<heading>pn 機能の <tt/@/ 記号が使えません!</heading>
<p>電話番号 (pn) 機能の中での <tt/@/ 記号は, tip に <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?phones(5)" name="/etc/phones">
にある電話番号を参照するように伝えます. しかし <tt/@/ の文字は
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote"
name="/etc/remote"> のような設定ファイルの中では特殊文字となります.
そこで, バックスラッシュを使ってエスケープを行います:
<verb>
pn=\@
</verb>
<sect1>
<heading>コマンドラインから電話番号を指定するには?</heading>
<p>``<tt/generic/'' エントリと呼ばれるものを <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?remote"
name="/etc/remote"> に追加します.
例えば, 次のようにします:
<verb>
tip115200|Dial any phone number at 115200 bps:\
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600 bps:\
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
</verb>
<p>そして ``<tt/tip -115200 5551234/'' のように利用できます.
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?tip"
name="tip"> より <htmlurl url="http://www.freebsd.org/cgi/man.cgi?cu"
name="cu"> を使いたい場合, cu の generic エントリを使います:
<verb>
cu115200|Use cu to dial any number at 115200bps:\
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
</verb>
<p>そして ``<tt/cu 5551234 -s 115200/'' と実行します.
<sect1>
<heading>毎回 bps レートを入力しなければいけませんか?</heading>
<p><tt/tip1200/ や <tt/cu1200/ 用のエントリを記述し, 適切な通信速度を br
フィールドに設定します. <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?tip"
name="tip"> は 1200 bps が正しいデフォルト値であるとみなすので,
``<tt/tip1200/'' エントリを参照します.
もちろん 1200 bps を使わなければならないわけではありません.
<sect1>
<heading>ターミナルサーバを経由して複数のホストへアクセスしたいのですが. </heading>
<p>毎回接続されるのを待って ``<tt/CONNECT &lt;host&gt;/'' と入力するかわりに,
<tt/tip/ の <tt/cm/ 機能を使います. 例えば, <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?remote" name="/etc/remote">
に次のようなエントリを追加します:
<verb>
pain|pain.deep13.com|Forrester's machine:\
:cm=CONNECT pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's machine:\
:cm=CONNECT muffin\n:tc=deep13:
deep13:Gizmonics Institute terminal server:\
:dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:
</verb>
<p>これで, ``<tt/tip pain/'' や ``<tt/tip muffin/'' と実行すると
pain や muffin のホストに接続することができ,
``<tt/tip deep13/'' を実行するとターミナルサーバに接続します.
<sect1>
<heading><tt/tip/ を使ってそれぞれのサイトの複数の回線に接続できますか?</heading>
<p>これは大学に電話回線がいくつかあって,
数千人の学生が接続しようとする場合によくある問題です.
<p>あなたの大学のエントリを <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?remote" name="/etc/remote">
ファイルに作成して, <tt/pn/ のフィールドには <tt>\@</tt> を使います:
<verb>
big-university:\
:pn=\@:tc=dialout
dialout:\
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
</verb>
<p>そして <htmlurl url="http://www.freebsd.org/cgi/man.cgi?phones"
name="/etc/phones"> ファイルに大学の電話番号の一覧を書きます:
<verb>
big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114
</verb>
<p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?tip"
name="tip"> は一連の電話番号を上から順に試みて,
最終的に接続できなければあきらめます. リトライを続けさせたい場合は,
<tt/tip/ を while ループに入れて実行します.
<sect1>
<heading>CTRL+P を 1回送るために 2度押す必要があるのはなぜ? </heading>
<p>CTRL+P は通常 ``force (強制)'' 文字であり, <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip">
に次の文字がリテラルデータであることを伝えます.
force 文字は「変数の設定」を意味する <tt/~s/ エスケープによって,
他の文字にすることができます.
<p>``<tt/~sforce=&lt;single-char&gt;/'' と入力して改行します.
<tt/&lt;single-char&gt;/ は, 任意の 1 バイト文字です.
<tt/&lt;single-char&gt;/ を省略すると NUL 文字になり,
これは CTRL+2 や CTRL+SPACE を押しても入力できます.
いくつかのターミナルサーバで使われているのを見ただけですが,
<tt/&lt;single-char&gt;/ に SHIFT+CTRL+6 に割り当てるのもよいでしょう.
<p><tt>&dollar;HOME/.tiprc</tt> に次のように定義することで,
任意の文字を force 文字として利用できます:
<verb>
force=<single-char>
</verb>
<sect1>
<heading>打ち込んだ文字が突然すべて大文字になりました??</heading>
<p>CTRL+A を押してしまい, caps-lock キーが壊れている場合のために設計された
``<htmlurl url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip">''
の ``raise character'' モードに入ったのでしょう.
既に述べた <tt/~s/ を使って, ``raisechar'' をより適切な値に変更してください.
もしこれら両方の機能を使用しないのであれば, force 文字と同じ設定にすることもできます.
<p>以下は CTRL+2 や CTRL+A などを頻繁に使う必要のある Emacs ユーザにうってつけの
.tiprc ファイルのサンプルです:
<verb>
force=^^
raisechar=^^
</verb>
<p>^^ は SHIFT+CTRL+6 です.
<sect1>
<heading> <tt/tip/ でファイルを転送するには?</heading>
<p>もし他の UNIX のシステムと接続しているなら,
<tt/~p/ (送信) や <tt/~t/ (受信) でファイルの送受信ができます.
これらのコマンドは, 相手のシステムの上で
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?cat"
name="cat"> や <htmlurl url="http://www.freebsd.org/cgi/man.cgi?echo"
name="echo"> を実行することで送受信をします. 書式は以下のようになります:
<verb>
~p <ローカルのファイル名> [<リモートのファイル名>]
~t <リモートのファイル名> [<ローカルのファイル名>]
</verb>
<p>この方法ではエラーチェックを行いませんので,
zmodem などの他のプロトコルを使った方がよいでしょう.
<sect1>
<heading> <tt/tip/ から zmodem を実行するには?</heading>
<p>まず始めに, FreeBSD の ports コレクション (<htmlurl
url="http://www.freebsd.org/cgi/ports.cgi?^lrzsz"
name="lrzsz">と <htmlurl
url="http://www.freebsd.org/cgi/ports.cgi?^rzsz" name="rzsz">
との, 2つの通信カテゴリーのプログラムのどちらか) をインストールします.
<p>ファイルを受信するには, リモート側で送信プログラムを起動します.
そして, エンターキーを押してから ``<tt/~C rz/'' (lrzsz をインストールした場合,
``<tt/~C lrz/'') と入力すると, ローカル側へのファイルの受信が始まります.
<p>ファイルを送信するには, リモート側で受信プログラムを起動します.
そして, エンターキーを押してから ``<tt/~C sz &lt;files&gt;/''
(lrzsz をインストールした場合, ``<tt/~C lsz &lt;files&gt;/'')
と入力すると, リモート側へのファイルの送信が始まります.
</sect>

@ -1,423 +0,0 @@
<!-- $Id: troubleshoot.sgml,v 1.2 1998-01-22 08:48:53 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.2 -->
<sect>
<heading>トラブルシューティング<label id="troubleshoot"></heading>
<p><em>訳: &a.yoshiaki;.<newline>10 November 1997.</em>
<sect1>
<heading>ハードディスクに不良ブロックがあります!<label id="awre"></heading>
<p>SCSI ディスクの場合は自動的に再マップする機能があるはずです.
しかし, 理解し難い理由から多くのドライブがこの機能が無効化
されて出荷されています...
<p>これを有効化するには, 最初のデバイスのモードページを変更する
必要があります. これは次のコマンドを実行することで, FreeBSD
上でおこなうことができます (root 権限でおこないます).
<verb>
scsi -f /dev/rsd0c -m 1 -e -P 3
</verb>
<p>そして, AWRE と ARRE の値を 0 から 1 へ変更します:-
<verb>
AWRE (Auto Write Reallocation Enbld): 1
ARRE (Auto Read Reallocation Enbld): 1
</verb>
<p>他の種類のディスクでは, オペレーティングシステムからサポート
されているかによります. 残念ながら, この目的のために FreeBSD
が提供する ``bad144'' コマンドはかなり手を入れる必要があります...
<p>IDE ディスクは, おそらく不良ブロックの再マップを内蔵していると
思います; ディスクの説明書がある場合は, この機能が無効になって
いるかを確認するとよいでしょう. しかし, ESDI, RLL, ST-506
ディスクは, 通常これをおこないません.
<sect1>
<heading>Bustek 742a EISA SCSI が認識されません.</heading>
<p>この情報は 742a のためのものですが, 他の Buslogic カードについても
同様のことが言えます. (Bustek = Buslogic)
<p>742a カードには大きくわけて 2つのバージョンが存在します.
ハードウェアリビジョンの A-G と H 以降です. リビジョンの
文字はカードの隅にあるアセンブリ番号の後ろにあります.
742a は二つの ROM チップを持っており, 一つは BIOS チップで
もう一つはファームウェアチップです. FreeBSD はあなたの
持っているものがどの BIOS バージョンかは問題ありませんが,
ファームウェアバージョンについては問題となります.
Buslogic の技術サポート部門に連絡すれば, アップグレード版の
ROM を送ってくれることでしょう. BIOS チップと
ファームウェアチップはペアで出荷されます.
アダプタカードのハードウェアリビジョンにあわせた
最も新しいファームウェア ROM を使用しなければなりません.
<p>リビジョン A-G のカードには, 2.41/2.21 までの
BIOS/ファームウェアのセットを使用することができます.
リビジョン H 以降のカードには, 最新のものである
4.70/3.37 の BIOS/ファームウェアのセットを
使用することができます. これらのファームウェアの違いは,
ファームウェア 3.37 が 「ラウンドロビン方式」
をサポートしているところからきています.
<p>Buslogic のカードには, 製造番号も刻印されています. 古い
ハードウェアリビジョンのカードを持っている場合は, Buslogic の RMA
部門に問い合わせて製造番号を伝えると, 新しいハードウェアリビジョンの
カードに交換することもできます. もしカードが十分新しければ, 彼らは
交換に応じてくれるでしょう.
<p>FreeBSD 2.1 は ファームウェアリビジョン 2.21
以降のものをサポートしています.
これよりも古いファームウェアリビジョンのものは,
Buslogic カードとして正常に認識されません.
しかし, Adaptec 1540 として認識されるかもしれません.
初期の Buslogic のファームウェアは AHA1540 互換モードを
持っています. しかし, EISA カードにとってこれは
よいことではありません.
<p>古いハードウェアリビジョンのカードを持っていてファームウェア
2.21 を入手するのであれば, ジャンパ W1 の位置をデフォルトの
A-B から B-C に合わせる必要があるでしょう.
<p>742a EISA カードには, <ref id="bigram" name="16 MB
を越える容量のメモリを載せたマシン">の節で説明している
「16 MB を越える」ことによる問題はありません.
これは Vesa-Local Buslogic SCSI カードで発生する問題です.
<sect1>
<heading>
HP Netserver 上のオンボード SCSI コントローラが認識されません.
</heading>
<p>基本的にこれは既知の問題です. HP Netserver マシンの
EISA オンボード SCSI コントローラは EISA のスロット番号 11
を占有しますが, 「本当の」EISA スロットはすべてそれよりも
前のアドレスに配置されているのです. 残念ながら,
10 番以上の EISA スロットは PCI に割り当てられたアドレス空間
と衝突し, FreeBSD
の自動コンフィグレーションは, 現状ではうまくこの状況を
処理できていないのです.
<p>ですから現時点での最良の方法は, カーネルオプションの
<tt/EISA_SLOTS/ を 12 に変え, アドレス空間の衝突がないかの
ようなふりをさせることです :)
<url url="../handbook/kernelconfig.html"
name="ハンドブックのカーネルの構築">
に記述されているようにしてカーネルをコンパイルし,
構築してください.
<p>もちろん, これはこのようなマシンにインストールする際に
卵が先か鶏が先か」といった問題を生み出すことになります.
この問題を回避するために, <em>ユーザコンフィグ
(UserConfig)</em> の中には特別な仕組みが組み込まれています.
このとき ``visual'' インタフェースは使用せず,
コマンドラインインタフェースを使用してください. 単純に
<verb>
eisa 12
quit
</verb>
<p>とプロンプト上から打ち込み,
後は普通にインストールをおこなってください.
とにかくカスタムカーネルのコンパイルとインストールをおこなうことを
おすすめしますが,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?dset" name="dset">
も現時点ではこの値の変更を認識するようになっています.
<p>うまくいけば, 将来のバージョンではこの問題が解決していることでしょう.
<p><tt/注:/ HP Netserver では<bf/危険覚悟の専用ディスク/は
使用できません. 詳細については <ref id="dedicate" name="この注意事項">
をご覧ください.
<sect1>
<heading>この CMD640 IDE コントローラはどこかおかしいようです.</heading>
<p>それは壊れているのです. 両方のチャンネルを同時に制御できないのです.
<p>現在ではこのチップを使っているシステムでは自動的に検出して
うまく動かすためのしくみが使えるようになっています. くわしくは
マニュアルページのディスクドライバ (man 4 wd) を参照してください.
<p>CMD640 IDE コントローラを使っているシステムで FreeBSD 2.2.1
あるいは 2.2.2 を使っている場合でセカンダリのチャネルを
使いたいのであれば <tt/options "CMD640"/ を有効にしてカーネルを
作り直してください.
これは 2.2.5 以降ではデフォルトになります.
<sect1>
<heading>``<tt/ed1: timeout/'' のようなメッセージがいつも出ます. </heading>
<p>たぶん IRQ の衝突が原因でしょう (二つのボードが同じ IRQ
を使用しているなど). FreeBSD 2.0.5R 以前では, これに関しては
寛大で IRQ の衝突があってもネットワークドライバは機能して
いました. しかし 2.0.5R 以降は IRQ の衝突はもはや寛大では
ありません. -c オプションをつけてブートして ed0/de0/... の
エントリをボードの設定に合わせてください.
<p>ネットワークカードの BNC コネクタ (訳注: 10BASE-2 タイプ
のインターフェース) を使っている場合, デバイスのタイムアウト
はターミネーションの不良によっても起きます.
これをチェックするにはケーブルを外してターミネータを直接 NIC
に接続します. そしてエラーメッセージが消えるかどうか
確認します.
<sect1>
<heading>CDROM をマウントしようとすると ``Incorrect super block'' と言われます. </heading>
<p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount"
name="mount"> にマウントしたいデバイスのタイプを指定する必要
があります. デフォルトでは
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount"
name="mount"> はファイルシステムを
``<tt/ufs/'' とみなします. CDROM のファイルシステムを
マウントしたいのであれば ``<tt/-t cd9660/'' と
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount"
name="mount"> オプションをつけて明示する必要があります.
これはもちろん
CDROM が ISO 9660 ファイルシステムである場合です. ほとんどの
CDROM はこの形式です. 1.1R の FreeBSD では (訳注: 現行の 2.1.5R,
2.2R でも同様です) 自動的に Rock Ridge 拡張
(長いファイル名への対応) をうまく解釈します.
<p>CDROM のデバイス ``<tt>/dev/cd0c</tt>'' を
<tt>/mnt</tt> にマウントしたい場合の例では, 次のようにします:
<verb>
mount -t cd9660 /dev/cd0c /mnt
</verb>
<p>デバイスの名前はインタフェースによっては別の名前になっている
かもしれないので注意してください (``<tt>/dev/cd0c</tt>'' は
この場合の例です).
オプション ``<tt/-t cd9660/'' によって
``<tt/mount&lowbar;cd9660/'' コマンドが実行されることに注意
してください. このため例は次のようにすることもできます:
<verb>
mount_cd9660 /dev/cd0c /mnt
</verb>
<sect1>
<heading>CDROM をマウントしようとすると ``Device not configured'' と言われます. </heading>
<p>これは 一般的に CDROM ドライブの中に CDROM が入っていないか,
ドライブがバス上に見えないことを意味します. ドライブに CDROM
を入れるか, IDE (ATAPI) であれば master/slave の状態をチェック
してください. CDROM ドライブに CDROM を入れてから認識するまで
数秒かかりますので少し待ってみてください.
<p>SCSI CDROM ではバスリセットへの応答時間が遅いために失敗する
ことがあるかもしれません. SCSI CDROM を持っている場合は
カーネルコンフィグレーションファイルに以下の行を加えて
再コンパイルして試してみてください.
<verb>
options "SCSI_DELAY=15"
</verb>
<p>(訳注: 現在の GENERIC カーネルでは上の設定はデフォルトに
なっています. 問題のある場合は SCSI_DELAY の数値を増やして
みてください.)
<sect1>
<heading>私のプリンタはとてつもなく遅いのです. どうしたらよいのでしょう?</heading>
<p>パラレルインタフェースで, 問題はとんでもなく遅いだけであるなら,
プリンタボートを ``polled'' モードに設定してみてください:
<verb>
lptcontrol -p
</verb>
<p>HP の新しいプリンタのいくつかは割り込みモードでは
使えないようです. (完全にわかったわけではありませんが)
タイミングの問題のように思われます.
<sect1>
<heading>私のプログラムは時々 ``Signal 11'' のエラーで止まってしまいます. </heading>
<p>これはハードウェア (メモリ, マザーボードなど) の不具合いが
原因です. PC でメモリテストプログラムを動かしてみてください.
ただしメモリが正常に動作していると報告されたとしても, ぎりぎりで
メモリテストにパスしたメモリは, 処理の内容 (例えば
kernel のコンパイルや特にシステムの負荷が高いような場合には,
Adaptec 1542 などの SCSI コントローラのバスマスタ DMA など)
によっては問題が起きる可能性は大いにあります.
<p>SIG11 FAQ (後で URLを示します) では遅いメモリが一般的に問題
を起こしがちであることを指摘しています. BIOS セットアップで
ウエイトステート数を増やすかメモリを速いものに交換してください.
<p>私の場合はキャッシュ RAM やオンボードキャッシュコントローラ
の問題でした. このような問題ではないか確認するために BIOS
セットアップでオンボード (セカンダリ) キャッシュを無効にして
みてください.
<p>以下のところには広い範囲の FAQ があります.
<url url="http://www.bitwizard.nl/sig11/" name="the SIG11 problem FAQ">
<sect1>
<heading>ブートの時に画面が真っ暗になって同期も取れません. </heading>
<p>これは ATI Mach 64 ビデオカードの既知の問題です.
この問題はカードがアドレス<tt/2e8/を使い, 4番目のシリアルポート
もここを使うということにあります.
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio" name="sio.c">
ドライバのバグ
(仕様?) のため4番目のシリアルポートがなくても, 通常この
アドレスを使う sio3 (4 番目のポートにあたります) を無効にしても,
ドライバはこのアドレスをさわります.
<p>バグが修正されるまでは, 次のようにして対処してください.
<enum>
<item> ブートプロンプトが出たら <tt/-c/ と入力します
(これによりカーネルはコンフィグレーションモードに入ります).
<item> <tt/sio0/, <tt/sio1/, <tt/sio2/ ,<tt/sio3/
(これらすべて) を無効にします. これによって sio ドライバは
動作しなくなります
-> 問題はありません.
<item> exit とタイプしてブートを続行します.
</enum>
<p>もしシリアルポートを有効にしたいのであれば以下の変更をおこなって
新しいカーネルを作る必要があります.
<tt>/usr/src/sys/i386/isa/sio.c</tt> の中で1ヵ所ある
<tt/0x2e8/ という文字列を探し, この文字列とその手前にある
コンマを削除します (後ろのコンマは残します). 後は通常の手続き
にしたがって新しいカーネルを作ります.
<p>この対処をおこなった後でもまだ X ウィンドウシステムはうまく
動かないかもしれません. いくつかの新しい ATI Mach 64 ビデオカード
(特に ATI Mach Xpression) は現在のバージョンの
<tt/XFree86/ では動きません. X を起動するとスクリーンが真っ暗
になったり, 奇妙な動き方をしたりします. より新しい X サーバ
はもっとうまく動きます.
<url url="http://www.xfree86.org" name="the XFree86 site">
を見てベータリリースへのリンクを追ってください.
以下のファイルを持ってきましょう.
<p><tt>AccelCards, BetaReport, Cards, Devices, FILES, README.ati,
README.FreeBSD, README.Mach64, RELNOTES, VGADriver.Doc,
X312BMa64.tgz</tt>
<p>古いファイルをこの新しいバージョンのファイルに置き換え,
<htmlurl
url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=xf86config"
name="xf86config"> をもう一度実行します.
<sect1>
<heading>
128MB の RAM があるのですが, 64MB しか認識しません. <label id="reallybigram">
</heading>
<p>FreeBSD がメモリのサイズを BIOS から取得する方法の制限により,
KB 単位で 16 ビット分までしか検出できません
(すなわち最大 65535Kb=64MB です)(これより少ない場合もあります. ある BIOS
の場合はメモリサイズが 16MB に制限されます).
64MB 以上のメモリを積んでいる場合, FreeBSD はそれを検出しようとし
ます. しかしその試みは失敗するかもしれません.
<p>この問題を回避するには, 以下に示すカーネルオプションを
使用する必要があります. 完全なメモリ情報を BIOS から取得する
方法もありますが, ブートブロックに空きが無いため実装できません.
ブートブロックの問題が解決されれば, いつか拡張 BIOS
機能を使用して完全なメモリ情報を取得できるようになるでしょう.
とりあえず現在は, カーネルオプションを使ってください.
<tt>
options "MAXMEM=&lt;n>"
</tt>
<p><tt/n/ には, キロバイト単位でメモリの量を指定します. 128MB
の場合は, <tt/131072/ となります.
<sect1>
<heading>FreeBSD 2.0 が ``kmem_map too small!'' と言ってパニックします. </heading>
<p><tt /注:/ メッセージは, ``mb_map too small!'' の場合もあります.
<p>このパニックは, ネットワークバッファ (特に mbuf クラスタ)
の仮想メモリが無くなったことを示します. 以下のオプションを
カーネルコンフィグファイルに追加して mbuf クラスタに使用できる
仮想メモリの量を増やしてください.
<p><tt>options "NMBCLUSTERS=&lt;n>"</tt>
<p>&lt;n&gt には, 同時に使用したい TCP コネクションの数に応じて
512 から 4096 までの数値を指定できます. とりあえず 2048 を
試してみるのを勧めます. これでパニックは完全の予防できるはずです.
mbuf クラスタの割り当て/使用状況については,
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?netstat"
name="netstat -m"> で知ることができます.
<sect1>
<heading>新しいカーネルでリブートすると ``CMAP busy panic'' となってパニックを起こしてしまいます. </heading>
<p>ファイル <tt>/var/db/kvm_*.db</tt> において範囲外のデータを
検出するためのロジックは失敗することがあり, こうした矛盾のある
ファイルを使用することでパニックを引き起こすことがあります.
<p>これが起こったなら, シングルユーザでリブートした後に,
以下のコマンドを実行してください.
<verb>
rm /var/db/kvm_*.db
</verb>
<sect1>
<heading>ahc0: brkadrint, Illegal Host Access at seqaddr 0x0 というエラーが出ます</heading>
<p>これは Ultrastor SCSI Host Adapter と衝突しています.
<p>ブート時に kernel configuration メニューに入り, 問題を起こしている
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?uha(4)"
name="uha0"> を disable にしましょう.
<sect1>
<heading>sendmailが ``mail loops back to myself'' というメッセージを出すのですが. </heading>
<p>この事は, sendmail FAQ に次のように書いてあります.
<verb>
* "Local configuration error" というメッセージが出ます. 例えば:
553 relay.domain.net config error: mail loops back to myself
554 <user@domain.net>... Local configuration error
のような物ですが, どのようにしたらこの問題を解決できますか?
これは, 例えば domain.net のようなドメイン宛てのメールを
MX record で特定のホスト (ここでは relay.domain.net) に送ろう
としたのに, そのホストでは domain.net 宛てのメールを受け取れる
ような設定になっていない場合です. 設定の際に
FEATURE(use_cw_file) を指定してある場合には/etc/sendmail.cw
の中に domain.net を追加してください. もしくは, /etc/sendmail.cf
の中に "Cw domain.net" を追加してください.
</verb>
<p>もはや現在の <url
url="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq"
name="sendmail FAQ"> は sendmail release とは一緒には保守されて
いません. しかし次のネットニュースに定期的に投稿されてます.
<url url="news:comp.mail.sendmail" name="comp.mail.sendmail">,
<url url="news:comp.mail.misc" name="comp.mail.misc">,
<url url="news:comp.mail.smail" name="comp.mail.smail">,
<url url="news:comp.answers" name="comp.answers">,
<url url="news:news.answers" name="news.answers">.
また, メール経由でコピーを入手する場合は
<url url="mailto:mail-server@rtfm.mit.edu"
name="mail-server@rtfm.mit.edu"> 宛まで本文に "send
usenet/news.answers/mail/sendmail-faq" と書いて送ります.
</sect>

@ -1,287 +0,0 @@
<!-- $Id: x.sgml,v 1.1.1.1 1997-11-17 15:49:00 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.1 -->
<sect>
<heading>X Window System と仮想コンソール<label id="x"></heading>
<p><em>訳: &a.motoyuki;.<newline>13 November 1997.</em>
<sect1>
<heading>X を動かしたいのですが, どうすればいいのですか?</heading>
<p>もっとも簡単な方法は (訳注: FreeBSD の) インストールの際に
X を動かすことを指定するだけです.
<p>それから <htmlurl url=
"http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=xf86config"
name="xf86config">
ツールのドキュメントを読んでこれに従ってください.
このツールはあなたのグラフィックカードやマウスなどに合わせて
XFree86(tm) の設定を行うのを助けてくれます.
<p>Xaccel サーバーについて調べてみるのもいいでしょう.
これはとても納得のいく価格で販売されています. 詳しくは
<ref id="xig" name="Xi Graphics について"> をご覧ください.
<sect1>
<heading>私のマウスはなぜ X で動かないのでしょうか?</heading>
<p>syscons (デフォルトのコンソールドライバ) を使っているのであれば,
それぞれの仮想スクリーンでマウスポインターをサポートするように
FreeBSD を設定できます. X でのマウスの衝突を避けるために, syscons は
``<tt>/dev/sysmouse</tt>'' という仮想デバイスをサポートしています.
本物のマウスデバイスから入力された全てのマウスのイベントは sysmouse
デバイスへ MouseSystems プロトコルで出力されます.
一つ以上の仮想コンソールと X の <bf/両方で/ マウスを使いたい場合,
以下のように設定することをお勧めします:
<verb>
/etc/rc.conf:
moused_type=ps/2 # 実際のマウスのタイプ
moused_port=/dev/psm0 # 実際のマウスポート
moused_flags=
/etc/XF86Config
Section Pointer
Protocol "MouseSystems"
Device "/dev/sysmouse"
.....
</verb>
<p>X で ``<tt>/dev/mouse</tt>'' を使うのを好む人もいます.
この場合は, ``<tt>/dev/mouse</tt>'' を
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?sysmouse"
name="/dev/sysmouse">
にリンクしてください:
<verb>
# cd /dev
# rm -f mouse
# ln -s sysmouse mouse
</verb>
<sect1>
<heading>X のメニューやダイアログボックスがうまく動きません.</heading>
<p>Num Lock キーをオフにしてください.
<p>Num Lock キーがデフォルトでブート時にオンになる場合は,
<tt/XF86config/ ファイルの ``<tt/Keyboard/'' セクションに
以下の行を加えてもいいでしょう.
<verb>
# Let the server do the NumLock processing. This should only be
# required when using pre-R6 clients
ServerNumLock
</verb>
訳注: この問題は XFree86 3.2 以降では解決しています.
<sect1>
<heading>仮想コンソールとは何ですか? どうやったら使えますか?</heading>
<p>仮想コンソールは, 簡単にいうと, ネットワークや X
を動かすなどの複雑なことをおこなわずに, いくつかのセッションを
同時におこなうことを可能にします.
<p>システムのスタート時には, ブートメッセージが出た後に login
プロンプトが表示されます. そこで login ネームとパスワードを
入力すると 1 番目の仮想コンソール上で仕事 (あるいは遊び) を
始めることができます.
<p>他のセッションを始めたい場合もあるでしょう. それは動かしている
プログラムのドキュメントを見たり, FTP の転送が終わるまで待つ間
メールを読もうとしたりすることかもしれません.
Alt-F2 を押す (Alt キーを押しながら F2 キーを押す) と 2 番目の
「仮想コンソール」で login プロンプトが待機していることが
わかります. 最初のセッションに戻りたいときは Alt-F1 を押します.
<p>標準の FreeBSDインストールでは 3 枚の仮想コンソールが
有効になっていて, Alt-F1, Alt-F2, Alt-F3 で仮想コンソール間の
切替えをおこないます.
より多くの仮想コンソールを有効にするには, <htmlurl
url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">
を編集して ``Virtual terminals'' のコメント行の後に ``<tt/ttyv4/''
から ``<tt/ttyvc/'' の手前までのエントリを加えます
(以下の例は先頭には空白は入りません) :
<verb>
# /etc/ttys には ttyv3 がありますので
# "off" を "on" に変更します.
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/libexec/getty Pc" cons25 on secure
ttyv9 "/usr/libexec/getty Pc" cons25 on secure
ttyva "/usr/libexec/getty Pc" cons25 on secure
ttyvb "/usr/libexec/getty Pc" cons25 on secure
</verb>
<p>多くするか少なくするかはあなたの自由です. より多くの仮想
ターミナルを使うとより多くのリソースを使うことになります.
8MB 以下のメモリしかない場合はこれは重要な問題です.
もし必要があれば ``<tt/secure/'' を ``<tt/insecure/''
に変更してください.
<p><bf/重要/ X を使いたいのであれば, 最低一つの仮想ターミナル
(のエントリ) を使わずに残しておくか, off にしておく必要があります.
つまり, 12 個の Alt-ファンクションキー全てでログインプロンプトを
出したいのならば不運にも X は使えない, ということです.
同じマシンで X サーバーも動かしたいのならば 11 個しか使えません.
<p>仮想コンソールを無効にするもっとも簡単な方法はコンソールを
off にすることです. 例えば 12 個全てのターミナルを割り当てている
状態で X を動かしたいときは仮想ターミナル 12 を変更します:
<verb>
ttyvb "/usr/libexec/getty Pc" cons25 on secure
</verb>
<p>これを次のように変更します:
<verb>
ttyvb "/usr/libexec/getty Pc" cons25 off secure
</verb>
<p>キーボードにファンクションキーが 10 個しかないのであれば
次のように設定します.
<verb>
ttyv9 "/usr/libexec/getty Pc" cons25 off secure
ttyva "/usr/libexec/getty Pc" cons25 off secure
ttyvb "/usr/libexec/getty Pc" cons25 off secure
</verb>
<p>(これらの行を消すだけでもいいです.)
<p><htmlurl
url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">
を編集したら次は十分な数の仮想ターミナルデバイスを
作らなくてはなりません. もっとも簡単な方法を示します:
<verb>
# cd /dev
# ./MAKEDEV vty12 # For 12 devices
</verb>
<p>さて, 仮想コンソールを有効にするのにもっとも簡単 (そして確実)
な方法はリブートすることです. しかし, リブートしたくない場合は,
X ウィンドウシステムを終了させて次の内容を実行します
(<tt/root/ 権限で) :
<verb>
kill -HUP 1
</verb>
<p>重要な点はこのコマンドを実行する前に X ウィンドウシステムを
完全に終了させておくことです. もしそうしないと kill コマンドを
実行した後にシステムはおそらくハングアップするでしょう.
<sect1>
<heading>X から仮想コンソールに切替えるにはどうすればよいのですか? </heading>
<p>コンソールが X の表示をしている場合は, Ctrl-Alt-F1 などを使って
仮想コンソールの切替えをおこなうことができます. ただし, X
から離れて仮想ターミナルへ移っている時は Alt-ファンクションキーを
使って他の仮想ターミナルへ切替えたり X へ戻ったりします.
コントロールキーは押さないでください. Ctrl-Alt-ファンクションキーの
組合せは X から仮想ターミナルに移る時だけ利用してください.
コントロールキーを押してしまうと ``control-lock'' モードになり
テキストコンソールが止まってしまいます. コントロールキーを押して
回復させてください.
<p>訳注: X に戻るには 3枚の仮想コンソールが有効になっている場合は
Alt-F4 です. 有効な仮想コンソールの数 +1 のファンクションキーの
位置に X が割り当てられます.
<sect1>
<heading>XDM を<tt>/etc/ttys</tt>ファイルから起動させるにはどうしますか?</heading>
<p><htmlurl url=
"http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=xdm"
name="xdm"> を
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ttys"
name="/etc/ttys"> から起動するのはよい方法ではありません.
なぜこのようなことが README ファイルなどにあるのかよくわかりません.
<p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc"
name="rc.local"> から起動させ, どのように実行されるか明記して
おいてください. それが <tt/rc.local/ の最後の処理であれば,
後ろに ``<tt/sleep 1/'' をおいて <tt/rc/ シェルが終了する前に
きちんとデーモンになるようにします.
<p><tt/xdm/ は引数を持たずに実行されるでしょう (つまりデーモン
として起動されます).
<bf/注:/ 古いバージョンの FAQ では
<tt>/usr/X11R6/lib/X11/xdm/Xservers</tt> ファイルに X の使う
<tt/vt/ を加えるように書いてあります. これは必要ありません:
X は最初に見つけた利用可能な <tt/vt/ を使います.
<sect1>
<heading>xconsole を動かそうとすると ``Couldn't open console'' とエラーが出ます. </heading>
<p><htmlurl
url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=X"
name="X"> を
<htmlurl
url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=startx"
name="startx"> で起動しますと, /dev/console のパーミッションは
<tt /変更ができない/ ようになっていますので,
<htmlurl
url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=xterm"
name="xterm -C"> や
<htmlurl url=
"http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=xconsole"
name="xconsole"> は動きません.
<p>これはコンソールのパーミッションが標準ではそのように
設定されているからです. マルチユーザシステムでは, ユーザの誰もが
システムコンソールに書き込むことが可能である必要は必ずしもありません.
VTY を使い 直接マシンにログインするユーザのために,
このような問題を解決するために
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fbtab"
name="fbtab"> というファイルがあります.
<p>要点を述べると, 次のような形式の行を
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fbtab"
name="fbtab"> に加えます.
<verb>
/dev/ttyv0 0600 /dev/console
</verb>
<p>そうすると, <tt>/dev/ttyv0</tt> からログインしたユーザが
コンソールを所有することになるでしょう.
<sect1>
<heading>私の PS/2 マウスは X ウィンドウシステム上でうまく動きません. </heading>
<p>あなたのマウスとマウスドライバがうまく同期していないようです.
X から仮想ターミナルへ切替えて X へ戻ると再同期するかもしれません.
この問題がよく起きるようであれば, カーネルコンフィグレーション
ファイルに次のオプションを書いてカーネルを再構成してみてください.
<verb>
options PSM_CHECKSYNC
</verb>
<p>もし, カーネルの再構築をおこなったことがないのであれば
<ref id="make-kernel" name="カーネルを作る">のセクションを
見てください.
<p>このオプションにより, マウスとドライバの同期の問題の起きる
可能性は少なくなるでしょう. もしそれでもこの問題が起きるようであれば,
マウスとドライバが再同期するまでマウスボタンのどれかを
押し続けてください.
<p>このオプションは残念ながら, すべてのシステムで働くわけではなく
また, ``tap'' の特色を持つ ALPS GlidePoint デバイスを PS/2
マウスポートにつないだ場合は無効です.
</sect>

@ -1,7 +0,0 @@
# From: @(#)Makefile 8.1 (Berkeley) 6/5/93
# $Id: Makefile,v 1.4 1997-11-17 15:58:15 max Exp $
SUBDIR = handbook
SUBDIR+= FAQ
.include <bsd.subdir.mk>

@ -1,27 +0,0 @@
# $Id: Makefile,v 1.19 1998-02-13 12:36:57 hanai Exp $
# Original revision: 1.28
# The FreeBSD Japanese Documentation Project
DOC= handbook
DOCDIR=${SHAREDIR}/doc/ja_JP.EUC
FORMATS?= html roff
SGMLOPTS+=-e EUC-JP
SGMLOPTS+=-links
SRCS= authors.sgml basics.sgml bibliography.sgml boothelp.sgml
SRCS+= booting.sgml contrib.sgml crypt.sgml ctm.sgml current.sgml cvsup.sgml
SRCS+= cyclades.sgml development.sgml dialup.sgml dialout.sgml
SRCS+= diskless.sgml dma.sgml eresources.sgml esdi.sgml
SRCS+= firewalls.sgml german.sgml glossary.sgml goals.sgml
SRCS+= handbook.sgml history.sgml hw.sgml install.sgml isdn.sgml
SRCS+= kerberos.sgml kernelconfig.sgml kerneldebug.sgml kernelopts.sgml
SRCS+= lists.sgml mail.sgml memoryuse.sgml
SRCS+= mirrors.sgml nfs.sgml nutshell.sgml pgpkeys.sgml policies.sgml
SRCS+= porting.sgml ports.sgml ppp.sgml printing.sgml
SRCS+= quotas.sgml relnotes.sgml routing.sgml russian.sgml
SRCS+= serial.sgml scsi.sgml sections.sgml sio.sgml skey.sgml slipc.sgml
SRCS+= slips.sgml stable.sgml submitters.sgml synching.sgml
SRCS+= term.sgml userppp.sgml uart.sgml linuxemu.sgml
SRCS+= jcontrib.sgml jmembers.sgml
.include <bsd.sgml.mk>

@ -1,532 +0,0 @@
<!-- $Id: authors.sgml,v 1.37 1998-01-02 14:05:02 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.89 -->
<!--
Names and email address of contributing authors and CVS committers.
Entity names for committers should be the same as their login names on
freefall.FreeBSD.ORG.
Use these entities when referencing people. Please note the use of single
and double quotes.
Please keep this list in alphabetical order by entity names.
-->
<!ENTITY a.ache "Andrey A. Chernov
<tt><htmlurl url='mailto:ache@FreeBSD.ORG'
name='&lt;ache@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.adam "Adam David
<tt><htmlurl url='mailto:adam@FreeBSD.ORG'
name='&lt;adam@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.ahasty "Amancio Hasty
<tt><htmlurl url='mailto:ahasty@FreeBSD.ORG'
name='&lt;ahasty@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.alex "Alex Nash
<tt><htmlurl url='mailto:alex@freebsd.org'
name='&lt;alex@freebsd.org&gt;'></tt>">
<!ENTITY a.amurai "Atsushi Murai
<tt><htmlurl url='mailto:amurai@FreeBSD.ORG'
name='&lt;amurai@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.andreas "Andreas Klemm
<tt><htmlurl url='mailto:andreas@FreeBSD.ORG'
name='&lt;andreas@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.asami "浅見 賢
<tt><htmlurl url='mailto:asami@FreeBSD.ORG'
name='&lt;asami@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.ats "Andreas Schulz
<tt><htmlurl url='mailto:ats@FreeBSD.ORG'
name='&lt;ats@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.awebster "Andrew Webster
<tt><htmlurl url='mailto:awebster@pubnix.net'
name='&lt;awebster@pubnix.net&gt;'></tt>">
<!ENTITY a.brandon "Brandon Gillespie
<tt><htmlurl url='mailto:brandon@FreeBSD.ORG'
name='&lt;brandon@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.bde "Bruce Evans
<tt><htmlurl url='mailto:bde@FreeBSD.ORG'
name='&lt;bde@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.brian "Brian Somers
<tt><htmlurl url='mailto:brian@FreeBSD.ORG'
name='&lt;brian@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.cawimm "Charles A. Wimmer
<tt><htmlurl url='mailto:cawimm@FreeBSD.ORG'
name='&lt;cawimm@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.charnier "Philippe Charnier
<tt><htmlurl url='mailto:charnier@FreeBSD.ORG'
name='&lt;charnier@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.chuck "Chuck Robey
<tt><htmlurl url='mailto:chuckr@glue.umd.edu'
name='&lt;chuckr@glue.umd.edu&gt;'></tt>">
<!ENTITY a.chuckr "Chuck Robey
<tt><htmlurl url='mailto:chuckr@FreeBSD.ORG'
name='&lt;chuckr@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.cracauer "Martin Cracauer
<tt><htmlurl url='mailto:cracauer@FreeBSD.ORG'
name='&lt;cracauer@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.csgr "Geoff Rehmet
<tt><htmlurl url='mailto:csgr@FreeBSD.ORG'
name='&lt;csgr@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.cwt "Chris Timmons
<tt><htmlurl url='mailto:cwt@FreeBSD.ORG'
name='&lt;cwt@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.danny "Daniel O'Callaghan
<tt><htmlurl url='mailto:danny@FreeBSD.ORG'
name='&lt;danny@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.darrenr "Darren Reed
<tt><htmlurl url='mailto:darrenr@FreeBSD.ORG'
name='&lt;darrenr@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.dave "Dave Cornejo
<tt><htmlurl url='mailto:dave@FreeBSD.ORG'
name='&lt;dave@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.davidg "David Greenman
<tt><htmlurl url='mailto:davidg@FreeBSD.ORG'
name='&lt;davidg@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.davidn "David Nugent
<tt><htmlurl url='mailto:davidn@blaze.net.au'
name='&lt;davidn@blaze.net.au&gt;'></tt>">
<!ENTITY a.dfr "Doug Rabson
<tt><htmlurl url='mailto:dfr@FreeBSD.ORG'
name='&lt;dfr@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.dima "Dima Ruban
<tt><htmlurl url='mailto:dima@FreeBSD.ORG'
name='&lt;dima@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.dirkvangulik "Dirk-Willem van Gulik
<tt><htmlurl url='mailto:Dirk.vanGulik@jrc.it'
name='&lt;Dirk.vanGulik@jrc.it&gt;'></tt>">
<!ENTITY a.dufault "Peter Dufault
<tt><htmlurl url='mailto:dufault@FreeBSD.ORG'
name='&lt;dufault@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.dyson "John Dyson
<tt><htmlurl url='mailto:dyson@FreeBSD.ORG'
name='&lt;dyson@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.eivind "Eivind Eklund
<tt><htmlurl url='mailto:perhaps@yes.no'
name='&lt;perhaps@yes.no&gt;'></tt>">
<!ENTITY a.erich "Eric L. Hernes
<tt><htmlurl url='mailto:erich@FreeBSD.ORG'
name='&lt;erich@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.fenner "Bill Fenner
<tt><htmlurl url='mailto:fenner@FreeBSD.ORG'
name='&lt;fenner@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.fsmp "Steve Passe
<tt><htmlurl url='mailto:fsmp@FreeBSD.ORG'
name='&lt;fsmp@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.gclarkii "Gary Clark II
<tt><htmlurl url='mailto:gclarkii@FreeBSD.ORG'
name='&lt;gclarkii@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.gena "Gennady B. Sorokopud
<tt><htmlurl url='mailto:gena@NetVision.net.il'
name='&lt;gena@NetVision.net.il&gt;'></tt>">
<!ENTITY a.ghelmer "Guy Helmer
<tt><htmlurl url='mailto:ghelmer@cs.iastate.edu'
name='&lt;ghelmer@cs.iastate.edu&gt;'></tt>">
<!ENTITY a.gibbs "Justin T. Gibbs
<tt><htmlurl url='mailto:gibbs@FreeBSD.ORG'
name='&lt;gibbs@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.gj "Gary Jennejohn
<tt><htmlurl url='mailto:gj@FreeBSD.ORG'
name='&lt;gj@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.gpalmer "Gary Palmer
<tt><htmlurl url='mailto:gpalmer@FreeBSD.ORG'
name='&lt;gpalmer@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.graichen "Thomas Graichen
<tt><htmlurl url='mailto:graichen@FreeBSD.ORG'
name='&lt;graichen@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.gryphon "Coranth Gryphon
<tt><htmlurl url='mailto:gryphon@healer.com'
name='&lt;gryphon@healer.com&gt;'></tt>">
<!ENTITY a.guido "Guido van Rooij
<tt><htmlurl url='mailto:guido@FreeBSD.ORG'
name='&lt;guido@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.hanai "花井浩之
<tt><htmlurl url='mailto:hanai@FreeBSD.ORG'
name='&lt;hanai@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.handy "Brian N. Handy
<tt><htmlurl url='mailto:handy@sxt4.physics.montana.edu'
name='&lt;handy@sxt4.physics.montana.edu&gt;'></tt>">
<!ENTITY a.helbig "Wolfgang Helbig
<tt><htmlurl url='mailto:helbig@FreeBSD.ORG'
name='&lt;helbig@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.hm "Hellmuth Michaelis
<tt><htmlurl url='mailto:hm@kts.org'
name='&lt;hm@kts.org&gt;'></tt>">
<!ENTITY a.hoek "Tim Vanderhoek
<tt><htmlurl url='mailto:hoek@FreeBSD.ORG'
name='&lt;hoek@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.hsu "Jeffrey Hsu
<tt><htmlurl url='mailto:hsu@FreeBSD.ORG'
name='&lt;hsu@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.imp "Warner Losh
<tt><htmlurl url='mailto:imp@FreeBSD.ORG'
name='&lt;imp@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.itojun "Jun-ichiro Itoh
<tt><htmlurl url='mailto:itojun@itojun.org'
name='&lt;itojun@itojun.org&gt;'></tt>">
<!ENTITY a.jb "John Birrell
<tt><htmlurl url='mailto:jb@cimlogic.com.au'
name='&lt;jb@cimlogic.com.au&gt;'></tt>">
<!ENTITY a.jdp "John Polstra
<tt><htmlurl url='mailto:jdp@FreeBSD.ORG'
name='&lt;jdp@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jehamby "Jake Hamby
<tt><htmlurl url='mailto:jehamby@lightside.com'
name='&lt;jehamby@lightside.com&gt;'></tt>">
<!ENTITY a.jfieber "John Fieber
<tt><htmlurl url='mailto:jfieber@FreeBSD.ORG'
name='&lt;jfieber@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jfitz "James FitzGibbon
<tt><htmlurl url='mailto:james@nexis.net'
name='&lt;james@nexis.net&gt;'></tt>">
<!ENTITY a.jgreco "Joe Greco
<tt><htmlurl url='mailto:jgreco@FreeBSD.ORG'
name='&lt;jgreco@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jhay "John Hay
<tt><htmlurl url='mailto:jhay@FreeBSD.ORG'
name='&lt;jhay@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jkh "Jordan K. Hubbard
<tt><htmlurl url='mailto:jkh@FreeBSD.ORG'
name='&lt;jkh@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jlemon "Jonathan Lemon
<tt><htmlurl url='mailto:jlemon@FreeBSD.ORG'
name='&lt;jlemon@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jlind "John Lind
<tt><htmlurl url='mailto:john@starfire.MN.ORG'
name='&lt;john@starfire.MN.ORG&gt;'></tt>">
<!ENTITY a.jlrobin "James L. Robinson
<tt><htmlurl url='mailto:jlrobin@FreeBSD.ORG'
name='&lt;jlrobin@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jmacd "Joshua Peck Macdonald
<tt><htmlurl url='mailto:jmacd@FreeBSD.ORG'
name='&lt;jmacd@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jmb "Jonathan M. Bresler
<tt><htmlurl url='mailto:jmb@FreeBSD.ORG'
name='&lt;jmb@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jmg "John-Mark Gurney
<tt><htmlurl url='mailto:jmg@FreeBSD.ORG'
name='&lt;jmg@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jmz "Jean-Marc Zucconi
<tt><htmlurl url='mailto:jmz@FreeBSD.ORG'
name='&lt;jmz@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.joerg "J&ouml;rg Wunsch
<tt><htmlurl url='mailto:joerg@FreeBSD.ORG'
name='&lt;joerg@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.john "John Cavanaugh
<tt><htmlurl url='mailto:john@FreeBSD.ORG'
name='&lt;john@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jraynard "James Raynard
<tt><htmlurl url='mailto:jraynard@freebsd.org'
name='&lt;jraynard@freebsd.org&gt;'></tt>">
<!ENTITY a.jseger "Justin Seger
<tt><htmlurl url='mailto:jseger@freebsd.org'
name='&lt;jseger@freebsd.org&gt;'></tt>">
<!ENTITY a.julian "Julian Elischer
<tt><htmlurl url='mailto:julian@FreeBSD.ORG'
name='&lt;julian@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.jvh "Johannes Helander
<tt><htmlurl url='mailto:jvh@FreeBSD.ORG'
name='&lt;jvh@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.karl "Karl Strickland
<tt><htmlurl url='mailto:karl@FreeBSD.ORG'
name='&lt;karl@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.kato "Takenori KATO
<tt><htmlurl url='mailto:kato@FreeBSD.ORG'
name='&lt;kato@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.kelly "Sean Kelly
<tt><htmlurl url='mailto:kelly@fsl.noaa.gov'
name='&lt;kelly@fsl.noaa.gov&gt;'></tt>">
<!ENTITY a.kjc "Kenjiro Cho
<tt><htmlurl url='mailto:kjc@FreeBSD.ORG'
name='&lt;kjc@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.lars "Lars Fredriksen
<tt><htmlurl url='mailto:lars@FreeBSD.ORG'
name='&lt;lars@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.ljo "L Jonas Olsson
<tt><htmlurl url='mailto:ljo@FreeBSD.ORG'
name='&lt;ljo@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.markm "Mark Murray
<tt><htmlurl url='mailto:markm@FreeBSD.ORG'
name='&lt;markm@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.martin "Martin Renters
<tt><htmlurl url='mailto:martin@FreeBSD.ORG'
name='&lt;martin@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.max "中根 雅文
<tt><htmlurl url='mailto:max@FreeBSD.ORG'
name='&lt;max@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.mayo "Mark Mayo
<tt><htmlurl url='mailto:mark@vmunix.com'
name='&lt;mark@vmunix.com&gt;'></tt>">
<!ENTITY a.mbarkah "Ade Barkah
<tt><htmlurl url='mailto:mbarkah@FreeBSD.ORG'
name='&lt;mbarkah@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.mckay "Stephen McKay
<tt><htmlurl url='mailto:mckay@FreeBSD.ORG'
name='&lt;mckay@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.md "Mark Dapoz
<tt><htmlurl url='mailto:md@bsc.no'
name='&lt;md@bsc.no&gt;'></tt>">
<!ENTITY a.mpp "Mike Pritchard
<tt><htmlurl url='mailto:mpp@FreeBSD.ORG'
name='&lt;mpp@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.msmith "Michael Smith
<tt><htmlurl url='mailto:msmith@FreeBSD.ORG'
name='&lt;msmith@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.nate "Nate Williams
<tt><htmlurl url='mailto:nate@FreeBSD.ORG'
name='&lt;nate@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.nik "Nik Clayton
<tt><htmlurl url='mailto:nik@iii.co.uk'
name='&lt;nik@iii.co.uk&gt;'></tt>">
<!ENTITY a.nsj "Nate Johnson
<tt><htmlurl url='mailto:nsj@FreeBSD.ORG'
name='&lt;nsj@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.obrien "David O'Brien
<tt><htmlurl url='mailto:obrien@FreeBSD.ORG'
name='&lt;obrien@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.olah "Andras Olah
<tt><htmlurl url='mailto:olah@FreeBSD.ORG'
name='&lt;olah@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.opsys "Chris Watson
<tt><htmlurl url='mailto:opsys@open-systems.net'
name='&lt;opsys@open-systems.net&gt;'></tt>">
<!ENTITY a.paul "Paul Richards
<tt><htmlurl url='mailto:paul@FreeBSD.ORG'
name='&lt;paul@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.pds "Peter da Silva
<tt><htmlurl url='mailto:pds@FreeBSD.ORG'
name='&lt;pds@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.peter "Peter Wemm
<tt><htmlurl url='mailto:peter@FreeBSD.ORG'
name='&lt;peter@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.phk "Poul-Henning Kamp
<tt><htmlurl url='mailto:phk@FreeBSD.ORG'
name='&lt;phk@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.pjc "Peter Childs
<tt><htmlurl url='mailto:pjchilds@imforei.apana.org.au'
name='&lt;pjchilds@imforei.apana.org.au&gt;'></tt>">
<!ENTITY a.proven "Chris Provenzano
<tt><htmlurl url='mailto:proven@FreeBSD.ORG'
name='&lt;proven@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.pst "Paul Traina
<tt><htmlurl url='mailto:pst@FreeBSD.ORG'
name='&lt;pst@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.rgrimes "Rodney Grimes
<tt><htmlurl url='mailto:rgrimes@FreeBSD.ORG'
name='&lt;rgrimes@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.rhuff "Robert Huff
<tt><htmlurl url='mailto:rhuff@cybercom.net'
name='&lt;rhuff@cybercom.net&gt;'></tt>">
<!ENTITY a.ricardag "Ricardo AG
<tt><htmlurl url='mailto:ricardag@ag.com.br'
name='&lt;ricardag@ag.com.br&gt;'></tt>">
<!ENTITY a.rich "Rich Murphey
<tt><htmlurl url='mailto:rich@FreeBSD.ORG'
name='&lt;rich@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.roberto "Ollivier Robert
<tt><htmlurl url='mailto:roberto@FreeBSD.ORG'
name='&lt;roberto@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.rse "Ralf S. Engelschall
<tt><htmlurl url='mailto:rse@FreeBSD.ORG'
name='&lt;rse@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.scrappy "Marc G. Fournier
<tt><htmlurl url='mailto:scrappy@FreeBSD.ORG'
name='&lt;scrappy@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.se "Stefan Esser
<tt><htmlurl url='mailto:se@FreeBSD.ORG'
name='&lt;se@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.sef "Sean Eric Fagan
<tt><htmlurl url='mailto:sef@FreeBSD.ORG'
name='&lt;sef@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.smace "Scott Mace
<tt><htmlurl url='mailto:smace@FreeBSD.ORG'
name='&lt;smace@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.smpatel "Sujal Patel
<tt><htmlurl url='mailto:smpatel@FreeBSD.ORG'
name='&lt;smpatel@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.sos "S&oslash;ren Schmidt
<tt><htmlurl url='mailto:sos@FreeBSD.ORG'
name='&lt;sos@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.stark "Gene Stark
<tt><htmlurl url='mailto:stark@FreeBSD.ORG'
name='&lt;stark@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.stb "Stefan Bethke
<tt><htmlurl url='mailto:stb@FreeBSD.ORG'
name='&lt;stb@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.steve "Steve Price
<tt><htmlurl url='mailto:steve@FreeBSD.ORG'
name='&lt;steve@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.swallace "Steven Wallace
<tt><htmlurl url='mailto:swallace@FreeBSD.ORG'
name='&lt;swallace@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.tedm "Ted Mittelstaedt
<tt><htmlurl url='mailto:tedm@FreeBSD.ORG'
name='&lt;tedm@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.tegge "Tor Egge
<tt><htmlurl url='mailto:tegge@FreeBSD.ORG'
name='&lt;tegge@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.tg "Thomas Gellekum
<tt><htmlurl url='mailto:tg@FreeBSD.ORG'
name='&lt;tg@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.torstenb "Torsten Blum
<tt><htmlurl url='mailto:torstenb@FreeBSD.ORG'
name='&lt;torstenb@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.ugen "Ugen J.S.Antsilevich
<tt><htmlurl url='mailto:ugen@FreeBSD.ORG'
name='&lt;ugen@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.uhclem "Frank Durda IV
<tt><htmlurl url='mailto:uhclem@FreeBSD.ORG'
name='&lt;uhclem@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.ulf "Ulf Zimmermann
<tt><htmlurl url='mailto:ulf@FreeBSD.ORG'
name='&lt;ulf@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.vanilla "Vanilla I. Shu
<tt><htmlurl url='mailto:vanilla@FreeBSD.ORG'
name='&lt;vanilla@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.whiteside "Don Whiteside
<tt><htmlurl url='mailto:whiteside@acm.org'
name='&lt;whiteside@acm.org&gt;'></tt>">
<!ENTITY a.wilko "Wilko Bulte
<tt><htmlurl url='mailto:wilko@yedi.iaf.nl'
name='&lt;wilko@yedi.iaf.nl&gt;'></tt>">
<!ENTITY a.wlloyd "Bill Lloyd
<tt><htmlurl url='mailto:wlloyd@mpd.ca'
name='&lt;wlloyd@mpd.ca&gt;'></tt>">
<!ENTITY a.wollman "Garrett Wollman
<tt><htmlurl url='mailto:wollman@FreeBSD.ORG'
name='&lt;wollman@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.wosch "Wolfram Schneider
<tt><htmlurl url='mailto:wosch@FreeBSD.ORG'
name='&lt;wosch@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.wpaul "Bill Paul
<tt><htmlurl url='mailto:wpaul@FreeBSD.ORG'
name='&lt;wpaul@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.yokota "Kazutaka YOKOTA
<tt><htmlurl url='mailto:yokota@FreeBSD.ORG'
name='&lt;yokota@FreeBSD.ORG&gt;'></tt>">

@ -1,93 +0,0 @@
<!-- $Id: basics.sgml,v 1.6 1997-08-25 04:57:05 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.10 -->
<chapt><heading>Unix の基礎知識<label id="basics"></heading>
<p><em>訳: &a.nakai;<newline>12 October 1996.</em>
<sect>
<heading>オンラインマニュアル<label id="basics:man"></heading>
<p>FreeBSD についてのもっとも包括的なドキュメントは
<em>マニュアルページ</em>の形式になっているものです.
FreeBSD システム上のほとんどすべてのプログラムには基本的な
操作方法とさまざまな引数を説明しているリファレンスマニュアル
がついています。これらのマニュアルは
<tt><bf>man</bf></tt> コマンドで見ることができます。
<tt><bf>man</bf></tt> コマンドの使い方は簡単です :
<tscreen>
<bf>man</bf> <it>コマンド名</it>
</tscreen>
<it>コマンド名</it>のところには知りたいコマンドの名前を入れます。
たとえば、<tt><bf>ls</bf></tt> コマンドについて知りたい場合には
次のように入力します :
<tscreen>
% <bf>man ls</bf>
</tscreen>
<p>オンラインマニュアルは数字のついたセクションに分けられています :
<enum>
<item>ユーザコマンド</item>
<item>システムコールとエラー番号</item>
<item>C のライブラリ関数</item>
<item>デバイスドライバ</item>
<item>ファイル形式</item>
<item>ゲームとほかのお楽しみ</item>
<item>そのほかの情報</item>
<item>システムの管理と操作のためのコマンド</item>
</enum>
場合によっては, 同じことがらでもオンラインマニュアルでは
複数のセクションに記載されていることがあります。たとえば、
<tt><bf>chmod</bf></tt> ユーザコマンドと <tt><bf>chmod()</bf></tt>
システムコールがあります。この場合、<tt><bf>man</bf></tt>
コマンドでどちらを参照したいかをセクションで指定することが
できます :
<tscreen>
% <bf>man 1 chmod</bf>
</tscreen>
とすればユーザコマンドとしての <tt><bf>chmod</bf></tt>
のマニュアルページが表示されます。オンラインマニュアル上の特定の
セクションへの参照は通常、書かれているドキュメントの
括弧の中に示されています。ですから、<tt><bf>chmod(1)</bf></tt> は
<tt><bf>chmod</bf></tt> ユーザコマンドを、
<tt><bf>chmod(2)</bf></tt> はシステムコールの方を示しています。
<p>コマンドの名前を知っていて, 単純にその使い方が分かる場合は
よいのですが、もしコマンドの名前を思い出せない場合には
どうしたらいいのでしょう? <tt><bf>man</bf></tt> に
<tt><bf>-k</bf></tt> スイッチをつければ,
コマンドデスクリプション中のキーワードから検索することができます :
<tscreen>
% <bf>man -k mail</bf>
</tscreen>
このコマンドを使うことで, 「mail」というキーワードを含むコマンドの
一覧を参照することができます。実を言うと <tt><bf>apropos</bf></tt>
コマンドを使うのと機能的には同じです。
<p>それから、<tt>/usr/bin</tt> にある優れたコマンドすべてを目にしても、
それらの大半がどういった働きをするのかまったく見当もつかないときは
どうしたらよいでしょう。単純に、
<tscreen>
% <bf>cd /usr/bin; man -f *</bf>
</tscreen>
あるいは同じ働きをする
<tscreen>
% <bf>cd /usr/bin; whatis *</bf>
</tscreen>
としましょう。
<sect>
<heading>GNU の Info ファイル<label id="basics:info"></heading>
<p>FreeBSD には Free Software Foundation (FSF) によるアプリケーションや
ユーティリティがたくさんあります。こうしたプログラムには
manページに加えて、<em>info</em> ファイルと呼ばれる
ハイパーテキスト形式のドキュメントが付属になっていて、<tt>info</tt>
コマンドや、<tt>emacs</tt> をインストールしているなら
<tt>emacs</tt> の info モードで見ることができます。
<tt>info(1)</tt> コマンドを使うには, 単にこう入力します。
<tscreen>% <bf>info</bf></tscreen> おおまかなイントロダクションを
見るには、<tt><bf>h</bf></tt> と入力します。
クイックコマンドリファレンスは <tt><bf>?</bf></tt> とします。

@ -1,450 +0,0 @@
<!-- $Id: bibliography.sgml,v 1.12 1997-12-17 11:38:05 asami Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.32 -->
<chapt>
<heading>参考図書<label id="bibliography"></heading>
<p><em>訳: &a.nakai;<newline>12 October 1996.</em>
<p>FreeBSD オペレーティングシステムの個々の部分については
マニュアルページで定義のような説明がなされていますが,
それらにはどうやってその部分どうしをつなぎあわせて
オペレーティングシステム全体を円滑に動作させるかを
説明していないという欠点がよく指摘されます.
それを補うためには UNIX システム管理についてのよい本や,
すぐれた利用者向けのマニュアルが欠かせません.
<sect>
<heading>FreeBSDのためだけの書籍 & 雑誌</heading>
<p><bf>非英語文化圏の 書籍 & 雑誌:</bf>
<p><itemize>
<item><htmlurl url="http://freebsd.csie.nctu.edu.tw/~jdli/book.html"
name="FreeBSD 入門與應用"> (in Chinese).
<item>FreeBSD入門キット 98版第二版. 宮嵜忠臣 著.
秀和システム. ISBN 4-87966-535-5 C3055 2900円.
<item>FreeBSD入門キット AT互換機版 第二版. 宮嵜忠臣 著.
秀和システム. ISBN 4-87966-535-5 C3055 2900円.
<item>ここまでできる FreeBSD パワーガイド.
霜山 滋 仲道 嘉夫 山中右次 著. 秀和システム.
ISBN 4-87966-637-8 2600円.
<item><htmlurl
url="http://www.shoeisha.co.jp/pc/index/shinkan/97_05_06.htm"
name="FreeBSD徹底入門">.
あさだたくや 天川修平 衛藤敏寿 浜田直樹 細川達己 三田吉郎 著.
<htmlurl url="http://www.shoeisha.co.jp/" name="翔泳社">.
ISBN 4-88135-473-6 3600円.
<item><htmlurl
url="http://www.ascii.co.jp/pb/book1/shinkan/detail/1322785.html"
name="パーソナルUNIXスターターキットFreeBSD">.
民田雅人 古場正行 増田佳泰 天池健 宮川晋 共著.
<htmlurl url="http://www.ascii.co.jp/"
name="アスキー">. ISBN 4-7561-1733-3 3000円.
<item>FreeBSD ハンドブック (日本語版).
<htmlurl url="http://www.ascii.co.jp/"
name="アスキー">. ISBN 4-7561-1580-2 3800円.
</itemize>
<p><bf>英語の書籍 & 雑誌:</bf>
<p><itemize>
<item><htmlurl url="http://www.cdrom.com/titles/os/bsdbook2.htm"
name="The Complete FreeBSD">, published by <htmlurl
url="http://www.cdrom.com" name="Walnut Creek CDROM">.
</itemize>
<sect>
<heading>利用者向けのガイド</heading>
<p><itemize>
<item>Computer Systems Research Group, UC Berkeley.
<sl>4.4BSD User's Reference Manual</sl>.
O'Reilly &amp; Associates, Inc., 1994.
<newline>ISBN 1-56592-075-9</item>
<item>Computer Systems Research Group, UC Berkeley.
<sl>4.4BSD User's Supplementary Documents</sl>.
O'Reilly &amp; Associates, Inc., 1994.
<newline>ISBN 1-56592-076-7</item>
<item><sl>UNIX in a Nutshell</sl>.
O'Reilly &amp; Associates, Inc., 1990.
<newline>ISBN 093717520X</item>
<item>Mui, Linda.
<em>What You Need To Know When You Can't Find Your UNIX
System Administrator</em>.
O'Reilly &amp; Associates, Inc., 1995.
<newline>ISBN 1-56592-104-6 </item>
<item><htmlurl url="http://www-wks.acs.ohio-state.edu/"
name="Ohio State University"> has written
a <htmlurl
url="http://www-wks.acs.ohio-state.edu/unix_course/unix.html"
name="UNIX Introductory Course"> which is available online
in HTML and postscript format.</item>
</itemize>
<sect>
<heading>管理者向けのガイド</heading>
<p><itemize>
<item>Albitz, Paul and Liu, Cricket. <em>DNS and
BIND</em>, 2nd Ed.
O'Reilly &amp; Associates, Inc., 1997.
<newline>ISBN ISBN 1-56592-236-0
<newline>(訳注: 第一版の邦訳は以下のものが出版されています.
<newline>浅羽登志也 / 上水流由香 監訳. <em>DNS & BIND</em>.
アスキー, 1995.
<newline>ISBN 4-7561-0314-6)
</item>
<item>Computer Systems Research Group, UC Berkeley.
<sl>4.4BSD System Manager's Manual</sl>.
O'Reilly &amp; Associates, Inc., 1994.
<newline>ISBN 1-56592-080-5</item>
<item>Costales, Brian, et al.
<em>Sendmail</em>, 2nd Ed. O'Reilly &amp;
Associates, Inc., 1997.
<newline>ISBN 1-56592-222-0
<newline>(訳注: 第一版の邦訳は以下のものが出版されています.
<newline>村井純 監訳. <em>sendmail 解説</em>.
インターナショナル・トムソン・パブリッシング・ジャパン, 1994.
<newline>ISBN 4-900718-07-6)
</item>
<item>Frisch, &AElig;leen. <em>Essential System
Administration</em>, 2nd Ed. O'Reilly &amp;
Associates, Inc., 1995. <newline>ISBN 1-56592-127-5
<newline>(訳注: 第一版の邦訳は以下のものが出版されています.
<newline>榊正憲 訳. <em>UNIX システム管理入門</em>.
アスキー, 1995.
<newline>ISBN 4-7561-0313-8)
</item>
<item>Hunt, Craig. <em>TCP/IP Network Administration</em>.
O'Reilly &amp; Associates, Inc., 1992.
<newline>ISBN 0-937175-82-X
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>村井純 監訳. <em>TCP/IP ネットワーク管理</em>.
インターナショナル・トムソン・パブリッシング・ジャパン, 1994.
<newline>ISBN 4-900718-01-7)
</item>
<item>Nemeth, Evi. <em>UNIX System Administration
Handbook</em>. 2nd ed. Prentice Hall, 1995.
<newline>ISBN 0131510517
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>井上尚司監訳. <em>UNIX システム管理入門</em>.
ソフトバンク, 1992.
<newline>ISBN 4-89052-362-6
<newline>原本は第2版だが、訳出は第1版のみ)
</item>
<item>Stern, Hal <em>Managing NFS and NIS</em>
O'Reilly &amp; Associates, Inc., 1991.
<newline>ISBN 0-937175-75-7</item>
</itemize>
<sect>
<heading>プログラマ向けのガイド</heading>
<p><itemize>
<item>Asente, Paul. <em>X Window System
Toolkit</em>. Digital Press.
<newline>ISBN 1-55558-051-3</item>
<item>Computer Systems Research Group, UC Berkeley.
<sl>4.4BSD Programmer's Reference Manual</sl>.
O'Reilly &amp; Associates, Inc., 1994.
<newline>ISBN 1-56592-078-3</item>
<item>Computer Systems Research Group, UC Berkeley.
<sl>4.4BSD Programmer's Supplementary Documents</sl>.
O'Reilly &amp; Associates, Inc., 1994.
<newline>ISBN 1-56592-079-1</item>
<item>Ellis, Margaret A. and Stroustrup,
Bjarne. <em>The Annotated C++ Reference
Manual</em>. Addison-Wesley, 1990.
<newline>ISBN 0-201-51459-1
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>足立高徳 / 小山裕司 訳.
<em>注解 C++ リファレンスマニュアル</em>.
トッパン, 1992.
<newline>ISBN 4-8101-8027-1)
</item>
<item>Harbison, Samuel P. and Steele, Guy
L. Jr. <em>C: A Reference Manual</em>. 4rd ed. Prentice
Hall, 1995. <newline>ISBN 0-13-326224-3
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>斎藤信男監訳.
<em>新・詳説C言語リファレンス[H&amp;Sリファレンス]</em>.
ソフトバンク, 1994.
<newline>ISBN 4-89052-506-8
<newline>原本は第4版だが、訳出は第3版のみ。)
</item>
<item>Kernighan, Brian and Dennis M. Ritchie.
<em>The C Programming Language.</em>.
PTR Prentice Hall, 1988.
<newline>ISBN 0-13-110362-9
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>石田晴久 訳.
<em>プログラミング言語 C 第2版(訳書訂正版)</em>
共立出版, 1989.
<newline>ISBN 4-320-02692-6)
</item>
<item>Lehey, Greg.
<em>Port UNIX Software</em>.
O'Reilly &amp; Associates, Inc., 1995.
<newline>ISBN 1-56592-126-7</item>
<item>Plauger, P. J. <em>The Standard C
Library</em>. Prentice Hall, 1992.
<newline>ISBN 0-13-131509-9
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>福富寛 / 門倉明彦 / 清水恵介 訳.
<em>標準 C ライブラリ ANSI/ISO/JIS C規格</em>.
トッパン, 1995.
<newline>ISBN 4-8101-8541-9)
</item>
<item>Stevens, W. Richard. <em>Advanced
Programming in the UNIX Environment</em>.
Reading, Mass. : Addison-Wesley, 1992
<newline>ISBN 0-201-56317-7
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>大木敦雄 訳.
<em>詳解 UNIX プログラミング</em>. トッパン, 1994.
<newline>ISBN 4-89052-524-6)
</item>
<item>Stevens, W. Richard. <em>UNIX Network
Programming</em>. PTR Prentice Hall, 1990.
<newline>ISBN 0-13-949876-1
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>篠田陽一 訳.
<em>UNIX ネットワークプログラミング</em>.
トッパン,1992.
<newline>ISBN 4-8101-8509-5)
</item>
<item>Wells, Bill. "Writing Serial Drivers for UNIX".
<em>Dr. Dobb's Journal</em>. 19(15), December
1994. pp68-71, 97-99.</item>
</itemize>
<sect>
<heading>オペレーティングシステム内部</heading>
<p><itemize>
<item>Andleigh, Prabhat K. <em>UNIX System Architecture</em>.
Prentice-Hall, Inc., 1990.
<newline>ISBN 0-13-949843-5</item>
<item>Jolitz, William. "Porting UNIX to the
386". <em>Dr. Dobb's Journal</em>. January
1991-July 1992.
</item>
<item>Leffler, Samuel J., Marshall Kirk McKusick,
Michael J Karels and John Quarterman <em>The Design and
Implementation of the 4.3BSD UNIX Operating
System</em>. Reading, Mass. : Addison-Wesley, 1989.
<newline>ISBN 0-201-06196-1
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>中村明 / 相田仁 / 計宇生 / 小池汎平 訳.
<em>UNIX 4.3BSDの設計と実装</em>. 丸善, 1991.
<newline>ISBN 4-621-03607-6)
</item>
<item>Leffler, Samuel J., Marshall Kirk McKusick,
<em>The Design and Implementation of the 4.3BSD
UNIX Operating System: Answer Book</em>.
Reading, Mass. : Addison-Wesley, 1991.
<newline>ISBN 0-201-54629-9
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>相田仁 / 計宇生 / 小池汎平 訳.
<em>UNIX 4.3BSDの設計と実装</em>.
アンサーブック, トッパン, 1991.
<newline>ISBN 4-8101-8039-5)
</item>
<item>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
and John Quarterman. <em>The Design and
Implementation of the 4.4BSD Operating
System</em>. Reading, Mass. : Addison-Wesley, 1996.
<newline>ISBN 0-201-54979-4</item>
<item>Stevens, W. Richard. <em>TCP/IP Illustrated,
Volume 1: The Protocols</em>.
Reading, Mass. : Addison-Wesley, 1996.
<newline>ISBN 0-201-63346-9</item>
<item>Stevens, W. Richard. <em>TCP/IP Illustrated,
Volume 3: TCP for Transactions, HTTP, NNTP
and the UNIX Domain Protocols</em>.
Reading, Mass. : Addison-Wesley, 1996.
<newline>ISBN 0-201-63495-3</item>
<item>Vahalia, Uresh. <em>UNIX Internals -- The New Frontiers</em>.
Prentice Hall, 1996.
<newline>ISBN 0-13-101908-2</item>
<item>Wright, Gary R. and W. Richard Stevens.
<em>TCP/IP Illustrated, Volume 2:
The Implementation</em>.
Reading, Mass. : Addison-Wesley, 1995.
<newline>ISBN 0-201-63354-X</item>
</itemize>
<sect>
<heading>セキュリティの参考資料</heading>
<p><itemize>
<item>Cheswick, William R. and Steven M. Bellovin.
<em>Firewalls and Internal Security:
Repelling the Wily Hacker</em>.
Reading, Mass. : Addison-Wesley, 1995.
<newline>ISBN 0-201-63357-4
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>川副博 監訳. <em>ファイアウォール</em>.
ソフトバンク, 1995.
<newline>ISBN 4-89052-672-2)
</item>
<item>Garfinkel, Simson and Gene Spafford.
<em>Practical UNIX Security</em>. 2nd Ed.
O'Reilly &amp; Associates, Inc., 1996.
<newline>ISBN 1-56592-148-8
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>山口英監訳. <em>UNIX セキュリティ</em>.
アスキー, 1993.
<newline>ISBN 4-7561-0274-3
<newline>原本は第2版だが、訳出は第1版のみ)
</item>
<item>Garfinkel, Simson.
<em>PGP Pretty Good Privacy</em>
O'Reilly &amp; Associates, Inc., 1995.
<newline>ISBN 1-56592-098-8 </item>
</itemize>
<sect>
<heading>ハードウェアの参考資料</heading>
<p><itemize>
<item>Anderson, Don and Tom Shanley.
<em>Pentium Processor System Architecture</em>.
2nd ed. Reading, Mass. : Addison-Wesley, 1995.
<newline>ISBN 0-201-40992-5</item>
<item>Ferraro, Richard F. <em>Programmer's Guide
to the EGA, VGA, and Super VGA Cards</em>.
3rd ed. Reading, Mass. : Addison-Wesley, 1995.
<newline>ISBN 0-201-62490-7</item>
<item>Shanley, Tom. <em>80486 System
Architecture</em>. 3rd ed. Reading, Mass. :
Addison-Wesley, 1995. <newline>ISBN
0-201-40994-1</item>
<item>Shanley, Tom. <em>ISA System
Architecture</em>. 3rd ed. Reading, Mass. :
Addison-Wesley, 1995.
<newline>ISBN 0-201-40996-8</item>
<item>Shanley, Tom. <em>PCI System
Architecture</em>. 3rd ed. Reading, Mass. :
Addison-Wesley, 1995. <newline>ISBN
0-201-40993-3</item>
<item>Van Gilluwe, Frank. <em>The Undocumented PC</em>.
Reading, Mass: Addison-Wesley Pub. Co., 1994.
<newline>ISBN 0-201-62277-7</item>
</itemize>
<sect>
<heading>UNIX の歴史</heading>
<p><itemize>
<item>Lion, John <em>Lion's Commentary on UNIX, 6th Ed.
With Source Code</em>.
ITP Media Group, 1996.
<newline>ISBN 1573980137</item>
<item>Raymond, Eric s. <em>The New Hacker's Dictonary,
3rd edition</em>. MIT Press, 1996.
<newline>ISBN 0-262-68092-0
<newline>Also known as the
<htmlurl url="http://www.ccil.org/jargon/jargon.html"
name="Jargon File"></item>
<item>Saulus, Peter H. <em>A quarter century of UNIX</em>.
Addison-Wesley Publishing Company, Inc., 1994.
<newline>ISBN 0-201-54777-5</item>
<item>Simon Garfinkel, Daniel Weise, Steven Strassmann.
<em>The UNIX-HATERS Handbook</em>.
IDG Books Worldwide, Inc., 1994.
<newline>ISBN 1-56884-203-1</item>
<item>Don Libes, Sandy Ressler <em>Life with UNIX</em> - special
edition. Prentice-Hall, Inc., 1989.
<newline>ISBN 0-13-536657-7
<newline>(訳注: 邦訳は以下のものが出版されています.
<newline>坂本文 監訳. <em>Life with UNIX</em>.
アスキー, 1990.
<newline>ISBN 4-7561-0783-4
<newline>邦訳がSpecial 版の訳出か否かは不明)
</item>
<item><em>BSD 系 OS の系譜図</em>. 1997年.
<newline>
<htmlurl url="http://www.de.freebsd.org/de/ftp/unix-stammbaum"
name="http://www.de.freebsd.org/de/ftp/unix-stammbaum">
または, FreeBSD-current マシンの<url
url="file:/usr/share/misc/bsd-family-tree" name="ローカルファイル">.
</item>
<item><em>BSD リリース告知コレクション</em>. 1997.
<newline>
<htmlurl url="http://www.de.FreeBSD.ORG/de/ftp/releases/"
name="http://www.de.FreeBSD.ORG/de/ftp/releases/">
</item>
</itemize>
<sect>
<heading>雑誌とジャーナル</heading>
<p><itemize>
<item><em>The C/C++ Users Journal</em>. R&amp;D Publications
Inc. ISSN 1075-2838</item>
<item><em>Sys Admin - The Journal for UNIX System
Administrators</em> Miller Freeman, Inc., ISSN 1061-2688</item>
</itemize>
</sect>

@ -1,51 +0,0 @@
<!-- $Id: boothelp.sgml,v 1.5 1997-02-25 04:54:05 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.4 -->
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
<!-- Conditional flags for this version of the document -->
<!ENTITY % boothelp.only "INCLUDE">
<!ENTITY % handbook.only "IGNORE">
<!-- Entity shorthand for authors' names and email addresses -->
<!ENTITY % authors SYSTEM "authors.sgml">
%authors;
<!-- Entity definitions for all the parts -->
<!ENTITY % sections SYSTEM "sections.sgml">
%sections;
]>
<linuxdoc>
<book>
<title>FreeBSD のインストール
<author>
<name></name>
</author>
<abstract>FreeBSD の世界へようこそ! このガイドは FreeBSD の
インストール方法について説明しています.
矢印キーの<bf>上</bf>と<bf>下</bf>を使って
このガイドの読みたいセクションに移動し,
<bf>右矢印キー</bf>か<bf>リターンキー</bf>を使ってお読みください.
一度読んだことのあるセクションは<bf>左矢印キー</bf>で
戻って読みなおすことができます.
</abstract>
<chapt><heading>一般的な情報</heading>
&nutshell;
&history;
&relnotes;
&install;
&troubleshooting;
&bibliography;
&eresources;
&hw;
&contrib;
</book>
</linuxdoc>

@ -1,183 +0,0 @@
<!-- $Id: booting.sgml,v 1.6 1997-10-19 22:13:09 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.14 -->
<!-- This is a SGML version of the text on FreeBSD boot procedures
made by Poul-Henning Kamp <phk@FreeBSD.ORG>
This conversion has been made by Ollivier Robert.
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
<article>
<title>ブートの概要</title>
<author>Poul-Henning Kamp, <tt/&lt;phk@login.dknet.dk&gt;/</author>
<date>v1.1, April 26th</date>
<abstract>
FreeBSDのブートには基本的に3つの段階があります:
カーネルの読み込み、ルートのファイルシステムの決定、そして
ユーザ領域にあるものの初期化です。このことは下に述べる
いくつかの興味深い可能性につながっているのです...
</abstract>
<toc>
-->
<sect><heading>FreeBSDのブート処理の流れ<label id="booting"></heading>
<p><em>原作: &a.phk;. v1.1, April 26th.</em>
<p><em>訳: &a.nakai; September 6 1996.</em>
FreeBSDのブートには基本的に3つの段階があります:
カーネルの読み込み, ルートのファイルシステムの決定, そして
ユーザ領域にあるものの初期化です. このことは下に述べる
いくつかの興味深い可能性につながっています。
<sect1><heading>カーネルの読み込み</heading>
<p>
現在, カーネルの読み込みには基本的に下に挙げる3つの方法が
あります:
これらはカーネルが次に何をしたらいいのかという情報をカーネルに
与えます.
<descrip>
<tag>Biosboot</tag>
Biosbootは「ブートブロック」に相当するもので, 2つのファイル
から構成されており, フロッピーディスクやハードディスクのブートを
開始する側の 8K バイトにインストールされています。
Biosboot は FreeBSD のファイルシステムからカーネルを
読み込むことができます.
<tag>Dosboot</tag>
Dosbootは DI. Christian Gusenbauerによって書かれましたが,
不幸にしてこの場合には、コードのある一部分がマイクロソフトの
コンパイラ向けに書かれているため、FreeBSD 単体ではコンパイル
することはできません.
Dosboot は MS-DOS のファイルから、またはディスクの
FreeBSD ファイルシステムのパーティションからカーネルをブートします。
これは MS-DOS システムのハイメモリ領域に潜んでいるメモリマネージャ等の
さまざまな怪しい代物とメモリの取り合いをして、なんとかブートしています.
<tag>Netboot</tag>
Netboot はサポートされているイーサネットカードを検出し、
BOOTP や TFTP、NFS を使ってブートするカーネルを探そうとします。
</descrip>
<sect1><heading>ルートファイルシステムの決定</heading>
<p>
カーネルが読み込まれ、ブートプログラムがカーネルに移行したら,
カーネルは自身の初期化をし, どんなハードウェアが組み込まれいるか
を決定し、それからルートファイルシステムを探さなくてはなりません。
現在サポートされているルートファイルシステムは次の通りです :
<descrip>
<tag>UFS</tag>
UFS は, もっとも一般的なタイプのルートシステムです。
フロッピーディスクやハードディスク上に存在します。
<tag>MSDOS</tag>
技術的に可能ですが、あまり有用ではありません。なぜならば、
``FAT''ファイルシステムではリンクやデバイスノードなどの
``UNIX 主義''を実現できないからです。
<tag>MFS</tag>
MFS はカーネル内部に組み込みになっている UFS
ファイルシステムです。つまり MFS を機能させるのに
ディスクやフロッピーディスクなどのハードウェアは
必要ではありません.
<tag>CD9660</tag>
CD9660 は CD-ROM をルートファイルシステムに使用したものです。
<tag>NFS</tag>
これはルートシステムにファイルサーバを使用していて、基本的に
ディスクレスのマシンのためにあります。
</descrip>
<sect1><heading>ユーザ領域にあるものの初期化</heading>
<p>
ユーザ領域で動作させるようにするために、カーネルが初期化を終えると、
カーネルは``<tt/pid == 1/''のプロセスを生成し、ルートファイルシステム
上のプログラムを実行します。このプログラムは通常``<tt>/sbin/init</tt>''
です。
/sbin/init を別なプログラム置き換えてしまうことは可能ですが、そのプロセス
には以下のような制約があります:
pid が 1 のプロセスには stdin/stdout/stderr は割り当てられていませんので、
プログラムは自分でこれらをオープンしないとなりません。
このプロセスが終了するとカーネルはパニックメッセージを表示して
停止します。
また、このプロセスに対するシグナル処理は特殊です。
この例として、インストール用のフロッピーディスクにある
``<tt>/stand/sysinstall</tt>''があります。
<sect1><heading>興味深い連係</heading>
<p>
カーネルを MFS でブートするのには次のような特別の<tt>/sbin/init</tt>
を使います。
<descrip>
<tag/A -- DOS を使う場合/
<itemize>
<item><tt/C:/ を <tt>/C:</tt> にマウントします。
<item><tt>C:/freebsd.fs</tt> を <tt>/dev/vn0</tt> にアタッチします。
<item><tt>/dev/vn0</tt> を <tt>/rootfs</tt> にマウントします。
<item>シンボリックリンクを作ります。<newline>
<tt>/rootfs/bin -&gt; /bin</tt><newline>
<tt>/rootfs/etc -&gt; /etc</tt><newline>
<tt>/rootfs/sbin -&gt; /sbin</tt><newline>
(etc...)<newline>
</itemize>
これでハードディスクのパーティションを切り直さずに FreeBSD を
使うことができます。
<tag/B -- NFS を使う場合/
NFS は<tt>サーバ:&tilde;you/FreeBSD</tt> を
<tt>/nfs</tt>にマウントし、ルートディレクトリを <tt>/nfs</tt> に変更して,
そこで<tt>/sbin/init</tt>を実行します。
これで FreeBSD をディスクレスで実行できますが、NFS サーバを
コントロールできないままです...
<tag/C -- X-server を起動する場合/
これで Xターミナルが手に入りました. これは, これでハードウェア
に費用を割いたりするよりはいい, と上司が主張した, Windows で
動作する遅くて何がおこなわれているのか見ることができるような
すすけた X Window エミュレータなんかよりよいものです.
<tag/D -- テープを使う場合/
<tt>/dev/rwd0</tt> のコピーを取って、リモートにあるテープ
ステーションやファイルサーバに書き込んでください。
これで一年前に取っておくべきだったバックアップをやっと
取ることができました。
<tag>E -- ファイアウォール/Web サーバとして動作させる場合 (私の知っている範囲で...)</tag>
これは特に面白いもので、書き込み禁止のフロッピーディスクから
ブートができて、ルートのファイルシステムに書き込むことができる
というものです。
</descrip>

@ -1,174 +0,0 @@
<!-- $Id: contrib.sgml,v 1.73 1997-12-15 06:10:59 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.269 -->
<!-- Please try to keep the file 'avail' (from CVSROOT)
in sync with the list of FreeBSD Developers -->
<chapt><heading>FreeBSDプロジェクトスタッフ<label id="staff"></heading>
<p><em>訳: &a.hanai;<newline>28 August 1996.</em>
<p>FreeBSDプロジェクトは, 以下の人々によって管理運営されています.
<sect><heading>FreeBSD コアチーム<label id="staff:core"></heading>
<p>FreeBSD コアチームは, プロジェクトの運用委員会を形成し, FreeBSD
プロジェクトの全般的な目的や方針の決定を行います. さらに,
FreeBSDプロジェクトの<ref id="staff:who" name="特定の分野">の
運用も行っています.
<p>(姓でアルファベット順):
<itemize>
<item>&a.asami;
<item>&a.jmb;
<item>&a.ache;
<item>&a.dyson;
<item>&a.bde;
<item>&a.gibbs;
<item>&a.davidg;
<item>&a.jkh;
<item>&a.phk;
<item>&a.rich;
<item>&a.gpalmer;
<item>&a.jdp;
<item>&a.guido;
<item>&a.sos;
<item>&a.peter;
<item>&a.wollman;
<item>&a.joerg;
</itemize>
<sect><heading>FreeBSD の開発者たち<label id="staff:committers"></heading>
<p>(CVSの)commitする権利を持っていて, FreeBSD のソースツリーについて
作業をおこなっている人々がいます. すべてのコアチームのメンバと
ほとんどの FreeBSDドキュメンテーションプロジェクトのスタッフはま
た 開発者でもあります.
<itemize>
<item>&a.mbarkah;
<item>&a.stb;
<item>&a.jb;
<item>&a.torstenb;
<item>&a.danny;
<item>&a.charnier;
<item>&a.kjc;
<item>&a.gclarkii;
<item>&a.cracauer;
<item>&a.adam;
<item>&a.dufault;
<item>&a.uhclem;
<item>&a.tegge;
<item>&a.eivind;
<item>&a.julian;
<item>&a.rse;
<item>&a.se;
<item>&a.sef;
<item>&a.fenner;
<item>&a.jfieber;
<item>&a.jfitz;
<item>&a.lars;
<item>&a.scrappy;
<item>&a.tg;
<item>&a.brandon;
<item>&a.graichen;
<item>&a.jgreco;
<item>&a.rgrimes;
<item>&a.jmg;
<item>&a.hanai;
<item>&a.ahasty;
<item>&a.jhay;
<item>&a.helbig;
<item>&a.erich;
<item>&a.hsu;
<item>&a.itojun;
<item>&a.ugen;
<item>&a.gj;
<item>&a.nsj;
<item>&a.ljo;
<item>&a.kato;
<item>&a.andreas;
<item>&a.imp;
<item>&a.smace;
<item>&a.mckay;
<item>&a.jlemon;
<item>&a.tedm;
<item>&a.amurai;
<item>&a.markm;
<item>&a.max;
<item>&a.alex;
<item>&a.davidn;
<item>&a.obrien;
<item>&a.fsmp;
<item>&a.smpatel;
<item>&a.wpaul;
<item>&a.jmacd;
<item>&a.steve;
<item>&a.mpp;
<item>&a.dfr;
<item>&a.jraynard;
<item>&a.darrenr;
<item>&a.csgr;
<item>&a.martin;
<item>&a.paul;
<item>&a.roberto;
<item>&a.chuckr;
<item>&a.dima;
<item>&a.wosch;
<item>&a.ats;
<item>&a.jseger;
<item>&a.vanilla;
<item>&a.msmith;
<item>&a.brian;
<item>&a.stark;
<item>&a.karl;
<item>&a.cwt;
<item>&a.pst;
<item>&a.hoek;
<item>&a.swallace;
<item>&a.nate;
<item>&a.yokota;
<item>&a.jmz;
</itemize>
<sect><heading>FreeBSD ドキュメンテーションプロジェクト<label id="staff:doc"></heading>
<p><htmlurl url="http://www.freebsd.org/docproj.html"
name="FreeBSD ドキュメンテーションプロジェクト">は複数のサービスを提供
しています. それぞれのサービスは, 以下の担当者とその
<em>副担当者</em>によって運用されています.
<p><descrip>
<tag/ドキュメンテーションプロジェクト担当/ &a.jfieber
<tag/Web 管理責任者/ &a.mbarkah; <p><em>副責任者:</em> &a.paul
<tag/ハンドブックおよび FAQ 編集担当/ &a.pds
<tag/ドキュメント構築環境の技術責任者/ &a.paul; <p><em>副責任者:</em> &a.dave
<tag/Mirror 担当/ &a.ulf; <p><em>副担当</em>&a.john
<tag/ニュースフラッシュ編集担当/ &a.nsj; <p><em>副担当:</em>&a.john;
<tag/FreeBSD ギャラリーおよび商用ベンダ情報ページ担当/ &a.nsj; <p><em>副担当</em>&a.cawimm
<tag/WEB ページデザイン等の美術担当/ &a.dave; <p><em>副担当:</em>&a.opsys
<tag/データベース技術担当/ &a.mayo; <p><em>副担当:</em>&a.cracauer
<tag/CGI 技術担当/ &a.cracauer;<p><em>副担当:</em> &a.stb
<tag/雑務担当/ &a.nsj
</descrip>
<sect><heading>担当者<label id="staff:who"></heading>
<p><descrip>
<tag/最高技術責任者/ &a.davidg
<tag/ドキュメンテーションプロジェクト担当/ &a.jfieber
<tag/国際化/ &a.ache
<tag/ネットワーク/ &a.wollman
<tag/ポストマスタ/ &a.jmb;
<tag/リリースコーディネータ/ &a.jkh
<tag/広報および渉外担当/ &a.jkh
<tag/セキュリティ担当/ &a.guido
<tag/CVS ツリー管理者/
責任者: &a.peter<newline>
副責任者: &a.jdp<newline>
国際版 (暗号) 担当: &a.markm
<tag/ports コレクション担当/ &a.asami
<tag/XFree86 Project, Inc. との渉外担当/ &a.rich
<tag/Usenet サポート/ &a.joerg;
</descrip>

@ -1,79 +0,0 @@
<!-- $Id: crypt.sgml,v 1.7 1997-05-08 18:31:38 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.4 -->
<sect><heading>DES, MD5, と Crypt<label id="crypt"></heading>
<p><em>原作: &a.wollman;<newline>24 September 1995.</em>
<p><em>訳: &a.hanai;<newline>12 September 1996.</em>
<p>UN*X システムにおいてパスワードを保護し, 簡単に覗かれるのを防
ぐために, 従来パスワードはある方法によりスクランブルされてきました.
ベル研の Unix 第7版に始まって以来, パスワードはセキュリティの専門家がい
うところの「一方向ハッシュ関数」というものを用いることにより暗号化されるようになりました.
つまり, 可能な限りのパスワード空間を検索するという強引な
方法以外にそのオリジナルを得ることができない, といった方法でパスワードは変換
されるのです. 不幸なことに, その当時 AT&amp;T の研究者たちが手に入れることができ
た唯一の暗号化方法は DES(Data Encryption Standard) に基づいたものでし
た. これは営利企業にとっては大して問題ではありませんが, FreeBSDのよ
うにすべてのソースコードが自由に手に入るオペレーティングシステムにとっ
ては重大な問題となります. なぜなら, 多くの政府は DES やその他の暗号化ソフ
トウェアが国境を越えることに制限をつけようとしているからです.
<p>ここで, FreeBSD チームは一つのジレンマに直面しました. つまり, どうす
れば法に触れることなく国外にあるそれらの UNIX システムのすべてに互換性を持
たせることができるか, ということです. 私たちは ``dual track approach'' を
取ることに決めました. 規制されていないパスワードスクランブラのみを含む
配布用物件を作り, DES に基づいたパスワードハッシュを付加ライブラリ
として分けて供給するのです. パスワードをスクランブルさせる関数は, C ライブラリから
`<tt>libcrypt</tt>' と呼ばれる(それを実行する C 関数が `<tt>crypt</tt>' と
いう名前だからです)別のライブラリへ移されました. FreeBSD 1.x 及び
2.0 のリリース前のスナップショットでは, その規制されていないスクランブラは
Nate Williams によって書かれた安全でない関数を使っていますが, 次の
リリースでは RSA Data Security 社の一方向ハッシュ関数の MD5 を使う方法
に置き換えられました. これらの関数はどれも暗号化を含んでいないため,
合衆国から持ち出し, 他の多くの国へ持ち込めるものであるとされています.
<p>一方, DES に基づいたパスワードハッシュ関数に関する作業もまた進行中
でした, まず, 合衆国及び他の国で書かれたコードの同期をとりながら,
合衆国の外で書かれた `<tt>crypt</tt>' のあるバージョンが持ち込まれました.
そしてライブラリは修正され, 二つにわけられました. すなわち
DES `<tt>libcrypt</tt>' は一方向パスワードハッシュをおこなうのに必要なコード
のみを含み, それとは別の `<tt>libcipher</tt>' は実際に暗号化をおこなう
ためのエントリポイントとして生成されました. コンパイルされたライブラリに対
して国外に持ち出す許可を得るのを簡単にするために, コードはこのように分け
られたのです.
<sect1><heading>`<tt>crypt</tt>' メカニズムを理解する</heading>
<p>あるパスワード文字列を作るのに, DES に基づいたハッシュ関数を使っ
たのか, MD5に基づいたハッシュ関数を使ったのかは非常に簡単にわかります.
MD5 を使ったパスワード文字列は必ず `<tt>&dollar;1&dollar;</tt>' という文字
で始まります. DESを使ったパスワード文字列はどんな特定の文字も持っていま
せんが, MD5を使ったパスワードよりも短く, `<tt>&dollar;</tt>' という文字
を持たない64文字のアルファベットで構成されています. したがって, ドル記号で
始まっていない比較的短い文字列は DES を使ったパスワードである可能性が非常
に高いです.
<p>あなたのシステムで, どちらのライブラリが使われているかを決めるの
は, スタティックにリンクされている `<tt>init</tt>' のようなもの(その
ようなプログラムに対する唯一の方法はわかっているパスワードを試してみ
て動くかどうかを確認することです.)を除いたほとんどのプログラムについ
ては非常に簡単なことです. `<tt>crypt</tt>' を使うようなプログラムは
`<tt>libcrypt</tt>' にリンクされています. そしてそれぞれのライブラリに
対する `<tt>libcrypt</tt>' は適切な実装へのシンボリックリンクとなってい
ます. 例えば, DES 版を使っているようなシステムにおいては次のようになって
います:
<tscreen><verb>
$ cd /usr/lib
$ ls -l /usr/lib/libcrypt*
lrwxr-xr-x 1 bin bin 13 Sep 5 12:50 libcrypt.a -> libdescrypt.a
lrwxr-xr-x 1 bin bin 18 Sep 5 12:50 libcrypt.so.2.0 -> libdescrypt.so.2.0
lrwxr-xr-x 1 bin bin 15 Sep 5 12:50 libcrypt_p.a -> libdescrypt_p.a
</verb></tscreen>
MD5 に基づいたライブラリを使っているシステムにおいては, 同じようなリンクが
見られるでしょうが, そのターゲットは `<tt>libdescrypt</tt>' ではなく
`<tt>libscrypt</tt>' になっているでしょう.

@ -1,278 +0,0 @@
<!-- $Id: ctm.sgml,v 1.12 1997-10-21 14:18:46 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.22 -->
<!--
# This is the sgml version of the ctm.FAQ file.
#
# Converted by Ollivier Robert <roberto@FreeBSD.ORG>
#
#
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
# <phk@login.dknet.dk> wrote this file. As long as you retain this notice you
# can do whatever you want with this stuff. If we meet some day, and you think
# this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
# ----------------------------------------------------------------------------
#
-->
<sect1><heading>CTM<label id="ctm"></heading>
<p><em>原作: &a.phk;. 更新: 19-October-1997.</em>
<p><em>訳: &a.hanai;<newline>13 September 1997.</em>
<tt/CTM/ はリモートのディレクトリツリーを中央のツリーに同期させるための
手段です. これはFreeBSDのソースツリーの配布を行なうために開発されまし
たが, 時が経つにつれて別の目的にも有用であることがわかるかも
しれません. デルタを作り出す処理に関するドキュメントは現在ほとんど
ありません. 従って, もしあなたが<tt/CTM/ を他のことに使いたいなら
&a.phk;にさらなる情報を問い合わせてください.
<sect2><heading>なぜ<tt/CTM/を使うの?</heading>
<p><tt/CTM/ を使うことにより FreeBSD ソースツリーのローカルコピー
を手にいれることができます.
ソースツリーが使えることの魅力は数多くあります. 完全な cvs
ツリーを追いかけるにしても, ひとつのブランチを追いかける
にしても <tt/CTM/ は必要な情報を与えてくれます.
もしあなたがFreeBSDのアクティブな開発者であるにもかかわらず
お粗末なTCP/IP接続しか持っていなかったり, またはTCP/IP接続が
行なえないとしたら, あるいは単に変更が自動的に送られてきて
ほしいというのであれば <tt/CTM/はそんなあなたのために
作られたのです.
アクティブなブランチでは1日に最大三つまでのデルタを受け取る必
要があります. これが自動的に e-mail で送られてくるという方法を
ぜひ検討してみてください.
デルタのサイズは常にできるだけ小さく保たれています.
大抵の場合5KBよりも小さく,
たまに(10回に1回程度)10-50KBになり, ときおり100KBかもっと大きくなる
でしょう.
開発ソースから直接に得られたものを使うことについては, あらかじめ
パッケージにされたリリースとは違い, いろいろと注意することが
あります. これは特に ``current'' のソースを選んでいるときは
重要です.
<ref id="current" name="最新の FreeBSDを追いかける">を読むことを
お勧めします.
<sect2><heading><tt/CTM/を使うには何が必要?</heading>
<p>二つのものが必要でしょう: ``<tt/CTM/'' プログラムとそれに与える
(``current''レベルを得るための)最初のデルタです.
<tt/CTM/ プログラムはバージョン2.0のリリース以来FreeBSDの一部にな
りました. もしソースのコピーを持っているなら
<tt>/usr/src/usr.sbin/<tt/CTM/</tt>にあります.
もしFreeBSDの2.0以前のバージョンなら, 最新の<tt/CTM/のソースを直接
<url
url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm">
から入手できます.
<tt/CTM/に与える「デルタ」は二つの方法, FTPまたはe-mail, で得ること
ができます.
もしインターネットにFTPアクセスできるなら, 次のFTPサイト:
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/CTM">
または、その<ref id="mirrors-ctm" name="ミラーサイト">が<tt/CTM/
へのアクセスをサポートします.
適切なディレクトリにFTPして<tt/README/ファイルを入手し, そこから
スタートしてください.
e-mail によってデルタを得たいという場合は:
<tt/CTM/ 配布メーリングリストのいずれかに参加するために
&a.majordomo へ subscribe のメールを送ってください.
``ctm-cvs-cur'' は完全な cvs ツリー をサポートします.
``ctm-src-cur'' は開発先端ブランチをサポートします
``ctm-src-2_2'' は 2.2 リリースのブランチのサポートです.
(もしmajordomoを使って参加する方法を知らない
のであれば, 最初に``help''という語を含むメッセージを送ってください.
- 使い方の説明が送られてくるでしょう.)
メールで<tt/CTM/による更新ファイルを受け取り始めると, 中身を取り出して使用
するために<tt/ctm_rmail/プログラムを使うかもしれません. それを完全
に自動で行ないたいなら, <tt>/etc/aliases</tt>から<tt/ctm_rmail/プロ
グラムを直接使うこともできます.
さらに詳しいことは<tt/ctm_rmail/ manページを御覧ください.
<bf/注/: <tt/CTM/デルタを得るためにどの方法を使うのであっても,
<tt/ctm-announce@FreeBSD.ORG/メーリングリストに参加するべきです.
このメーリングリストは将来的には<tt/CTM/システムの操作に関する
アナウンスがポストされる唯一の場になるでしょう.
メーリングリストに加わるためには``<tt/subscribe ctm-announce/''
と書いた一行だけのメールを &a.majordomo へ送ってください.
<sect2><heading>はじめて<tt/CTM/を使い始める</heading>
<p><tt/CTM/ デルタを使い始めるためには, これは以降作られる全ての
デルタの出発点を手にいれる必要があります.
最初にあなたが何をすでに持っているかをはっきりさせましょう.
すべての人は 「空」のディレクトリからはじめることができます.
しかし, ツリーは何10MB もの大きさですから, すでに手元にある
何かから始めたいでしょう. RELEASE CD を持っているのなら,
それからコピー, 展開を行って初期ツリーにすることができます.
これでデータの転送は大幅に少なくなります.
適切な出発点が決まれば, その出発点を <tt/CTM/ が
維持するツリーへ変換するための「移行」初期デルタを使う必要が
あります.
移行デルタは番号の後ろに``<tt/X/''をつけたものがそうです
(たとえば<tt/src-cur.3210XEmpty.gz/).
``<tt/X/'' の後ろは最初の開始ポイントに対応します. ``Empty'' は
空のディレクトリ, ``R225''は 2.2.5R に対応する, などです.
ルールとして ``Empty'' からの移行デルタは 100 デルタごとに
作られます.
ところで, これらは非常に大きいです! ``XEmpty''のデルタは
25 から 30 MBの gzip で圧縮されたデータというのが普通です.
一度スタートするためのベースデルタを得ると, それに続く多数の
全てのデルタも必要になるでしょう.
<sect2><heading><tt/CTM/を日常で使う</heading>
<p>デルタを適用するためには, 単に
<tscreen><verb>
cd /where/ever/you/want/the/stuff
ctm -v -v /where/you/store/your/deltas/src-cur.*
</verb></tscreen>
とします.
<p>
<tt/CTM/ はどれが<tt/gzip/されているか理解します. 従って最初に
gunzipしておく必要はありません. ディスクの節約にもなります.
全体の処理に関して確信するまでは<tt/CTM/は(ソース)ツリーに対して
何もしません.
また, デルタを確かめるためには``<tt/-c/''フラグを使うことができます.
このフラグがあると<tt/CTM/はツリーに対して実際には何も行ないません.
単にデルタの完全性を確認し, 現在のツリーに問題なく使用できるかを確認
するだけです.
<tt/CTM/には他にもオプションがあります. 詳細に関しては
マニュアルページを参照するかソースを見てください.
もし誰かが「ユーザ インターフェース」の部分に関して助けてくれるなら
私はとても嬉しいです. なぜならどういうオプションが何を, どのよう
に, いつ行なうようにするべきか決めかねているからです.
以上でやることは本当に全部です. 新しいデルタを入手した時には,
ソースを最新のものにするためにそれを<tt/CTM/に通すだけです.
もしデルタを再ダウンロードするのが骨の折れる作業であれば, デルタを
消さないでおいてください.
なにかおかしなことが起こった場合には置いておけば良かった
と思うかもしれません. もしフロッピーディスクしか持っていない状況
であってもコピーを取るのに<tt/fdwrite/を使うことを考えてください.
<sect2><heading>ローカルの変更を保存する</heading>
<p>
開発者としてはソースツリー中のファイルを使って実験したり変更したく
なるものです. CTM はローカルの変更を制限つきでサポートします:
ファイル <tt>foo</tt> の存在をチェックする前に, <tt>foo.ctm</tt>
を参照しにいきます. このファイルが存在する場合, CTM は <tt>foo</tt>
の代りにこれを処理します.
<p>
この動作はローカルの変更を保持する簡単な手段を提供します:
単に変更したいファイルを拡張子 <tt>.ctm</tt> 付きのファイル名で
コピーするだけです. あとは自由にコードをハックでき, <tt>.ctm</tt>
ファイルの方は CTM が最新状態に保ってくれます.
<sect2><heading>CTM のその他の面白いオプション</heading>
<sect3><heading>更新で変更されるファイルを正確に知る</heading>
<p>
CTM のソースリポジトリに対する変更のリストを ``<tt>-l</tt>''
オプションを使って決定することができます.
<p>
これは, 変更のログを保存したい, 変更されたファイルをなんらかの方法で
前・後処理したい, または単にこだわりたい :-) 場合には,
役に立つでしょう.
<sect3><heading>更新前にバックアップを取る</heading>
<p>
CTM の更新によって変更されるファイルすべてのバックアップを
取りたくなることがあります.
<p>
``<tt>-B backup-file</tt>'' オプションを指定すると CTM は
デルタで変更されるファイルすべてを <tt>backup-file</tt>
としてバックアップするようになります.
<sect3><heading>更新で変更されるファイルを制限する</heading>
<p>
CTM の更新の範囲を制限したり一連のデルタのからほんの数ファイルを
抽出したくなることがあります.
<p>
``<tt>-e</tt>'' と ``<tt>-x</tt>'' オプションを用い正規表現を
指定することで, CTM が処理するファイルのリストを制御することが
できます.
<p>
例えば, <tt>lib/libc/Makefile</tt> の最新のコピーを保存してある
CTM デルタのコレクションから抽出するには, 以下のコマンドを実行します.
<tscreen><verb>
cd /where/ever/you/want/to/extract/it/
ctm -e '^lib/libc/Makefile' ~ctm/src-cur.*
</verb></tscreen>
<p>
CTM デルタで指定されたファイルごとに, ``<tt>-e</tt>'' そして
``<tt>-x</tt>'' オプションがコマンドラインで指定された順序で
適用されます. すべての``<tt>-e</tt>'' そして `<tt>-x</tt>''
オプションが適用された後に更新対象と選択された場合に限り,
CTM はそのファイルを処理します.
<sect2><heading><tt/CTM/の将来計画</heading>
<p>
重要なもの
<itemize>
<item>
なんらかの CTM システムへの認証機構を用い, 不正な CTM の更新の
検出を可能とする.
<item>
<tt/CTM/へのオプションを整理する. さもないと混乱し, 直観に反したもの
になります.
</itemize>
残念なことに私は非常に忙しいです. 従ってこれを行なうどんな手助け
でも歓迎します. その際, 自分が何をやりたいかを私に
言うのを忘れずに.
<sect2><heading>その他</heading>
<p>
「DESに染まった」(例えば, 国外への持ち出しが規制された)ソースは
まったく含まれません. 手に入るのは「国際」バージョンだけです.
もし興味のある人が多いようであれば, 我々は``<tt/sec-cur/''シーケンスも
セットアップするつもりです.
<!--
もしあなたがFreeBSDに対して頻繁なまたは価値のある貢献をしている
のであれば, 私は特別なサービス, 一つには<tt/ftp/か<tt/rcp/によるあなた
の近くのマシンへの配布, をしたいと思うでしょう.
これには時間がかかるので, あなたがこれを受けるに値する必要があります.
しかし, あなたにその価値があるなら, 私は喜んでそうするでしょう.
-->
<tt/ports/コレクションに対するデルタのシーケンスもあります. しかし,
まだあまり興味は持たれていないようです. もしこれに対するメーリング
リストが欲しい時も私に言ってください. 我々はセットアップすることを
考えます.
<!--
もしあなたがコミット特権を持っているか, または同様にFreeBSDコアチーム
からその必要ありと認められていれば, CVSリポジトリツリーへの
アクセスも同じ手段で得ることができます. 詳細は&a.phk;へ聞いてください.
-->
<sect2><heading>ありがとう!</heading>
<p>
<descrip>
<tag/&a.bde;/
辛辣なペンと価値のないコメントに対して.
<tag/&a.sos;/
よく辛抱してくれました.
<tag/Stephen McKay/
<tt/ctm_&lsqb;rs&rsqb;mail/を書いてくれました. とても感謝して
います.
<tag/&a.jkh/
彼が頑固として譲らなかったため, 私もこの <tt/CTM/ をもっと良いものに
しないわけにはいきませんでした. 彼の頑固さに感謝します.
<tag/ユーザの人みんな/
気に入ってくれることを願っています...
</descrip>

@ -1,155 +0,0 @@
<!-- $Id: current.sgml,v 1.9 1997-09-03 16:14:18 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.23 -->
<sect><heading>最新のFreeBSDを追いかける<label id="current"></heading>
<p><em>原作: &a.jkh;.</em>
<p><em>訳: &a.hanai;<newline>6 November 1996.</em>
<!--
THE FREEBSD CURRENT POLICY
Last updated: $Date: 1997-09-03 16:14:18 $
This document attempts to explain the rationale behind
FreeBSD-current, what you should expect should you decide to run it,
and states some prerequisites for making sure the process goes as
smoothly as possible.
-->
<sect1><heading>FreeBSD-currentってなに?</heading>
<p>FreeBSD-currentとは文字通りに日々変更されているFreeBSDのソース
のスナップショット以外の何ものでもありません.中には現在開発途上の
ソフトウェア, 実験的な変更、あるいは過渡的な機能などが含まれています.
また, この中に入っている機能がすべて次の公式リリースに入るとはかぎりません.
FreeBSD-currentをソースからほとんど毎日コンパイルしている人はたくさん
いますが, 時期によってはFreeBSD-currentはコンパイルさえできない状態に
なっていることもあります. これらの問題は一般的には可能な限り素早く解決
されますが, FreeBSD-currentのソースが不幸をもたらすか, それとも非常に
素晴らしい機能をもたらすかというのは文字通り, ある与えられた24時間の間
のどの部分であなたがソースを手に入れたか, による場合もあります.
<sect1><heading>誰がFreeBSD-currentを必要としてるの?</heading>
<p>FreeBSD-currentは次の3つのどれかにあてはまる人のために一般に公開してい
ます.
<enum>
<item> ソースツリーの,ある部分または別の部分に関して活発に作業して
いるFreeBSDグループのメンバ彼らにとっては`最新のもの'に維持して
おくことは絶対的な要求なのです.
<item> FreeBSD-currentが出来るだけ健全である時間の割合を増やすために
様々な問題と戦うのに時間を費やすのを厭わず活発にテストを行なっている
FreeBSDグループのメンバ彼らはまた様々な変更に関する提案やFreeBSD
の大まかな方向付けを行ないたいと思っている人々でもあります.
<item> 単に,様々な事に目を向け,参考のために(例えば,動かすためではなく
<em>読むため</em>に)最新のソースを使いたいと思っているFreeBSD(または
他の)グループのまわりにいるメンバ.これらの人々はまた時によってコメ
ントをしたりコードを寄稿したりします.
</enum>
<sect1><heading>FreeBSD-currentに期待しては<em>いけない</em>ことは?</heading>
<p><enum>
<item> あなたが何か新しいカッコイイモノがあると聞き, あなたの
周りで最初にそれを持ちたいためにリリース前のコードの断片を
追いかけること.
<item> バグを修正するための素早い方法.
<item> いずれにしても我々によって``公式にサポートされている''.
私たちは3つの「公式な」FreeBSD-currentのグループの一つに実際に属する
人々を助けるのにベストを尽くしますが, 技術的なサポートを行なうには
単に「時間が足りない」のです.
これは我々が外の人を助けるのが好きではないケチで意地悪い人間だと
いうことではなく(もしそうなら FreeBSD なんかやっていません), 文字通り
我々は一日に400ものメッセージに答え<em>かつ</em> FreeBSD の作業をする
ことなど出来ない! ということなのです. もし, たくさんの質問に答えるか
それとも FreeBSD を良くする作業を続けるかという選択が与えられた場合,
あなた方のほとんどは後者を支持する, と私は確信しています.
</enum>
<sect1><heading>FreeBSD-currentを使う</heading>
<p><enum> <item> &a.current;と&a.cvsall;に加わって下さい.
これは単に良い考えであるというだけでなく, <em>必須の</em>ことなのです.
もし<em>FreeBSD-current</em>メーリングリストに入っていなければ,
様々な人がシステムの現在の状態について述べているコメントを決して見ることは
ありませんし, 従って他の人が既に見つけて解決している多くの問題に戸惑っ
てあきらめてしまうでしょう. さらに言うと, 非常に不可欠な情報
(例えば, 「やぁ, みんな! <tt>/usr/src</tt>を作り直す前にカーネルの
再構築を<em>やらないといけないよ</em>, さもないととんでもないクラッシュが起きるぜ!」)を見逃してしまうでしょう.
<em>cvs-all</em>メーリングリストはそれぞれの変更についてそれに関して起
こり得る情報を見ることが出来ます.
これらのメーリングリストに入るには, &a.majordomo;へ
<verb>
subscribe freebsd-current
subscribe cvs-all
</verb>
と書いたメールを送って下さい.
オプションとして本文に`help'と書けば Majordomo はあなたへ我々がサポ
ートする様々なメーリングリストに参加/脱退する方法に関する詳しい
ヘルプを送ります.
<item> ftp.FreeBSD.ORGからのソースの入手. 以下の3つの方法で行なうこと
が出来ます.
<enum>
<item> 下に述べられている<ref id="ctm" name="CTM">を用いる.
均一なレートの, 良質の TCP/IP 接続を持っていない人には,
これが一番いい方法でしょう.
<item> <ref id="cvsup" name="cvsup"> を
<url url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/standard-supfile" name="この supfile">
を用いて使用する.
これは2番目に推薦される方法です. なぜなら, cvssupによって一度全体
を入手し, 後は変更されたところだけを入手することが出来るからです.
たくさんの人がvsupをcronから起動し, 自動的にソースを最新のもの
に保っています.
<item> ftpを使う. FreeBSD-currentのソースツリーは常に
<htmlurl url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current"
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current">
に公開されています.
我々はまた全体をcompress/tarして入手できる `wu-ftpd' を使ってい
ます. 例えば,
<verb>
usr.bin/lex
</verb>
があったとすると,
<verb>
ftp> cd usr.bin
ftp> get lex.tar.Z
</verb>
とすることにより, ディレクトリ全体(この場合, usr.bin/lex以下全体)
をcompressされたtarファイルとして入手することができます.
</enum>
<item> 以上のことをまとめると, 必要に応じて迅速なアクセスをする必要があり,
接続のバンド幅が問題ではなければcvsupかftpを使いましょう. そうではなければ
CTMを使いましょう.
<item> もしソースを, 眺めるだけでなく走らせるために入手しているので
あれば, 一部だけ選ぶのではなく,
current の<em>全体</em>を手に入れてください.
なぜなら, ソースの様々な部分が他の部分の更新に依存しており, 一部のみを
コンパイルしようとすると, ほぼ間違いなくトラブルを起こすからです.
<item> current をコンパイルする前に /usr/src にある Makefile
をよく読んでください. アップグレードの処理の一部として,
少なくとも一回は最初に `make world' を行なうべきでしょう.
&a.current;を読めば, 次のリリースへ向けて, 時々必要になる
他のブートストラップの方法に関して常に最新情報を得ることが出来ます.
<item> アクティブになって下さい! もしFreeBSD-currentを走らせているなら
我々はそれに関するコメント, 特に拡張やバグ潰しに関する提案, を欲して
います. コードを伴う提案はもっとも歓迎されるものです!
</enum>

@ -1,611 +0,0 @@
<!-- $Id: cvsup.sgml,v 1.32 1998-02-12 06:02:57 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.34 -->
<sect1><heading>CVSup<label id="cvsup"></heading>
<p><em>原作: &a.jdp;</em>.
<p><em>訳: &a.iwasaki;.<newline>27 February 1997.</em>
<sect2><heading>CVSup の紹介<label id="cvsup:intro"></heading>
<p>CVSup は, リモートのサーバホストにあるマスタ CVS リポジトリから
ソースツリーを配布し更新するためのソフトウェアパッケージです. FreeBSD
のソースは, カリフォルニアにある中心的な開発マシンの CVS リポジトリの
中でメンテナンスしています. CVSup を使用することで, FreeBSD ユーザは
簡単に自分のソースツリーを最新の状態にしておくことができます.
<p>CVSup は <em>pull</em> モデルとよばれる更新のモデルを採用しています.
pull モデルでは, 各クライアントが更新したい場合に更新したい時点で,
サーバに更新の問い合わせをおこないます. サーバはクライアントからの
更新の要求を受け身の状態で待ちます. したがって, すべての更新は
クライアント主導でおこなわれます. サーバは頼まれもしない更新情報を
送るようなことはしません. ユーザは CVSup クライアントを手動で実行して
更新をおこなうか, cron ジョブを設定して定期的に自動実行する必要があります.
<p>用語 "CVSup" のように大文字で表記しているものは, ソフトウェアパッケージ
全体を指します. 主な構成物は, 各ユーザマシンで実行するクライアントである
"cvsup", FreeBSD の各ミラーサイトで実行するサーバ "cvsupd" です.
<p>FreeBSD の文書やメーリングリストを読んだ際に, <em>sup</em> についての言及を
見かけたかもしれません. sup は CVSup の前に存在していたもので, 同様の
目的で使われていました. CVSup は sup と同じように使用されており, 実際,
sup と互換性のあるコンフィグレーションファイルを使用します.
CVSup の方がより高速で柔軟性もあるので, もはや sup は FreeBSD
プロジェクトでは使用されていません.
<sect2><heading>CVSup のインストール<label id="cvsup:install"></heading>
<p>FreeBSD 2.2 以降を使用している場合, CVSup をインストールするもっとも
簡単な方法は, FreeBSD <ref id="ports" name="ports コレクション"> の
<url
url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar"
name="port"> または対応する <url
url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-15.2.tgz"
name="バイナリ package"> を使うことです. どちらを使うかは,
CVSupを自分で作りたいかどうかによります.
<p>FreeBSD-2.1.6 または 2.1.7 を使用している場合は, 残念ながら
FreeBSD-2.1.{6,7} には存在しないバージョンの C ライブラリが必要となるため
バイナリ package は使用できません.
しかし, <url
url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar"
name="port"> は FreeBSD 2.2 とまったく同じように簡単に使うことができます.
単に tar ファイルを展開し, cvsup ディレクトリへ cd して "make install"
とタイプするだけです.
<p>CVSup は <url
url="http://www.research.digital.com/SRC/modula-3/html/home.html"
name="Modula-3"> で書かれているため, package と port 両方とも Modula-3
ランタイムライブラリがインストールされていることが必要です. これらは
port の <url
url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/lang/modula-3-lib.tar"
name="lang/modula-3-lib"> および package の <url
url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/lang/modula-3-lib-3.6.tgz"
name="lang/modula-3-lib-3.6"> にあります. これらのライブラリの port
や package に対して cvsup と同じ管理方法を取っていれば, CVSup の
port や package をインストールする際に, これらのライブラリも自動的に
コンパイルそして/またはインストールされます.
<p>Modula-3 ライブラリはかなり大きく, これらの転送やコンパイルはすぐに
終わるものではありません. この理由から, 三つめの選択肢が提供されています.
以下のアメリカ合衆国にある配布サイトのどちらからでも, FreeBSD 用の
<em>スタティックリンクされた</em> CVSup 実行形式が入手可能です:
<itemize>
<item><url url="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.2.tar.gz"
name="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.2.tar.gz">
(GUI 込みのクライアント).
<item><url url="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.2.tar.gz"
name="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.2.tar.gz">
(GUI なしのクライアント).
<item><url url="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.2.tar.gz"
name="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.2.tar.gz">
(サーバ).
</itemize>
また, ドイツのミラーサイトは以下の通りです:
<itemize>
<item><url url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup-bin-15.2.tar.gz"
name="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup-bin-15.2.tar.gz">
(GUI 込みのクライアント).
<item><url url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.2.tar.gz"
name="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.2.tar.gz">
(GUI なしのクライアント).
<item><url url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsupd-bin-15.2.tar.gz"
name="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsupd-bin-15.2.tar.gz">
(サーバ).
</itemize>
訳注: 日本国内のミラーサイトは以下の通りです:
<itemize>
<item><url url="ftp://jaz.jp.freebsd.org/pub/FreeBSD-freefall/CVSup/cvsup-bin-15.2.tar.gz"
name="ftp://jaz.jp.freebsd.org/pub/FreeBSD-freefall/CVSup/cvsup-bin-15.2.tar.gz">
(GUI 込みのクライアント).
<item><url url="ftp://jaz.jp.freebsd.org/pub/FreeBSD-freefall/CVSup/cvsup.nogui-bin-15.2.tar.gz"
name="ftp://jaz.jp.freebsd.org/pub/FreeBSD-freefall/CVSup/cvsup.nogui-bin-15.2.tar.gz">
(GUI なしのクライアント).
<item><url url="ftp://jaz.jp.freebsd.org/pub/FreeBSD-freefall/CVSup/cvsupd-bin-15.2.tar.gz"
name="ftp://jaz.jp.freebsd.org/pub/FreeBSD-freefall/CVSup/cvsupd-bin-15.2.tar.gz">
(サーバ).
</itemize>
<p>ほとんどのユーザはクライアントのみが必要になるでしょう. これらの
実行形式は完全に自己完結しており, FreeBSD-2.1.0 から FreeBSD-current
までの, どのバージョンでも動作します.
<p>まとめると, CVSup をインストールするための選択肢は以下の通りです:
<itemize>
<item>FreeBSD-2.2以降: スタティックバイナリ, port, package
<item>FreeBSD-2.1.6, 2.1.7: スタティックバイナリ, port
<item>FreeBSD-2.1.5 以前: スタティックバイナリ
</itemize>
<sect2><heading>CVSup のコンフィグレーション<label id="cvsup:config"></heading>
<p>CVSup の動作は, "supfile" と呼ばれるコンフィグレーションファイルで
制御します. FreeBSD-2.2 からは, supfile のサンプルがディレクトリ <url
url="file:/usr/share/examples/cvsup" name="/usr/share/examples/cvsup">
の下にあります. 2.2 以前のシステムを使用している場合は, これらの
サンプルを <url
url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/"
name="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/">
から入手することができます.
<p>supfile には以下の cvsup に関する質問への答えを記述します:
<itemize>
<item><ref id="cvsup:config:files" name="どのファイルを受け取りたいのか?">
<item><ref id="cvsup:config:vers" name="どのバージョンのものが欲しいのか?">
<item><ref id="cvsup:config:where" name="どこから入手したいのか?">
<item><ref id="cvsup:config:dest" name="自分のマシンのどこに置きたいのか?">
<item><ref id="cvsup:config:status" name="どこに status ファイルを置きたいのか?">
</itemize>
<p>次のセクションで, これらの質問に順番に答えながら典型的な supfile
を組み立てていきます. 最初に supfile の全体構造を説明します.
<p>supfile はテキストファイルです. コメントは "#" から行末までです.
空行とコメントだけの行は無視します.
<p>残りの各行には, ユーザが受け取りたいファイル群について記述します.
行の始めは, サーバ側で定義した論理的なファイルのグループである
「コレクション」の名称です. コレクションの名称を指定して, 欲しいファイル群を
サーバに伝えます. コレクション名の後には, ホワイトスペースで区切られた
0個以上のフィールドが続きます. これらのフィールドが上記の質問に対する
答えになります. フィールドには 2種類あります: flag フィールドと value
フィールドです. flag フィールドは "delete" や "compress" のような
単独のキーワードから成ります. また, value フィールドもキーワードで
始まりますが, キーワードの後にはホワイトスペースは入らず, "=" と
二つめの単語が続きます. 例えば, "release=cvs" は value フィールドです.
<p>通常, supfile には受け取りたいコレクションを一つ以上指定します.
supfile を組み立てる一つの方法として, コレクション毎にすべての関係の
あるフィールドを明示的に指定する方法があります. しかし, これでは supfile
のすべてのコレクションに対してほとんどのフィールドが同じになるため,
行が非常に長くなってしまい不便になります. これらの問題を避けるため,
CVSup ではデフォルトを指定することのできるメカニズムが提供されています.
特殊な擬似コレクション名 "*default" で始まる行は, supfile 中の後続の
コレクションに対して使用する flag フィールドと value フィールドの
デフォルトを設定するために利用できます. 個々のコレクションで固有の値を
指定すると, デフォルト値を無効にできます. また "*default" 行を追加すると,
supfile の途中からデフォルト値の変更や追加が可能になります.
<p>これまでの予備知識を基に, <ref id="current" name="FreeBSD-current">
のメインのソースツリーを受け取って更新するための supfile を
組み立ててみましょう.
<itemize>
<item>どのファイルを受け取りたいのか?<label id="cvsup:config:files">
<p>CVSup を通して入手できるファイルは
「コレクション」と呼ばれる名前の付けられたグループにまとめられています.
利用可能なコレクションについては<ref id="cvsup:collec" name="ここ">
で説明しています. ここでは, FreeBSD システムのメインのソースツリー全体
を受け取るための設定例を紹介します.
輸出規制されている暗号化サポートのコード以外のすべてを含む "src-all" という
単一の大きなコレクションがあります. この例では私たちがアメリカ合衆国か
カナダにいるものと仮定します. その場合, "cvs-crypto" という一つの付化的な
コレクションで暗号化コードを入手することができます. supfile
を組み立てる最初のステップとして, これらのコレクションを一行に一つづつ
記述します:
<verb>
src-all
cvs-crypto
</verb>
<p><item>どのバージョンのものが欲しいのか?<label id="cvsup:config:vers">
<p>CVSup を使用すると, かつて存在していたことのある, 事実上どのバージョンの
ソースでも受け取ることができます. これは cvsupd サーバがすべてのバージョンを含む
CVS リポジトリに基づいて動作することにより, 実現されています.
"tag=" および "date=" の value フィールドを使用して, 欲しいバージョンの
一つを指定します.
<p><bf>注意:</bf> "tag=" のフィールドの指定は正確に行うように十分注意
してください. いくつかのタグは特定のコレクションに対してのみ有効です.
タグの綴りが違っていたり不適切なタグを指定すると, CVSupはユーザが消し
たくないファイルまで削除してしまいます. 特に "ports-*" のコレクション
に対しては "<tt>tag=.</tt>" <em>だけ</em> を指定するようにしてください.
<p>"tag=" フィールドはリポジトリ中のシンボリックタグを指定します.
tag には revision tag と branch tag の二種類があります. revision tag
は特定のリビジョンを指します. これは, 毎日同じ状態に保つことになります.
一方 branch tag は, ある時点での開発分流の最新のリビジョンを指します.
branch tag は特定のリビジョンを指定している訳ではないので, 今日と明日では
異なるリビジョンを参照することになるかもしれません.
<p>以下はユーザが興味を持っていると思われる branch tag です:
<descrip>
<tag/tag=./
メインの開発分流であり, FreeBSD-current として知られています.
注意: "." は句読点ではありません. tag の名称です.
このタグの指定は総てのコレクションに対して有効です.
<tag/tag=RELENG_2_2/
FreeBSD-2.2 の開発分流であり, FreeBSD-stable として知られています.
このタグの指定は ports-* のコレクションに対しては無効です.
<tag/tag=RELENG_2_1_0/
FreeBSD-2.1.x 用の開発分流です. この分流はほとんど利用されていません.
このタグの指定は ports-* のコレクションに対しては無効です.
</descrip>
<p>以下はユーザが興味を持っていると思われる revision tag です:
<descrip>
<tag/tag=RELENG_2_2_5_RELEASE/
FreeBSD-2.2.5.
このタグの指定は ports-* のコレクションに対しては無効です.
<tag/tag=RELENG_2_2_2_RELEASE/
FreeBSD-2.2.2.
このタグの指定は ports-* のコレクションに対しては無効です.
<tag/tag=RELENG_2_2_1_RELEASE/
FreeBSD-2.2.1.
このタグの指定は ports-* のコレクションに対しては無効です.
<tag/tag=RELENG_2_2_0_RELEASE/
FreeBSD-2.2.0.
このタグの指定は ports-* のコレクションに対しては無効です.
<tag/tag=RELENG_2_1_7_RELEASE/
FreeBSD-2.1.7.
このタグの指定は ports-* のコレクションに対しては無効です.
<tag/tag=RELENG_2_1_6_1_RELEASE/
FreeBSD-2.1.6.1.
このタグの指定は ports-* のコレクションに対しては無効です.
<tag/tag=RELENG_2_1_6_RELEASE/
FreeBSD-2.1.6.
このタグの指定は ports-* のコレクションに対しては無効です.
<tag/tag=RELENG_2_1_5_RELEASE/
FreeBSD-2.1.5.
このタグの指定は ports-* のコレクションに対しては無効です.
<tag/tag=RELENG_2_1_0_RELEASE/
FreeBSD-2.1.0.
このタグの指定は ports-* のコレクションに対しては無効です.
</descrip>
<p><bf>注意:</bf> tag 名を示した通りにタイプされているか十分注意してく
ださい. CVSup は tag 名が正しいかどうかを見分けることはできません. tag
が間違っていた場合, たまたまファイルがまったく存在しない正しい tag が
指定されたものとしてCVSup は動作します. その場合は, 現在あるソースが削
除されるでしょう.
<p>branch tag を指定した際には, 通常はその開発分流の最新バージョンの
ファイルを受け取ります. いくらか前のバージョンを受け取りたい場合は,
"date=" の value フィールドを使って日付を指定することで, これを実現することが
できます. cvsup(1) のマニュアルページで, その方法を説明しています.
<p>例として, FreeBSD-current を受け取りたいとします. 次の行を supfile
の始めに追加します:
<verb>
*default tag=.
</verb>
<p>"tag=" フィールドも "date=" フィールドも指定しなかった場合に
動き出す重要な特殊なケースがあります. そのケースでは, 特定のバージョンの
ファイルを受け取るのではなく, サーバの CVS リポジトリから実際の RCS
ファイルを直接受け取ります. 一般的に開発者はこの処理のモードが
好きなようです. 彼らのシステム上にリポジトリそのもののコピーを維持することで,
リビジョン履歴を閲覧し過去のバージョンのファイルを検査できるようになります.
しかし, これには大きなディスクスペースが必要になります.
<p><item>どこから入手したいのか?<label id="cvsup:config:where">
<p>更新情報をどこから入手するかを cvsup に伝えるために "host="
フィールドを使用します。<ref id="mirrors-cvsup" name="CVSup ミラーサイト">
のどこからでも入手できますが、最寄りのサイトを選ぶべきでしょう。
この例では、第一の FreeBSD 配布サイト "cvsup.FreeBSD.org" を使用します:
<verb>
*default host=cvsup.FreeBSD.org
</verb>
<p>どのように cvsup を実行しても, この設定は "-h hostname" を
使用してコマンドラインで変更することができます.
<p><item>自分のマシンのどこに置きたいのか?<label id="cvsup:config:dest">
<p>"prefix=" フィールドは, cvsup に受け取ったファイルをどこに置くかを
伝えます. この例では, ソースファイルを直接メインのソースツリー
"/usr/src" に置きます. "src" ディレクトリはすでにファイルを受け取るために
選択したコレクションで暗黙に指定しているので, これは正しい仕様となります:
<verb>
*default prefix=/usr
</verb>
<p><item>どこに status ファイルを置きたいのか?<label id="cvsup:config:status">
<p>cvsup クライアントは "base" ディレクトリと呼ばれる場所に, ある
status ファイルを維持しています. すでに受け取った更新情報を追従し続け
ることで, これらのファイルは CVSup がより効果的に動作することを支援し
ます. 標準の base ディレクトリ "/usr/local/etc/cvsup" を使用します:
<verb>
*default base=/usr/local/etc/cvsup
</verb>
<p>supfile に指定がない場合は, この設定をデフォルトで使用しますので,
実際には上の行は必要ありません.
<p>base ディレクトリが存在しない場合は作成しておきましょう. base
ディレクトリが存在しない場合, cvsup クライアントは実行を拒否します.
<p><item>その他もろもろの supfileの設定:
<p>通常 supfile に入れておくべき行がもう一つあります:
<verb>
*default release=cvs delete use-rel-suffix compress
</verb>
<p>"release=cvs" は, サーバがメインの FreeBSD CVS リポジトリから
その情報を取得するように指示します. ほとんどの場合はこのようにしておきますが,
ここでの説明の範疇をこえるような状況では他の指定をすることも可能です.
<p>"delete" は CVSup にファイルを削除することを許可します. CVSup が
ソースツリーを完全に最新の状態に保てるようにするためには, これは常に
指定しておくべきでしょう. CVSup は, これらの責任範囲のファイルだけを
慎重に削除します. たまたま存在する他の余分なファイルについては,
まったく手をつけずに残しておきます.
<p>"use-rel-suffix" は ... 神秘的なものです. これについて本当に
知りたい人は, cvsup(1) のマニュアルページをご覧ください. でなければ,
何も考えずに指定してみてください.
<p>"compress" は通信チャネルで gzip 形式の圧縮の使用を有効にします.
ご使用のネットワーク接続が T1 speed 以上である場合, この圧縮を
使用しない方がよいかもしれません. そうでない場合は十分に役に立ちます.
<p><item>supfile の例のまとめ:
<p>以下は supfile の例の全体です:
<verb>
*default tag=.
*default host=cvsup.FreeBSD.org
*default prefix=/usr
*default base=/usr/local/etc/cvsup
*default release=cvs delete use-rel-suffix compress
src-all
cvs-crypto
</verb>
</itemize>
<sect2><heading>CVSup の実行</heading>
<p>さて, 更新の準備ができました. これを実行するコマンドラインは
実に簡単です:
<verb>
cvsup supfile
</verb>
<p>もちろん, ここでの "supfile" は作成したばかりの supfile
のファイル名です. X11 環境で実行するものと仮定して, cvsup は
通常の操作に必要なボタンを持つ GUI ウィンドウを表示します.
"go" ボタンを押して, 実行を監視してください.
<p>この例では実際の "/usr/src" ツリーを更新しているので, cvsup
にファイルを更新するのに必要なパーミッションを与えるために, ユーザ root
で実行する必要があります. コンフィグレーションファイルを作ったばかりで,
しかも以前にこのプログラムを実行したことがないので, 神経質になるのは
無理もない話だと思います. 大切なファイルに触らずに試しに実行する簡単な
方法があります. どこか適当な場所に空のディレクトリを作成して,
コマンドラインの引数で指定するだけです:
<verb>
mkdir /var/tmp/dest
cvsup supfile /var/tmp/dest
</verb>
<p>指定したディレクトリは, すべての更新されるファイルの
更新先ディレクトリとして使用します. CVSup は "/usr/src" の下の
ファイルを検査しますが, 変更や削除はまったくおこないません.
かわりに "/var/tmp/dest/usr/src" に更新されたすべてのファイルが
置かれるようになります. この方法で実行した場合は, CVSup は base
ディレクトリの status ファイルを更新せずにそのままにします.
これらのファイルの新しいバージョンは指定されたディレクトリ
に書き込まれます. "/usr/src" の読み取り許可がある限り, このような
試し実行のためにユーザ root になる必要はありません.
<p>X11 を利用していないとか単に GUI が気に入らない場合は, cvsup
起動時にコマンドラインに二つほどオプションを追加する必要があります:
<verb>
cvsup -g -L 2 supfile
</verb>
<p>"-g" オプションは cvsup に GUI を使用しないように伝えます. X11
を利用していない場合には自動的に指定されますが, そうでない場合は
明示的に指定します.
<p>"-L 2" オプションは cvsup にファイル更新中の詳細情報をプリントアウト
するように伝えます. 冗長性には "-L 0" から "-L 2" までの三つのレベル
があります. デフォルトは 0 であり, エラーメッセージ以外はまったく出力
しません.
<p>たくさんの他のオプション変数があります. それらの簡単な一覧は
"cvsup -H" で表示されます. より詳しい説明はマニュアルページをご覧ください.
<p>動作している更新の方法に満足したら, cron(8) を使って cvsup を定期的に
実行させる準備をすることができます. cron から起動する際には, 明示的に
cvsup が GUI を使わないようにする必要があります.
<sect2><heading>CVSup ファイルコレクション<label id="cvsup:collec"></heading>
<p>CVSup 経由で入手できるファイルコレクションは階層的に組織化されています.
いくつか大きなコレクションがあり, それらは小さなサブコレクションに
分割されています. 大きなコレクションは, そのサブコレクション毎に
受信することと同じことになります. 下の一覧ではコレクション間の階層関係を
字下げして表現します.
<p> 最も一般的に使用するコレクションは <tt/src-all/, <tt/cvs-crypto/,
そして <tt/ports-all/ です. 他のコレクションは特別な目的を持つ人達だけが
使用しており, ミラーサイトはそれらのすべてを持っていないかもしれません.
<descrip>
<tag><tt>cvs-all release=cvs</tt></tag>
メインの FreeBSD CVS リポジトリであり, 輸出規制された暗号化コードは含まれていません.
<p>
<descrip>
<tag><tt>distrib release=cvs</tt></tag>
FreeBSD の配布とミラーに関連するファイルです.
<tag><tt>doc-all release=cvs</tt></tag>
FreeBSD ハンドブックおよびその他のドキュメントのソースです.
<tag><tt>ports-all release=cvs</tt></tag>
FreeBSD の ports コレクションです.
<p>
<descrip>
<tag><tt>ports-archivers release=cvs</tt></tag>
アーカイビングのツール.
<tag><tt>ports-astro release=cvs</tt></tag>
天文学関連の ports.
<tag><tt>ports-audio release=cvs</tt></tag>
サウンドサポート.
<tag><tt>ports-base release=cvs</tt></tag>
<tt>/usr/ports</tt> のトップにあるその他のファイル.
<tag><tt>ports-benchmarks release=cvs</tt></tag>
ベンチマークプログラム.
<tag><tt>ports-biology release=cvs</tt></tag>
植物学関連のプログラム.
<tag><tt>ports-cad release=cvs</tt></tag>
CAD ツール.
<tag><tt>ports-chinese release=cvs</tt></tag>
中国語サポート.
<tag><tt>ports-comms release=cvs</tt></tag>
通信ソフトウェア.
<tag><tt>ports-converters release=cvs</tt></tag>
文字コードコンバータ.
<tag><tt>ports-databases release=cvs</tt></tag>
データベース.
<tag><tt>ports-devel release=cvs</tt></tag>
開発ユーティリティ.
<tag><tt>ports-editors release=cvs</tt></tag>
エディタ.
<tag><tt>ports-emulators release=cvs</tt></tag>
他の OS のエミュレータ.
<tag><tt>ports-games release=cvs</tt></tag>
ゲーム.
<tag><tt>ports-german release=cvs</tt></tag>
ドイツ語サポート.
<tag><tt>ports-graphics release=cvs</tt></tag>
グラフィックユーティリティ.
<tag><tt>ports-japanese release=cvs</tt></tag>
日本語サポート.
<tag><tt>ports-korean release=cvs</tt></tag>
韓国語サポート.
<tag><tt>ports-lang release=cvs</tt></tag>
プログラミング言語.
<tag><tt>ports-mail release=cvs</tt></tag>
メールソフトウェア.
<tag><tt>ports-math release=cvs</tt></tag>
数値計算ソフトウェア.
<tag><tt>ports-mbone release=cvs</tt></tag>
MBone アプリケーション.
<tag><tt>ports-misc release=cvs</tt></tag>
色々なユーティリティ.
<tag><tt>ports-net release=cvs</tt></tag>
ネットワーキングソフトウェア.
<tag><tt>ports-news release=cvs</tt></tag>
USENET ニュースのソフトウェア.
<tag><tt>ports-plan9 release=cvs</tt></tag>
Plan9 からの色々なプログラム.
<tag><tt>ports-print release=cvs</tt></tag>
印刷ソフトウェア.
<tag><tt>ports-russian release=cvs</tt></tag>
ロシア語サポート.
<tag><tt>ports-security release=cvs</tt></tag>
セキュリティユーティリティ.
<tag><tt>ports-shells release=cvs</tt></tag>
コマンドラインシェル.
<tag><tt>ports-sysutils release=cvs</tt></tag>
システムユーティリティ.
<tag><tt>ports-textproc release=cvs</tt></tag>
文書処理ユーティリティ(デスクトップパブリッシングは含まない).
<tag><tt>ports-vietnamese release=cvs</tt></tag>
ベトナム語サポート.
<tag><tt>ports-www release=cvs</tt></tag>
World Wide Web 関連のソフトウェア.
<tag><tt>ports-x11 release=cvs</tt></tag>
X11 のソフトウェア.
</descrip>
<tag><tt>src-all release=cvs</tt></tag>
メインの FreeBSD ソース群であり, 輸出規制された暗号化コードは含まれていません.
<p>
<descrip>
<tag><tt>src-base release=cvs</tt></tag>
<tt>/usr/src</tt> のトップにあるその他のファイル.
<tag><tt>src-bin release=cvs</tt></tag>
シングルユーザモードで必要なユーザユーティリティ
(<tt>/usr/src/bin</tt>).
<tag><tt>src-contrib release=cvs</tt></tag>
FreeBSD プロジェクト外部からのユーティリティおよびライブラリ,
比較的無修正 (<tt>/usr/src/contrib</tt>).
<tag><tt>src-etc release=cvs</tt></tag>
システムコンフィグレーションファイル (<tt>/usr/src/etc</tt>).
<tag><tt>src-games release=cvs</tt></tag>
ゲーム(<tt>/usr/src/games</tt>).
<tag><tt>src-gnu release=cvs</tt></tag>
GNU Public License 下にあるユーティリティ (<tt>/usr/src/gnu</tt>).
<tag><tt>src-include release=cvs</tt></tag>
ヘッダファイル (<tt>/usr/src/include</tt>).
<tag><tt>src-kerberosIV release=cvs</tt></tag>
KerberosIV セキュリティパッケージ (<tt>/usr/src/kerberosIV</tt>).
<tag><tt>src-lib release=cvs</tt></tag>
ライブラリ (<tt>/usr/src/lib</tt>).
<tag><tt>src-libexec release=cvs</tt></tag>
システムプログラムであり, 通常は他のプログラムから実行される
(<tt>/usr/src/libexec</tt>).
<tag><tt>src-release release=cvs</tt></tag>
FreeBSD の release を構築するために必要なファイル (<tt>/usr/src/release</tt>).
<tag><tt>src-sbin release=cvs</tt></tag>
シングルユーザモード用のシステムユーティリティ(<tt>/usr/src/sbin</tt>).
<tag><tt>src-share release=cvs</tt></tag>
多様なシステム間で共有可能なファイル (<tt>/usr/src/share</tt>).
<tag><tt>src-sys release=cvs</tt></tag>
カーネル (<tt>/usr/src/sys</tt>).
<tag><tt>src-tools release=cvs</tt></tag>
FreeBSD の保守用の色々なツール (<tt>/usr/src/tools</tt>).
<tag><tt>src-usrbin release=cvs</tt></tag>
ユーザユーティリティ (<tt>/usr/src/usr.bin</tt>).
<tag><tt>src-usrsbin release=cvs</tt></tag>
システムユーティリティ (<tt>/usr/src/usr.sbin</tt>).
</descrip>
<tag><tt>www release=cvs</tt></tag>
World Wide Web のデータ用のソースです.
</descrip>
<tag><tt>cvs-crypto release=cvs</tt></tag>
輸出規制された暗号化コードです.
<p>
<descrip>
<tag><tt>src-crypto release=cvs</tt></tag>
輸出規制された FreeBSD プロジェクト外部からのユーティリティおよび
ライブラリ, 比較的無修正 (<tt>/usr/src/crypto</tt>).
<tag><tt>src-eBones release=cvs</tt></tag>
Kerberos および DES (<tt>/usr/src/eBones</tt>).
<tag><tt>src-secure release=cvs</tt></tag>
DES (<tt>/usr/src/secure</tt>).
</descrip>
<tag><tt>distrib release=self</tt></tag>
CVSup サーバ自身のコンフィグレーションファイルです. CVSup ミラーサイトが使用します.
<tag><tt>gnats release=current</tt></tag>
GNATS バグトラッキングデータベースです.
<tag><tt>mail-archive release=current</tt></tag>
FreeBSD 関連メーリングリストのアーカイブ.
<tag><tt>www release=current</tt></tag>
インストールされた World Wide Web のデータです. WWW ミラーサイトが使用します.
</descrip>
<sect2><heading>CVSup のアナウンス, 質問およびバグ報告</heading>
<p>CVSup のほとんどの FreeBSD 関連の議論は &a.hackers; で
おこなわれています. ソフトウェアの新しいバージョンは &a.announce; で
アナウンスされます.
<p>質問とバグ報告はプログラムの作者, <url
url="mailto:cvsup-bugs@polstra.com" name="cvsup-bugs@polstra.com"> へ
送ってください.

@ -1,58 +0,0 @@
<!-- $Id: cyclades.sgml,v 1.6 1997-12-28 09:40:04 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.3 -->
<!--
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
<!ENTITY % authors SYSTEM "authors.sgml">
%authors;
]>
-->
<sect2><heading><tt>cy</tt> ドライバのコンフィグ<label id="cy"></heading>
<p><em>原作: &a.alex;.<newline>6 June 1996.</em>
<p><em>訳: &a.yuki;.<newline>6 September 1996.</em>
Cyclades社のマルチポートカードは, 他のマルチポートカードが
使う<tt>sio</tt>の代わりに<tt>cy</tt>ドライバを使います.
コンフィグレーションは非常に簡単で,
<enum>
<item><tt>cy</tt> デバイスをあなたの
<ref id="kernelconfig:config"
name="カーネルのコンフィグレーション">に足します.
(注意. あなたのirqやiomemの設定がが違っているかもしれません)
<tscreen><verb>
device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
</verb></tscreen>
<item>新しいカーネルの<ref id="kernelconfig:building"
name="再構成とインストール"> をします.
<item><ref id="kernelconfig:nodes" name="デバイスノード">
を次(8ポートと仮定しています.)のように打って作ります:
<tscreen><verb>
# cd /dev
# for i in 0 1 2 3 4 5 6 7;do ./MAKEDEV cuac$i ttyc$i;done
</verb></tscreen>
<item>もし, 必要なら
シリアルデバイス(<tt>ttyd</tt>)とそっくりにコピーして
<ref id="dialup" name="dialup">エントリを作り,
<tt>ttyd</tt>の代わりに<tt>ttyc</tt>を使います. 例:
<tscreen><verb>
ttyc0 "/usr/libexec/getty std.38400" unknown on insecure
ttyc1 "/usr/libexec/getty std.38400" unknown on insecure
ttyc2 "/usr/libexec/getty std.38400" unknown on insecure
[...]
ttyc7 "/usr/libexec/getty std.38400" unknown on insecure
</verb></tscreen>
<item>新しいカーネルで立ち上げます.
</enum>

@ -1,103 +0,0 @@
<!-- $Id: development.sgml,v 1.11 1997-12-24 15:49:30 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.14 -->
<sect><heading>FreeBSDの開発モデル<label id="development"></heading>
<p><em>原作: &a.asami;.
<newline>18 October 1996.</em>
<p><em>訳: &a.asami;.
<newline>31 October 1996.</em>
<p>FreeBSDの開発は非常に開かれた, 柔軟性のあるプロセスです. <ref
id="staff" name="コントリビュータのリスト">を見ていただければわかる
とおり, FreeBSDは文字通り世界中の何百という人々の努力によって開発され
ています. 新しい開発者はいつでも大歓迎ですので, &a.hackers; にメールを
送ってください. また, 大勢で議論するよりは一人で静かに開発にふけりた
いという人は私たちのFTPサイト<htmlurl
url="ftp://ftp.freebsd.org/pub/FreeBSD/incoming"
name="ftp.freebsd.org">を使ってパッチや開発中のソースを公開してくださっ
て結構です. &a.announce; もありますので, 他のFreeBSDユーザに自分のやっ
ていることを宣伝したい時にはどうぞ使ってください.
あと, FreeBSDプロジェクトとその開発プロセスについて, どなたにも知って
いていただきたいのは以下のようなことです.
<descrip>
<tag><bf>CVSリポジトリ</bf><label id="development:cvs-repository"></tag>
<p>FreeBSDのソースツリーは<htmlurl
url="http://www.cyclic.com/cyclic-pages/CVS-sheet.html" name="CVS">
(Concurrent Versions System)によってメンテナンスされています. CVSはソー
スコード管理用のフリーソフトウェアで, FreeBSDのリリースにも含まれてい
ます. FreeBSDの<htmlurl url="http://www.freebsd.org/cgi/cvsweb"
name="メインのCVSリポジトリ">は米国カリフォルニア州のコンコルド市に存在
し, そこから世界中のたくさんのミラーサイトにコピーされています. CVSツ
リーそのもの, そしてそのチェックアウトされたバージョンである<ref
id="current" name="-current">と<ref id="stable" name="-stable">はあな
たのマシンにも簡単に取ってくることができます. これについては<ref
id="synching" name="ソースツリーの同期">の章をご覧ください.</p>
<tag><bf>ソースツリー管理者</bf><label id="development:committers"></tag>
<p><ref id="staff:committers" name="ソースツリー管理者">はCVSツリー
への書き込み権限を持っている人, つまりFreeBSDのソースに変更を加えるこ
とができる人です. (CVSでリポジトリに変更を加えるには<tt>cvs(1)</tt>
``<tt>commit</tt>'' というコマンドを使うので, これらの人々は英語では
``committers'' と呼ばれます.) 開発者にコードを送って見てもらうのに一
番いい方法は<htmlurl url="http://www.freebsd.org/send-pr.html"
name="send-pr(1)">コマンドを使うことです. もし, 何か問題があって
<tt>send-pr</tt>が使えないなら<htmlurl
url="mailto:committers@freebsd.org" name="committers@freebsd.org">にメー
ルを送っていただいても結構です.</p>
<tag><bf>FreeBSDコアチーム</bf><label id="development:core"></tag>
<p><ref id="staff:core" name="FreeBSDコアチーム">はFreeBSDプロジェク
トが会社だとすると取締役会にあたるものです. コアチームとして一番重要
な役割はFreeBSDプロジェクトが全体としてよい方向に向かっていることを確
認することです. 責任感あふれる開発者を上記のソースツリー管理者として
招くこと, また仕事上の都合などでコアチームをやめた人たちの後任を見つけ
ることもコアチームの役割です. 現在のコアチームのほとんどは最初は単な
る一開発者としてプロジェクトに関わりはじめ, ずるずるといつのまにか深み
にはまってしまった人です.</p>
<p>コアチームのうち何人かは特定の<ref id="staff:who" name="担当分野">
を持っており, システムのうち一部に特に重点をおいて面倒を見ています.
また, 忘れてほしくないのはコアチームのほとんどはFreeBSDについてはボラ
ンティアであり, FreeBSDプロジェクトからは何ら金銭的な支援を受けていな
いということです. ですから, ここでの「責任」は「保証されたサポート」
ではありません. そういう意味で, 上記の取締役会という例えはあまりよく
ないかもしれません. むしろ, FreeBSDのために人生を棒に振ってしまった人
の集まりといった方が正しいかも.... <tt>;)</tt></p>
<tag><bf>その他のコントリビュータ</bf></tag>
<p>最後になりますが, もっとも重要で多数をしめる開発者はフィードバック
やバグフィクスをどんどん送ってくれるユーザ自身です. FreeBSDの開発に外
郭から関わっていきたいという人は &a.hackers; (<ref id="eresources:mail"
name="メーリングリスト情報">を見てください) に参加するといいでしょう.</p>
<p>FreeBSDのソースツリーに入っている何かを書いた人の<ref
id="contrib:additional" name="リスト">は日に日に長くなっています. あ
なたも今日, 何か送ることからはじめてみませんか? <tt>:-)</tt></p>
<p>もちろんFreeBSDに貢献するにはコードを書くほかにもいろいろな方法があ
ります. 助けが求められている分野については, このハンドブックの<ref
id="contrib" name="貢献の仕方">の節を見てください.</p>
</descrip>
ひとことで言うと, FreeBSDの開発組織はゆるやかな同心円状になっています.
ともすると中央集権的に見えがちなこの組織は, FreeBSDの<em>ユーザ</em>が
きちんと管理されたコードベースを容易に追いかけられるようにデザインされ
ているもので, 貢献したいという人を締め出す意図は全くありません! 私た
ちの目標は安定したオペレーティングシステムと簡単にインストールして使う
ことのできる<ref id="ports" name="アプリケーション">を提供することであ
り, この方法は結構うまくはたらくのです.
これからFreeBSDの開発にたずさわろうという人に, 私たちが望むことはただ
一つです: FreeBSDの成功を継続的なものにするために, 現在の開発者と同じ
ような情熱を持って接してください!

@ -1,264 +0,0 @@
<!-- $Id: dialout.sgml,v 1.6 1997-08-25 05:05:48 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.6 -->
<!-- This is an SGML document in the Linuxdoc DTD of the Tutorial for
Configuring a FreeBSD for Dialout Services.
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
<linuxdoc>
<article>
<title>Dialout
<author>FAQ
<date>24 NOV 1996, (c) 1996
<abstract>この章は FreeBSD に接続しているモデムからダイアルアウトするための
基本的な情報について説明しています. この情報は将来 PPP 接続をおこなう場合の
第一のステップとなります.
</abstract>
<toc>
-->
<sect><heading>ダイアルアウトサービス<label id="dialout"></heading>
<p><em>原作: FAQ からの情報</em>
<p><em>訳: 丸山剛司 <url url="mailto:tmaruya@nnc.or.jp"
name="<tmaruya@nnc.or.jp>">.
<newline>31 December 1996.</em>
以下はモデムを利用して他のコンピュータと接続する方法を説明しています.
これはリモートホストとターミナル接続を確立するための適切な方法です.
<p>これは BBS に接続するときによく使います.
<p>この種の接続は PPP 接続に問題がある場合, Internet 上にあるファイルを
転送するのに非常に役に立ちます. FTP で何らかのファイルを転送したいのに
PPP 接続を確立できない場合は, ファイルを FTP 転送するためにターミナルセッション
を利用します. そして ZMODEM を利用してファイルを転送します.
<sect1>
<heading><tt/tip/ や <tt/cu/ が実行できないはなぜ?</heading>
<p>
あなたのシステムで <tt/tip/ や <tt/cu/ というプログラムは
<tt/uucp/ や <tt/dialer/ というグループに所属しているユーザのみが
実行できるようになっているのでしょう. リモートホストやモデムを
利用できる <tt/dialer/ のグループにあなたのアカウントを
加えましょう.
もしくは下記のコマンドを使うことによって, そのシステムで
<tt/tip/ や <tt/cu/ を誰でも使えるようになります:
<verb>
chmod 4511 /usr/bin/tip
</verb>
このコマンドは <tt/cu/ に対しておこなう必要はありません, それは
<tt/cu/ は <tt/tip/ に対するハードリンクだからです.
<sect1>
<heading>私の Hayes モデムはサポートされていません, どうしよう?
</heading>
<p>
実際, <tt/tip/ の マニュアルページは古くなっています. 既に Hayes
ダイアラが組み込まれています. <tt>/etc/remote</tt> ファイル中で
``<tt/at=hayes/'' を使ってください.
Hayes ドライバは, 最近のモデムの新しい機能である
<tt/BUSY/, <tt/NO DIALTONE/, <tt/CONNECT 115200/などのメッセージを
認識できるほど賢くはなく, 単に混乱を起こすだけです.
<tt/tip/を使う場合には, (<tt/ATX0&amp;W/ とするなどして) これらの
メッセージを表示させないようにしなくてはいけません.
また, <tt/tip/ のダイアルのタイムアウトは 60秒です. モデムの
タイムアウト設定はそれより短くすべきであり, そうしないと
<tt/tip/ は通信に問題があると判断するでしょう. <tt/ATS7=45&amp;W/
を実行してください.
実際, デフォルトの <tt/tip/ は Hayes の完全なサポートを
しているわけではありません. 解決方法は
<tt>/usr/src/usr.bin/tip/tip</tt> の下の <tt/tipconf.h/
を変更することです. もちろんこれにはソース配布ファイルが必要です.
``<tt/#define HAYES 0/'' と記述されている行を ``<tt/#define HAYES 1/''
と変更し, そして ``<tt/make/'', ``<tt/make install/'' を実行します.
これでうまく動作するでしょう.
<sect1>
<heading>これらの AT コマンドを入力するには?<label id="direct-at">
</heading>
<p>
<tt>/etc/remote</tt> ファイルの中で ``<tt/direct/'' エントリを作ります.
たとえばモデムが 1番目のシリアルポートである <tt>/dev/cuaa0</tt>
に接続されている場合, 次のようにします:
<verb>
cuaa0:dv=/dev/cuaa0:br#19200:pa=none
</verb>
モデムがサポートする最大の bps レートを br フィールドに使います.
そして ``<tt/tip cuaa0/'' を実行すると, モデムが利用できるようになります.
<tt>/dev/cuaa0</tt>がシステムに存在しない場合は, 次のようにします:
<verb>
cd /dev
./MAKEDEV cuaa0
</verb>
<p>
または root になって以下のように cu コマンドを実行します:
<verb>
cu -l ``line'' -s ``speed''
</verb>
line にはシリアルポートを指定します (例えば <tt>/dev/cuaa0</tt>).
そして speed には接続する速度を指定します (例えば <tt>57600</tt>).
その後 AT コマンドを実行したら, <tt>~.</tt> と入力すれば終了します.
<sect1>
<heading>pn 機能の <tt/@/ 記号が使えません!</heading>
<p>
電話番号 (pn) 機能の中での <tt/@/ 記号は, tip に
<tt>/etc/phone</tt> にある電話番号を参照するように伝えます.
しかし <tt/@/ の文字は <tt>/etc/remote</tt> のような
設定ファイルの中では特殊文字となります.
バックスラッシュを使ってエスケープをおこないます:
<verb>
pn=\@
</verb>
<sect1>
<heading>コマンドラインから電話番号を指定するには?</heading>
<p>
``<tt/generic/'' エントリと呼ばれるものを <tt>/etc/remote</tt>
に追加します. 例えば次のようにします:
<verb>
tip115200|Dial any phone number at 115200 bps:\
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600bps:\
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
</verb>
そして ``<tt/tip -115200 5551234/'' のように利用できます.
<tt/tip/ より <tt/cu/ を使いたい場合,
<tt/cu/ の generic エントリを使います:
<verb>
cu115200|Use cu to dial any number at 115200bps:\
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
</verb>
そして ``<tt/cu 5551234 -s 115200/'' と実行します.
<sect1>
<heading>毎回 bps レートを入力しなければいけませんか?</heading>
<p>
<tt/tip1200/ や <tt/cu1200/ 用のエントリを記述し,
適切な通信速度を br フィールドに設定します.
<tt/tip/ は 1200 bps が正しいデフォルト値であるとみなすので,
``<tt/tip1200/'' エントリを参照します. もちろん 1200 bps
を使わなければならないわけではありません.
<sect1>
<heading>ターミナルサーバを経由して複数のホストへアクセスしたいんです.
</heading>
<p>
毎回接続されるのを待って ``<tt/CONNECT &lt;host&gt;/'' と入力する
かわりに, tip の <tt/cm/ 機能を使います.
例えば, <tt>/etc/remote</tt> に次のようなエントリを追加します:
<verb>
pain|pain.deep13.com|Forrester's machine:\
:cm=CONNECT pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's machine:\
:cm=CONNECT muffin\n:tc=deep13:
deep13:Gizmonics Institute terminal server:\
:dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:
</verb>
これで, ``<tt/tip pain/'' や ``<tt/tip muffin/'' と実行すると
pain や muffin のホストに接続することができ,
<tt/tip deep13/ を実行するとターミナルサーバに接続します.
<sect1>
<heading>tip を使ってそれぞれのサイトの複数の回線に接続できますか?
</heading>
<p>
これは大学に電話回線がいくつかあって数千人の学生が接続しようとする
場合によくある問題です.
<p>
あなたの大学のエントリを <tt>/etc/remote</tt> ファイルに作成して,
<tt/pn/ のフィールドには <tt>@</tt> を使います:
<verb>
big-university:\
:pn=\@:tc=dialout
dialout:\
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
</verb>
そして <tt>/etc/phone</tt> ファイルに大学の電話番号の一覧を書きます:
<verb>
big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114
</verb>
<tt/tip/ は一連の電話番号を試みて, 最終的に接続できなければあきらめます.
リトライを続けさせたい場合は, <tt/tip/ を while ループに入れて
実行します.
<sect1>
<heading>CTRL+P を 1回送るために 2度押す必要があるのはなぜ?
</heading>
<p>
CTRL+P は通常 ``force (強制)'' 文字であり, <tt/tip/ に次の文字が
リテラルデータであることを伝えます. force 文字は「変数の設定」
を意味する <tt/~s/ エスケープによって他の文字にすることができます.
``<tt/~sforce=&lt;single-char&gt;/'' と入力して改行します.
<tt/&lt;single-char&gt;/ は, 任意の 1バイト文字です.
<tt/&lt;single-char&gt;/ を省略すると NUL 文字になり,
これは CTRL+2 や CTRL+SPACE を押しても入力できます.
いくつかのターミナルサーバで使われているのを
見ただけですが, <tt/&lt;single-char&gt;/ に SHIFT+CTRL+6
に割り当てるのもよいでしょう.
<tt>&dollar;HOME/.tiprc</tt> に次のように定義することで,
任意の文字を force 文字として利用できます:
<verb>
force=<single-char>
</verb>
<sect1>
<heading>打ち込んだ文字が突然すべて大文字になりました??</heading>
<p>
CTRL+A を押してしまい、caps-lock キーが壊れている場合のために設計された
tip の ``raise character'' モードに入ったのでしょう.
既に述べたように <tt/~s/ を使って, ``raisechar'' をより適切な値に
変更してください. もしこれら両方の機能を使用しないのであれば,
force 文字と同じ設定にすることもできます.
以下は CTRL+2 や CTRL+A などを頻繁に使う必要のある Emacs
ユーザにうってつけの. tiprc ファイルのサンプルです:
<verb>
force=^^
raisechar=^^
</verb>
^^ は SHIFT+CTRL+6 です.
<sect1>
<heading><tt/tip/ でファイルを転送するには?</heading>
<p>
もし他の UNIX のシステムと接続しているなら, <tt/~p/(put) や
<tt/~t/(take) でファイルの送受信ができます. これらのコマンドは
相手のシステムの上で ``<tt/cat/'' や ``<tt/echo/'' を実行することで
送受信をします. 書式は以下のようになります:
<verb>
~p <ローカルのファイル名> [<リモートのファイル名>]
~t <リモートのファイル名> [<ローカルのファイル名>]
</verb>
この方法ではエラーチェックをおこないませんので, zmodem
などの他のプロトコルを使った方がよいでしょう.
<sect1>
<heading><tt/tip/ から zmodem を実行するには?</heading>
<p>
ファイルを受信するには, リモート側で送信プログラムを起動します.
そして ``<tt/~C rz/'' と入力すると, ローカル側へのファイルの受信が
始まります.
ファイルを送信するには, リモート側で受信プログラムを起動します.
そして ``<tt/~C sz &lt;files&gt;/'' と入力すると, リモート側への
ファイルの送信が始まります.
</sect>

@ -1,821 +0,0 @@
<!-- $Id: dialup.sgml,v 1.9 1997-12-31 09:34:56 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.19 -->
<!-- This is an SGML document in the linuxdoc DTD of the Tutorial for
Configuring a FreeBSD for Dialup Services by Guy Helmer.
<!DOCTYPE linuxdoc PUBLIC "-//Linux//DTD linuxdoc//EN">
<article>
<title>
FreeBSD でダイアルアップ サービスを行うための設定
<author>Guy Helmer, <tt/ghelmer@alpha.dsu.edu/
<date>v0.1, 28 March 1995
<abstract>
-->
<sect><heading>ダイアルインサービス<label id="dialup"></heading>
<p><em>原作: &a.ghelmer;.</em>
<p><em>訳: &a.max;.<newline>6 September 1996.</em>
このドキュメントでは, FreeBSD で外部からのモデムによるアクセスを受け付
けるための設定に関してまとめてあります. このドキュメントは筆者が
FreeBSD 1.0, 1.1 および 1.1.5.1 での経験と, 他の UNIX 系 OS での経験を
基に書いたものですが, 必ずしも十分な内容でないかもしれませんし, 掲載し
た実例もあなたが今お使いの環境とは一致しないかもしれません. また, 筆者
はこのドキュメントに従って行われた作業でデータが失われたりシステムが破
壊されるようなことがあっても, 一切責任をとれません.
<sect1><heading>設定を始める前に<label id="dialup:prereqs"></>
<p>
筆者は, 読者が FreeBSD に関する基本的な知識をもっていることを仮定して
このドキュメントをまとめました. まず, FreeBSD が既にインストールされ
ていて, UNIX 系環境においてファイルの編集の方法やシステムに付属のマニュ
アルを参照する方法を知っている必要があります. また, 以下に示すように,
FreeBSD の特定のバージョンが必要となりますし, いくつかの用語に関する
知識, そしてモデムや多少の配線に関する知識も必要となります.
<sect2><heading>FreeBSD のバージョン</heading>
<p>
まず, FreeBSD のバージョンは 1.1 以上を使用してください (バージョン
2.x でもかまいません. ). FreeBSD 1.0 には, 2種類のシリアル ドライバ
が含まれているので, 混乱の元となり得ます. また, FreeBSD のシリアル
ディバイス ドライバ (<tt/sio/) は, バージョンを追う毎に改善されてき
ていますので, より新しいバージョンの FreeBSD を使用することで, よりよ
い, より効率の高いドライバを利用することができるはずです.
<sect2><heading>用語解説</heading>
<p>
以下, 簡単にいくつかの用語について解説しておきます.
<descrip>
<tag/bps/ Bits per Second の略で, データの転送速度を表す単位.
<tag/DTE/ Data Terminal Equipment の略. たとえばコンピュータ本体のこと.
<tag/DCE/ Data Communications Equipment の略で, 具体的にはモデムのこと.
<tag/RS-232/ EIA (米電気産業協会) のハードウェア間シリアル通信の標準規
格.
</descrip>
これらの用語やデータ通信一般に関して, より詳しい情報が必要な場合は,
<em/The RS-232 Bible/ という本 (誰か ISBN 分かる方いませんか?) が参考
になると思います.
通信においてのデータ転送速度に関して, このドキュメントでは <bf/ボーレー
ト/ (baud rate) ではなく, <bf/bps/ (bits per second) をその単位として
使うことにします. これは, ボーというのは一定時間に生じる電気的状態の変
化の数を表す単位にすぎず, <bf/bps/ という単位の方が実体に即しているか
らです. (少なくとも, こういう表現をしておけば, 意地の悪い人に怒られる
こともないのではないかと思います. )
<sect2><heading>外づけモデムと内蔵モデムについて</heading>
<p>
ダイアルアップのサービスに関していえば, 外づけのモデムの方が適している
ようです. これは, 多くの外づけのモデムは設定を不揮発ラムに書き込んで半
永久的に保存することができますし, また RS-232 に関する重要な情報を知る
ための点滅するライトによるインディケータが搭載されているからです. 点滅
するライトは, システムを見に来た訪問者に強い印象を与えるという効果だけ
でなく, モデムが適切に動作しているかどうかを知るためにも有効です.
一方, たいていの内蔵型のモデムには不揮発性ラムが搭載されていないため,
ディップ スイッチの変更以外に設定を保存する方法がありません. また, も
しインディケータがついていても, おそらくコンピュータのケース カバーが
外されていなければその状態を確認するのは難しいでしょう.
<sect2><heading>モデムとケーブル</heading>
<p>
以下のことに関して, 予め知っておく必要があります.
<itemize>
<item> コンピュータとモデムの間での通信が行えるようにするための接続方
法. (内蔵型の場合は接続の必要はありません)
<item> お使いのモデムのコマンドについての知識, あるいはコマンドの解説
の在処
<item> (通信ソフトを使っての) モデムの不揮発ラムに保存可能な設定の変更
方法
</itemize>
1番目のモデムの接続はたいてい簡単に行えるはずです. ほとんどのストレー
ト シリアル ケーブルが使えるでしょう. 使用すべきケーブルは, 両端に適
切なコネクタ (DB-25 または DB-9 の雄または雌) のついた, DCE-DTE 間接
続用のもので, 以下の信号線が接続されていなければなりません.
<itemize>
<item> Transmitted Data (<tt/SD/)
<item> Received Data (<tt/RD/)
<item> Request to Send (<tt/RTS/)
<item> Clear to Send (<tt/CTS/)
<item> Data Set Ready (<tt/DSR/)
<item> Data Terminal Ready (<tt/DTR/)
<item> Carrier Detect (<tt/CD/)
<item> Signal Ground (<tt/SG/)
</itemize>
FreeBSD で 2400bps 以上の転送速度を利用する場合には, フロー制御のため
に <tt/RTS/ 信号と <tt/CTS/ 信号が必要です. また, 接続の確立と回線の切
断を検出するために <tt/CD/ 信号を利用します. さらに, <tt/DTR/ 信号を使っ
て回線切断後のモデムのリセットを行います. ケーブルの中には, 総ての必要
な信号線が接続されていないものもありますので, たとえば, 回線切断後でも
ログイン セッションが残ってしまうといった問題が発生した場合などには,
ケーブルに問題がある可能性もあります.
次に, お使いのモデムにもよりますが, もしモデムのコマンドをよく覚えてい
ない場合は, モデムのマニュアルをすぐに参照できるようにしておいてくださ
い. このドキュメントでは例として USR Sportstar の 14,400 bps の外づけ型
モデムのコマンドを示しておきます. 他の種類のモデムをお使いの場合も, 参
考になるかもしれません.
最後に, FreeBSDで快適にモデムを使うためにも, モデムの設定方法を知って
おく必要があります. FreeBSD も他の UNIX 系 OS と同様, 回線の接続およ
び切断の検出や回線の切断および回線切断後のモデムの初期化にハードウェア
シグナルを利用します. FreeBSD は, モデムに対するコマンドの送信やモデ
ムの状態の監視を行いません. パソコンで運用されている BBS への接続に慣
れている方にとっては, ちょっとめんどうかもしれませんね.
<sect2><heading>シリアル インタフェースについて</heading>
<p>
FreeBSD では, NS8250-, NS16450-, NS16550- および NS16550A- に基づ
いた EIA RS-232C (CCITT V.24) 規格のシリアル インタフェースをサポート
しています. 8250 および 16450 ベースのディバイスには1文字のキャラクタ
バッファが搭載されています. また, 16550 系のディバイスには, 16文字分
のバッファが搭載されていて, はるかによいパフォーマンスを得られます.
(ただし, 無印の 16550 では, バグがあって 16 文字バッファが利用できませ
んので, 可能であれば 16550A 系のディバイスを利用してください. ) 1文字
のバッファの物は, 16550 系のものと比べて OS にかける負荷が大きいので,
16550A 系ディバイスの利用を強く推奨します. 多数のシリアル ポートを利
用する場合や, 負荷の高いシステムにおいては, 16550A 系ディバイスを使う
ことで, エラー発生率を低く押さえることができます.
<sect1><heading>概要</heading>
<p>
FreeBSD は以下の手順でモデムからのログインを受付ます. <tt/init/ から起
動された <tt/getty/ のプロセスが, 割り当てられたシリアル ポート (この
例では <tt>/dev/ttyd0</tt>) がオープンされるのを辛抱強く待ちます.
<tt/ps ax/ コマンドを実行すると, 以下のような出力が得られるはずです.
<tscreen><verb>
4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0
</verb></tscreen>
ユーザがモデムに電話をかけ, モデム同士が接続されると, モデムの <tt/CD/
が検出されます. その結果, kernel がキャリア信号を検出して,
<tt/getty/ によるポートのオープンの処理が終了します. <tt/getty/ は,
<tt/login:/ プロンプトを指定されている初期回線速度で送信します.
<tt/getty/ は, 正常に文字列を受信できるかどうか監視し, 通常の設定では,
もし以上な文字列を検出した場合 (理由としては, <tt/getty/ の速度とモデ
ムの接続速度が異なっているような場合が考えられます. ), 正常に文字列が
受信できるまで, <tt/getty/ は速度を変え続けます.
<tt/getty/ が正しい速度を検出すれば, ユーザに対して <tt/login:/ プロン
プトが表示されるはずです. ユーザがログイン名を入力すると, <tt/getty/
は <tt>/usr/bin/login</tt> を起動して, パスワードの入力を要求し, その
後ユーザのシェルを起動します.
それでは, 続いて設定についての解説です.
<sect1><heading>Kernel の設定</heading>
<p>
通常, FreeBSD の kernel は, PC-DOS の世界で <tt/COM1:/, <tt/COM2:/
, <tt/COM3:/ および <tt/COM4:/ と呼ばれる四つのシリアル ポートを探す
ように設定されています. また, FreeBSD では, 現在のところ Boca の 1008
や 2016 のような, 単純なマルチポートのシリアル インタフェースもサポー
トしています. (マルチポートのシリアル ボードに関しての kernel の設定
については, <tt/sio(4)/ のマニュアルを参照してください. ) デフォルト
の kernel は, COM ポートだけを探します.
搭載されているシリアル ポートのいずれかを, kernel が認識しているかどう
か確認したい場合は, kernel 起動時のメッセージを注意深く見ているか, あ
るいは <tt>/sbin/dmesg</tt> コマンドを使って, ブート時の出力メッセージ
を確認してください. 特に, <tt/sio/ で始まるメッセージをよく見てくださ
い. 参考までに, 以下のコマンドで <tt/sio/ という文字列を含むメッセージ
だけを表示することができます.
<tscreen><verb>
/sbin/dmesg | grep 'sio'
</verb></tscreen>
たとえば, シリアル ポートを四つ持つシステムの場合は, 以下のようなシリ
アル ポートに関するメッセージが kernel によって表示されます.
<tscreen><verb>
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
sio2 at 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
sio3 at 0x2e8-0x2ef irq 9 on isa
sio3: type 16550A
</verb></tscreen>
もし, kernel に正常に認識されないポートがある場合は, おそらくカスタマ
イズした kernel を構築する必要があるでしょう.
kernel 構築と構築のための設定に関しては, BSD System Manager's Manual
の ``Building Berkeley Kernels with Config (config コマンドによる BSD
kernel の構築) '' &lsqb;ソース ファイルは
<tt>/usr/src/share/doc/smm</tt> にあります&rsqb;と ``FreeBSD
Configuration Options'' &lsqb; <tt>/sys/conf/options</tt> および
<tt>/sys/<em>arch</em>/conf/options.<em>arch</em></tt> の
<em>arch</em>の部分をたとえば<tt>i386</tt>としたファイル &rsqb; を参照
してください.
kernel の設定と構築をするためには, kernel のソース
(FreeBSD 1.1 では <tt>srcdist/srcsys.??</tt>, FreeBSD 1.1.5.1 では
<tt>srcdist/sys.??</tt>, またFreeBSD 2.0 では総てのソース)を展開
する必要があります.
まだ自分のシステムの kernel 用のコンフィギュレーション ファイルを作っ
ていない場合は, <tt>/sys/i386/conf</tt> に <tt/cd/ して作成してくださ
い. 初めてコンフィギュレーション ファイルを作る場合は, まず GENERICAH
(FreeBSD 1.x で BusTek の SCSI コントローラを使っている場合は
GENERICBT) というファイルを, <em/YOURSYS/ にコピーしてください. ここ
で, <em/YOURSYS/ はあなたのシステム名で, 大文字である必要があります.
このファイルを編集して, ディバイスに関する記述を変更します.
<tscreen><verb>
device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr
device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr
</verb></tscreen>
システムに搭載されていないディバイスに関する記述は, コメントアウトまた
は削除してしまってかまいません. Boca の BB2016 のようなマルチポートの
シリアル ボードをお持ちの場合は, <tt/sio(4)/ のマニュアルを見て, マ
ルチポートのボードのためのコンフィギュレーション ファイルの記述のし方
に関して確認してください. ディバイスのフラグの指定方法がバージョンによっ
て異なりますので, 別のバージョンの FreeBSD で利用していたコンフィギュ
レーション ファイルを流用する場合には十分注意してください.
なお, <tt/port "IO_COM1"/, <tt/"IO_COM2"/, <tt/"IO_COM3"/ および
<tt/"IO_COM4"/ は, それぞれのポートの一般的なアドレスである <tt/0x3f8/,
<tt/0x2f8/, <tt/0x3e8/ および <tt/0x2e8/ を表します. また, 割り込
み番号 4, 3, 5 と 9 は, それぞれ <tt/COM1:/ から <tt/COM4:/ のポー
トで一般的に使用される IRQ です. また, ISA バスのコンピュータの場合,
一般的なシリアルポートは複数のポートで一つの IRQ を共有することが <bf>
できません</bf>ので注意が必要です. (マルチポートのシリアル ボードの
場合は, 複数の 16550A ベースのポートで一つまたは二つの IRQ を共有する
ための機構を備えています. )
コンフィギュレーション ファイルの編集が終わったら, ``Building
Berkeley Kernels with Config (config コマンドによる BSD kernel の構築)''
および <tt/config(8)/ のマニュアルにしたがって, <tt/config/ コマンド
を使って kernel 構築のためのディレクトリを作成した後, kernel の構築,
インストールおよびテストを行ってください.
<sect1><heading>ディバイス スペシャル ファイル</heading>
<p>
kernel に組み込まれているほとんどのディバイスは, <tt>/dev</tt> ディレ
クトリにある, 「ディバイス スペシャル ファイル」を介してアクセスされ
ます. <tt/sio/ ディバイスの場合は, 着信用の <tt>/dev/ttyd?</tt> およ
び, 発信用の <tt>/dev/cua0?</tt> が利用されます. さらに, FreeBSD の
1.1.5 以降では, 初期化ディバイス (<tt>/dev/ttyi?</tt> と
<tt>/dev/cuai0?</tt>)およびロッキング ディバイス (<tt>/dev/ttyld?</tt> と
<tt>/dev/cual0?</tt>) も合わせて利用されます. 初期化ディバイスは, 通信
ポートがオープンされる度に, そのポートの初期設定を行うために使われます.
たとえば, <tt>CTS/RTS</tt> によるフロー制御を行うモデムが接続されてい
る場合の <tt/crtscts/ などのパラメータの初期化が行われます. ロッキング
ディバイスは, ポートの設定をロックし, 他のユーザやプログラムにこれらを
変更されることのないようにするために利用されます. 通信ポートの設定, 初
期化とロックおよび設定の変更に関しては, それぞれ <tt/termios(4)/,
<tt/sio(4)/ と <tt/stty(1)/ のマニュアルをご覧ください.
<sect2><heading>ディバイス スペシャル ファイルの作成</heading>
<p>
ディバイス スペシャル ファイルの管理は, ディレクトリ <tt>/dev</tt>
にあるシェル スクリプト <tt/MAKEDEV/ によって行います. (FreeBSD
1.1.5 の <tt/MAKEDEV(8)/ のマニュアルの <tt/COM/ ポートに関する記述は,
かなりいい加減なので無視してください. ) <tt/MAKEDEV/ を使って,
<tt/COM1:/ (ポート 0) をダイアルアップのポートとして利用するためのディ
バイス スペシャル ファイルを作るには, <tt>/dev</tt> に <tt/cd/ して
から, <tt/MAKEDEV ttyd0/ と実行してください. 同様に, <tt/MAKEDEV
ttyd1/ とすることで, <tt/COM2:/ (ポート 1) 用のディバイス スペシャル ファイル
を作成することができます.
<tt/MAKEDEV/ は, <tt>/dev/ttyd?</tt> のディバイス ファイルだけでなく,
<tt>/dev/cua0?</tt> (および FreeBSD 1.1.5 以降では総ての初期化ディバイ
スとロッキング ディバイスのスペシャル ファイル) も作成します. さらに,
もしシリアル端末用のスペシャル ファイル<tt>/dev/tty0?</tt> が存在すれ
ば, それらの削除も行います.
ディバイス スペシャル ファイルの作成後, これらのファイルのパーミション
が適切に設定されていて, これらのディバイスを利用してもよいユーザのみが
読み書きできるようになっていることを確認してください. (特に
<tt>/dev/cua*</tt> のパーミションには注意を払ってください. ) この確認
を怠ると, 一般のユーザがあなたのモデムを使うことができるようなことにな
りかねません. デフォルトの <tt>/dev/cua*</tt> のパーミションは, 以下の
ようになっていて, たいていの場合適切なものだと思います.
<tscreen><verb>
crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cua01
crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuai01
crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cual01
</verb></tscreen>
上の設定では, ユーザ <tt/uucp/ と, グループ <tt/dialer/ に属するユーザ
が発信用のディバイスを利用できます.
<sect1><heading>設定ファイル</heading>
<p>
FreeBSD のシステムへのダイアル アップによるアクセスを実現するために編
集が必要と思われる設定ファイルが, <tt>/etc</tt> ディレクトリに三つあ
ります. まず, <tt>/etc/gettytab</tt> には,
<tt>/usr/libexec/getty</tt> デーモンの設定を記述します. つぎに,
<tt>/etc/ttys</tt> に保存されている情報から, <tt>/sbin/init</tt> はど
の <tt/tty/ ディバイスに対して <tt/getty/ のプロセスを実行するべきか判
断します. 最後に, お使いの FreeBSD が 1.1.5.1 以降のものならば
<tt>/etc/rc.serial</tt> スクリプトに, それ以前のものならば
<tt>/etc/rc.local</tt> スクリプトにシリアル ポートの初期化のためのコマ
ンドを記述することができます.
UNIX にダイアル アップ モデムを接続する方法には, 二つの考え方がありま
す. 一つの方法は, ダイアル インしてくるユーザの接続速度に関係なく, 常
にモデムとローカルのコンピュータの RS-232 インタフェースの接続速度を一
定に保つように設定する方法です. この設定の長所は, ユーザがダイアル イ
ンして接続されると, 即座にシステムからのログイン プロンプトが送信され
るということです. 短所は, システムが実際のモデム間の速度を知ることがで
きないために, Emacs のようなフル スクリーンのプログラムが, 端末との接
続速度が遅い場合でも, そのような場合に効果的な方法で画面出力を行わない
点です.
もう一つは, モデムの RS-232 インタフェースとコンピュータの接続速度を,
モデム間の接続速度に応じて変化させるような設定です. たとえば, モデム間
の接続が V.32bis (14.4 Kbps) ならば, モデムとコンピュータの間の接続を
19.2 Kbps とし, モデム間の接続が 2400 bps の時には, モデムとコンピュー
タ間も 2400 bps で接続するような設定をします. この場合, <tt/getty/ は,
モデムが返すリザルト コードからモデムとコンピュータの接続速度を認識す
ることができませんので, <tt/getty/ は, まず初期速度で <tt/login:/ とい
う文字列を送信して, それに対する応答の文字列を監視します. ここで, ユー
ザ側の端末に無意味な文字列が表示された場合, ユーザは意味のある文字列を
受信するまで <tt>&lt;Enter&gt;</tt> キーを繰り返し押さなければならない
ということを知っていると仮定しています. もし接続速度が間違っている場合,
<tt/getty/ は, ユーザから送られた文字を無意味な文字列として扱い, 次の
速度を試します. そして, ここで再度 <tt/login:/ プロンプトを送信します.
この一連の動作が異常な回数繰り返されることも考えられますが, 普通は1度
か2度のキー入力があれば, ユーザはまともなプロンプトを受信できます. こ
のログインの動作が前者の固定速度による方法に比べて美しくないのは明らか
ですが, この方法では, 低速度で接続しているユーザに対するフル スクリー
ンのプログラムからのレスポンスが改善されます.
このドキュメントでは, 両方の設定方法について解説しますが, どちらかとい
うとモデム間の速度に応じて RS-232 インタフェースの速度が変化するような
設定の方に偏った説明になってしまうと思います.
<sect2><heading>/etc/gettytab</heading>
<p>
<tt>/etc/gettytab</tt> は, <tt/getty(8)/ の設定ファイルで,
<tt/termcap(5)/ と同様の形式で記述されます. ファイルのフォーマットや定
義できる機能についての詳細については, <tt/gettytab(5)/ のマニュアルを
ご覧ください.
<sect3><heading>固定速度の設定</heading>
<p>
モデムとコンピュータ間の通信速度を固定して使う場合, おそらく
<tt>/etc/gettytab</tt> に特に変更を加える必要はないはずです.
<sect3><heading>可変速度の設定</heading>
<p>
<tt/getty/ が利用するモデムとコンピュータの接続速度に関する情報を
<tt>/etc/gettytab</tt> に記述する必要があります. もし, 2400 bps のモ
デムをお使いになるのであれば, 既存の <tt/D2400/ のエントリがそのまま利
用できるでしょう. このエントリは FreeBSD の 1.1.5.1 の <tt/gettytab/
には既に含まれていますので, あなたの FreeBSD のバージョンでこのエント
リが存在しているのであれば, 新たに追加する必要はありません.
<tscreen><verb>
#
# Fast dialup terminals, 2400/1200/300 rotary (can start either way)
#
D2400|d2400|Fast-Dial-2400:\
:nx=D1200:tc=2400-baud:
3|D1200|Fast-Dial-1200:\
:nx=D300:tc=1200-baud:
5|D300|Fast-Dial-300:\
:nx=D2400:tc=300-baud:
</verb></tscreen>
高速モデムをお使いの場合は, おそらく <tt>/etc/gettytab</tt> に新たなエ
ントリを追加する必要があります. 以下の例は, 14.4 Kbps のモデムを, 最
大インタフェース速度を 19.2 Kbps として利用するためのエントリです.
<tscreen><verb>
#
# Additions for a V.32bis Modem
#
um|V300|High Speed Modem at 300,8-bit:\
:nx=V19200:tc=std.300:
un|V1200|High Speed Modem at 1200,8-bit:\
:nx=V300:tc=std.1200:
uo|V2400|High Speed Modem at 2400,8-bit:\
:nx=V1200:tc=std.2400:
up|V9600|High Speed Modem at 9600,8-bit:\
:nx=V2400:tc=std.9600:
uq|V19200|High Speed Modem at 19200,8-bit:\
:nx=V9600:tc=std.19200:
</verb></tscreen>
上記の例を利用した場合, FreeBSD 1.1.5 以降ではパリティなし, 8ビットの
接続が行われます. FreeBSD 1.1 では, <tt/:np:/ パラメータをファイルの
先頭の <tt/std.<em/xxx/</tt> のエントリに追加することで, パリティなし,
8ビットの接続が行われますが, このパラメータを追加しなければ接続は偶数
パリティ, 7ビットになります.
上記の例では, まず 19.2 Kbps (V.32bis) によるモデムとコンピュータ間の
接続を試み, 続いて 9600 bps (V.32), 2400 bps, 1200 bps, 300 bpsと順に
試み, 再び 19.2 Kbps による接続を試みるという循環に入ります. この接続
速度の循環は, <tt/nx=/(<bf/next table/) の機能で実現されています. ま
た, 各行はそれぞれ <tt/tc=/(<bf/table continuation/) の機能を使って,
その他の接続速度に依存した「標準的な」設定を取り込んでいます.
もし, お使いのモデムが 28.8 Kbps であったり, 14.4 Kbps の圧縮転送の機
能を有効に利用したい場合は, 19.2 Kbps よりも速い速度を利用するように
設定する必要があります. 以下に 57.6 Kbps から接続を試みる
<tt/gettytab/ の設定例を示しておきます.
<tscreen><verb>
#
# Additions for a V.32bis or V.34 Modem
# Starting at 57.6 Kbps
#
vm|VH300|Very High Speed Modem at 300,8-bit:\
:nx=VH57600:tc=std.300:
vn|VH1200|Very High Speed Modem at 1200,8-bit:\
:nx=VH300:tc=std.1200:
vo|VH2400|Very High Speed Modem at 2400,8-bit:\
:nx=VH1200:tc=std.2400:
vp|VH9600|Very High Speed Modem at 9600,8-bit:\
:nx=VH2400:tc=std.9600:
vq|VH57600|Very High Speed Modem at 57600,8-bit:\
:nx=VH9600:tc=std.57600:
</verb></tscreen>
もし, お使いの CPU が低速のものであったり, CPU に対する負荷が高い場合
で, 16650A 系のシリアル ポートをお使いでない場合, 57.6 Kbps の接続に
おいて, sio の ``silo'' エラーが発生するかもしれません.
<sect2><heading>/etc/ttys<label id="dialup:ttys"></heading>
<p>
<tt>/etc/ttys</tt> には, <tt/init/ が監視すべき <tt/tty/ のリストを記
述します. さらに, <tt>/etc/ttys</tt> は, <tt/login/ に対してセキュリ
ティに関する情報を提供します. (ユーザ <tt/root/ は, <tt/secure/ とマー
クされている <tt/tty/ のみからログインできます. ) 詳しくは
<tt/ttys(5)/ のマニュアルをご覧ください.
<tt>/etc/ttys</tt> の既存の行を変更するか, あるいは新しい行を追加して,
<tt/init/ が自動的に新しいダイアル アップ サービス用のポートに対して
<tt/getty/ プロセスを起動するようにしてください. 書式は, 固定速度の設
定か可変速度の設定かに関わらず, 以下のとおりです.
<tscreen><verb>
ttyd0 "/usr/libexec/getty xxx" dialup on
</verb></tscreen>
1番目の項目は, このエントリで対象とするディバイス スペシャル ファイル
です. 上の例では <tt/ttyd0/ として, <tt>/dev/ttyd0</tt> を <tt/getty/
に監視させることを表しています. 2番目の項目 <tt>"/usr/libexec/getty
<em/xxx/"</tt> (<em/xxx/ は初期段階で使われる <tt/gettytab/ のエントリ
に置き換えてください. ) が, <tt/init/ がこのディバイスに対して起動する
プロセスです. 3番目の <tt/dialup/ は, デフォルトのターミナル タイプで
す. 4番目の <tt/on/ は, この行が有効であることを <tt/init/ に対して示
しています. 5番目の項目に <tt/secure/ を指定することもできますが, これ
は, たとえばシステムのコンソールのように, 物理的に安全な端末に対しての
み指定するようにしてください.
デフォルトのターミナル タイプ (上記の例では <tt/dialup/) は, ローカル
のユーザの好みによって異なってきます. ユーザがログイン スクリプトをカ
スタマイズして, ターミナル タイプが <tt/dialup/ の時には自動的に他のター
ミナル タイプを設定できるように, ダイアル アップのポートのデフォルトの
ターミナル タイプには <tt/dialup/ が伝統的に用いられています. しかし,
筆者のサイトでは, ほとんどのユーザが VT102 エミュレイションを使ってい
るので, ダイアル アップのポートのデフォルト ターミナル タイプとして
<tt/vt102/ を指定しています.
<tt>/etc/ttys</tt> の修正がすんだら, 以下のようなコマンドを使って
<tt/init/ プロセスに <tt/HUP/ シグナルを送り, <tt>/etc/ttys</tt> を
読み込み直させてください.
<tscreen><verb>
kill -1 1
</verb></tscreen>
ただ, もし初めてシステムを設定しているのであれば, モデムが適切に設定さ
れて接続されるまでは, <tt/init/ に対してシグナルを送らない方がいいか
もしれません.
<sect3><heading>固定速度の設定</heading>
<p>
速度を固定する設定では, <tt>/etc/ttys</tt> の中で, <tt/getty/ に対し
て固定速度のエントリを指定する必要があります. たとえば, 以下の例はポー
トのスピードが 19.2 Kbps に固定されたモデムのための <tt/ttys/ のエント
リです.
<tscreen><verb>
ttyd0 "/usr/libexec/getty std.19200" dialup on
</verb></tscreen>
別の速度でモデムのポートのスピードを固定したい場合は,
<tt>/etc/gettytab</tt> から適切なエントリを選んで, 上の例の
<tt/std.19200/ の部分を <tt>std.<em/speed/</tt> として, 適切な速度のも
のに置き換えてください.
<sect3><heading>可変速度の設定</heading>
<p>
可変速度の設定では, <tt/ttys/ のエントリが, <tt>/etc/gettytab</tt>
の中の適切な「自動速度調整」の初期設定のエントリを参照していなければな
りません. たとえば, もし前述の 19.2 Kbps から接続を試みる可変速度の設
定例 (<tt/V19200/ の <tt/gettytab/ エントリ)をそのまま <tt/ttys/ に追
加したのであれば, <tt/ttys/ エントリは以下のようになります.
<tscreen><verb>
ttyd0 "/usr/libexec/getty V19200" dialup on
</verb></tscreen>
<sect2><heading>/etc/rc.serial または /etc/rc.local</heading>
<p>
V.32, V.32bis または V.34 モデムのような高速モデムを利用する場合, ハー
ドウェア (<tt>RTS/CTS</tt>) フロー制御を行う必要があります. FreeBSD
kernel のモデム ポートにハードウェア フロー制御のフラグを設定するため
の <tt/stty/ コマンドを, FreeBSD 1.1.5.1 以降では
<tt>/etc/rc.serial</tt> に, FreeBSD 1.1 では <tt>/etc/rc.local</tt> に
記述できます.
たとえば, FreeBSD 1.1.5.1 の <tt>/etc/rc.serial</tt> のサンプルは以下
のとおりです.
<tscreen><verb>
#!/bin/sh
#
# Serial port initial configuration
stty -f /dev/ttyid1 crtscts
stty -f /dev/cuai01 crtscts
</verb></tscreen>
この例では, <tt/termio/ のフラグ <tt/crtscts/ をシリアル ポート &num;1
(<tt/com2:/) のダイアル インおよびダイアル アウトの初期化ディバイスに
設定しています.
古い FreeBSD 1.1 では, 以下のエントリが <tt/crtscts/ フラグを設定する
ために <tt>/etc/rc.local</tt> に追加されていました.
<tscreen><verb>
# Set serial ports to use RTS/CTS flow control
stty -f /dev/ttyd0 crtscts
stty -f /dev/ttyd1 crtscts
stty -f /dev/ttyd2 crtscts
stty -f /dev/ttyd3 crtscts
</verb></tscreen>
FreeBSD 1.1 には初期化のためのディバイス スペシャル ファイルがないので,
ディバイス ファイルそのものにフラグを設定して, その後はフラグをクリア
してしまうような極悪人が現れないことを願うしかありません.
<sect1><heading>モデムの設定</heading>
<p>
もし, あなたのモデムがパラメータを不揮発ラムに保存できるタイプならば,
PC-DOS 上の Telix や FreeBSD 上の <tt/tip/ などのような通信プログラム
を使って, パラメータを設定してください.
<tt/getty/ が利用する初期速度でモデムに接続して, 以下の条件を満たすよ
うに不揮発ラムの設定を変更してください.
<itemize>
<item> 接続時に <tt/CD/ 信号がオンになる
<item> 接続時に <tt/DTR/ がオンになり, <tt/DTR/ オフで回線を切断しモ
デムをリセットする.
<item> 送信時フロー制御には <tt/CTS/ を利用.
<item> <tt>XON/XOFF</tt> によるフロー制御を行わない.
<item> 受信時のフロー制御は <tt/RTS/ を使用.
<item> Quiet mode (リザルト コードを返さない)
<item> コマンド エコーを返さない.
</itemize>
これらを実現するためのコマンドやディップ スイッチの設定に関しては, モ
デムのマニュアルを参照してください.
以下に, USRobotics Sportster の 14,400 bps の外づけモデムの設定例を示
しておきます.
<tscreen><verb>
ATZ
AT&amp;C1&amp;D2&amp;H1&amp;I0&amp;R2&amp;W
</verb></tscreen>
ことのついでに, たとえば, V42.bis や MNP5 のデータ圧縮を使用するかど
うかなどのモデムの他の設定について確認, 調整しておくのもよいかもしれま
せん.
さらに, USRobotics Sportster の 14,400 bps の外づけモデムでは, 以下の
ようなディップ スイッチの設定も必要です. 他のモデムをお使いの方も, 以
下の例を設定の参考にしてください.
<itemize>
<item> スイッチ1: UP - DTR 標準
<item> スイッチ2: 無視 (リザルト コードを単語形式にするか数値形式にす
るか)
<item> スイッチ3: UP - リザルト コードを返さない
<item> スイッチ4: DOWN - コマンド エコーを返さない
<item> スイッチ5: UP - 自動着信
<item> スイッチ6: UP - CD 標準
<item> スイッチ7: UP - 不揮発ラムからデフォルト値をロードする
<item> スイッチ8: 無視 (Smart Mode/Dumb Mode)
</itemize>
リザルト コードを返さないように設定しておかないと, <tt/getty/ が誤っ
て <tt/login:/ プロンプトをコマンド モードのモデムに送信してしまった場
合に, モデムがこの入力をエコーしたり, この入力に対するリザルト コード
を返してしまったりすることになります. この結果として, モデムと
<tt/getty/ の間で延々と無意味なやりとりが続いたというケースを聞いたこ
とがあります.
<sect2><heading>固定速度の設定</heading>
<p>
固定速度の設定では, モデムとコンピュータ間の通信速度をモデムとモデム間
の接続速度に関係なく, 常に一定に保つように, モデムを設定する必要があり
ます. USRobotics Sportster の 14,400 bps 外づけモデムの場合, 以下のコ
マンドで, モデムとコンピュータ間の速度が, コマンド送信時の速度に固定さ
れます.
<tscreen><verb>
ATZ
AT&amp;B1&amp;W
</verb></tscreen>
<sect2><heading>可変速度の設定</heading>
<p>
可変速度の設定では, シリアル ポートの速度が, 着信速度に応じて変化する
ように設定しなければいけません. USRobotics Sporster の 14,400 bps 外
づけモデムの場合, 以下のコマンドで, エラー訂正機能を利用した通信の場合
は, コマンドを送信した時の通信速度にシリアル ポートの速度を固定し, エ
ラー訂正機能を利用しない接続では, シリアル ポートの速度が変化するよう
に設定されます.
<tscreen><verb>
ATZ
AT&amp;B2&amp;W
</verb></tscreen>
<sect2><heading>モデムの設定の確認</heading>
<p>
ほとんどの高速モデムには, 現在の設定をある程度人間にも理解できる形式に
して表示させるコマンドがあります. USRobotics Sporster の 14,400 bps
外づけモデムの場合は, <tt/ATI5/ コマンドで, 現在の不揮発ラムの設定を
表示することができます. さらに, ディップ スイッチの設定も含めた現在の
設定を確認するためには, <tt/ATZ/ コマンドを送信してから, <tt/ATI4/
コマンドを送信してください.
他のメーカーのモデムをお使いの場合は, モデムのマニュアルで設定値の確認
方法を確認してください.
<sect1><heading>トラブルシューティング</heading>
<p>
以下の手順でダイアル アップ モデムの動作を確認することができます.
<sect2><heading> FreeBSD システムの動作確認</heading>
<p>
モデムを FreeBSD システムに接続し, システムをブートします. あなたのモ
デムにモデムの状態を確認するためのインジケータがあれば, <tt/DTR/ のイ
ンジケータの状態に注目してください. もし, システムのコンソールに
<tt/login:/ プロンプトが表示された時に, <tt/DTR/ のインジケータが点灯
すれば, FreeBSD が適切なポートに対して <tt/getty/ を起動し, モデムへ
の着信を待っている状態であることを意味しています.
もし <tt/DTR/ のインジケータが点灯しない場合は, システムのコンソールか
ら FreeBSD にログインして, <tt/ps ax/ を実行し, FreeBSD が 適切なポー
トに対して<tt/getty/ プロセスを起動しようとしているのかどうか確認して
ください. プロセスに関する情報の中に, 以下のような行が表示されるはずで
す.
<tscreen><verb>
114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0
115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1
</verb></tscreen>
モデムにまだ着信がない状態の時に, 以下のように上とは異なる出力があった
場合, <tt/getty/ は既にモデム ポートのオープンを終了したということに
なります.
<tscreen><verb>
114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0
^^
</verb></tscreen>
<tt/getty/ は, <tt/CD/ (carrier detect) 信号がオンの状態になるまで,
ポートのオープンを完了することはできませんので, この場合は接続に問題が
あるか, あるいはモデムの設定に問題があることが考えられます.
もし, 適切なポートをオープンしようとしている <tt/getty/ が見あたらない
場合は, 再度 <tt>/etc/ttys</tt> の内容を確認し, 書式などに誤りがないか
調べてみてください. また, ログ ファイル <tt>/var/log/messages</tt> に
<tt/init/ および <tt/getty/ から何か出力がないかどうかも確認してみてく
ださい. もし何かメッセージが記録されていたら, 再度 <tt>/etc/ttys</tt> ,
<tt>/etc/gettytab</tt> の二つの設定ファイルと, ディバイス スペシャル
ファイル <tt>/dev/ttyd?</tt> を確認し, 記述に誤りがないか, 足りないエ
ントリがないか, 足りないディバイス スペシャルファイルがないかといった
点について調べてみてください.
<sect2><heading>モデムで接続してみる</heading>
<p>
実際にモデムを使って別のコンピュータから接続してみてください. この時,
8ビット, パリティなし, 1ストップ ビットで接続するようにしてください.
接続後すぐにプロンプトが返ってこない場合や, 無意味な文字列が表示される
場合は, 1秒に1回くらいの割合で <tt>&lt;Enter&gt;</tt> キーを押してみて
ください. しばらくたって, なおも <tt/login:/ プロンプトが現れない場合
は, <tt>BREAK</tt> 信号を送信してみてください. この時, 端末側で使って
いるモデムが高速モデムならば, このモデムのインタフェースの接続速度を固
定してから, 再度ダイアル インしてみてください. (たとえば, USRobotics
Sportster の場合は, <tt>AT&amp;B1</tt>)
それでもまだ <tt/login:/ プロンプトが表示されない場合は,
<tt>/etc/gettytab</tt> の以下の点について再度確認してみてください.
<itemize>
<item> <tt>/etc/ttys</tt> の対応する行の 2番目の項目で,
<tt>/etc/gettytab</tt> の中で定義されているエントリが指定されているか
<item> 各 <tt/nx=/ で <tt>/etc/gettytab</tt> の中で定義されているもの
が指定されているか
<item> 各 <tt/tc=/ で <tt>/etc/gettytab</tt> の中で定義されているもの
が指定されているか
</itemize>
もしダイアル インしても, FreeBSD システム側のモデムが応答しない場合は,
FreeBSD 側のモデムが <tt/DTR/ がオンになった時に電話にでるように設定さ
れているかを確認してください. もしモデムの設定に問題がなさそうならば,
モデムのインジケータ (がもしあれば) で, <tt/DTR/ がオンになっているか
を確認してください.
この確認のステップを数回繰り返してもうまくいかない場合は, 一度休憩して,
しばらくたってから挑戦してみましょう. それでもだめなら, おそらく
&a.questions にあなたのモデムについての情報と問題を書いたメールを送れ
ば, メーリング リストのメンバーが問題の解決を助けるべく努力してくれる
でしょう.
<sect1><heading>謝辞</heading>
<p>
以下の方々から, 多くのコメントやアドバイスをいただきました. ここに謝意
を表します.
<descrip>
<tag/Sean Kelly/ &lt;kelly@fsl.noaa.gov&gt; 多くのすばらしい助言をいた
だきました
</descrip>

@ -1,165 +0,0 @@
<!-- $Id: diskless.sgml,v 1.8 1998-01-09 05:07:11 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.10 -->
<!-- 日本語訳 Y.Suzuki(yasu@hike.te.chiba-u.ac.jp)-->
<sect><heading>Diskless operation<label id="diskless"></heading>
<p><em>原作: &a.martin;</em>
<p><em>訳: &a.yasu;</em>
<tt>netboot.com/netboot.rom</tt>によって、
ディスクのないクライアントで
ネットワーク経由でFreeBSDマシンのブートを行い
FreeBSDを走らせることができます。
2.0ではローカルなスワップを持つことができます。
NFS経由のスワッピングもサポートされています。
サポートされているイーサネットカード:
Western Digital/SMC 8003, 8013, 8216 とその互換ボード,
NE1000/NE2000 とその互換カード (再コンパイルが必要)
<sect1>
<heading>セットアップの手順</heading>
<p><enum>
<item>サーバにするマシンを見つけます。
このマシンには、FreeBSD 2.0のバイナリとbootpを
記憶するだけの十分なディスクスペースが必要です。
tftp と NFS も使えます。
テストしたマシン:
<itemize>
<item>HP9000/8xx / HP-UX 9.04以降
(9.04以前では動きません)</item>
<item>Sun/Solaris 2.3. (bootpが必要)</item>
</itemize>
<item>クライアントにIP,gateway,netmaskを提供する
bootpサーバをセットアップします。
<tscreen><verb>
diskless:\
:ht=ether:\
:ha=0000c01f848a:\
:sm=255.255.255.0:\
:hn:\
:ds=192.1.2.3:\
:ip=192.1.2.4:\
:gw=192.1.2.5:\
:vm=rfc1048:
</verb></tscreen></item>
<item>クライアントにブート情報を提供するTFTPサーバを
(bootpサーバと同じマシンに)セットアップします。
このファイルの名前は、<tt>cfg.X.X.X.X</tt> (もしくは
<tt>/tftpboot/cfg.X.X.X.X</tt>)で、
ここで<tt>X.X.X.X</tt> はクライアントのIPアドレスです。
このファイルの内容は netbootコマンドで有効です。
2.0では、netboot は以下のようなコマンドを持ちます:
<tscreen><verb>
help - helpリストの表示
ip <X.X.X.X> - クライアントのIPアドレスの表示/セット
server <X.X.X.X> - bootp/tftp サーバのアドレスの表示/セット
netmask <X.X.X.X> - netmaskの表示/セット
hostname <name> - hostnameの表示/セット
kernel <name> - カーネル名の表示/セット
rootfs <ip:/fs> - root ファイルシステムの表示/セット
swapfs <ip:/fs> - swap ファイルシステムの表示/セット
swapsize <size> - diskless swapsize を Kbytes単位でセット
diskboot - ディスクからのブート
autoboot - ブートプロセスの続行
trans <on|off> - トランシーバのオン|オフ
flags [bcdhsv] - ブートフラグの設定
</verb></tscreen>
完全にディスクレスな場合の一般的なcfgファイルは以下のようになります:
<tscreen><verb>
rootfs 192.1.2.3:/rootfs/myclient
swapfs 192.1.2.3:/swapfs
swapsize 20000
hostname myclient.mydomain
</verb></tscreen>
ローカルにswapを持つマシンについては以下のようになります:
<tscreen><verb>
rootfs 192.1.2.3:/rootfs/myclient
hostname myclient.mydomain
</verb></tscreen>
<item>NFS サーバがクライアントにroot(必要ならswapも)
ファイルシステムをexportしているか、また、
クライアントがこれらのファイルシステムに
ルートアクセスできるか確認します。
FreeBSDにおける一般的な <tt>/etc/exports</tt> ファイルは
以下のようになります:
<tscreen><verb>
/rootfs/myclient -maproot=0:0 myclient.mydomain
/swapfs -maproot=0:0 myclient.mydomain
</verb></tscreen>
そして、HP-UX側では以下のようになります:
<tscreen><verb>
/rootfs/myclient -root=myclient.mydomain
/swapfs -root=myclient.mydomain
</verb></tscreen>
<item>NFS経由でスワッピングを行う場合
(完全にディスクレスな場合の設定)、
クライアントが使用する swap ファイルを
<tt>dd</tt> で作成します。
もし、<tt>swapfs</tt> コマンドが上記の例のように
引数 <tt>/swapfs</tt>を持ちそのサイズが 20000 である場合、
myclientに対するスワップファイルは
<tt>/swapfs/swap.X.X.X.X</tt> で呼び出されます。
ここで <tt>X.X.X.X</tt> はクライアントのIPアドレスです。
例:
<tscreen><verb>
# dd if=/dev/zero of=/swapfs/swap.192.1.2.4 bs=1k count=20000
</verb></tscreen>
また、スワッピングが開始されるとクライアントのスワップスペースは
センシティブな情報を含むようになるので、不正なアクセスを防止するため、
このファイルへの読み書きのアクセス制限がなされていることを確認して下さい:
<tscreen><verb>
# chmod 0600 /swapfs/swap.192.1.2.4
</verb></tscreen>
<item>クライアントがそれぞれのrootファイルシステムとして使う
ディレクトリにrootファイルシステムを展開します。
(上記の例では<tt>/rootfs/myclient</tt>).
<itemize>
<item> HP-UX システム: サーバはHP9000/800 シリーズのマシンで、
HP-UX 9.04 以降が必要です。
これ以前のバージョンではNFSを経由するデバイスファイルが
作成ができません。
<item> <tt>/rootfs/myclient</tt> に <tt>/dev</tt> を
展開する際に、いくつかのシステム(HPUX)ではFreeBSDに合った
デバイスファイルが作成されないので注意してください。
その際には最初の起動時にシングルユーザモードに移行して
(ブートの段階でCtrl-Cを押す)、<tt>/dev</tt> に移って
"<tt>sh ./MAKEDEV all</tt>" として、クライアントからこれを
修正してください。
</itemize>
<item>クライアントで <tt>netboot.com</tt> を実行するか、
<tt>netboot.rom</tt> ファイルから EPROMを作成します。
</enum>
<sect1>
<heading><tt>/</tt> および <tt>/usr</tt> ファイルシステムを共有して使用する</heading>
<p>今のところ、これを行う公式に認められた方法はありませんが、
私はそれぞれのクライアントで <tt>/usr</tt> ファイルシステムと
個々の <tt>/</tt> ファイルシステム を共有して使っています。
どなたかこれをきちんと行うやり方の提案がありましたら、
私に、もしくは &a.core; グループに知らせてください。
<sect1>
<heading>特定の設定についてnetbootをコンパイルする</heading>
<p><tt>/sys/i386/boot/netboot/Makefile</tt> の中の設定を変更して
コンパイルすることで、netbootでNE1000/2000 カードをサポートします。
このファイルの先頭にあるコメントを見てください。

@ -1,608 +0,0 @@
<!-- $Id: dma.sgml,v 1.10 1997-10-19 15:29:09 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.10 -->
<!-- 日本語訳 鈴木康修 (yasu@hike.te.chiba-u.ac.jp) -->
<!--
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
<!ENTITY % authors SYSTEM "authors.sgml">
%authors;
]>
-->
<sect><heading>DMAとはどういったものでどういう働きをするのか <label id="dma"></heading>
<p><em>原作: &a.uhclem;<newline>
<newline>訳: &a.yasu;<newline>
10 December 1996. 最終更新日 8 October 1997.</em>
<!-- Version 1(3) -->
Direct Memory Access (DMA)は, 中央演算処理装置 (CPU)からの干渉なく
データを計算機中である場所から別の場所に動かすための手法です.
DMA機能の実装の方法はそれぞれの計算機アーキテクチャ間で異なるもので
あるため, ここでの議論はIBMパーソナルコンピュータ(PC),
PC/ATとその互換機におけるDMAサブシステムの実装と働きに限定します.
PCの DMAサブシステムは, Intelの 8237 DMAコントローラをベースにして
います. 8237はそれぞれ独立にプログラムできる4つのDMAチャネルを持ち,
それぞれどのチャネルもいつでもアクティブにできます.
これらのチャネルは順に 0, 1, 2, 3となっています.
PC/ATからは, セカンド 8237 チップが追加され,それらは 4, 5, 6, 7と
なっています.
オリジナルの DMAコントローラ(0, 1, 2, 3)は, 1回の転送で1バイト
転送します.
セカンドDMAコントローラ(4, 5, 6, 7)は1回で 隣接する2つのメモリ番地から
16ビット転送します.
ここで, 最初のバイトは通常偶数のアドレスになります.
2つのコントローラは全く同じものであり, 転送量が異なるのは
セカンドコントローラがシステムに直結しているためです.
8237 は個々のチャネルについて, DRQと-DACKという2つの電気信号を
持っています. その他に, HRQ (Hold Request), HLDA (Hold Acknowledge),
-EOP (End of Process)があり, バス制御信号として -MEMR (Memory Read),
-MEMW (Memory Write), -IOR (I/O Read), and -IOW (I/O Write)があります.
8237 DMACは, いわゆる``fly-by'' DMAコントローラです.
これは, データの移動を行う際に, データは DMACチップを通過せず,
DMACチップに格納されないことを意味します.
また, DMACはI/Oポートとメモリアドレス間でのみデータを
転送することができますが, 2つのI/Oポートもしくは2つのメモリアドレス
間ではできません.
<quote><em>注:</em> 8237は, 非``fly-by''モードでは, 互いに接続された
2つのチャネルでのメモリ-メモリ間でのDMA操作を許可します.
しかし, PCメーカは, ただでさえ乏しいこのリソースをこんなふうに
使ったりしません。
なぜなら, CPUを使用してメモリ間のデータを動かす方が早いからです.
</quote>
PCアーキテクチャでは, それぞれのDMAチャネルは, 通常
与えられたDMAチャネルを使用するハードウェアがそのチャネルについて
DRQ線を使って転送を要求した時のみ動作します.
<sect1><heading>DMA転送の例</heading>
<p>DMA転送の発生と処理の手順の例をあげてみましょう.
この例では, フロッピーディスクコントローラ (FDC)が
ディスケットから1バイト読み込んで, DMAを使って,メモリの0x00123456番地に
格納したいとします. 処理は, FDCが, DRQ2信号(DMAチャンネル2に
対するDRQ線)を有効にして
DMAコントローラに要求を伝えることで開始されます.
DMAコントローラはDRQ2シグナルが有効になったことを記録します.
するとDMAコントローラはDMAチャネル2がプログラムされ, マスクが
かかっていない(有効になっている)ことを確認します.
同様に, DMAコントローラは, 他のDMAチャネルがアクティブまたは
アクティブになろうとしていないこと, そしてより高い優先度を持って
いないことを確認します.
一旦これらのチェックが完了すると, DMACはDMACがバスを使うために
バスを開放するようにCPUに要求します.
DMACはCPUにHRQ信号を送ってバスを要求します.
CPUはHRQ信号を検出し, 現在の指示の実行を完了します.
一旦プロセッサがバスを開放することができる状態になると, 解放を
行います.
通常は CPU により駆動される信号 (-MEMR, -MEMW, -IOR, -IOW, その他)を
すべてハイインピーダンス (ハイともローとも指定しない)状態にした後,
CPUは HLDA信号を有効にして DMAコントローラにバスを明け渡したことを
伝えます.
プロセッサによっては, CPUはバスを使用しないいくつかの
命令を追加して実行することもできますが,
しかし,プロセッサの内部キャッシュやパイプライン以外のメモリから
何か読み出すといった指示に到達したら結局CPUは待たなくてはなりません.
ここで,DMACが バスを「託される」と,
DMACはその -MEMR, -MEMW, -IOR, -IOW 出力信号をアクティブにし,
DMACから出力されるアドレスは 0x3456にセットされます.これは
転送しようとする特定のメモリ番地をバイトで指示するのに使われます.
するとDMACはDMA転送をリクエストしたデバイスに転送が始まることを
知らせます.これは -DACK信号をアクティブにすることで行われます.
フロッピーディスクコントローラの場合は, -DACK2を
アクティブにすることで行われます.
バスのデータ線に転送されるバイトにを出力することについては
フロッピーディスクコントローラが責任をもつことになります.
もし,フロッピーディスクコントローラがバス上にバイトデータを
出力するのに余計な時間を必要としなければ
(もし周辺装置がもっと時間を必要とする場合には, READY信号を
経由してDMACに通知します), DMAは 1 DMAクロック待ち,
メモリにバス上のバイトデータを格納するために
-MEMW および -IOR 信号を解除します. そして
FDCはバイトデータが転送されたことを認識します.
DMAサイクルは1度に1バイトしか転送しないので,
FDCはDRQ2信号を止めて, DMACに転送が終了したことを知らせます.
DMACは-DACK2信号を解除して, FDCはバス上へのデータ出力を
停止しなくてはならないことを知らせます.
次にDMACは他のDMAチャネルのいずれかに要求がきていないか
チェックを行います. もしどのチャネルのDRQも有効になっていなければ,
DMAコントローラは処理を完了して, -MEMR, -MEMW, -IOR, -IOW および
アドレス信号をハイインピーダンス状態にします.
最後に, DMAはHRQ信号を解除します. CPUはこれを見ると,HOLDA信号を
解除します. そしてCPUは自らの -MEMR, -MEMW, -IOR, -IOW 信号および
アドレス線を有効にし, 命令の実行やメインメモリや周辺機器へのアクセスを
再開します.
典型的なフロッピーディスクの1セクタについては, 上記のプロセスが
それぞれのバイトについて1回行われ, 全部で512回繰り返されます.
1バイト転送される毎に,DMAC内のアドレスレジスタはインクリメントされ,
同じくDMAC内にある, 何バイト転送すればよいかを示すカウンタが
デクリメントされます.
カウンタが0になると, DMAはEOP信号を送ります. この信号は
カウンタが0であり, DMAコントローラがCPUによって再び
プログラムされるまで, これ以上データは転送されないことを
示すものです.
このイベントはターミナルカウント(TC)とも呼ばれます.
EOP信号は1本しかありません. そして, 一度にアクティブにできる
DMAチャネルは一本だけなので, 現在アクティブであるDMAチャネルこそが,
たった今処理を終了したDMAチャネルだと言うことができます.
もし, バッファの転送が完了した時に周辺機器から割り込みを発生させたい
とき, 周辺機器は -DACKn信号およびEOP信号の両方が同時に発信されたか
どうかをテストします. その場合, DMACはCPUの介在がなければ
これ以上はその周辺機器についての情報を転送しません.
その後で, 周辺機器はプロセッサに割り込みを生じさせるために,
何らかの割り込み信号を発生させることができます. PCアーキテクチャ
においては, DMAチップ自身が割り込みを生じさせることはできません.
周辺機器とそれに関連するハードウェアが割り込みを生成する責任を
持ちます. また, DMAを使用する周辺機器が割り込みを使用しない
可能性もあります.
DMACが要求を出したときにはCPUは常にバスをDMACに開放しますが,
この動作は, DMACがアクティブになった時にプロセッサが命令を実行するのに
かかる時間がわずかに変化することを除いては, アプリケーション,
オペレーティングシステムの両方からはわからないということを
理解することが重要です.
そのため, プロセッサが確かにDMA転送が完了したことを知るためには,
周辺装置やDMAチップ中のレジスタを調べたり,周辺装置からの割り込みを
受け取る必要があります.
<sect1><heading>DMA ページレジスタ および 16メガ アドレス空間制限</heading>
<p>これまで述べたのとは異なり, DMACはアドレス線を 0x0123456 にセットする
代わりに 0x3456 だけをセットすることにあなたは気づいたかも
しれません. この理由について少し説明します.
オリジナルのIBM PCがデザインされた時, IBMは, DMACと割込み制御チップの
両方を, 8085(8ビットプロセッサで, 16ビットのアドレス空間(64k)を持つ)と
組み合わせて使うように設計されたチップを使うことを選びました.
IBM PCが64k以上のメモリをサポートしていたため,
DMACが64kを越えるメモリ番地に読み込み又は書き込みを行うために
変更を行う必要が生じました.
この問題を解決するためにIBMが行ったのは, それぞれのDMAチャネルに,
読み込み元または書き込み先のアドレスの上位ビットを保持するための
外部的なラッチを追加することでした.
DMAチャネルがアクティブな時はいつでも,
このラッチの内容はアドレスバスに書かれて, そのチャネルのDMA操作が
終了するまでそこに保持されます.
IBMはこれらのラッチを「ページレジスタ」と呼んでいます.
そのため上記に示した例では, DMACはアドレスの0x3456の部分をバス上に
置き, DMAチャネル2に対するページレジスタは, 0x0012xxxxをバス上に
置きます. これらの2つの値が組み合わされてアクセスされるメモリ中の完全な
アドレスを形成します.
ページレジスタのラッチはDMAチップとは独立であるので,
読み込まれる又は書き込まれるメモリ領域は, 64kの物理的境界を
またいではなりません. 例えば, もし
DMACがメモリの0xffff番地をアクセスした場合, データの転送後,
DMACはアドレスレジスタをインクリメントし, 0x0000番地にある次のバイトを
アクセスします. 0x10000番地ではありません.
これはおそらく意図されたものとは異なっているでしょう.
<quote><em>注:</em> 「物理的な」 64Kの境界を 8086モードの
64k「セグメント」と混同してはいけません. セグメントは, セグメント
レジスタに数学的にオフセットレジスタを加算して作られるものです.
ページレジスタにはアドレスのオーバーラップも無く,数学的に
ORを取られることもありません. </quote>
さらに複雑なことには, PC/ATでは外部のDMAアドレスのラッチは
8ビットしか保持しません. よって8+16で24ビットになり, これは
DMAが0から16メガの間のメモリ番地しか指し示せないことを
意味します. 16メガ以上のメモリを持ったより新しいマシンにおいても,
標準的なPCコンパチブルなDMAでは16メガ以上のメモリ番地には
アクセスできません.
この制限を避けるために, オペレーティングシステムは
16メガ以下にある物理的な64kの境界をまたがない領域にRAMバッファを
予約します. そして, DMACはデータを周辺機器からそのバッファに
転送するようにプログラムされます. 一旦DMACがこのバッファに
データを動かすと, オペレーティングシステムは本当にデータを
格納したいアドレスにバッファからデータをコピーします.
16メガを越えるアドレスからDMAベースの周辺機器にデータを
書き込む際には, データは16メガ以下に位置したバッファから最初に
コピーされなくてはならず, その後, DMACはバッファからハードウェアに
データをコピーすることができます. FreeBSDでは, これらの予約バッファは
「バウンスバッファ」と呼ばれます. MS-DOSの世界では,
これらは「スマートバッファ」などと呼ばれます.
<quote><em>注意:</em> 82374と呼ばれる8237の新しい実装においては,
ページレジスタを16ビットで指定して, バウンスバッファを使用しなくても,
32ビットのアドレス空間全体にアクセスすることが可能です.</quote>
<sect1><heading>DMA操作モードとその設定</heading>
<p>8237 DMA はいくつかのモードで動作します. 主なモードは,
以下のとおりです.
<descrip>
<tag>シングル転送モード</tag>
シングルバイト(もしくはワード)が転送されます.
DMAは1バイト毎にバスを開放し,
再び要求しなくてはなくてはなりません.
これは一般に, すぐにはデータのブロック全てを転送できないデバイスに
よって使用されます.
周辺装置は次の転送の準備ができる毎にDMAを要求します.
標準的なPCコンパチブルなフロッピーディスクコントローラ(NEC 765)は
1バイトのバッファしか持たないので, このモードを使用します.
<tag>ブロック/デマンド転送モード</tag>
一旦DMACがシステムバスを取得すると, 最大64kまでのデータブロック
全体が転送されます.
もし周辺装置が余分に時間を必要とするときは,
転送を一時中断するためにREADY信号を有効にします.
READY信号は過度に使われるべきではなく, 遅い周辺装置の転送の場合は
シングル転送モードを代わりに使うべきです.
ブロック転送モードとデマンド転送モードの違いは, 一旦ブロック転送が
始まると,転送カウンタか0になるまでそれが行われるところです.
DRQは-DACKが有効になるまでの間は有効でなければなりません.
デマンドモードはDRQが有効な間転送が続けられます.
DRQが有効でなくなった場合, DMAはその時点で転送を中断し,
バスを解放してCPUに返します.
その後、DRQが有効になると, 転送は中断したところから再開されます.
データの転送, 特に転送に使われるメモリ番地が16Mを越える場合に,
CPUを使った方が効率がよくなるまでCPUの速度が向上する以前の
古いハードディスクコントローラはデマンドモードを使っていました.
<tag>カスケード転送モード</tag>
このメカニズムはDMAチャネルがバスを要求することを許可する
ものですが, 接続されたデバイスはバス上のアドレス情報の配置に
ついてDMACに代わって責任を持ちます.
これは「バスマスタ」と呼ばれる技術の実装に利用されます.
カスケードモードのDMAチャネルがバスのコントロールを受け取ると,
DMAは通常行われるようなバス上のアドレスとI/Oコントロール信号の
出力を行いません. 代わりに, DMAはアクティブなチャネルの -DACK信号を
有効にします.
この時点で, アドレスとバスコントロール信号の供給は
DMAチャネルに接続された周辺機器が担当します.
周辺機器はシステムバスの完全なコントロールを行い,
16メガ以下の任意のアドレスの読み込みおよび書き込みを行うことが
できます. 周辺機器はバスの使用を終えるとDRQ線を無効にするので,
DMAコントローラはCPUもしくは他のDMAチャネルに制御を返すことが
できます.
カスケードモードは複数のDMAコントローラを相互接続するのに
使われます. PC内ではDMAチャネル4がまさにこの用途に使われています.
周辺機器がDMAチャネル0, 1, 2, 3でバスを要求すると,
スレーブDMAコントローラは HLDREQ を有効にしますが,
この線はCPUではなく, 実際にはプライマリDMAコントローラのDRQ4に
接続されています.
その後, チャンネル4になにか仕事があるものと見なしたプライマリの
DMAコントローラは HLDREQ を使ってCPUにバスを
要求します. バスが与えられると, -DACK4が有効になりますが,
この線は実際にはスレーブDMAコントローラの HLDA信号に
接続されています.
スレーブDMAコントローラはその後要求したDMAチャネル
(0, 1, 2, 3) に対してデータを転送するか, SCSIコントローラのような
バスマスタリングを要求する周辺機器にバスを許可します.
このような配線がおこなわれているため, PC/ATシステムの
周辺機器ではDMAチャネルは
0, 1, 2, 3, 5, 6, 7のみが使用できます.
<quote><em>注:</em>
初期のIBM PCコンピュータでは, DMAチャネル0は操作の
リフレッシュのために予約されていますが,
最近のシステムでは通常, 周辺機器によって使用することができます.
</quote>
周辺機器がバスマスタリングを行っている時は,
システムバスを保持している間絶えずメモリにもしくはメモリから
データを転送することが重要です.もし, 周辺機器がこのように
できないときは, システムがメインメモリのリフレッシュを
行なえるようにしばしばバスを開放しなくてはなりません.
全てのPCでメインメモリとして使われるダイナミックRAMは,
中身が「満たされている」ビットを保持するため
頻繁にアクセスされなくてはなりません.
ダイナミックRAMは, それぞれが1ビットのデータを記憶するコンデンサが
たくさん集まって構成されています. これらのコンデンサは充電された
状態で"1", 充電されていない状態で"0"を表します.
全てのコンデンサは放電するため, "1"の値を保持するために,
一定の間隔で電力を加える必要があります.
実際にRAMチップはRAMの適切な場所に電力を送る作業を行ないますが,
メモリのリフレッシュ作業がRAMを普通にアクセスする時と
衝突しないように, それをいつ行なうかを
コンピュータが休止状態の時に知らせなくてはなりません.
もしコンピュータがメモリのリフレッシュを行なえない場合は,
メモリの中身はわずか数ミリ秒で壊れてしまいます。
メモリの読み込みと書き込みのサイクルはリフレッシュサイクルとして
カウントされる(ダイナミックRAMのリフレッシュサイクルは
実際には不完全なメモリ読み込みサイクルになります)ので,
周辺機器のコントローラが連続するメモリ番地からデータの読み込み
または書き込みを行う間は, メモリの全てがリフレッシュされます.
バスマスタリングはいくつかのSCSIホストインターフェースやその他の
ハイパフォーマンスな周辺機器コントローラに見られます.
<tag>自動初期化転送モード</tag>
このモードにおいてDMAはバイト, ブロック, デマンド転送を行いますが,
DMA転送カウンタが0になると, カウンタとアドレスはDMAチャネルが
もともとプログラムされた時のものに戻されます.
これは, 周辺機器が転送を要求している間は転送が続けられることを
意味します.
転送領域としてDMACにプログラムされた固定バッファの中で,
出力操作でDMACがデータを読み出す前もって新しいデータを
書き込んだり入力操作でDMACが書き込んだあとに,
そこから新しいデータを読み出す作業はCPUが受け持ちます.
このテクニックは, サンプリング用のバッファが小さいもしくは
それを持たないオーディオデバイスによく使われます.
この「環状」バッファの管理は更なるCPUオーバーヘッドになりますが,
DMAカウンタが0になり, 再プログラムされるまでDMAが停止してしまう
ことによって起きる遅延は, この方法でしかなくす事ができない
場合もあります.
</descrip>
<sect1><heading>DMAのプログラミング</heading>
<p>プログラムされるDMAチャネルは, 通常, 設定を行う前に
「マスクする」べきです.
これはハードウェアが予期せずそのチャンネルに対してDRQを有効に
した場合, たとえ全てのパラメータが
満たされてない場合や更新されていない場合でも, DMACは
それに応答してしまう可能性があるからです.
マスクを行ってから,ホストは転送の方向(メモリからI/O,
もしくはI/Oからメモリ)と, 転送に使用するDMA操作のモード
(シングル, ブロック, デマンド, カスケードなど)を設定し, 最後に
アドレスや転送の長さを設定します.
設定される長さはDMACに転送させたい量よりも1少なくなります.
アドレスや転送長のLSBとMSBは同じ8ビットI/Oポートに書き込まれます.
そのためDMACが最初のバイトをLSBとして, 2番目のバイトをMSBとして
受け取ることを保証するために, 最初に別のポートに書き込みを行なって
LSBとMSBの判別を行なうフリップフロップをクリアしておく必要があります.
そして,DMAのページレジスタを更新します. これはDMACの外部にあり
I/Oポートの別のセットを通してアクセスされます.
すべての設定ができると, DMAチャネルはマスクを解除することができます.
そのDMAチャネルは「準備ができた」とみなされ, そのチャンネルのDRQが
有効になると応答します.
8237のプログラミングの正確な詳細については,
ハードウェアデータブックを参照してください.
PCシステムにおけるI/Oマップについても参照する必要があるでしょう.
このマップにはDMAおよびページレジスタのポートがどこに位置するのかを
書いてあります. 以下に完全なポートのマップテーブルを示します.
<sect1><heading>DMAポートのマップ</heading>
<p>IBM-PCとPC/ATに基づくすべてのシステムでは, 同じI/Oポートに配置された
DMAハードウェアを持っています. その完全なリストを以下に示します.
DMAコントローラ2に割り当てられたポートは, AT以外のデザインでは
未定義になっています.
<sect2><heading>0x00 - 0x1f DMA コントローラ &num;1 (Channels 0, 1, 2 and 3)</heading>
<p>DMA アドレス および カウントレジスタ
<verb>
0x00 write Channel 0 starting address
0x00 read Channel 0 current address
0x01 write Channel 0 starting word count
0x01 read Channel 0 remaining word count
0x02 write Channel 1 starting address
0x02 read Channel 1 current address
0x03 write Channel 1 starting word count
0x03 read Channel 1 remaining word count
0x04 write Channel 2 starting address
0x04 read Channel 2 current address
0x05 write Channel 2 starting word count
0x05 read Channel 2 remaining word count
0x06 write Channel 3 starting address
0x06 read Channel 3 current address
0x07 write Channel 3 starting word count
0x07 read Channel 3 remaining word count
</verb>
DMA コマンドレジスタ
<verb>
0x08 write Command Register
0x08 read Status Register
0x09 write Request Register
0x09 read -
0x0a write Single Mask Register Bit
0x0a read -
0x0b write Mode Register
0x0b read -
0x0c write Clear LSB/MSB Flip-Flop
0x0c read -
0x0d write Master Clear/Reset
0x0d read Temporary Register (新しいバージョンでは利用不可)
0x0e write Clear Mask Register
0x0e read -
0x0f write Write All Mask Register Bits
0x0f read Read All Mask Register Bits (Intel 82374にのみ存在する)
</verb>
<sect2><heading>0xc0 - 0xdf DMA コントローラ &num;2 (Channels 4, 5, 6 and 7)</heading>
<p>DMA アドレス および カウントレジスタ
<verb>
0xc0 write Channel 4 starting address
0xc0 read Channel 4 current address
0xc2 write Channel 4 starting word count
0xc2 read Channel 4 remaining word count
0xc4 write Channel 5 starting address
0xc4 read Channel 5 current address
0xc6 write Channel 5 starting word count
0xc6 read Channel 5 remaining word count
0xc8 write Channel 6 starting address
0xc8 read Channel 6 current address
0xca write Channel 6 starting word count
0xca read Channel 6 remaining word count
0xcc write Channel 7 starting address
0xcc read Channel 7 current address
0xce write Channel 7 starting word count
0xce read Channel 7 remaining word count
</verb>
DMA コマンドレジスタ
<verb>
0xd0 write Command Register
0xd0 read Status Register
0xd2 write Request Register
0xd2 read -
0xd4 write Single Mask Register Bit
0xd4 read -
0xd6 write Mode Register
0xd6 read -
0xd8 write Clear LSB/MSB Flip-Flop
0xd8 read -
0xda write Master Clear/Reset
0xda read Temporary Register (Intel 82374には存在しない)
0xdc write Clear Mask Register
0xdc read -
0xde write Write All Mask Register Bits
0xdf read Read All Mask Register Bits (Intel 82374にのみ存在する)
0xdf read Read All Mask Register Bits
</verb>
<sect2><heading>0x80 - 0x9f DMA ページレジスタ</heading>
<p><verb>
0x87 r/w Channel 0 Low byte (23-16) page Register
0x83 r/w Channel 1 Low byte (23-16) page Register
0x81 r/w Channel 2 Low byte (23-16) page Register
0x82 r/w Channel 3 Low byte (23-16) page Register
0x8b r/w Channel 5 Low byte (23-16) page Register
0x89 r/w Channel 6 Low byte (23-16) page Register
0x8a r/w Channel 7 Low byte (23-16) page Register
0x8f r/w Low byte page Refresh
</verb>
<sect2><heading>0x400 - 0x4ff 82374 Enhanced DMA Registers</heading>
<p>
Intel 82374 EISA System Component (ESC)は1996年の初めに発表されました. この中
には機能的には8237のスーパーセットであり, 1つのパッケージの中にその他の
PC互換機のコアとなる周辺コンポーネントをも含んだDMAコントローラも含まれています.
このチップはEISAとPCI両方のプラットホームをターゲットにしたものであり,
scatter-gather I/O やリングバッファを始めとして, システムDMAをして32ビットの
アドレス空間全体に直接アクセスする能力も提供しています.
<p>
これらの機能を使用する場合でも, 過去16年間のPC互換機で利用されてきた
同等機能を提供するコードも含めておく必要があります. 互換性の問題から, 82374の
レジスタの一部は, 従来の8237のレジスタをプログラムした<em>後</em>に,
転送の度にプログラムされる必要があります. 8237のレジスタに書き込みを行うとき,
ソフトウェアの下位互換性のために, 82374で追加された一部のレジスタの内容が
強制的に0にクリアされるからです.
<p><verb>
0x401 r/w Channel 0 High byte (bits 23-16) word count
0x403 r/w Channel 1 High byte (bits 23-16) word count
0x405 r/w Channel 2 High byte (bits 23-16) word count
0x407 r/w Channel 3 High byte (bits 23-16) word count
0x4c6 r/w Channel 5 High byte (bits 23-16) word count
0x4ca r/w Channel 6 High byte (bits 23-16) word count
0x4ce r/w Channel 7 High byte (bits 23-16) word count
0x487 r/w Channel 0 High byte (bits 31-24) page Register
0x483 r/w Channel 1 High byte (bits 31-24) page Register
0x481 r/w Channel 2 High byte (bits 31-24) page Register
0x482 r/w Channel 3 High byte (bits 31-24) page Register
0x48b r/w Channel 5 High byte (bits 31-24) page Register
0x489 r/w Channel 6 High byte (bits 31-24) page Register
0x48a r/w Channel 6 High byte (bits 31-24) page Register
0x48f r/w High byte page Refresh
0x4e0 r/w Channel 0 Stop Register (bits 7-2)
0x4e1 r/w Channel 0 Stop Register (bits 15-8)
0x4e2 r/w Channel 0 Stop Register (bits 23-16)
0x4e4 r/w Channel 1 Stop Register (bits 7-2)
0x4e5 r/w Channel 1 Stop Register (bits 15-8)
0x4e6 r/w Channel 1 Stop Register (bits 23-16)
0x4e8 r/w Channel 2 Stop Register (bits 7-2)
0x4e9 r/w Channel 2 Stop Register (bits 15-8)
0x4ea r/w Channel 2 Stop Register (bits 23-16)
0x4ec r/w Channel 3 Stop Register (bits 7-2)
0x4ed r/w Channel 3 Stop Register (bits 15-8)
0x4ee r/w Channel 3 Stop Register (bits 23-16)
0x4f4 r/w Channel 5 Stop Register (bits 7-2)
0x4f5 r/w Channel 5 Stop Register (bits 15-8)
0x4f6 r/w Channel 5 Stop Register (bits 23-16)
0x4f8 r/w Channel 6 Stop Register (bits 7-2)
0x4f9 r/w Channel 6 Stop Register (bits 15-8)
0x4fa r/w Channel 6 Stop Register (bits 23-16)
0x4fc r/w Channel 7 Stop Register (bits 7-2)
0x4fd r/w Channel 7 Stop Register (bits 15-8)
0x4fe r/w Channel 7 Stop Register (bits 23-16)
0x40a write Channels 0-3 Chaining Mode Register
0x40a read Channel Interrupt Status Register
0x4d4 write Channels 4-7 Chaining Mode Register
0x4d4 read Chaining Mode Status
0x40c read Chain Buffer Expiration Control Register
0x410 write Channel 0 Scatter-Gather Command Register
0x411 write Channel 1 Scatter-Gather Command Register
0x412 write Channel 2 Scatter-Gather Command Register
0x413 write Channel 3 Scatter-Gather Command Register
0x415 write Channel 5 Scatter-Gather Command Register
0x416 write Channel 6 Scatter-Gather Command Register
0x417 write Channel 7 Scatter-Gather Command Register
0x418 read Channel 0 Scatter-Gather Status Register
0x419 read Channel 1 Scatter-Gather Status Register
0x41a read Channel 2 Scatter-Gather Status Register
0x41b read Channel 3 Scatter-Gather Status Register
0x41d read Channel 5 Scatter-Gather Status Register
0x41e read Channel 5 Scatter-Gather Status Register
0x41f read Channel 7 Scatter-Gather Status Register
0x420-0x423 r/w Channel 0 Scatter-Gather Descriptor Table Pointer Register
0x424-0x427 r/w Channel 1 Scatter-Gather Descriptor Table Pointer Register
0x428-0x42b r/w Channel 2 Scatter-Gather Descriptor Table Pointer Register
0x42c-0x42f r/w Channel 3 Scatter-Gather Descriptor Table Pointer Register
0x434-0x437 r/w Channel 5 Scatter-Gather Descriptor Table Pointer Register
0x438-0x43b r/w Channel 6 Scatter-Gather Descriptor Table Pointer Register
0x43c-0x43f r/w Channel 7 Scatter-Gather Descriptor Table Pointer Register
</verb>

@ -1,471 +0,0 @@
<!-- $Id: eresources.sgml,v 1.10 1998-02-02 22:41:55 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.39 -->
<chapt>
<heading>インターネット上のリソース<label id="eresources"></heading>
<p><em>原作: &a.jkh;.</em>
<p><em>訳: &a.yuki;.<newline>28 August 1996</em>
<p>FreeBSDの進歩が急速であるため, 最新の開発をフォローするためには,
印刷したメディアは実用的でなくなっています.
大抵の場合, 最新情報を入手する方法としては, 電子的なリソースが
ベストです. FreeBSDはボランティアの努力によって,
ユーザコミュニティ自体が, 一種の「テクニカルサポート部門」としての
役割も通常果たしており, 電子メールやUsenetのニュースがこれらのコミュ
ニティにたどり着く最も効果的な方法になっています.
以下に, FreeBSD ユーザコミュニティに連絡を取る場合の最も重要な点についての
概略を示します. もしここに書かれていない他のリソースに気がついた場合は,
それらを &a.doc に送って頂ければ, それらをここに含めるかもしれません.
<sect>
<heading>メーリングリスト<label id="eresources:mail"></heading>
<p>多くのFreeBSDの開発メンバはUSENETを読むことができますが,
もし, comp.unix.bsd.freebsd.*のグループの一つに質問を投稿したとしても
タイムリにその質問を受け取るということは保証できません.
質問を適切なメーリングリストに投稿すれば, 私たちかFreeBSDの関係者から,
よりよい (そして少なくともより早い) 反応がいつでも得られることでしょう.
<P>さまざまなメーリングリストの憲章をこのドキュメントの最後に記載しま
す. <bf>私たちは, メーリングリストの質, 特に技術面に関する質を高く保つ
ために努力しているので, メーリングリストに参加する前にその憲章を読んで
ください. </bf>私たちのメーリングリストの参加者のほとんどは, 現在非常
にたくさんのFreeBSDに関連したメッセージを毎日受け取っており, メーリン
グリストに対するふさわしい用いられ方をするための憲章やルールを決めるこ
とによって, メーリングリストのS/N比を高くする保つように励んでいます.
そうしないと, 結果的に, メーリングリストがプロジェクトにとって
事実上のコミュニケーションの手段になってしまうでしょう.
メーリングリストはいずれもアーカイブされており, それらは
<url url="http://www.FreeBSD.ORG/search.html"
name="FreeBSD World Wide Web server"> で検索することができます.
キーワード検索可能なアーカイブの提供は,
良くある質問に対する回答を見つけるすぐれた方法ですから,
質問を投稿する前に調べてみるべきでしょう.
<sect1><heading>メーリングリストの概説<label id="eresources:summary"></heading>
<p><bf>一般的なメーリングリスト:</bf> 以下のものは誰でも自由に参加できる
一般的なものです:
<verb>
リスト 目的
----------------------------------------------------------------------
freebsd-announce 重要なイベントやプロジェクトのマイルストン
freebsd-bugs バグレポート
freebsd-chat FreeBSDコミュニティに関連する技術的ではない話題
freebsd-current FreeBSD-currentの使用に関連する議論
freebsd-stable FreeBSD-stableの使用に関連する議論
freebsd-isp FreeBSDを用いているインターネットサービスプロバイダの話題
freebsd-jobs FreeBSD 関連の雇用機会に関する話題
freebsd-questions ユーザからの質問
</verb>
<bf>技術的なメーリングリスト:</bf> 以下のメーリングリストは, 技術的な
議論のためのものです. それらの利用や内容のためにしっかりとしたガイドラ
インがあるので, これらのメーリングリストに入ったり, どれか一つにメール
を送ったりする前には, それらのメーリングリストの憲章を注意深く読むべきで
す.
<verb>
リスト 目的
----------------------------------------------------------------------
freebsd-afs FreeBSDへのAFSの移植
freebsd-alpha FreeBSDの Alphaへの移植
freebsd-doc FreeBSDのドキュメンテーションプロジェクト
freebsd-emulation Linux/DOS/Windowsのような他のシステムのエミュレーション
freebsd-fs ファイルシステム
freebsd-hackers 一般的な技術の議論
freebsd-hardware FreeBSDの走るハードウェアの一般的な議論
freebsd-isdn ISDN開発者
freebsd-java Java開発者や, FreeBSDへJDKを移植する人たち
freebsd-mobile モーバイルコンピューティングについての議論
freebsd-multimedia マルチメディアの議論
freebsd-platforms Intel以外のアーキテクチャのプラットフォームへの移植
freebsd-ports portsコレクションに関する議論
freebsd-scsi SCSIサブシステム
freebsd-security セキュリティに関する話題
freebsd-smp 対称/非対称のマルチプロセッシングの設計に関する議論
freebsd-sparc FreeBSDの Sparcへの移植
</verb>
<bf>制限されているメーリングリスト:</bf> 以下のメーリングリストは参加
するには<url url="mailto:core@freebsd.org" name="core@FreeBSD.ORG">の
認可が必要ですが, それぞれの憲章の範囲内であれば, 提案やコメントは誰で
も自由に投稿することができます.
<verb>
メーリングリスト 目的
----------------------------------------------------------------------
freebsd-admin 管理に関する話題
freebsd-arch アーキテクチャや設計の議論
freebsd-core FreeBSDコアチーム
freebsd-hubs ミラーサイトを運営している人達 (基盤のサポート)
freebsd-install インストール関係の開発
freebsd-security-notifications セキュリティに関する通知
freebsd-user-groups ユーザグループの調整
</verb>
<bf>CVSメーリングリスト:</bf> 以下のメーリングリストはソースツリーの
さまざまな場所の変更のログメッセージを見ることに興味のある人向けです.
これらは<bf>読み専用</bf>のリストで, これらにメールを送る事は出来ません.
<verb>
メーリングリスト ソースの範囲 (ソースの) 範囲の説明
----------------------------------------------------------------------
cvs-CVSROOT /usr/src/[A-Z]* /usr/src/ 以下のトップレベルのファイルの変更
cvs-all /usr/src ツリーのすべての変更 (スーパーセット)
cvs-bin /usr/src/bin システムバイナリ
cvs-etc /usr/src/etc システムファイル
cvs-games /usr/src/games ゲーム
cvs-gnu /usr/src/gnu GPLにしたがったユーティリティ
cvs-include /usr/src/include インクルードファイル
cvs-kerberosIV /usr/src/kerberosIV Kerberos暗号化コード
cvs-lib /usr/src/lib システムライブラリ
cvs-libexec /usr/src/libexec システムバイナリ
cvs-ports /usr/ports 移植済みソフトウェア
cvs-sbin /usr/src/sbin システムバイナリ
cvs-share /usr/src/share システム共有ファイル
cvs-sys /usr/src/sys カーネル
cvs-usrbin /usr/src/usr.bin ユーザバイナリ
cvs-usrsbin /usr/src/usr.sbin システムバイナリ
</verb>
<sect1><heading>参加方法<label id="eresources:subscribe"></heading>
<p>どのメーリングリストも<tt>FreeBSD.ORG</tt>にあるので,
メーリングリストにメールを送るには, ただ
<em>listname</em><tt>@FreeBSD.ORG</tt> にメールを送るだけです.
すると, メーリングリストに登録されている世界中のメンバに再配布されます.
メーリングリストに参加するには,
<tscreen><verb>
subscribe <listname> [<optional address>]
</verb></tscreen>
という内容をメッセージの本文に含むメールを &a.majordomo に送ります.
例えば, freebsd-announce に参加したい場合は次のようにします:
<tscreen><verb>
% mail majordomo@FreeBSD.ORG
subscribe freebsd-announce
^D
</verb></tscreen>
もし, あなたが, 自分自身を違う名前 (メールアドレス) で登録したい場合,
あるいは, ローカルなメーリングリスト (注意:もしあなたのサイトに,
興味を持った仲間がいるなら, これはより有効ですし,
私たちにとっても非常に嬉しいことです.)
を登録する申し込みをおこないたいのであれば, 次のようにします:
<tscreen><verb>
% mail majordomo@FreeBSD.ORG
subscribe freebsd-announce local-announce@somesite.com
^D
</verb></tscreen>
最後に, majordomoに対して
他のタイプのコントロールメッセージを送ることで
メーリングリストから脱退したり, メーリングリストの他のメンバのリストを
得たり, 再びメーリングリストのリストを見たりすることも可能です.
利用できるコマンドの完全なリストを入手するには, 次のようにします:
<tscreen><verb>
% mail majordomo@FreeBSD.ORG
help
^D
</verb></tscreen>
再度言いますが, 私たちは技術的なメーリングリストでは技術的な議論を保つよう
要求します. もし, 「高いレベル」にのみ興味があるなら, freebsd-announce
に参加するように勧めます. これは少ないトラフィックの予定です.
<sect1><heading>メーリングリストの憲章<label id="eresources:charters"></heading>
<p><bf>全て</bf>FreeBSDメーリングリストは誰でもそれらを利用することに
固守しなければいけないという一定の簡単なルールがあります. これらのルー
ルに従わないと, 結果としてFreeBSDの<url
url="mailto:postmaster@freebsd.org" name="Postmaster">から2回までは警
告を受けます. 3回違反すると, 投稿者は全てのFreeBSDのメーリングリストか
ら削除され, そのメーリングリストへのさらなる投稿から締め出されるでしょ
う. これらのルールや対策が必要なのは残念です. しかし,今日のインターネッ
トはずいぶんいやらしい環境になっており, 一般の人々は, その(対策の)メカ
ニズムがいかにもろいかという事すら認識する事が出来ていないと思われます.
<p>道標
<itemize>
<item>いかなる投稿記事もそのメーリングリストの基本的な憲章を守るべきで
す. 例えば, そのメーリングリストが技受的な問題に関するものであ
れば, 技術的な議論を含む投稿でなければなりません. 現在継続中の
不適切な憲章やフレイムは, 所属している全ての人に対してメーリングリスト
の価値を下げてしまうだけですし, 許される行為ではないでしょう.
とくに話題のない自由形式の議論に対しては<url
url="mailto:freebsd-chat@freebsd.org" name="freebsd-chat">メーリ
ングリストが自由に認可されているので, かわりに使うべきでしょう.</item>
<item>2つのメーリングリストに送るはっきりとした明確な必要性が存在する
時, 2つ以上のメーリングリストに投稿すべきではありません. どのリ
ストに対しても, (メーリングリストの)参加者は(複数のメーリングリ
ストに)重複して参加しており, 関連する部分が少ない(例えば,
"-stable と - scsi")メーリングリストを除いては, 一度に複数のメー
リングリストに投稿する理由は全くありません. もし, Ccに複数の
メーリングリストがそのような形で現れて, あなたに届いたのであれば,
再びそのメールに返事を出す前に, ccの部分もまた編集するべきです.
<em>元記事を書いたのが誰であっても, あなた自身のクロスポストに
<bf>まだ</bf>責任があります. </em>
<item>ユーザであれ開発者であれ, (議論の中で) 個人を攻撃したり冒涜した
りすることは許されません. 個人的なメールを引用したり再投稿したり
する許可をもらえなかったり, もらえそうにない時に, それをおこなう
ようなネチケット (訳注: ネットワークにおけるエチケット) に対する
ひどい違反は好まれませんが, してはならないと特別に定められている
わけではありません. <bf>しかしながら</bf>, そのような内容がメー
リングリストの憲章に沿う場合はほとんどありません。このため、メー
リングリストの憲章に違反しているということだけで警告(または禁止)
に値するものと考えていいでしょう。
<item>FreeBSD以外の関連する製品やサービスの広告は, 絶対に禁止し, spam
による違反者が宣伝していることが明確であったら, すぐに禁止しま
す. </item>
</itemize>
<p><bf>個々のメーリングリストの憲章:</bf>
<p>
<descrip>
<tag/FREEBSD-AFS/ <em>Andrew ファイルシステム</em><newline>
このリストは, CMU/TransarcのAFSの移植や使用に関する議論のためです
<tag/FREEBSD-ADMIN/ <em>管理上の話題</em><newline>
このリストは, 純粋にfreebsd.org関係の議論のためのメーリングリストで,プ
ロジェクトの資源の問題や乱用の報告を行ないます. これはクローズドなリ
ストですが, 誰でも問題(私達のシステムを含みます!)を報告できます.
<tag/FREEBSD-ANNOUNCE/ <em>重要なイベント/マイルストン</em><newline>
これは, 単にたまに発表される重要なfreebsdのイベントに関心がある人のた
めのメーリングリストです. これは, スナップショットやその他のリリースに
ついてのアナウンスを含みます. そのアナウンスは新しいFreeBSDの機能のア
ナウンスを含んでいます. ボランティア等の呼びかけがあるかもしれませ
ん. これは流通量の少ないメーリングリストで, 完全なのモデレートメーリン
グリストです.
<tag/FREEBSD-ARCH/ <em>アーキテクチャと設計の議論</em><newline>
これは, FreeBSDの設計に関する議論をする人向けのメーリングリストです.
これは, クローズドなリストで, 一般的には参加できません.
<tag/FREEBSD-BUGS/ <em>バグレポート</em><newline>
これは, FreeBSDのバグレポートのためのメーリングリストです. 可能である
場合はいつでも, バグは ``send-pr(1)'' を使うか, <url
url="http://www.freebsd.org/send-pr.html" name="WEB interface">を用い
て送られる必要があります.
<tag/FREEBSD-CHAT/ <em>FreeBSDのコミュニティに関する
技術的ではない話題</em><newline>
このメーリングリストは技術的ではなく, 社会的な情報について,
他のメーリングリストでは取り扱わない話題を含みます.
これは, Jordanがシロイタチに似ているかどうか,
大文字で打つかどうか, 誰がたくさんコーヒーを飲むか,
どこのビールが一番うまいか, 誰が地下室でビールを作っているか,
などについての議論を含みます. 時々重要なイベント (将来開催されるパーティーや,
結婚式, 誕生日, 新しい仕事など) のお知らせが, 技術的なメーリングリストから
でてきます. しかし, フォローは直接 -chatメーリングリストにするべきです.
<tag/FREEBSD-CORE/ <em>FreeBSDコアチーム</em><newline>
これは, コアメンバが使う内部メーリングリストです. FreeBSDに関連する深
刻なやっかい事の裁定やハイレベルな綿密な調査を要求するときに, このメー
リングリストにメッセージを送る事が出来ます.
<tag/FREEBSD-CURRENT/ <em>FreeBSD-currentの使用に関する議論
</em><newline>これは freebsd-current のユーザのためのメーリングリストです.
メーリングリストでの話題は, -current で登場した新しい機能について,
その新機能によってユーザに影響することについての注意, および -current
のままでいるために必要な手順についての説明を含みます.
"current" を走らせている人はこのメーリングリストに登録しなくてはなりません.
これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
<tag/FREEBSD-CURRENT-DIGEST/ <em>FreeBSD-currentの使用に関する議論
</em><newline> freebsd-currentメーリングリストのダイジェスト版です. こ
のダイジェストはfreebsd-currentに送られたすべてのメッセージをまとめた
ものを, 1つのメールにして送り出します. 平均のサイズは約40kbyteです. こ
のメーリングリストは<bf>読み専用</bf>で, メールを送るような事はしない
で下さい.
<tag/FREEBSD-STABLE/ <em>FreeBSD-stableの使用に関する議論
</em><newline>これは freebsd-stable のユーザ用のメーリングリストです.
メーリングリストでの話題は, -stable で登場した新しい機能について, そ
の新機能によってユーザに影響することについての注意, および -stable
のままでいるために必要な手順についての説明を含みます.
"stable" を走らせている人はこのメーリングリストに登録すべきです.
これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
<tag/FREEBSD-DOC/ <em>ドキュメンテーションプロジェクト</em><newline>
このメーリングリストはFreeBSD Doc Projectに属し,
ドキュメンテーションに関連する問題やプロジェクトの議論のためのものです.
<tag/FREEBSD-FS/ <em>ファイルシステム</em><newline>
FreeBSDのファイルシステムに関する議論
これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
<tag/FREEBSD-ISDN/ <em>ISDNコミュニケーション</em><newline>
このメーリングリストは, FreeBSDに対するISDNサポートの開発の議論を
おこなう人のためのものです.
<tag/FREEBSD-JAVA/ <em>Javaの開発</em><newline>
このメーリングリストは, FreeBSD 向けのの重要なJavaアプリケーションの開発や,
JDKの移植やメンテナンスの議論をする人のためのものです
<tag/FREEBSD-HACKERS/ <em>技術的な議論</em><newline>
これはFreeBSDに関する技術的な議論のためのフォーラムです.
これは最もテクニカルなメーリングリストです.
このメーリングリストは, FreeBSD 上でアクティブに活動をしている人のためのもので,
問題を持ち出したり, 代わりの解決法を議論します.
技術的な議論をフォローするのに興味がある人も歓迎します.
これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
<tag/FREEBSD-HACKERS-DIGEST/ <em>技術的な議論</em><newline>
freebsd-hackersメーリングリストのダイジェスト版です. このダイジェスト
はfreebsd-hackersに送られたすべてのメッセージをまとめたものを, 1つのメー
ルにして送り出します. 平均のサイズは約40kbyteです. このメーリングリス
トは<bf>読み専用</bf>で, メールを送るような事はしないで下さい.
<tag/FREEBSD-HARDWARE/ <em>FreeBSDのハードウェアの一般的な議論
</em><newline> FreeBSDが走っているハードウェアのタイプや,
何を買ったり避けたりするかに関する様々な問題や, 提案に関する議論.
<tag/FREEBSD-INSTALL/ <em>インストールに関する議論</em><newline>
このメーリングリストは将来のリリースのインストールに関する開発の
議論のためのもので, クローズドなメーリングリストです.
<tag/FREEBSD-ISP/ <em>インターネットサービスプロバイダのについての話題
</em><newline>このメーリングリストは, FreeBSDを用いたインターネット
サービスプロバイダ (ISP) に関する話題の議論のためのものです.
これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
<tag/FREEBSD-MULTIMEDIA/ <em>マルチメディアについての議論</em><newline>
このメーリングリストはFreeBSD上を用いたマルチメディアアプリケーションについてのフォーラムです.
マルチメディアアプリケーションをとりまく議論の中心は, それらのインストール,
開発, そしてFreeBSDにおけるサポートについてです.
これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
<tag/FREEBSD-PLATFORMS/ <em>Intel以外のプラットフォームへの移植
</em><newline>クロスプラットフォームのFreeBSDの問題.
Intel以外のプラットフォームへのFreeBSDの移植についての一般的な議論や提案.
これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
<tag/FREEBSD-PORTS/ <em>``ports'' の議論</em><newline>
FreeBSD の ``ports コレクション'' (/usr/ports) や, 移植の提案,
ports コレクションの基盤の変更, 一般的な整合化活動についての議論.
これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
<tag/FREEBSD-QUESTIONS/ <em>ユーザからの質問</em><newline>
FreeBSDに関する質問のためののメーリングリストです.
その質問がかなり技術的だと思わないのであれば,
「どのようにして」という質問を技術的なメーリングリストに送るべきではありません.
<tag/FREEBSD-QUESTIONS-DIGEST/ <em>ユーザからの質問</em><newline>
freebsd-questionsメーリングリストのダイジェスト版です.
このダイジェストはfreebsd-questionsに送られたすべてのメッセージをまとめたものを,
1つのメールにして送り出します. 平均のサイズは約40kbyteです.
<tag/FREEBSD-SCSI/ <em>SCSIサブシステム</em><newline>
これはFreeBSDのためのscsiサブシステムについて作業している人向けです.
これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
<tag/FREEBSD-SECURITY/ <em>セキュリティの関連の話題</em><newline>
FreeBSDコンピュータのセキュリティの話題 (DES, Kerberos, よく知られている
セキュリティホールや, それらのふさぎ方など)
これは技術的なメーリングリストなので, 完全に技術的な内容を要求します.
<tag/FREEBSD-SECURITY-NOTIFICATIONS/ <em>セキュリティ関連の通知</em><newline>
FreeBSD のセキュリティ問題や, 修正に関する通知を行ないます.
このメーリングリストは議論を行なうためのメーリングリストではありません.
議論は FreeBSD-security で行ないます.
<tag/FREEBSD-USER-GROUPS/ <em>ユーザグループの調整のメーリングリスト</em><newline>
これは, ローカルなユーザグループがお互いに, または,
コアチームが指定した個人と問題を議論する,
それぞれのローカルエリアのユーザグループからの調整人向けの
メーリングリストです.
このメーリングリストはユーザグループ間の
ミーティングの概要やプロジェクトの調整に制限されるべきです.
これはクローズドなメーリングリストです.
</descrip>
<sect>
<heading>Usenet ニュースグループ<label id="eresources:news"></heading>
<p>2つのFreeBSD用のニュースグループがあります. ここでは
FreeBSDの議論をするたくさんの様々な人がおり,
他にもFreeBSD関連するユーザがいます.
これらのいくつかのニュースグループは Warren Toomey
<tt>&lt;wkt@cs.adfa.oz.au&gt;</tt> によって <url
url="http://minnie.cs.adfa.oz.au/BSD-info/bsdnews&lowbar;search.html"
name="Keyword searchable archives"> で,
検索できるようになっています.
<sect1>
<heading>BSD用のニュースグループ</heading>
<p><itemize>
<item><url url="news:comp.unix.bsd.freebsd.announce"
name="comp.unix.bsd.freebsd.announce"></item>
<item><url url="news:comp.unix.bsd.freebsd.misc"
name="comp.unix.bsd.freebsd.misc"></item>
</itemize>
<sect1>
<heading>関連する他のUnixのニュースグループ</heading>
<p><itemize>
<item><url url="news:comp.unix" name="comp.unix"></item>
<item><url url="news:comp.unix.questions" name="comp.unix.questions"></item>
<item><url url="news:comp.unix.admin" name="comp.unix.admin"></item>
<item><url url="news:comp.unix.programmer" name="comp.unix.programmer"></item>
<item><url url="news:comp.unix.shell" name="comp.unix.shell"></item>
<item><url url="news:comp.unix.user-friendly" name="comp.unix.user-friendly"></item>
<item><url url="news:comp.security.unix" name="comp.security.unix"></item>
<item><url url="news:comp.sources.unix" name="comp.sources.unix"></item>
<item><url url="news:comp.unix.advocacy" name="comp.unix.advocacy"></item>
<item><url url="news:comp.unix.misc" name="comp.unix.misc"></item>
<item><url url="news:comp.os.386bsd.announc" name="comp.os.386bsd.announc"></item>
<item><url url="news:comp.os.386bsd.app" name="comp.os.386bsd.app"></item>
<item><url url="news:comp.os.386bsd.bugs" name="comp.os.386bsd.bugs"></item>
<item><url url="news:comp.os.386bsd.development" name="comp.os.386bsd.development"></item>
<item><url url="news:comp.os.386bsd.misc" name="comp.os.386bsd.misc"></item>
<item><url url="news:comp.os.386bsd.questions" name="comp.os.386bsd.questions"></item>
<item><url url="news:comp.bugs.4bsd" name="comp.bugs.4bsd"></item>
<item><url url="news:comp.bugs.4bsd.ucb-fixes" name="comp.bugs.4bsd.ucb-fixes"></item>
<item><url url="news:comp.unix.bsd" name="comp.unix.bsd"></item>
</itemize>
<sect1>
<heading>X Window システム</heading>
<p><itemize>
<item><url url="news:comp.windows.x.i386unix" name="comp.windows.x.i386unix"></item>
<item><url url="news:comp.windows.x" name="comp.windows.x"></item>
<item><url url="news:comp.windows.x.apps" name="comp.windows.x.apps"></item>
<item><url url="news:comp.windows.x.announce" name="comp.windows.x.announce"></item>
<item><url url="news:comp.windows.x.intrinsics" name="comp.windows.x.intrinsics"></item>
<item><url url="news:comp.windows.x.motif" name="comp.windows.x.motif"></item>
<item><url url="news:comp.windows.x.pex" name="comp.windows.x.pex"></item>
<item><url url="news:comp.emulators.ms-windows.wine" name="comp.emulators.ms-windows.wine"></item>
</itemize>
<sect>
<heading>World Wide Web サイト<label id="eresources:web"></heading>
<p><itemize>
<item><url url="http://www.FreeBSD.ORG/"> <bf>- 本家のサーバ</bf>.</item>
<item><url url="http://www.au.freebsd.org/FreeBSD/"> <bf>- オーストラリア</bf>.</item>
<item><url url="http://www.br.freebsd.org/"> <bf>- ブラジル</bf>.</item>
<item><url url="http://www.ca.freebsd.org/"> <bf>- カナダ</bf>.</item>
<item><url url="http://sunsite.mff.cuni.cz/www.freebsd.org/"><bf>- チェコ</bf>.</item>
<item><url url="http://sunsite.auc.dk/www.freebsd.org/"> <bf>- デンマーク</bf>.</item>
<item><url url="http://www.ee.freebsd.org/"> <bf>- エストニア</bf>.</item>
<item><url url="http://www.fi.freebsd.org/"> <bf>- フィンランド</bf>.</item>
<item><url url="http://www.de.freebsd.org/"> <bf>- ドイツ</bf>.</item>
<item><url url="http://www.ie.freebsd.org/"> <bf>- アイルランド</bf>.</item>
<item><url url="http://www.jp.freebsd.org/"> <bf>- 日本</bf>.</item>
<item><url url="http://www.kr.freebsd.org/"> <bf>- 韓国</bf>.</item>
<item><url url="http://www.nl.freebsd.org/"> <bf>- ニュージーランド</bf>.</item>
<item><url url="http://www.pt.freebsd.org/"> <bf>- ポルトガル</bf>.</item>
<item><url url="http://www.se.freebsd.org/www.freebsd.org/"> <bf>- スウェーデン</bf>.</item>
<item><url url="http://www.tw.freebsd.org/freebsd.html"> <bf>- 台湾</bf>.</item>
<item><url url="http://www2.ua.freebsd.org/"> <bf>- ウクライナ</bf>.</item>
</itemize>
</sect>

@ -1,418 +0,0 @@
<!-- $Id: esdi.sgml,v 1.5 1997-02-25 04:55:26 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.10 -->
<!--
<title>ESDIハードディスクの紹介と FreeBSDでの利用</title>
<author>(c) 1995, Wilko Bulte, <tt/wilko@yedi.iaf.nl/
<date>Tue Sep 12 20:48:44 MET DST 1995</date>
Copyright 1995, Wilko C. Bulte, Arnhem, The Netherlands
<abstract>
この文書で解説するのは, ESDIハードディスクを FreeBSDオペレーティングシ
ステムとの組み合わせで利用することについてです. 一般的に信じられている
こととは違い, ESDIハードディスクを FreeBSDで利用することは可能です. 実
際, ESDIを利用したシステムをうまく使っている人たちが存在します! この
文書をとおして, ESDIハードディスクをいかに使うのかを紹介していきたいと
思います.
この文書のなかで, もし欠落しているものや単純な間違い, あるいは文書をよ
りよいものにするための有効なご意見がございましたら, ぜひ
<tt/wilko@yedi.iaf.nl/ までメールにてお知らせください.
</abstract>
-->
<sect1><heading>ESDIハードディスクの使い方<label id="esdi"></heading>
<p><em>原作および Copyright &copy; 1995, &a.wilko;.<newline>24 September 1995.</em>
<p><em>訳: &a.ts;<newline>2 September 1996.</em>
ESDIとは Enhanced Small Device Interfaceの略語です. この技術は, 馴染み
深い ST506や ST412といったインタフェースに基づくものであり, 世界初の普
及型 5.25インチのウィンチェスタディスクを造ったSeagate Technology社に
よって最初に作られました.
ESDIの Eは拡張 (Enhanced) を表しており, 実際そのとおりです. まず, イン
タフェースの速度は速く, 10 ないし 15Mビット/秒であり, ST412インタフェー
スに接続したドライブの 5Mビット/秒よりも高速です. また, 上位レベルのコ
マンドがいくつか追加されて, オペレーティングシステムレベルのドライバ作
成者にとって, ESDIインタフェースはある程度インテリジェントなものとなり
ました. ただし SCSIほどにインテリジェントではありません. ESDIは ANSIが
標準化をおこなっています.
トラックごとのセクタ数を増やすことで, ESDIドライブの記憶容量は引き上げ
られました. 通常, トラックあたり 35セクタですが, 今までに筆者がみたド
ライブの中で大容量のものは, トラックあたり 54セクタもありました.
ESDIは IDEや SCSIといったインタフェースの普及によって消えつつあります
が, 無料あるいは在庫処分の格安なドライブが入手可能であることを考えると,
少ない (もしくは現状の) 予算で縛られたシステムにとって, ESDIドライブは
理想的です.
<sect2><heading>ESDIのコンセプト</heading>
<p>
<sect3><heading>物理的な接続</heading>
<p>
ESDIインタフェースでは, ドライブごとに2つのケーブルを接続します. 第 1
のケーブルは34ピンのフラットケーブルエッジコネクタで, コントローラとド
ライブ間のコマンドおよびステータスの両信号のやりとりのためのものです.
コマンド用ケーブルは, すべての ESDIドライブをデイジーチェーンで結び
ますから, すべてのドライブを接続したバスを構成することになります.
第2のケーブルは20ピンのフラットケーブルエッジコネクタで, ドライブへの
データ入出力に使います. このケーブルは放射状に接続しますから, ドライブ
ごとにコントローラへの専用接続を持つことになるわけです.
筆者の経験によれば, PC向け ESDIコントローラには, コントローラあたり最
大 2 台までのデバイス接続が可能という制限がありました. これは, ドライ
ブのアドレス割り当てのために, 単一ビットだけを用意したという WD1003か
ら持ち越された互換 (?) 機能なのだと思われます.
<sect3><heading>デバイスのアドレス指定</heading>
<p>
1本のコマンドケーブルには最大で 7つのデバイスと 1つのコントローラを接
続することができます. どのドライブをコントローラがアドレスしているのか
を個別に認識できるようにするために, ESDIデバイスは, デバイスアドレスを
設定するためのジャンパかスイッチを備えています.
PC向けコントローラでは, 最初のドライブにはアドレス0を設定し, 第2番目の
ディスクへはアドレス1を設定します. <it>いつも留意すべきことは, </it>
ディスクごとに固有のアドレスを必ず設定するということです! つまり, コン
トローラあたり最大2台のドライブというような PC向けのものでは, 第1 ドラ
イブは第0番ドライブで, 第2ドライブは第1番ドライブだということです.
<sect3><heading>ターミネート処理 (termination)</heading>
<p>
デイジーチェーン接続用コマンドケーブル (34ピンのケーブルであることを覚
えていますか? ) では, 最後のチェーン接続ドライブでターミネートしなけれ
ばなりません. このために, ESDIドライブにはターミネート用抵抗ネットワー
クが付属しており, ターミネートする必要がないときにはその抵抗をドライブ
から外したり, またはジャンパで無効 (disable) にすることができるようになっ
ています.
したがって, ひとつのドライブ, すなわちコマンドケーブルの最終端に位置す
るドライブだけが, そのターミネート用抵抗を有効 (installまたは enable)
にすることができます. コントローラは自動的にコマンドケーブルのもう一方
の端のターミネート用抵抗を有効にします. ご注意いただきたいのは, コント
ローラは必ずコマンドケーブルのいずれかの端に位置しなければならず, けっ
して途中に位置するようにしては <it>いけない</it> ということです.
<sect2><heading>ESDIディスクの FreeBSDでの使い方</heading>
<p>
ESDIを初めて動かすようにすることが, どうしてこうも大変なことなのでしょ
うか ?
ESDIディスクを FreeBSDで動かそうと試みた人たちが激烈なイライラを募らせ
たことは知られています. 今までまったく ESDIを知らない場合には, 複数の
要因の組み合わせが悪く働いて, ESDIへの理解を妨げることになるかもしれま
せん.
このことは, ESDIと FreeBSDの組み合わせは選んではいけないという俗説も生
み出しました. 以下の節において, 落し穴のすべてとその解決策を
述べてみようと思います.
<sect3><heading>ESDI速度の違い</heading>
<p>
すでに簡単に紹介したように, ESDIは2種類の速度を持っています. 旧式のド
ライブとコントローラは 10Mビット/秒のデータ転送速度ですが, 新しいもの
では 15Mビット/秒が利用できます.
仮に 10Mビット/秒のコントローラへ 15Mビット/秒のドライブを接続したよ
うな場合に問題が生じることを予想することは簡単です. したがって必ず, コ
ントローラ <it>および</it> ドライブのマニュアルを参照して, それぞれの
転送速度が一致しているかどうかを調べるようにしてください.
<sect3><heading>トラックについて</heading>
<p>
主流の ESDIドライブは, トラックあたり34ないし36個のセクタを持ちます.
しかし大部分の (古い) コントローラは36個以上のセクタを扱うことができま
せん.
新しい大容量のドライブでは, トラックごとにさらに多くの数のセクタを持つ
ことができます. たとえば筆者の 670MBのドライブは, トラックあたり 54セ
クタも持たせることができます.
筆者のコントローラは54セクタ数をサポートしていませんでしたが, トラック
あたり35セクタという設定で, 問題なく動作しました. しかし, これが意味す
るのは大量のディスク容量を失うということです.
もう一度, 詳しい情報についてハードウェアのドキュメントを調べてください.
この例のような仕様からはずれた設定をしたときには, うまく動くかもしれま
せんが, 動かないこともあります. そのようなときには, 別のより多くの機能
をもつコントローラで試してみるようにしてください.
<sect3><heading>ハードセクタとソフトセクタ</heading>
<p>
多くの ESDIドライブでは, ハードセクタまたはソフトセクタによる処理を,
ジャンパ設定で指定することができます. ハードセクタとは, 新しいセクタの
開始位置において, ESDIドライブにセクタパルス (sector pulse) を発生させ
ることです. コントローラはこのパルスを利用して, 書き込みや読み取りのタ
イミングを指示します.
ハードセクタではセクタのサイズを選ぶことができます (通常はフォーマット
後セクタあたり256, 512, および1024バイト). FreeBSDは512バイトのセクタ
サイズを使います. トラックあたりのセクタ数は, 同じように選択に幅があり
ますが, フォーマット後のセクタのバイト数はすべて同じです. セクタごとの
<em>未フォーマット</em> のバイト数は, コントローラがどの程度の調整用の
バイト数を必要とするかによって異なります. トラックあたりのセクタ数を多
くすれば記憶容量は増えますが, もしドライブから与えられるバイト数よりも
多くのものをコントローラが必要とするのであれば, 問題を生じることがあり
ます.
ソフトセクタでは, コントローラ自身が読み書きの始まりと終りの位置を決め
ます. なお, ESDI (筆者が知り得たものすべて) では, ハードセクタがデフォ
ルトのようです. ソフトセクタを試みる必要性は感じたことがありません.
通常, FreeBSDをインストールする以前に, まずセクタ処理の設定を試される
ことをおすすめします. というのも, セクタ処理の設定を変えるたびに, 物理
フォーマット (low-level format) をしなければならないからです.
<sect3><heading>物理フォーマット処理</heading>
<p>
ESDIドライブは, 使い始める前に, 物理フォーマットをおこなう必要があります.
もしトラックあたりのセクタ数を変えたり, ドライブの物理的な設置方法 (水
平や垂直方向) を変えたときには, ふたたびフォーマットする必要があります
から, よく検討した後でフォーマットしてください. フォーマット処理の所要
時間を短く予想してはいけません. 大容量のディスクでは数時間を要します.
物理フォーマットが終わったならば, サーフィススキャン (surface scan) を
おこない, バッドセクタの検出とフラグの処理をします. ほとんどのディスクには,
メーカが作成したバッドブロックリストを記録した用紙またはステッカーが付
いています. さらに, ほとんどのディスク内にもバッドブロックリストが記録
されています. メーカが作成したリストを利用するようにしてください. この
時点で不良部分をマップし直す方が, FreeBSDのインストール後におこなうよりも,
はるかに簡単です.
物理フォーマットプログラムのなかでも, トラックの中にひとつでもバッドセ
クタがあれば, 同じトラック内の残りのすべてのセクタを不良とするようなプ
ログラムがありますから, そのようなものは利用しないようにしてください.
ディスクスペースの浪費だけでなく, より重大な bad144と関連した悲劇の原
因にもなるからです (bad144の節を参照のこと).
<sect3><heading>トランスレーション</heading>
<p>
トランスレーションが, ESDIだけに限定された問題ではないにもかかわらず,
重大な困難になることがあります. トランスレーションにはいくつかの側面が
あります. 多くに共通なものは, IBM PC/ATのオリジナルの設計に起因するディ
スクジオメトリに関する制限を, うまく回避するような調整を試みるものです
(IBM に感謝 ! ).
まずはじめに, 1024シリンダに関する (悪) 名高い制限があります. すなわ
ち, ブート可能なシステムについて, システム関連ファイルは (オペレーティ
ングシステムがどのようなものであっても) , ディスクの先頭部分の 1024シ
リンダ内になければいけない, という制限です. シリンダ番号を表すためには
10ビットしか与えられていません. セクタの総数については, 上限は 64 (0か
ら 63) です. この1024シリンダの制限を, 16ヘッドの制限 (これも ATの仕様
による) と組み合わせると, かなり限定されたディスク容量しか利用できませ
ん.
この難点を解消するために, PC 向け ESDIコントローラのメーカは, 自社のコ
ントローラボードへ BIOS PROM拡張を施しました. この BIOS拡張の内容は,
ブート時のディスクI/Oを (OSによっては <it>すべて</it> のディスクI/Oも)
, トランスレーションを用いておこなうというものです. すなわち, 大容量のディ
スクを, あたかも32ヘッドかつトラックあたり64セクタであるようなデバイス
として OSへ知らせるのです. この結果, 総シリンダー数は 1024よりも少なく
なりますから, 上記の難点などなかったものとして大容量ディスクを使うこと
ができるようになります. なお, 注目いただきたいことは, FreeBSDカーネル
の起動以降, FreeBSDはこの BIOS拡張機能を使わないということです. 詳しく
は後ほどご説明いたします.
トランスレーションの第2の存在理由は, 多くの旧いシステムBIOSが, トラッ
クあたり17セクタのドライブだけしか扱えない (ST412という古い仕様) から,
というものです. 比較的新しい BIOSは通常, 自由な値を設定できるドライブ
タイプ (多くの場合ドライブタイプ47) を持っています.
<em>この文書を読み終えられた後で, どのようにトランスレーションを利用す
るにせよ, ぜひご留意いただきたいことがあります. もし複数の OSをひとつ
のディスクにインストールするときには, 必ず同じトランスレーションを使わ
なければなりません. </em>
トランスレーションに関して, 筆者が使用したコントローラは, ひとつのドラ
イブを複数のパーティションに論理的に分けることができる機能を BIOSのオ
プションとして持っていました (このような製品はいくつかあると思われる).
しかし, ひとつのドライブにはひとつのパーティションに限定しました. なぜ
なら, このコントローラはパーティション情報をディスクへ書き出すからです.
つまり, 電源を入れると, コントローラはこの情報を読み取り, OSに対してディ
スクから読みとった情報に基づくデバイスとして知らせるからです.
<sect3><heading>代替セクタ処理</heading>
<p>
多くの ESDIコントローラはバッドセクタを取り替える機能を備えています.
ディスクの物理フォーマット処理の途中もしくは終了時に, バッドセクタであ
ることを記録して, 代わりのセクタを壊れたセクタの位置へ (論理的に) 置き
ます.
通常この置き換え処理は, トラック内のN-1個のセクタを実際のデータ記録に
使い, 第N番目のセクタだけを代替セクタとすることで実現します. ここでNと
いう値はトラック内の物理的セクタの総数です. このアイデアが生まれた背景
は, オペレーティングシステムが壊れたセクタを持たない「完全」なディスク
を想定している, というものです. しかし FreeBSDではこのアイデアを使うこ
とはできません.
理由は, <it>使用不可 (bad)</it> から <it>使用可能</it> への変換をおこなう
のが ESDIコントローラ上の BIOSだからなのです. FreeBSDは, 真の 32ビット
のオペレーティングシステムであるために, ブート後には BIOSを使いません.
代わりに FreeBSDが使うのは, ハードウェアと直接「対話」するデバイスドラ
イバというものです.
<em>結論: 代替セクタ処理やバッドブロックマッピングなど, コントローラ・
メーカがなんと呼ぶかは判りませんが, それらに似た機能を FreeBSDのディス
クへは使わないでください. </em>
<sect3><heading>バッドブロックの取り扱い</heading>
<p>
前節から残された問題があります. すなわち, コントローラによるバッドブロッ
ク処理は利用できない状況であるにもかかわらず, FreeBSDのファイルシステ
ムが想定しているのはあくまで完全無欠なディスクである, という問題で
す. これを解消するために, FreeBSDは <it>bad144</it> というツールを採用
しています. この bad144 (この名前は DEC社の標準となったバッドブロック
処理に由来している) は, FreeBSDのスライスごとにバッドブロックを調べま
す. バッドブロックを見つけ出すと, bad144は傷ついたブロック番号によるテー
ブルを FreeBSDスライスの末尾へ書き込みます.
ディスクが動作し始めると, ディスクから読みとられたテーブルを基に, ディ
スクアクセスを調べます. この bad144リストに記録されたブロック番号への
要求が起こると, 代わりのブロック (同じく FreeBSDスライスの末尾に位置す
る) を使います. このように, bad144による置換手続きによって「完全」なディ
スクを FreeBSDファイルシステムへ提供しているのです.
Bad144の使用により陥るかもしれない落し穴があります. まず, ひとつのス
ライスには126個以上のバッドセクタを持てません. もしドライブに126個以上
のバッドセクタがあったときには, 複数の FreeBSDのスライスに分けて, 各ス
ライスのバッドセクタが126個以下となるようにする必要があります. くれぐ
れも, ひとつのトラック内にたったひとつの欠陥セクタが見つかっただけで,
そのトラック内セクタ <em>すべて</em> を傷ついたものとして記録するよう
な物理フォーマットプログラムを使わないようにしてください. 簡単にお解り
いただけると思いますが, このような物理フォーマットをおこなえば, 126個の制
限は短時間で達成してしまいます.
次に, もしスライスが rootファイルシステムを含んでいるときには, 1024シ
リンダ以内という BIOSの制限を守っていなければなりません. ブート処理の
ときですから, bad144リストは BIOSを使って読み取りますので, このリスト
が1024シリンダ限界以内に位置していなければ読みとれません. <em>注意
</em> いただきたいのは, この制限は root <em>ファイルシステム</em> だけ
が1024シリンダ限界以内にあれば十分ということではなく, rootシステムを含
んだ <em>スライス</em> 全体が1024シリンダ限界以内におさまっている必要
があります.
<sect3><heading>カーネルのコンフィグレーション</heading>
<p>
ESDIディスクを扱うドライバは, IDEや ST412 MFMディスクなどと同じ
<it>wd</it> ドライバです. この <it>wd</it> ドライバは, すべての WD1003
互換インタフェースにも利用できるはずです.
大部分のハードウェアは, ジャンパの設定によって, ふたつの I/Oアドレス範
囲と IRQ値のうちから, それぞれひとつを選ぶことができます. したがって,
wdタイプのふたつのコントローラをひとつのシステムで使うことができます.
もし設定しようとしているハードウェアが標準以外の割り当てをサポートして
いれば, 適切な設定情報をカーネルのコンフィグレーションファイルに記述す
ることで, この非標準割り当てを利用できます. 次にカーネルのコンフィグレー
ションファイルの例を示します (このファイルがあるディレクトリは
<tt>/sys/i386/conf</tt> である).
<tscreen><verb>
# First WD compatible controller
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
disk wd0 at wdc0 drive 0
disk wd1 at wdc0 drive 1
# Second WD compatible controller
controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
disk wd2 at wdc1 drive 0
disk wd3 at wdc1 drive 1
</verb></tscreen>
<!--
<sect3><heading>Tuning your ESDI kernel setup</heading>
<p>
-->
<sect2><heading>ESDIハードウェアの例</heading>
<p>
<sect3><heading>Adaptec 2320コントローラ</heading>
<p>
筆者は, ACB-2320でコントロールされた ESDIディスクへ, FreeBSDをインストー
ルすることができました. なお, このディスクには他のオペレーティングシス
テムをインストールしていません.
インストールするために, まず, NEFMT.EXE (<it>www.adaptec.com</it> から
<it>ftp</it>可能) でディスクを物理フォーマットし, かつトラックを代替セ
クタとともにフォーマットするかどうかの設問に NOと答えました. また
ACB-2320の BIOSは使わないように設定しました. そしてシステム BIOSがブー
トできるように, システム BIOSの「自由に設定可能」オプションを使いまし
た.
実は, NEFMT.EXEを使う以前に, まず ACB-2320 の BIOSに組み込まれているフォー
マットプログラムでディスクをフォーマットしてみましたが, 使えないことが
判りました. なぜなら, 代替セクタの処理をおこなわないようにするオプションが
用意されていないからです. 代替セクタ処理をおこなうようにすると, FreeBSDの
インストール作業は bad144の実行の段階で失敗しました.
もし ACB-232xyをお持ちであれば, そのバージョン番号に注意してください.
文字 xには0か2が入りまして, ボード上にフロッピーコントローラがあるかど
うかを見分けることができます.
文字 yはさらに興味深いもので, ブランクか, A-8か, または Dのいずれかで
す. ブランクは, 単純な10Mビット/秒のコントローラであることを表します.
A-8は, 15Mビット/秒のコントローラで, かつ 52セクタ/トラックをサポート
しているものであることを表します. Dは, 15Mビット/秒のコントローラで,
かつ 36セクタ/トラック以上 (52セクタも可能か?) のドライブをサポートし
ているものであることを表します.
このコントローラのすべてのバージョンはインターリーブ比 1:1に対応してい
るはずです. FreeBSDは充分高速なので, ぜひ 1:1と指定してください.
<sect3><heading>Western Digital WD1007コントローラ</heading>
<p>
筆者は, WD1007でコントロールされた ESDIディスクへ, FreeBSDをインストー
ルすることができました. 正確には WD1007-WA2というコントローラでした.
これ以外の複数のバージョンも WD1007にあります.
利用できるようにするために, セクタトランスレーションとWD1007の BIOSと
を使わないように設定しました. この設定の意味は, BIOSに組み込まれた物理
フォーマットプログラムを使えないようにしたということです. 代わりに,
<it>www.wdc.com</it>から WDFMT.EXEを入手して, ディスクをフォーマットし
ました. 以後, 順調に動いています.
<sect3><heading>Ultrastor U14Fコントローラ</heading>
<p>
ネットに流れたいくつかの報告によれば, Ultrastorの ESDIボードも FreeBSD
で動作するようです. 実際の設定についての詳しい情報はありません.
<!--
<sect2><heading>Tracking down problems</heading>
<p>
-->
<sect2><heading>追加資料<label id="esdi:further-reading"></>
<p>
本格的に ESDIのプログラミングを計画している方は, 次の公式規格仕様書を
入手なさることをおすすめします.
最新の ANSI X3T10 委員会の文書は次のものです:
<itemize>
<item>Enhanced Small Device Interface (ESDI) &lsqb;X3.170-1990/X3.170a-1991&rsqb;
&lsqb;X3T10/792D Rev 11&rsqb;
</itemize>
USENETのニュースグループ <htmlurl url="news:comp.periphs"
name="comp.periphs"> は, 詳しい情報を得ることができる注目すべきもので
す.
World Wide Web (WWW) もまた便利な情報源です. Adaptec社の ESDIコントロー
ラについては <htmlurl url="http://www.adaptec.com/">を参照ください.
Western Digital社のコントローラについては <htmlurl
url="http://www.wdc.com/"> を参照ください.
<sect2>感謝
<p>
Andrew Gordon氏より, テスト用の Adaptec 2320コントローラと ESDIディス
クを送っていただきました.

@ -1,572 +0,0 @@
<!-- $Id: firewalls.sgml,v 1.8 1997-11-25 10:05:27 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.19 -->
<sect><heading> ファイアウォール <label id="firewalls"></heading>
<p><em>原作: &a.gpalmer;, &a.alex;.</em>
<p><em>訳: &a.saeki;.<newline>
11 November 1996.</em>
ファイアウォールは, インターネットに参加している人はもちろんのこと,
プライベートネットワークのセキュリティ向上のためのアプリケーションを
探している人にとっても, ますます興味深くなりつつある分野です.
このセクションではファイアウォールとは何か, ファイアウォールの使用法,
そしてファイアウォールを構築するために FreeBSD のカーネルで
提供されているファシリティ (機能) の使用法について説明したいと思います.
<quote><bf> 注: </bf> 社内のネットワークと「巨大かつ信頼のおけない
インターネット」との間にファイアウォールを構築することで
セキュリティ上のすべての問題が解決できると考える人がいます.
ファイアウォールはセキュリティ上の問題を解決する助けになる場合もありますが,
充分な設定がなされていないファイアウォールは, まったくファイアウォールを
持たない場合よりもセキュリティ上の危険を増大させてしまいます.
<!-- (訳注: 増大させてしまう可能性がある程度だと思いますが、十分に理解した
上でファイアウォールを構築することが非常に重要です). -->
ファイアウォールにできることは, あなたのシステムにもう一つのセキュリティ層を
追加することだけで, 本気でアタックをしかけてくるクラッカーが内部ネットワークに
侵入するのを妨げることはできません.
ファイアウォールを侵入不可能と過信して
内部のセキュリティをおろそかにすることは,
単にクラッカーの仕事を少し簡単にするだけでしかありません. </quote>
<sect1><heading> ファイアウォールとは何か ? </heading>
<p> 現在インターネットで普通に使用されているファイアウォールには
二つの異なるタイプがあります.
一つは, 厳密には <bf> パケットフィルタリングルータ </bf> と
呼ばれるタイプのものです. これはマルチホームのホストマシン (複数の
ネットワークに接続されているマシン) のカーネルが, ある規則にしたがって
パケットを転送したりブロックしたりするものです.
もう一つは, <bf> proxy (代理) サーバ </bf> として知られているタイプのものです.
これは, おそらくはマルチホームのホストマシン上で, カーネルによるパケット転送を
禁止して, デーモンにより認証の提供とパケットの転送とをおこなうものです.
<p> 二つのタイプのファイアウォールを組み合わせて使用して,
特定のマシン (<bf> 要塞ホスト </bf> と呼ばれる) だけが
パケットフィルタリングルータを通して内部ネットワークへ
パケットを送ることができるよう設定しているサイトがしばしば存在します.
proxy (代理) サービスは通常の認証メカニズムよりもセキュリティを強化してある
要塞ホストで動作させます.
<!-- (訳注: proxy サービスをおこなうアプリケーションなど,
おそらくはあまり実績のないアプリケーションプログラムを利用したサービスを
要塞ホスト上で提供するのは避けた方がよいでしょう.
proxy サービスを提供する場合には, 要塞ホストとは別の, バリアセグメント上の
ホストで proxy サービスを提供し, パケットフィルタリングを利用して
サービスの利用を制限するようにした方が安全です.) -->
<p>FreeBSD は (<tt>IPFW</tt> として知られる) カーネルパケットフィルタ込みで
提供されています. このセクションの後の方では, このフィルタについての
説明を集中しておこないます.
サードパーティから提供されるソフトウェアを使用することにより, Proxy サーバを
FreeBSD 上に構築することができます. しかし, 現在入手可能な proxy サーバは
たいへんバラエティに富んでいるので, このドキュメントでそれらすべてを
カバーすることは不可能です.
<sect2><heading> パケットフィルタリングルータ <label id="firewalls:packet_filters"></heading>
<p> ルータとは, 二つまたはそれ以上のネットワークの間でパケットの転送をおこなう
マシンのことです. パケットフィルタリングルータは, そのカーネルの内部に,
一つ一つのパケットをルールリストと比較して転送するかしないかを決める
特別なコードを持っています.
最近の IP ルーティングソフトウェアのほとんどは, 内部に
パケットのフィルタリングをおこなうためのコードを持っていて, デフォルトでは
すべてのパケットを転送するようになっています.
このフィルタを有効にするためには, パケットの通過を許すべきかどうかを決める
ルールを自分で定義する必要があります.
<p> パケットを通すべきか通すべきでないかを決めるために,
パケットヘッダの内容にマッチするものがルールリストから探されます.
マッチするルールが見つかると, ルールアクションが実行されます.
ルールアクションには, パケットを捨てる, パケットを転送する,
またはパケットの発信元に ICMP メッセージを送り返すというものがあります.
ルールの検索は先頭から順番におこなわれ, 通常は最初にマッチしたものだけが
適用されます.
そのため, このルールリストは「ルールチェーン」と呼ばれることもあります.
<p> パケットマッチングの基準は使用するソフトウェアによって異なりますが,
通常はパケットの発信元 IP アドレス, 宛先 IP アドレス, 発信元ポート番号,
宛先ポート番号 (ポート番号はポートをサポートするプロトコルの場合のみ),
パケットタイプ (UDP, TCP, ICMP など) に基づくルールを指定することができます.
<sect2><heading>Proxy サーバ <label id="firewalls:proxy_servers"></heading>
<p>Proxy サーバとは通常のシステムデーモン (telnetd, ftpd など) を
特別なサーバで置き換えたマシンのことです.
これらのサーバは, 通常は中継をおこなって特定方向への接続だけを許すため,
<bf>proxy サーバ </bf> と呼ばれます.
(例えば) proxy telnet サーバをファイアウォールホストで走らせておきます.
外部からユーザがファイアウォールに対して telnet を実行すると,
proxy telnet サーバが応答して, 何らかの認証メカニズムを実行します.
これを通過した後で, 内部ネットワークへのアクセスがおこなえるように
なるのです. (内部ネットワークからの信号は proxy サーバがかわりに受け取り,
外へ向けて送り出します.)
<p>Proxy サーバは通常, 普通のサーバより堅固に構築されていて,
しばしば「使い捨て」パスワードシステムなどを含む,
多様な認証メカニズムを持っています.
「使い捨て」パスワードシステムとは, どういうものなのでしょうか.
仮に誰かが何らかの方法で, あなたが使用したパスワードを手に入れたとします.
しかし, 一度使用したことで, そのパスワードは既に無効になっているのです.
ですから, そのパスワードをもう一度使用したとしても, あなたのシステムへ
アクセスすることはできないというわけです.
これらのサーバは中継をおこなうだけで, 実際のところサーバホスト自身への
アクセスをユーザに許してはいません. そのため, 何者かがセキュリティシステムに
侵入用の裏口を取り付けることは, より困難になっています.
<p>proxy サーバはアクセス制限の方法をいくつも持っていて, 特定のホスト
だけがサーバへのアクセス権を得ることができるようになっていることがあり
ます. そして目的のマシンと通信できるユーザを制限するように
設定することもできます.
もう一度言いますが, どんなファシリティ (機能) が使えるかは,
どんな proxy サービスをおこなうソフトウェアを選ぶかに大きく依存します.
<sect1><heading> IPFW で何ができるか </heading>
<p>FreeBSD とともに配布されている <tt>IPFW</tt> は, カーネル内部にあって
パケットのフィルタリングとアカウンティングをおこなうシステムであり,
ユーザ側のコントロールユーティリティである <tt>ipfw(8)</tt> を
含んでいます. ルーティングの決定をおこなう際に, これらは互いに協力して,
カーネルで使用されるルールを定義したり, 現在使用されているルールを
問い合わせたりすることができます.
<p><tt>IPFW</tt> は互いに関連する二つの部分からなっています.
ファイアウォールセクションはパケットフィルタリングをおこないます.
また, IP アカウンティングセクションはファイアウォールセクションのものと
似たルールに基づいてルータの使用を追跡します.
これにより, (例えば) 特定のマシンからルータへのトラフィックがどのくらい
発生しているか調べたり, どれだけの WWW (World Wide Web) トラフィックが
フォワードされているかを知ることができます.
<p><tt>IPFW</tt> は, ルータではないマシンにおいても入出力コネクションの
パケットフィルタリングのために使用することができるように設計されています.
これは一般的な <tt>IPFW</tt> の使用法とは異なる特別な使い方ですが,
こういった状況でも同じコマンドとテクニックが使用されます.
<sect1><heading>FreeBSD で IPFW を有効にする </heading>
<p><tt>IPFW</tt> システムの中心となる部分はカーネル内部にあります.
そのため, どのファシリティ (機能) を必要とするかによって, 一つまたは
それ以上のオプションをカーネルコンフィグレーションファイルに追加し,
カーネルを再コンパイルする必要があるでしょう.
カーネルの再コンパイル方法の詳細については,
<ref id="kernelconfig" name="カーネルコンフィグレーション"> を参照してください.
<p>現在, IPFW に関係するカーネルコンフィグレーションオプションは
三つあります:
<descrip>
<tag/options IPFIREWALL/ パケットフィルタリングのためのコードを
カーネルに組み込みます.
<tag/options IPFIREWALL_VERBOSE/<tt>syslogd(8)</tt> を通じて
パケットのログを取るためのコードを有効にします.
フィルタルールでパケットのログを取るように指定しても,
このオプションが指定されていなければ, ログを取ることはできません.
<tag/options IPFIREWALL_VERBOSE_LIMIT=10/<tt>syslogd(8)</tt> を通じて
ログを取るパケットの数をエントリ毎に制限します.
敵対的な環境においてファイアウォールの動作のログを取りたいけれど,
syslog の洪水によるサービス拒絶攻撃に対し無防備でありたくないという場合に,
このオプションを使用したいと思うことがあるかもしれません.
<p> チェーンエントリのログが指定された制限数に達すると,
そのエントリに関するログ取りは停止されます.
ログ取りを再開するには, <tt>ipfw(8)</tt> ユーティリティを使用して
関連するカウンタをリセットする必要があります:
<tscreen><verb>
ipfw zero 4500
</verb></tscreen>
4500 とは, ログ取りを続行したいチェーンエントリの番号です.
</descrip>
以前のバージョンの FreeBSD は <tt>IPFIREWALL_ACCT</tt> というオプションを
持っていました.
しかし, ファイアウォールコードがアカウンティングファシリティ (機能) を
自動的に含むようになったため, 現在では使用されることはなくなっています.
<sect1><heading>IPFW の設定 </heading>
<p><tt>IPFW</tt> ソフトウェアの設定は <tt>ipfw(8)</tt> ユーティリティを
通じておこないます. このコマンドの構文は非常に複雑に見えますが,
一旦その構造を理解すれば比較的単純です.
<p> このユーティリティでは今のところ四つの異なるコマンドカテゴリが
使用されています: それは追加 / 削除, 表示, フラッシュ, およびクリアです.
追加 / 削除はパケットの受け入れ, 拒絶, ログ取りをどのようにおこなうか
というルールを構築するのに使用します.
表示はルールリスト (またはチェーン) と (アカウンティング用) パケットカウンタの
内容を調べるのに使用します.
フラッシュはチェーンからすべてのエントリを取り除くのに使用します.
クリアは一つまたはそれ以上のアカウンティングエントリをゼロにするのに
使用します.
<sect2><heading>IPFW ルールの変更 </heading>
<p> この形式での使用法は:
<tscreen>
ipfw &lsqb;-N&rsqb; <em> コマンド </em> &lsqb;<em>index</em>&rsqb;
<em> アクション </em> &lsqb;log&rsqb; <em> プロトコル </em><em> アドレス </em>
&lsqb;<em> オプション </em>&rsqb;
</tscreen>
<p> この形式で使用する際に有効なフラグは一つだけです:
<descrip>
<tag/-N/ アドレスやサービス名を文字列に変換して表示します.
</descrip>
<em> コマンド </em> は一意である限り短縮可能です.
有効な <em> コマンド </em> は:
<descrip>
<tag/add/ ファイアウォール / アカウンティングルールリストに
エントリを追加します.
<tag/delete/ ファイアウォール / アカウンティングルールリストから
エントリを削除します.
</descrip>
以前のバージョンの <tt>IPFW</tt> では, ファイアウォールエントリと
パケットアカウンティングエントリが別々に利用されていました.
現在のバージョンでは, それぞれのファイアウォールエントリ毎に
パケットアカウンティングエントリが備えられています.
<p><tt>index</tt> が指定されていると, エントリはチェーン中の
<tt>index</tt> で示される位置に置かれます. <tt>index</tt> が指定されて
いなければ, エントリは (65535 番のデフォルトルールである
パケット拒絶を別にして) 最後のチェーンエントリの index に 100 を足した
位置 (チェーンの最後) に置かれます.
<p> カーネルが <bf>IPFIREWALL_VERBOSE</bf> つきでコンパイルされている場合,
<bf>log</bf> オプションはマッチしたルールをシステムコンソールに出力させます.
<p>有効な <em> アクション </em> は:
<descrip>
<tag/reject/ パケットを捨てます, ICMP ホスト / ポート到達不能パケットを
(適切な方を) 発信元へ送ります.
<tag/allow/ 通常通りパケットを通過させます. (別名: <bf>pass</bf> および
<bf>accept</bf>)
<tag/deny/ パケットを捨てます. 発信元は ICMP メッセージによる
通知を受けません (そのためパケットが宛先に到達しなかったように見えます).
<tag/count/ このルールはパケットカウンタを更新するだけで, パケットを
通過させたり拒絶したりしません. 検索は次のチェーンエントリから続けられます.
</descrip>
<p> それぞれの <em> アクション </em> は一意な先頭部分だけでも認識されます.
指定可能な <em> プロトコル </em> は以下の通り:
<descrip>
<tag/all/ 任意の IP パケットにマッチします.
<tag/icmp/ICMP パケットにマッチします.
<tag/tcp/TCP パケットにマッチします.
<tag/udp/UDP パケットにマッチします.
</descrip>
<p><em> アドレス </em> の指定は:
<tscreen>
<bf>from</bf> &lt;<em>address/mask</em>&gt;&lsqb;<em>port</em>&rsqb; <bf>to</bf>
&lt;<em>address/mask</em>&gt;&lsqb;<em>port</em>&rsqb &lsqb;<bf>via</bf> &lt;<em>interface</em>&gt;&rsqb;
</tscreen>
<p><em>port</em> はポートをサポートする <em> プロトコル </em> (UDP と TCP) の
場合にだけ指定可能です.
<p><bf>via</bf> は必須ではなく, 特定のインターフェースを通ってきたパケット
だけにマッチするように, IP アドレスまたはローカル IP インターフェースの
ドメイン名, またはインターフェース名 (例えば <tt>ed0</tt>) を
指定することができます.
インターフェースユニット番号はオプションで, ワイルドカードで指定することが
できます. 例えば, <tt>ppp*</tt> はすべてのカーネル PPP インターフェースに
マッチします.
<p><tt>&lt;address/mask&gt;</tt> の指定は:
<tscreen>
&lt;address&gt;
</tscreen>
または
<tscreen>
&lt;address&gt;/mask-bits
</tscreen>
または
<tscreen>
&lt;address&gt;:mask-pattern
</tscreen>
<p>IP アドレスのかわりに有効なホスト名を指定することも可能です.
<tt>mask-bits</tt> はアドレスマスクで上位何ビットを1にするべきかを
示す十進数値です. 例えば次の指定,
<tscreen>
192.216.222.1/24
</tscreen>
はクラス C のサブネット (この場合 192.216.222) の任意のアドレスにマッチする
マスクを作成します. <tt>mask-pattern</tt> は与えられたアドレスと
論理 AND される IP アドレスです.
キーワード <tt>any</tt> は「任意の IP アドレス」を指定するために
使用することができます.
<p> ブロックするポート番号は以下のように指定します:
<tscreen>
port&lsqb;,port&lsqb;,port&lsqb;...&rsqb;&rsqb;&rsqb;
</tscreen>
のように単独のポートまたはポートのリストを指定します. または
<tscreen><verb>
port-port
</verb></tscreen>
のようにポートの範囲を指定します. 単独のポートとポートのリストを
組み合わせて指定することも可能ですが, その場合は常に範囲の方を
最初に指定しなければなりません.
<p> 使用可能な <em> オプション </em> は:
<descrip>
<tag/frag/ データグラムの最初のフラグメントでなければマッチします.
<tag/in/ 入力途中のパケットであればマッチします.
<tag/out/ 出力途中のパケットであればマッチします.
<tag/ipoptions <em>spec</em>/IP ヘッダが <em>spec</em> に指定された
カンマで区切られたオプションのリストを含んでいればマッチします.
サポートされている IP オプションのリストは:
<bf>ssrr</bf> (ストリクトソースルート),
<bf>lsrr</bf> (ルーズソースルート), <bf>rr</bf> (レコードパケットルート),
そして <bf>ts</bf> (タイムスタンプ) です.
特定のオプションを含まないことを指定するには '!' を先頭につけます.
<tag/established/ パケットが既に確立されている TCP コネクションの一部であれば
(つまり RST または ACK ビットがセットされていれば) マッチします.
<em>established</em> ルールをチェーンの最初の方に置くことで,
ファイアウォールのパフォーマンスを向上させることができます.
<tag/setup/ パケットが TCP コネクションを確立しようとするものであれば
(SYN ビットがセットされ ACK ビットはセットされていなければ) マッチします.
<tag/tcpflags <em>flags</em>/TCP ヘッダが <em>flags</em> に指定された
カンマで区切られたフラグのリストを含んでいればマッチします.
サポートされているフラグは, <bf>fin</bf>, <bf>syn</bf>, <bf>rst</bf>,
<bf>psh</bf>, <bf>ack</bf> と <bf>urg</bf> です.
特定のフラグを含まないことを指定するには '!' を先頭につけます.
<tag/icmptypes <em>types</em>/ICMP タイプが <em>types</em> リストに
存在していればマッチします. リストはタイプの範囲または個々のタイプを
カンマで区切った任意の組合せで指定できます.
一般的に使用されている ICMP タイプは:
<bf>0</bf> エコーリプライ (ping リプライ),
<bf>5</bf> リダイレクト, <bf>8</bf> エコーリクエスト (ping リクエスト),
そして <bf>11</bf> 時間超過 (<tt>traceroute(8)</tt> で使用されているように,
TTL 満了を示すのに使用されます) です.
</descrip>
<sect2><heading> IPFW ルールリストの表示 </heading>
<p> この形式での使用法は:
<tscreen>
ipfw &lsqb;-atN&rsqb; l
</tscreen>
<p>この形式で使用する際に有効なフラグは三つあります:
<descrip>
<tag/-a/ リスト表示の際にカウンタの値も表示します. このオプションは
アカウンティングカウンタの内容を見る唯一の手段です.
<tag/-t/ 各チェーンエントリが最後にマッチした時刻を表示します.
この時刻表示は <tt>ipfw(8)</tt> ユーティリティで使用される入力形式と
互換性がありません.
<tag/-N/ (可能であれば) アドレスやサービス名を文字列に変換して表示します.
</descrip>
<sect2><heading>IPFW ルールのフラッシュ </heading>
<p> チェーンをフラッシュするには:
<tscreen>
ipfw flush
</tscreen>
<p> カーネルに固定されているデフォルトルール (インデックス 65535 番)
以外の, ファイアウォールチェーンの中のすべてのエントリを削除します.
デフォルトではすべてのパケットが拒絶されるので, 一旦これを実行すると,
パケットを許可するエントリがチェーンに追加されるまで,
あなたのシステムがネットワークから切り放されてしまいます.
そのため, ルールのフラッシュをおこなうときは注意が必要です.
<sect2><heading> IPFW パケットカウンタのクリア </heading>
<p> 一つまたはそれ以上のパケットカウンタをクリアするためには:
<tscreen>
ipfw zero &lsqb;index&rsqb;
</tscreen>
<p><em>index</em> が指定されていなければ, すべてのパケットカウンタが
クリアされます.
<em>index</em> が指定されていれば, 特定のチェーンエントリだけが
クリアされます.
<sect1><heading> ipfw に対するコマンドの例 </heading>
<p> このコマンドはルータを介して転送される,
ホスト <bf>evil.hacker.org</bf> から
ホスト <bf>nice.people.org</bf> の telnet ポートへの
すべてのパケットを拒絶します:
<tscreen><verb>
ipfw add deny tcp from evil.hacker.org to nice.people.org 23
</verb></tscreen>
<p> 次の例は, ネットワーク <bf>hacker.org</bf> (クラス C) 全体から
マシン <bf>nice.people.org</bf> (の任意のポート) への
任意の TCP トラフィックを拒絶し, ログを取ります.
<tscreen><verb>
ipfw add deny log tcp from evil.hacker.org/24 to nice.people.org
</verb></tscreen>
あなたの内部ネットワーク (クラス C のサブネット) に対する X セッションを
張れないようにする場合, 以下のコマンドで必要なフィルタリングがおこなえます:
<tscreen><verb>
ipfw add deny tcp from any to my.org/28 6000 setup
</verb></tscreen>
アカウンティングレコードを見るには:
<tscreen><verb>
ipfw -a list
</verb></tscreen>
または短縮形式で
<tscreen><verb>
ipfw -a l
</verb></tscreen>
最後にチェーンエントリがマッチした時刻を見ることもできます.
<tscreen><verb>
ipfw -at l
</verb></tscreen>
<sect1><heading> パケットフィルタリングファイアウォールの構築 </heading>
<p><quote><bf> 注: </bf> 以下の提案は, ただの提案にすぎません:
必要な処理はそれぞれのファイアウォールで異なるため,
あなた独自の要求にあったファイアウォールを構築する方法を
ここで述べることはできないのです. </quote>
<p> 最初にファイアウォールをセットアップするとき,
コントロールされた環境でファイアウォールホストの設定がおこなえるような
テストベンチセットアップが用意できない場合には, カーネルのログ取りを
有効にしてログ取り版のコマンドを使用することを強くおすすめします.
そうすることで, 大した混乱や中断なしに問題となる範囲の特定と処置を
素早くおこなうことができます.
初期セットアップフェーズが完了してからであっても,
アタックの可能性のあるアクセスをトレースしたり,
要求の変化に応じてファイアウォールルールを変更したりできるので,
`deny' に対するログ取りをおこなうことをおすすめします.
<quote><bf> 注: </BF><bf>accept</bf> コマンドのログ取りをおこなっていると,
ファイアウォールをパケットが一つ通過する毎に 1 行のログが生成されるため
<em>大量の</em> ログデータが発生します.
そのため, 大規模な ftp/http 転送などをおこなうと, システムが非常に
遅くなってしまいます.
また, パケットが通過するまでにカーネルにより多くの仕事を要求するため,
パケットのレイテンシ (latency) を増加させてしまいます.
syslogd もログをディスクに記録するなど, より多くの CPU タイムを
使用し始め, 実に容易に <tt>/var/log</tt> が置かれているパーティションを
パンクさせてしまう可能性があります. </quote>
<p> 現状では, FreeBSD はブート時にファイアウォールルールをロードする
能力を持っていません.
私は <tt>/etc/netstart</tt> スクリプトにロードをおこなうスクリプトを
追加することをおすすめします. IP インターフェースの設定がおこなわれる前に
ファイアウォールの設定がおこなわれるように, netstart ファイル中の
充分に早い位置にルールをロードするスクリプトを配置してください.
こうすることで, ネットワークがオープンな間は常に抜け道が塞がれている
ことになります.
<p> ルールをロードするために使用するスクリプトは,
あなたが作成しなければなりません.
現在のところ <tt>ipfw</tt> は 1 コマンドで複数のルールを
ロードするユーティリティをサポートしていません.
私が使用しているシステムでは以下のようにしています:
<tscreen><verb>
# ipfw list
</verb></tscreen>
ファイルに現在のルールリストを出力し, テキストエディタを使用して
すべての行の前に ``<tt>ipfw </tt>'' と書き足します.
こうすることで, このスクリプトを /bin/sh に与えてルールをカーネルに再読み込み
させることができます. これは最も効率的な方法とはいえないかもしれませんが,
きちんと動作しています.
<p> 次の問題は, ファイアウォールが実際には何を <bf> する </bf> べきかです !
これは外部からそのネットワークへのどんなアクセスを許したいか,
また内部から外界へのアクセスをどのくらい許したいかに大きく依存します.
いくつか一般的なルールを挙げると:
<itemize>
<item> 1024 番以下のポートへのすべての TCP 入力アクセスをブロックします.
ここは finger, SMTP (mail) そして telnet など, 最もセキュリティに敏感な
サービスが存在する場所だからです.
<item><bf> すべての </bf> 入力 UDP トラフィックをブロックします.
これは UDP を使用しているサービスで有用なものは極めて少ないうえ,
有用なトラフィック (例えば Sun の RPC と NFS プロトコル) は,
通常セキュリティに対する脅威となるためです.
UDP はコネクションレスプロトコルであるため,
入力 UDP トラフィックを拒絶することは
すなわち出力 UDP トラフィックに対する返答をも
ブロックすることになるので, このことはそれなりの不利益をもたらします.
たとえば外部の archie (prospero) サーバを使用している (内部の) ユーザに
とって問題となる可能性があります.
もし archie へのアクセスを許したければ, 191 番と 1525 番のポートから
任意の UDP ポートへ来るパケットがファイアウォールを通過することを
許可しなければなりません.
123 番のポートから来るパケットは ntp パケットで,
これも通過の許可を考慮する必要があるもう一つのサービスです.
<item> 外部から 6000 番のポートへのトラフィックをブロックします.
6000 番のポートは X11 サーバへのアクセスに使用されるポートで,
セキュリティに対する脅威となりえます. (特に自分のワークステーションで
<tt>xhost +</tt> をおこなう癖を持っている人がいればなおさらです).
X11 は実際に 6000 番以降のポートを使用する可能性があるため, 通過許可に
上限を定めると, そのマシンで走らせることのできる X ディスプレイの
個数が制限されます.
RFC 1700 (Assigned Numbers) で定義されているように, 上限は 6063 です.
<item> 内部のサーバ (例えば SQL サーバなど) がどのポートを使用するかを
チェックします.
それらのポートは通常, 上で指定した 1-1024 番の範囲から外れていますので,
これらも同様にブロックしておくことはおそらく良い考えです.
</itemize>
<p> これとは別のファイアウォール設定に関するチェックリストが CERT から
入手可能です.
<htmlurl url="ftp://ftp.cert.org/pub/tech&lowbar;tips/packet&lowbar;filtering"
name="ftp://ftp.cert.org/pub/tech&lowbar;tips/packet&lowbar;filtering">
<p> 前にも述べたように, これはただの <em> ガイドライン </em> にすぎません.
ファイアウォールでどのようなフィルタルールを使用するかは, あなた自身が
決めなければなりません.
これまでのアドバイスにしたがったにも関わらず, 誰かがあなたのネットワークに
侵入してきたとしても, 私は「いかなる」責任もとることはできません.

@ -1,15 +0,0 @@
<!-- $Id: german.sgml,v 1.1 1997-11-26 16:54:51 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.1 -->
<sect><heading>ドイツ語(ISO 8859-1)<label id="german"></heading>
<p>
Slaven Rezic
<!-- eigentlich Slaven Rezi&ccaron; -->
<tt><htmlurl url='mailto:eserte@cs.tu-berlin.de'
name='&lt;eserte@cs.tu-berlin.de&gt;'></tt>
が FreeBSD上でウムラウトを使う方法についてのチュートリアルを書きました.
チュートリアルはドイツ語で書かれていて,
<htmlurl url="http://www.de.freebsd.org/de/umlaute/"
name="http://www.de.freebsd.org/de/umlaute/">
でご覧になれます.

@ -1,6 +0,0 @@
<!-- $Id: glossary.sgml,v 1.5 1997-02-25 04:55:40 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.5 -->
<chapt><heading>* Glossary<label id="glossary"></heading>

@ -1,33 +0,0 @@
<!-- $Id: goals.sgml,v 1.6 1997-08-25 05:32:06 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.5 -->
<sect><heading>FreeBSDプロジェクトの目的<label id="goals"></heading>
<p><em>原作: &a.jkh;</em>
<p><em>訳: &a.kiroh;<newline>24 September 1996.</em>
<p>
FreeBSDプロジェクトの目的は、いかなる用途にも使用でき、何ら制限のない
ソフトウェアを供給することです。私たちの多くは、コード(そしてプロジェ
クト)に対してかなりの投資をしてきており、これからも多少の無駄はあって
も投資を続けて行くつもりです。ただ、他の人達にも同じような負担をするよ
うに主張しているわけではありません。FreeBSD に興味を持っている一人の残
らず全ての人々に、目的を限定しないでコードを提供すること。これが、私た
ちの最初のそして最大の``任務''であると信じています。そうすれば、コード
は可能な限り広く使われ、最大の恩恵をもたらすことができるでしょう。これ
が、私たちが熱烈に支持しているフリーソフトウェアの最も基本的な目的であ
ると、私は信じています。
<p>
私たちのソースツリーに含まれるソースのうち、GNU一般公有使用許諾(GPL)ま
たはGNUライブラリ一般公有使用許諾(GLPL)に従っているものについては、多
少制限が科されています。ただし、ソースコードへのアクセスの保証という、
一般の制限とはいわば逆の制限(訳注1)です。ただしGPLソフトウェアを商用で
利用する場合、さらに複雑になるのは避けられません。そのため、それらのソ
フトウェアを、より制限の少ないBSD著作権に従ったソフトウェアで置き換え
る努力を、可能な限り日々続けています。
<p>
(訳注1) GPL では、「ソースコードを実際に受け取るか、あるいは、希望しさ
えすればそれを入手することが可能であること」を求めています。

@ -1,196 +0,0 @@
<!-- $Id: handbook.sgml,v 1.24 1997-11-26 16:55:39 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.81 -->
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
<!-- Conditional flags for this version of the document -->
<!ENTITY % boothelp.only "IGNORE">
<!ENTITY % handbook.only "INCLUDE">
<!-- Entity shorthand for authors' names and email addresses -->
<!ENTITY % authors SYSTEM "authors.sgml">
%authors;
<!-- Entity shorthand for translator's names and email addresses -->
<!ENTITY % jmembers SYSTEM "jmembers.sgml">
%jmembers;
<!-- Entity shorthand for mailing list email addresses -->
<!ENTITY % lists SYSTEM "lists.sgml">
%lists;
<!-- Entity definitions for all the parts -->
<!ENTITY % sections SYSTEM "sections.sgml">
%sections;
<!-- The currently released version of FreeBSD -->
<!ENTITY rel.current CDATA "2.2.5">
]>
<linuxdoc>
<book>
<title>FreeBSD ハンドブック</title>
<author>
<name>FreeBSD ドキュメンテーションプロジェクト</name>
</author>
<date>1997年10月</date>
<abstract>FreeBSD へようこそ! このハンドブックは<bf>FreeBSD Release
&rel.current;</bf>のインストールおよび, 日常での使い方について記述したもので,
FreeBSD ドキュメンテーションプロジェクトによって編集されています.
日本語版の作成は FreeBSD 日本語ドキュメンテーションプロジェクトがおこなって
います. 本書は<bf>現在進行中の作業</bf>であって, 多くの個人の手からなる
仕事です. 多くのセクションはまだ存在しませんし, いま存在するセクションの
いくつかはアップデートが必要です. この FreeBSD ドキュメンテーション
プロジェクトに協力したいと思ったら, &a.doc; まで (英語で) 電子メールを
送ってください. ハンドブックそのものに関する議論は, こちらで
おこなわれています. (もちろん英語でです.)
日本語訳および, 日本語版のみに関することは &a.doc-jp; において日本語で
議論されています. 必要に応じて日本語ドキュメンテーションプロジェクトから
本家ドキュメンテーションプロジェクトに対してフィードバックをおこないますので,
英語が得意でない方は &a.doc-jp; まで日本語でコメントをお寄せください.
このドキュメントの最新バージョンは, いつでも
<url url="http://www.jp.FreeBSD.ORG/"
name="日本国内版 FreeBSD World Wide Web サーバ">や
<url url="http://www.FreeBSD.ORG/" name="FreeBSD World Wide Web サーバ">
から入手できますし,
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs" name="FreeBSD FTP サーバ">
や, たくさんある<ref id="mirrors" name="ミラーサイト">からプレインテキスト,
postscript, HTML などの形式でダウンロードすることもできます.
また, <url url="/search.html" name="ハンドブックの検索">も可能です.
</abstract>
<toc>
<!-- ************************************************************ -->
<part><heading>導入</heading>
<chapt><heading>はじめに</heading>
<p>FreeBSD は, Intel アーキテクチャ (x86) ベースの PC のための
4.4BSD-Lite をベースとしたオペレーティングシステムです.
FreeBSD の概要については,
<ref id="nutshell" name="FreeBSD とは">をご覧ください.
このプロジェクトの歴史については, <ref id="history" name="FreeBSD 小史">
をご覧ください. 最新のリリースについての記述は,
<ref id="relnotes" name="現在のリリースについて">をご覧ください.
FreeBSD プロジェクトへの何らかの貢献 (ソースコード, 機器, 資金の提供など)
について興味があれば, <ref id="contrib" name="FreeBSD への貢献">
の章をご覧ください.
&nutshell;
&history;
&goals;
&development;
&relnotes;
&install;
&basics;
&ports;
<!-- ************************************************************ -->
<part><heading>システム管理</heading>
&kernelconfig;
<chapt><heading>セキュリティ</heading>
&crypt;
&skey;
&kerberos;
&firewalls;
&printing;
&quotas;
<chapt><heading>X ウィンドウシステム</heading>
<p>この節の完成は保留にしてあります.
<url url="http://www.xfree86.org/" name="The XFree86 Project, Inc">
から提供されるドキュメントを参考にしてください.
&hw;
<chapt><heading>ローカル化<label id="l10n"></heading>
&russian;
&german;
<!-- ************************************************************ -->
<part><heading>ネットワーク通信</heading>
<chapt><heading>シリアル通信</heading>
&serial;
&term;
&dialup;
&dialout;
<chapt><heading>PPP と SLIP</heading>
<p>もしあなたがモデムを使ってインターネットに接続したり,
他の人々に FreeBSD によるインターネットへのダイヤルアップ接続を
提供しようとしているのでしたら, PPP または SLIP 接続を選択することができます.
PPP 接続には, 2 種類の方法が提供されています:
<em>ユーザ</em>PPP (iijppp とも呼ばれます) と<em>カーネル</em>PPP です.
両方の PPP の設定手順と, SLIP の設定方法については以下の章に書かれています.
&userppp;
&ppp;
&slipc;
&slips;
<chapt><heading>高度なネットワーク</heading>
&routing;
&nfs;
&diskless;
&isdn;
&mail;
<!-- ************************************************************ -->
<part><heading>さらに進んだ話題</heading>
<chapt><heading>開発の最前線: FreeBSD-current と FreeBSD-stable</heading>
<p>あるリリースから次のリリースまでの期間にも, FreeBSD の開発は
休みなく続けられています. この開発の最前線に興味を持っている人のために,
手元のシステムを最新の開発ツリーに同期させておくための,
とても使いやすい仕掛けが何種類も用意されています.
注意: 開発の最前線は, 誰でもが扱えるという性質のものではありません!
もしもあなたが, 開発途中のシステムを追いかけようか, それともリリース
バージョンのどれかを使い続けようかと迷っているのなら,
きっとこの章が参考になるでしょう. </p>
&current;
&stable;
&synching;
</chapt>
&submitters;
&policies;
&kernelopts;
&kerneldebug;
&linuxemu;
<chapt><heading>FreeBSD の内部</heading>
&booting;
&memoryuse;
&dma;
<!-- ************************************************************ -->
<part><heading>付録</heading>
&mirrors;
&bibliography;
&eresources;
&contrib;
&pgpkeys;
&jcontrib;
<!-- &glossary; -->
</book>
</linuxdoc>

@ -1,114 +0,0 @@
<!-- $Id: history.sgml,v 1.8 1997-08-25 05:33:39 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.23 -->
<!-- 和訳: masaki@po.iijnet.or.jp + hino@nwk.cl.nec.co.jp 1997/5/13 -->
<sect><heading>FreeBSD 小史<label id="history"></heading>
<p><em>原作: &a.jkh;</em>.
<p><em>訳: &a.masaki;, &a.hino;.<newline>19 December 1996.</em>
FreeBSD プロジェクトは 1993年の始めに ``Unofficial 386BSD Patchkit''
の最後の 3人のまとめ役によって, 部分的に patchkit から派生する形で開始
されました. ここでの 3人のまとめ役というのは, Nate Williams と, Rod
Grimes と, 私 (Jordan K. Hubbard) です.
私たちのもともとの目標は, patchkit という仕組みではもう十分に解
決できなくなってしまった 386BSD の数多くの問題を修正するための, 386BSD
の暫定的なスナップショットを作成することでした. こういった経緯を経てい
るので, このプロジェクトの初期の頃の名前が ``386BSD 0.5'' や ``386BSD
暫定版 (Interim)'' であったということを覚えている人もいるでしょう.
386BSD は, Bill Jolitz が (訳注: バークレイ Net/2 テープを基に) 作成し
たオペレーティングシステムです. 当時の 386BSD は, ほぼ一年にわたって放っ
ておかれていた (訳注: 作者がバグの報告を受けても何もしなかった) という
ひどい状況に苦しんでいました. 作者の代わりに問題を修正し続けていた
patchkit は日を追うごとに不快なまでに膨張してしまっていました. このよ
うな状況に対して, このままではいけない, 何か行動を起こさなければ, とい
うことで異議を唱えるものは私たちのなかにはいませんでした. そして私たち
は挑戦することを決断し, 暫定的な「クリーンアップ」スナップショットを作
成することで Bill を手助けしようと決めたのです. しかし, この計画は唐突
に終了してしまいました. Bill Jolitz が, このプロジェクトに対する受け
入れ支持を取り下げることを突然決意し, なおかつこのプロジェクトの代わり
に何をするのかを一切言明しなかったのです.
たとえ Bill が支持してくれないとしても, われわれの目標には依然としてや
る価値があると決心するのにさしたる時間はかかりませんでした. そこで
David Greenman が考案した名称 ``FreeBSD'' を私たちのプロジェクトの名前
に採用し, 新たなスタートを切りました. この時点でのプロジェクトの初期目
標は, すでにこのシステム (訳注: 386BSD + Patchkit) を使っていた利用者
たちと相談して決められました. プロジェクトが実現に向けて軌道に乗ってき
たことが明確になった時点で, 私は Walnut Creek CDROM 社に連絡してみまし
た. CDROM を使って FreeBSD を配布することによって, インターネットに容
易に接続できない多くの人々が FreeBSD を簡単に入手できるようになると考
えたからです. Walnut Creek CDROM 社は FreeBSD を CD で配布するというア
イデアを採用してくれたばかりか, 作業するためのマシンと高速なインターネッ
ト回線を私たちのプロジェクトに提供してくれました. 当時は海のものとも山
のものともわからなかった私たちのプロジェクトに対して, Walnut Creek
CDROM 社が信じられないほどの信頼を寄せてくれたおかげで, FreeBSD は短期
間のうちにここまで大きく成長したのです.
CDROM による最初の配布 (そしてネットでの, ベータ版ではない最初の一般向
け配布) は FreeBSD 1.0 で, 1993年 12月に公開されました. これは カリフォ
ルニア大学バークレイ校の 4.3BSD-Lite (``Net/2'') を基とし, 386BSD や
Free Software Foundation からも多くの部分を取り入れたものです. これは
初めて公開したものとしては十分に成功しました. 続けて 1994年 5月に
FreeBSD 1.1 を公開し, 非常に大きな成功を収めました.
この時期, あまり予想していなかった嵐が遠くから接近してきていました. バー
クレイ Net/2 テープの法的な位置づけについて, Novell 社と カリフォルニ
ア大学バークレイ校との間の長期にわたる法廷論争において和解が成立したの
です. 和解の内容は, Net/2 のかなりの部分が「権利つき (encumbered)」コー
ドであり, それは Novell 社の所有物である, というバークレイ校側が譲歩し
たものでした. なお, Novell 社はこれらの権利を裁判が始まる少し前に
AT&amp;T 社から買収していました. 和解における譲歩の見返りにバークレイ
校が得たのは, 4.4BSD-Lite が最終的に発表された時点で, 4.4BSD-Lite は権
利つきではないと公式に宣言されること, そしてすべての既存の Net/2 の利
用者が 4.4BSD-Lite の利用へと移行することが強く奨励されること, という
Novell 社からの「ありがたき天からの恵み」でした. (訳注: 4.4BSD-Lite は
その後 Novell 社のチェックを受けてから公開された.) FreeBSD も Net/2 を利
用していましたから, 1994年の 7月の終わりまでに Net/2 ベースの FreeBSD
の出荷を停止するように言われました. ただし, このときの合意によって, 私
たちは締め切りまでに一回だけ最後の公開をすることを許されました. そして
それは FreeBSD 1.1.5.1 となりました.
それから FreeBSD プロジェクトは, まっさらでかなり不完全な 4.4BSD-Lite
を基に, 文字どおり一から再度作り直すという, 難しくて大変な作業の準備を始めまし
た. ``Lite'' バージョンは, 部分的には本当に軽くて, 中身がなかったので
す. 起動し, 動作できるシステムを実際に作り上げるために必要となるプログ
ラムコードのかなりの部分がバークレイ校 の CSRG (訳注: BSDを作っている
グループ) によって (いろいろな法的要求のせいで) 削除されてしまっていた
ということと, 4.4BSD の Intel アーキテクチャ対応が元々かなり不完全であっ
たということがその理由です. この移行作業は結局 1994年の 12月までかかり
ました. そして 1995年の 1月に FreeBSD 2.0 をネットと CDROM を通じて公
開しました. これは, かなり粗削りなところが残っていたにもかかわらず, か
なりの成功を収めました. そしてその後に, より信頼性が高く, そしてインス
トールが簡単になった FreeBSD 2.0.5 が 1995年の 6月に公開されました.
<em>これからのことについて</em>
私たちは 1996年の 8月に FreeBSD 2.1.5 を公開しました. この出来が非常に
良く, 特に業務で運用しているサイトや ISP での人気が高かったので, 私た
ちは 2.1-STABLE 開発分流から更に公開をおこなうことにメリットがあると考
えました. それが FreeBSD 2.1.7.1 で, 2.1-STABLE 開発分流の最後を締めく
くるものとして, 1997年の 2月に公開されました. 2.1-STABLE 開発分流
(RELENG_2_1_0) は現在, 保守のみをおこなう状態になっており, 今後は, セ
キュリティの改善や他の何か重要なバグフィックスのみがおこなわれるでしょ
う.
FreeBSD 2.2 の開発は, RELENG_2_2 開発分流として, 開発の本流
(``-current'') から 1996年 11月に分岐し, そして 1997年 4月に最初の公開
(2.2.1) がおこなわれました. RELENG_2_2 開発分流に関する今後の計画では,
97年の夏から秋の間に数回の公開をおこなうことが予定されています. そして
97年の冬のはじめ頃には, FreeBSD 3.0 の最初の公開をおこなう予定です.
<!-- 訳者覚書:Jordan氏は最後の文に関する質問に対し以下の回答をくれた. -->
<!-- What I meant to say was: -->
<!-- o Several releases of 2.2.x during Summer and Fall of 1997. -->
<!-- o The first official release of 3.0.x in Winter of 1997. -->
SMP のサポートから DEC ALPHA のサポートまでのすべての長期的な開発プロ
ジェクトは, 3.0-CURRENT 開発分流において継続しています. CDROM (もちろ
ん, ネットワーク上でも) による 3.0 のスナップショット公開は, 1997年
5月頃から開始される予定です.

File diff suppressed because it is too large Load Diff

@ -1,874 +0,0 @@
<!-- $Id: install.sgml,v 1.21 1998-01-13 11:19:07 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.60 -->
<!--
<!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'>
-->
<chapt><heading>FreeBSDのインストール<label id="install"></heading>
<p><em>原作: 不明</em>
<p><em>訳: &a.mita;, <newline>&a.hanai;, <newline>&a.iwasaki;.
<newline>26 January 1997.</em>
<p>それでは, FreeBSD のインストールに挑戦してみましょう.
この章には, あなたが何をする必要があるかの簡単なガイドが
書いてあります. FreeBSD は, CD-ROM, フロッピーディスク, 磁気テープ,
MS-DOSのパーティション, ネットワーク接続しているところでは
anonymous FTP や NFS を通じてインストールすることができます.
どのインストールメディアを利用する場合も, まず後で説明するよう
な<bf>インストールディスク</bf>の作成から始めます. すぐにイン
ストールするわけではない場合であってもこのディスクであなたのコ
ンピュータを立ち上げることで, FreeBSD とあなたのハードウェアと
の相性に関する重要な情報を手に入れることができ, このハードウェ
アではどんなインストールオプションが使えるかを指定することがで
きます. もしもあなたが anonymous FTP を使用してインストールす
る予定なら, インストールディスクだけをダウンロードすれば OK で
す(インストールの最中に必要なものはダウンロードしてきます).
FreeBSDの配布に関する情報は, 付録の <ref id="mirrors" name="FreeBSD の入手方法">
をご覧ください.
仕事にとりかかるには, 以下のような手順を踏みます.
<enum>
<item><P>このインストールガイドの <ref id="install:hw"
name="サポートされている設定一覧"> の節を読んで, あなたのハードウェアが
FreeBSD でサポートされていることを確認します. SCSI コントローラだとか,
イーサネットアダプタだとか, サウンドカードだとかの, あなたのマシンが
装備している特別なカードのリストを作っておくと便利です. この
リストには, 割り込み番号 (IRQ) とか, IO ポートのアドレスとかの, カードに
関係する設定も書いておきましょう.</P></item>
<item><P>FreeBSD を CDROM メディアからインストールする場合, いく
つかの異なる選択肢があります.
<itemize>
<item><p>もし CD のマスターが El Torrito ブートサポートで焼か
れており, あなたのシステムが CDROM からのブートをサポートして
いるなら(多くの古いシステムは<em>サポートしていません</em>),
単にドライブに CD を入れてブートするだけです. </p></item>
<item><p>もしDOS を動かしていて CD へアクセスするための適切な
ドライバを持っているならば, CD に入っている install.bat スクリ
プトを起動します. これは, DOS から直接 FreeBSD のインストール
へと進みます(<em>注: これは本当の DOS から行なわなければいけま
せん. Windows の DOS プロンプトからでは駄目です</em>). また,
DOS パーティションから FreeBSD をインストールしたい場合 (恐らく,
CDROM ドライブが FreeBSD で全くサポートされていない場合でしょ
う), setup プログラムを起動します. setup プログラムは, まず CD
から適切なファイルを DOS パーティションにコピーし, インストー
ルへと進みます.</p></item>
<item><p>上記二つのうちのどちらかがうまくいったなら, この節の
残りは必要ありません. そうでないならば, 最後の選択肢は
<tt>floppies\boot.flp</tt> イメージからブートフロッピーを作る
ことです─そのやり方の説明はステップ 4 へ進みます.</p></item>
</itemize></P></item>
<item><p>もし CDROM を持っていないなら, <url
url="ftp://ftp.freebsd.org/pub/FreeBSD/&rel.current;-RELEASE/floppies/boot.flp"
name="ブートディスクのイメージ"> ファイルをあなたの
ハードディスクにダウンロードしてきます. ブラウザのコマンドでは,
<em>display</em> ではなくて <em>save</em> を選ぶことに注意してください.
<bf>注意:</bf> このディスクイメージは, 1.44 メガバイトの 3.5 インチフロッピーディスクのみで使用可能です.</P></item>
<item><p>このイメージファイルからブートディスクを作成します,
<itemize>
<item><p>MS-DOSを使っている場合:
<url
url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/tools/fdimage.exe"
name="fdimage.exe"> をダウンロードするか, CDROM から
<tt>tools\fdiomage.exe</tt> を取り, これを実行します.
<tscreen><verb>
E:\> tools\fdimage floppies\boot.flp a:
</verb></tscreen>
このプログラムは, A: ドライブをフォーマットした後 boot.flp の内容を書き込みます
(ここでは通常の通り, FreeBSD の配布物のトップレベルディレクトリにおり, フロッピーイメージ
は floppies ディレクトリにあると仮定しています).</P></item>
<item><p>UNIX システムを使っている場合:
<tscreen>
% dd if=boot.flp of=<em>disk&lowbar;device</em>
</tscreen>
を実行します. ここで, <em>disk&lowbar;device</em> はフロッピードライブに
対応する <tt>/dev</tt>の中のエントリです. FreeBSD では,
<tt>/dev/rfd0</tt> が A:ドライブに, <tt>/dev/rfd1</tt> が B:ドライブに
対応しています.</P></item>
</itemize>
</P></item>
<item><p>インストールディスクを A:ドライブに入れて, コンピュータを
立ち上げ直します. そうすると次のようなプロンプトが出てくるはずです.
<tscreen>
&gt;&gt; FreeBSD BOOT ...<newline>
Usage: &lsqb;&lsqb;&lsqb;0:&rsqb;&lsqb;wd&rsqb;(0,a)&rsqb;/kernel&rsqb;&lsqb;-abcCdhrsv&rsqb;<newline>
Use 1:sd(0,a)kernel to boot sd0 if it is BIOS drive 1<newline>
Use ? for file list or press Enter for defaults<newline>
Boot:
</tscreen>
ここで何もタイプしない場合, 5秒間の待ち時間の後に FreeBSD は
自動的にデフォルトの設定で立ち上がります. 立ち上げの際, どんな
ハードウェアが装備されているかを検出 (プローブ) します. この結果は
スクリーン上に表示されます.</P></item>
<item><p>立ち上げプロセスが終了したら, FreeBSD インストールメニューが
表示されます. </p></item>
</enum>
<p><bf>もしも問題が起こった場合</bf>
<p>PC アーキテクチャの制限のため, 100パーセントの信頼をもって検出する
ことは不可能です. もしもあなたのハードウェアが間違って認識されたり,
検出途中でコンピュータが固まってしまうようなことが起こった場合,
まずこのガイドの <ref id="install:hw" name="サポートされている設定一覧">
の節を読んで, あなたのハードウェアが本当に
FreeBSD でサポートされているかどうかを確かめてください.
<p>ハードウェアがサポートされていた場合, リセットして
<tt>Boot:</tt> プロンプトが出てきたところで, <bf>-c</bf> と打ち込んで
ください. こうすると, FreeBSD はコンフィグレーションモードになり,
ハードウェアに関する情報を FreeBSD に与えることができるようになります.
インストールディスクの FreeBSD カーネルは, 多くのデバイスの IRQ,
IO アドレスが工場出荷時の値に設定されているものと仮定して作られています.
もしもあなたのハードウェアの設定を変更したなら, <bf> -c</bf>
オプションで立ち上げて, 設定がどうなっているかを指定してあげること
が必要になるでしょう.
<p>存在しないデバイスを検出すると, 実際に存在している他のデバイスの
検出に失敗することが考えられます. そのような場合は, 衝突している
デバイスを無効にしなくてはなりません.
<p>コンフィグレーションモードでは,
<itemize>
<item>カーネルに組み込まれているデバイスドライバの一覧を表示する</item>
<item>あなたのシステムにないハードウェアのデバイスドライバを無効にする</item>
<item>デバイスドライバの IRQ, DRQ, IO ポートアドレスなどの変更する</item>
</itemize>
などができます.
<p> <tt>config&gt;</tt> プロンプトが出ているところで, <tt>help</tt>
と打ち込むと, 使用可能なコマンドについての詳しい説明が出てきます.
あなたのマシンのハードウェア設定に合うようにカーネルを変更したら,
<tt>config&gt;</tt> プロンプトが出たところで <tt>quit</tt> と打ち込んで,
新しい設定でマシンを立ち上げます.
FreeBSD のインストールがひとたび終了した後は, コンフィグレーションモード
での変更はずっと保持されますので, 立ち上げのたびに設定変更をする必要は
なくなりますが, あなたのシステムの性能を高めるために,
カスタムカーネルを作るのが好ましいでしょう. カスタムカーネルの作成に関しては,
<ref id="kernelconfig" name="FreeBSD カーネルのコンフィグレーション">
の章をご覧ください.
<sect><heading>サポートされている設定一覧<label id="install:hw"></heading>
<p>現在 FreeBSD は, ISA, VL, EISA, PCI バスや, 386SX から Pentium クラス
までのさまざまな種類の PC で動作します (386SXはおすすめではありません).
IDE, ESDIドライブや, さまざまな SCSI コントローラ, ネットワークカードや
シリアルカードにも対応しています.
FreeBSD を走らせるには, 最低 4メガバイトの RAM が必要です. X Window System を
走らせるには最低でも 8メガバイトの RAM が推奨されます.
以下のリストでは, FreeBSD で動作が確認されているディスクコントローラ
やイーサネットカードです. 他の設定でもうまく動いてくれると
思いますが, 私たちのところには情報は入ってきていません.
<sect1><heading>ディスクコントローラ</heading>
<p>
<itemize>
<item>WD1003 (あらゆる MFM/RLL)
<item>WD1007 (あらゆる IDE/ESDI)
<item>IDE
<item>ATA
<item>Adaptec 1505 ISA SCSI コントローラ
<item>Adaptec 152x シリーズ ISA SCSI コントローラ
<item>Adaptec 1535 ISA SCSI コントローラ
<item>Adaptec 154x シリーズ ISA SCSI コントローラ
<item>Adaptec 174x シリーズ EISA SCSI コントローラ
(スタンダード, エンハンスドモード)
<item>Adaptec 274x/284x/2940/2940U/3940
(Narrow/Wide/Twin)
シリーズ EISA/VLB/PCI SCSI コントローラ
<item>Adaptec AIC7850 オンボード SCSI コントローラ
<item>Adaptec
<!-- AIC-6260 and - 実際のところ動いていません, joerg -->
AIC-6360系のボード
AHA-152x や SoundBlaster SCSI などがこれにあたります.
<bf>注意:</bf> Soundblaster カードには, オンボード BIOS
が載っていないので, このカードからは FreeBSD を起動できません.
オンボード BIOS とは, システム BIOS の I/O ベクタにブートデバイスを
登録するときに必要なものです. このカードは外部テープであるとか,
CD-ROM であるとかその他の場合には十分利用可能です.
同じことは, ブート ROM の載っていない AIC-6x60 系のカードにもいえます.
いくつかのシステムでは実際にブート ROM を持っています.
それは電源を入れるかリセットしたとき, 最初に表示されます.
詳しくはあなたのシステムやボードの解説書をご覧ください.
<item>Buslogic 545S &amp; 545c
<bf>注意:</bf> Buslogic社は古くは Bustek社といっていました.
<item>Buslogic 445S/445c VLバス SCSI コントローラ
<item>Buslogic 742A, 747S, 747c EISA SCSI コントローラ.
<item>Buslogic 946c PCI SCSI コントローラ
<item>Buslogic 956c PCI SCSI コントローラ
<item>NCR 53C810 , 53C825 PCI SCSI コントローラ.
<item>NCR5380/NCR53400 (``ProAudio Spectrum'') SCSI コントローラ.
<item>DTC 3290 EISA SCSI コントローラ (1542 エミュレーション)
<item>UltraStor 14F, 24F, 34F SCSI コントローラ.
<item>Seagate ST01/02 SCSI コントローラ.
<item>Future Domain 8xx/950 シリーズ SCSI コントローラ.
<item>WD7000 SCSI コントローラ.
</itemize>
サポートされている SCSI コントローラのすべてで, ディスク, テープドライブ
(含む DAT), CD-ROM ドライブなどの周辺機器との通信に SCSI-I,
SCSI-II が利用可能です.
現在, 次にあげるタイプの CD-ROM ドライブがサポートされてます.
<itemize>
<item>Soundblaster SCSI , ProAudio Spectrum SCSI (<tt>cd</tt>)
<item>ミツミ (全モデル) 独自のインタフェース (<tt>mcd</tt>)
<item>松下 / Panasonic (Creative)
CR-562/CR-563 インタフェース (<tt>matcd</tt>)
<item>ソニー インタフェース (<tt>scd</tt>)
<item>ATAPI IDE インタフェース
(まだまだお試し段階で, クオリティは低いです)
(<tt>wcd</tt>)
</itemize>
<sect1><heading>イーサネットカード<label id="install:nics"></heading>
<p>
<itemize>
<item>Allied-Telesis AT1700, RE2000 カード
<item>SMC Elite 16 WD8013 Ethernet インタフェース,
その他多くの WD8003E, WD8003EBT, WD8003W, WD8013W,
WD8003S, WD8003SBT や WD8013EBTなどの互換品.
SMC Elite Ultra もサポートされています.
<item>DEC EtherWORKS III ネットワークインタフェースカード (DE203, DE204, DE205)
<item>DEC EtherWORKS II ネットワークインタフェースカード (DE200, DE201, DE202, DE422)
<item>DEC DC21040/DC21041/DC21140 ベースのネットワークインタフェースカード:
<itemize>
<item>ASUS PCI-L101-TB
<item>Accton ENI1203
<item>Cogent EM960PCI
<item>Compex CPXPCI/32C
<item>D-Link DE-530
<item>DEC DE435
<item>Danpex EN-9400P3
<item>JCIS Condor JC1260
<item>Linksys EtherPCI
<item>Mylex LNP101
<item>SMC EtherPower 10/100 (Model 9332)
<item>SMC EtherPower (Model 8432)
<item>SMC EtherPower (2)
<item>Zynx ZX342
</itemize>
<item>DEC FDDI (DEFPA/DEFEA) ネットワークインタフェースカード
<item>富士通 FMV-181, FMV-182
<item>富士通 MB86960A/MB86965A
<item>Intel EtherExpress
<item>Intel EtherExpress Pro/100B 100Mbit.
<item>Isolan AT 4141-0 (16 bit)
<item>Isolink 4110 (8 bit)
<item>Novell NE1000, NE2000, NE2100 イーサネットインタフェース
<item>3Com 3C501 カード
<item>3Com 3C503 Etherlink II
<item>3Com 3c505 Etherlink/+
<item>3Com 3C507 Etherlink 16/TP
<item>3Com 3C509, 3C579, 3C589 (PCMCIA) Etherlink III
<item>3Com 3C590, 3C595 Etherlink III
<item>HP PC Lan Plus (27247B と 27252A)
<item>東芝 イーサネットカード
<item>IBM , National Semiconductor社 PCMCIA
イーサネットカードもサポートされています.
</itemize>
<p><em>注意:</em> FreeBSD は今のところ, いくつかのイーサネットカードの
PnP (プラグ&amp;プレイ) 機能には対応していません. もし PnP で問題が起こる
ようでしたら, PnP 機能を無効にしてください.
<sect1><heading>その他のデバイス<label id="install:misc"></heading>
<p>
<itemize>
<item> AST 4 ポート シリアルカード (シェアード IRQ 使用)
<item> ARNET 8 ポート シリアルカード (シェアード IRQ 使用)
<item> BOCA IOAT66 6 ポート シリアルカード (シェアード IRQ 使用)
<item> BOCA 2016 16 ポート シリアルカード (シェアード IRQ 使用)
<item> Cyclades Cyclom-y シリアルボード
<item> STB 4 ポート カード (シェアード IRQ 使用)
<item> SDL Communications Riscom/8 シリアルボード
<item> SDL Communications RISCom/N2 と N2pci 同期シリアルカード
<item> Digiboard Sync/570i high-speed 同期シリアルカード
<item>Decision-Computer Intl. "Eight-Serial" 8 ポートシリアルカード
(シェアード IRQ 使用)
<item> Adlib, SoundBlaster, SoundBlaster Pro,
ProAudioSpectrum, Gravis UltraSound, Gravis UltraSound MAX
Roland MPU-401 などのサウンドカード
<item>Matrox Meteor video フレームグラバー
<item>Creative Labs Video spigot フレームグラバー
<item>Omnimedia Talisman フレームグラバー
<item>X-10 power コントローラ
<item>PC ジョイスティックおよびスピーカ
</itemize>
FreeBSD は今のところ, IBM社のマイクロチャネルアーキテクチャ (MCA) バスには
対応していません.
<sect><heading>インストールの下準備</heading>
<p>FreeBSD のインストール方法はさまざまあります. それぞれの
インストール方法に対して, どのような下準備が必要かをこれから説明します.
<sect1><heading>CD-ROM からインストールする前に</heading>
<p>あなたの CD-ROM ドライブがサポートされていないタイプの場合は,
<ref id="install:msdos"
name="ハードディスクの MS-DOS パーティションからインストールする前に">
に飛んでください.
Walnut Creek の FreeBSD CD-ROM からインストールする場合は, 大した下準備
をしないでもうまくインストールできることでしょう (その他の CD-ROM
でもうまくいくでしょうが, その CD-ROM がどうやって作られているか, 私たち
はわかりませんので確実なことは言えません).
Walnut Creek の CD-ROM に収録されている, ``install.bat'' で直接 FreeBSD
を立ち上げることもできますし, ``makeflp.bat'' でブートフロッピーディスクを
つくることもできます. [注意: もし FreeBSD 2.1-RELEASE を使っていて
IDE CD-ROM ドライブを持っている場合, install.bat のかわりに
inst&lowbar;ide.bat もしくは atapiflp.bat を使ってください. ]
DOS から最も楽なインタフェースを使いたい場合は ``view'' と打ち込みます.
そうすると DOS でのメニューが立ち上がって, 可能なオプション
すべてを選択できます.
あなたが UNIX マシンでブートフロッピーディスクを作成している場合は,
<ref id="install" name="FreeBSD のインストール"> を参考にしてください.
DOS から, もしくはフロッピーディスクから起動をおこなうと,
メニュー ``Media'' から, インストールメディアとして CDROM を
選択することで, 配布ファイルをロードすることができるようになります.
他の種類のインストールメディアは不要なはずです.
システムインストールがすべて終了して, ハードディスクから起動
しなおしてからは, <tt>mount /cdrom</tt> とタイプする
ことでいつでも CD-ROM のマウントをすることができるようになります.
CD-ROM を取り出す前には <tt>umount /cdrom</tt> と打ち込まなくてはならない
ことを覚えておいてください. 単純にドライブから取り出さないように!
<quote><bf>特別な注意:</bf> インストールに入る前に,
CD-ROM をドライブに入れておいて, インストールフロッピーディスクが立ち上がる
ときに CD-ROM を見つけられるようにしておくようにしましょう. CD-ROM を
デフォルトでシステムにつけ加えたい場合も CD-ROM を入れておきます
(インストールメディアとして実際に CDROM を選択しない場合も同様).
</quote>
おわりに, あなたのマシンの CD-ROM を直接使って, FTP 経由で別のマシンに
FreeBSD をインストールさせたいとします. やり方は簡単です.
あなたのマシンのインストールが終了した後に, vipw コマンドを使って,
passwd ファイルに以下の行を追加します.
<tscreen><verb>
ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
</verb></tscreen>
こうするとあなたのマシンにネットワーク接続できる人 (そして,
login 許可を持っている人) は, メディアタイプとして FTP を選択できるように
なります. 具体的には, FTP サイトの選択メニューから ``Other'' を選択して,
<tt>ftp://<em>あなたのマシンのアドレス</em></tt>
を入力します.
<sect1><heading>フロッピーディスクからのインストールの前に</heading>
<p>あなたがフロッピーディスクからのインストールをしなくては
ならない場合, その理由はハードウェアがサポートされてなかったためか,
単にいばらの道を通ることを楽しんでいるからでしょうが, インストール用の
フロッピーディスクを用意する必要があります.
最低でも bin (基本配布ファイル) ディレクトリ内のすべてのファイル
を入れられるだけの 1.44 メガバイトか 1.2 メガバイトのフロッピーディスク
が必要です. これらのフロッピーディスクを DOS で作成している場合は,
フロッピーディスクは「MS-DOS の FORMAT コマンドでフォーマット」
されなくてはなりません. Windows をお使いの場合は, Windowsの
ファイルマネージャの初期化コマンドを使用してください.
工場での初期化済みディスクを「信用しないでください」. 念のためにあなた
自身でフォーマットし直してください. ユーザからのトラブル報告の多くは
ちゃんと初期化されていないディスクを使用していたことが原因となっています.
私が特にフォーマットし直してくださいと述べているのも, この理由からです.
他の FreeBSD マシンでフロッピーディスクを作成している場合,
フォーマットすることは悪いことではありません. いちいち DOS
ファイルシステムのフロッピーディスクを作成する必要はありませんので,
`disklabel' コマンドと `newfs' コマンドを使って, 次のような手順で
(3.5 インチ 1.44 メガバイトディスク用の) UFS ファイルシステムを
作成することもできます.
<tscreen><verb>
fdformat -f 1440 fd0.1440
disklabel -w -r fd0.1440 floppy3
newfs -t 2 -u 18 -l 1 -i 65536 /dev/rfd0
(5.25 インチの 1.2 メガバイトディスクの場合は "fd0.1200" と "floppy5" にしてください)
</verb></tscreen>
これで他のファイルシステムと同様に mount して書き込むことができます.
フォーマットされたフロッピーディスクを用意したら, それらにファイル
をコピーしなくてはなりません. 配布ファイルはいくつかのかたまり
にわかれていて, これらのかたまり五つで一般的な 1.44 メガバイトの
フロッピーディスクに収まるようになっています. フロッピーディスクに
入るだけファイルを入れていって, 配布ファイルをすべてコピーしてください.
それぞれの配布ファイルはサブディレクトリにコピーする必要があります. 例えば,
<bf>a:&bsol;bin&bsol;bin.aa</bf>とか,
<bf>a:&bsol;bin&bsol;bin.ab</bf>といった感じです.
インストールメディアの選択場面になったら, ``Floppy'' を選択して,
残りの指定をやってください.
<sect1><heading>ハードディスクの MS-DOS パーティションからインストールする前に
<label id="install:msdos"></heading>
<p>
ハードディスクの MS-DOS パーティションからインストールするときは,
まずファイルを <tt>C:&bsol;FREEBSD</tt> にコピーします.
CD-ROM にあるディレクトリ構造を反映してコピーしなくてはなりません.
DOS の <tt>xcopy</tt> コマンドの使用をおすすめします.
例えば, FreeBSD の最低限のインストールをするには, このような手順で
コピーします.
<tscreen><verb>
C> MD C:\FREEBSD
C> XCOPY /S E:\BIN C:\FREEBSD\BIN\
C> XCOPY /S E:\MANPAGES C:\FREEBSD\MANPAGES\
</verb></tscreen>
ここで, <tt>C:</tt>ドライブには十分なディスクスペースが残っており,
CD-ROM は <tt> E:</tt>ドライブに接続されているものとします.
MS-DOS からたくさんの `配布ファイル (DISTS)' をインストールしたい
(そしてディスクの余裕がある) 場合は, それぞれ <tt>C:&bsol;FREEBSD</tt>
ディレクトリにコピーします - <tt>BIN</tt> 配布ファイルは,
最低限必要なものです.
<sect1><heading>QIC/SCSI テープからのインストールの前に</heading>
<p>テープからのインストールは, おそらく FTP を利用したオンライン
インストールか, CD-ROM を利用したインストールができない場合の,
もっとも簡単な方法でしょう. インストールプログラムは, 以下のような
コマンドを使用して, 単純に配布ファイルがテープ上に tar されていることを
期待しています.
<tscreen>
cd /freebsd/distdir<newline>
tar cvf /dev/rwt0 (または /dev/rst0) dist1 .. dist2
</tscreen>
インストールに入る前に, テンポラリ (一時使用) ディレクトリに
十分なディスクスペースを確保して, 作成したテープの<bf>すべての</bf>
ファイルを格納できることを確認してください (テンポラリディレクトリは
自分で選ぶことができます). テープの特性上, ランダムにアクセスするこ
とができませんので, 一時的に極めて大量の容量を必要とします.
テープに準備しただけの量のディスクスペースを一時的に使用することに
留意してください.
<quote><bf>注意:</bf> インストールに入るときは, ブートフロッピーディスク
から立ち上げる<bf>前</bf>にテープをドライブに入れておかなくてはなりません.
さもないとインストール時のデバイス検出のときにテープを見つけられません. </quote>
<sect1><heading>ネットワーク経由のインストールの前に</heading>
<p>三つの物理的な接続形態で, ネットワーク経由のインストールを
おこなうことができます.
<descrip>
<tag>シリアルポート</tag> SLIP もしくは PPP 方式.
<tag>パラレルポート</tag> PLIP (laplink ケーブル使用)
<tag>イーサネット</tag> 標準的なイーサネットコントローラ
(いくつかの PCMCIA カードにも対応)
</descrip>
SLIP のサポートはまだまだ原始的とも呼べる方法なので, ラップトップと
他のコンピュータをシリアルケーブルで接続するといった具合いに,
直接接続してなくてはいけません. SLIP インストールは, ダイヤル機能を
持っていませんので, インストールするためには直接接続しなくてはなりません.
PPP インストールではダイヤルアップ接続が可能ですので, できれば PPP 接続の
方を選択しましょう.
もしもあなたがモデムを使用しているなら, あなたに残された選択肢は
ほぼ間違いなく PPP インストールでしょう. インストール時に必要になりますので,
サービスプロバイダ (ISP) に関する情報を用意しておきましょう.
PPP ダイヤルの際は, とてもシンプルな端末エミュレーターで作業する
ことになりますので, お手持ちのモデムで ISP にダイヤルするため
の「ATコマンド」の使い方を知っておく必要があります. もし PAP
や CHAP を用いるなら, 「term」を入力する前に「set authname」や
「set authkey」といったコマンドを入力する必要があるでしょう.
これ以上の情報については, <ref id="userppp" name="handbook">
や <url url="../FAQ/userppp.html" name="FAQ"> のユーザー PPP
エントリーを参照して下さい. 問題が起きた場合には, <tt/set log
local .../ コマンドを用いてログを画面に吐くこともできます.
FreeBSD (2.0R 以降) の動いている別のマシンと直接接続が可能でしたら,
``laplink'' パラレルポートケーブルで接続することを考えてみましょう.
パラレルポート経由のデータ転送スピードは, シリアルラインでの
一般的なスピード (最高 50kbit/sec) よりもずっと高速ですので,
高速にインストールすることができます.
最後になりますが, ネットワークインストールのうちでもっとも高速なものとしては
イーサネットアダプタを使用するのがあげられます. FreeBSD ではきわめて多くの
PC イーサネットカードをサポートしています. サポートされている
カードの表 (と, 必要な設定) は,
<ref id="install:hw" name="サポートされている設定一覧"> に書いてあります.
サポートされている PCMCIA カードを使っている場合には, ラップトップの電源を
入れる「前」に差し込んでおくことにも注意してください. 残念ながら今の
FreeBSD は, インストール時の活線挿抜には対応していません.
ネットワークでの IP アドレス, あなたのアドレスクラスに対応した
ネットマスク, マシン名を知っておくことも必要です. ネットワーク管理者の方に
たずねればどんな値を使ったらよいかを教えてくれるでしょう. もしも他のホストを
IP アドレスではなくて名前で引きたい場合, ネームサーバとゲートウェイ
のアドレスも知らなくてはなりません (PPP をご使用の場合は, プロバイダの
IP アドレスになります). これらのうちのすべて, またはいくつかを
知らない場合は, イーサネット経由でのインストールを始める前に「まず」
ネットワーク管理者に相談してください.
何らかのネットワーク接続ができたら, 続けてインストールを NFS か
FTP 経由でおこないます.
<sect2><heading>NFS インストールのための下準備</heading>
<p>NFS インストールはまったく単純明解です. FreeBSD の配布ファイルを
サーバの好きな場所にコピーしておいて, メディア選択で NFS を選択します.
もしサーバが ``privileged (特権) ポート'' へのアクセスのみをサポート
している場合, (Sun ワークステーションの標準ではこうなっています)
インストールを進める前に Options メニューを選択して, ``privileged
port'' オプションを選択してください.
イーサネットカードの性能が悪くて, 転送速度が遅くて困っている場合も,
適当な Options を選択するとよいでしょう.
NFS 経由でインストールするためには, サブディレクトリも
含めたマウントにサーバが対応している必要があります. 例えば,
FreeBSD &rel.current; の配布ファイルが
<bf>ziggy:/usr/archive/stuff/FreeBSD</bf>
にあるとすると, マシン ziggy では <bf>/usr</bf> や
<bf>/usr/archive/stuff</bf> だけではなく,
<bf>/usr/archive/stuff/FreeBSD</bf> の直接マウントが可能に
なっていなければなりません.
FreeBSD の <bf>/etc/exports</bf> ファイルでは, このことは
``<tt>-alldirs</tt>'' オプションによって制御されています.
他の NFS サーバの場合だとまた話が違ってくるかもしれません.
もしもサーバから `Permission Denied' というメッセージが
返ってくるようでしたら, サブディレクトリマウントをちゃんと
有効にできていないことが考えられます.
<sect2><heading>FTP インストールのための下準備</heading>
<p>FTP 経由のインストールは, FreeBSD &rel.current; の最新バージョンを
ミラーしているどのサイトからでも可能です. 世界中の妥当な FTP サイトの
選択肢をメニューに並べておきました.
このメニューに出ていない他の FTP サイトからインストール
する場合や, ネームサーバの設定に問題が生じた場合は,
メニューでサイト ``Other'' を選ぶところで, お好みの
URL でサイトを指定することができます. URL として直接 IP
アドレスで指定してもよく, 直接指定した場合はネームサーバ
がなくても FTP インストールが可能になります. 例えば,
<tscreen><verb>
ftp://192.216.222.4/pub/FreeBSD/&rel.current;-RELEASE
</verb></tscreen>
のような感じですね.
FTP 経由のインストールモードとして, このようなものが
使用可能です:
<descrip>
<tag>FTP Active</tag>
すべての FTP 転送の際に ``Active'' モードを使用します.
ファイアウォール内部のマシンではうまく動きませんが,
passive モードをサポートしていない古い FTP サーバでも
動作します. passive モードでの FTP 転送 (こちらが
デフォルトです) が失敗した場合は, active を使ってください.
<tag>FTP Passive</tag>
すべての FTP 転送の際に ``Passive'' モードを使用します.
このモードを使用することで, ランダムポートアクセスインを
許さないファイアウォールを越えることができるようになります.
</descrip>
<quote><bf>注意:</bf> Active, passive モードは `proxy'
接続と同じではありません! proxy FTP サーバは FTP 要求
を受け付け実際の FTP サーバへ転送します. </quote>
通常 proxy FTP サーバ に対しては, ユーザ名の一部として
@ 記号に続いて実際に接続したいサーバの名称を与える必要が
あります. そうすると proxy サーバは本当のサーバの「ふり」
をするようになります. 例えば: ftp.freebsd.org から ポート番号
1234 で要求を待つ proxy FTP サーバ foo.bar.com を使って
インストールしたいとします.
この場合では, 「オプション」メニューで FTP username を
ftp@ftp.freebsd.org, パスワードとして自分の電子メールアドレス
を指定します. インストールメディアとして FTP (または proxy
サーバがサポートしていれば passive FTP), URL を以下のようにします:
<tscreen><verb>
ftp://foo.bar.com:1234/pub/FreeBSD
</verb></tscreen>
ftp.freebsd.org の /pub/FreeBSD に対する FTP 要求については
foo.bar.com が代理で処理をおこなうことになり, 「むこう」
のマシンからインストールすることができます (インストール時
の要求により ftp.freebsd.org からファイルをもってきます).
<sect><heading>FreeBSD のインストール</heading>
<p>インストールの下準備を適切に書き留めておけば, なんの
問題もなく FreeBSD のインストールができることと思います.
何かうまくいかなかった場合は, あなたが使おうとしている
インストールメディアのことが書いてある箇所まで戻って
もう一度読むとよいでしょう. おそらく最初読んだときに
見落していた, 有効なヒントがあるものと思います.
ハードウェアの問題が出てきたとか, FreeBSD がまったく
立ち上がらない場合は, boot フロッピーディスクに提供されている
Hardware Guide を読んで, 何か解決方法はないか探してください.
FreeBSD のブートフロッピーディスクには, インストールをおこなうために
必要と思われるすべてのオンラインドキュメントを用意してあります.
もしもそのドキュメントがお望みのものでないようでしたら,
私たちはあなたが何にもっとも困っているのかを知りたいと思います.
コメントを &a.doc; にお送りください. FreeBSD のインストールプログラム
(sysinstall) を, うっとうしい ``step-by-step'' ガイドなしに,
プログラム自身で使用方法がわかるようにするのが最終目標です.
目標達成までには時間がかかりそうですが, ともかくそれが
目標なのであります.
閑話休題. ここに, 「典型的なインストールの手順」を
まとめてみましたので, お役にたてるものと思います.
<enum>
<item>ブートフロッピーディスクから起動します. ハードウェアの性能に
よりますが, 起動には 30秒から 3分かかります. 起動したら
初期選択画面が出てくるでしょう, もしもフロッピーディスクから
まったく起動しなかったり, どこかの段階で起動が止まってしまった
場合は, ハードウェアガイドの Q&amp;A を読んで, 理由を
探ってみます.
<item>F1 キーを叩きます. メニューシステムとインストールプログラム
全般に対しての使い方が表示されます. このメニューシステムを
使ったことがない場合は, 「徹底的に」読んでください.
<item>Options を選択し, 他に必要な特別な選択を
おこないます.
<item>典型的なインストールでおまかせしたい方は Novice を,
インストールのそれぞれの段階をいちいちコントロールしたい方は Custom を,
(可能であれば適切なデフォルトを使用して) 簡単にさっさと済ませたい方は
Express を, それぞれ好みに応じて選んでください.
FreeBSD を初めて使う方には, Novice を一番におすすめします.
<item>final configuration メニューからは, メニュー形式のさらに
進んだ設定をおこなうことができます. ネットワーク周りの
設定は, 特に CD-ROM / テープ / フロッピーディスクから
インストールして, まだネットワーク設定をおこなっていない
人にとっては特に重要でしょう. インストールの時点できちんと
設定しておけば, ハードディスクからシステムを立ち上げ直した
時点でネットワーク接続ができるようになっていることでしょう.
</enum>
<!-- なぜか最近の install.sgml では, 削除されてます. もったいない... -->
<!--
<sect1><heading>Express インストール</heading>
<p>Express インストールは Custom インストールとそんなに変わる
ところはないのですが, 必要な作業を流れに沿って順番に提示
してくれて, それぞれの段階で便利なガイドが表示されるところが
ことなっています.
<enum>
<item>インストールは `Partition Editor' から始まります.
ここでどのドライブを FreeBSD で使うかを指定します.
もしもドライブ全体を使いたい場合は, `A' コマンド
だけを打ち込めばよいはずです.
<item>次に `Label Editor' に進みます. 確保した FreeBSD の
パーティションをどのように使うか, または DOS のような
FreeBSD 以外のパーティションをどこにマウントするかなどを
指定します. 標準のままの使い方でよければ単に `A' と
打ち込みます.
<item>次は `Distributions' メニューに進みます.
ここでは何をインストールしたいかを選択します.
小規模システムにしたい場合は ``User'' を選択しますし,
FreeBSD からの何らかの拡張をしようと思っている場合は
``Developer'' を選択します.
どの選択肢も気に入らない場合は Custom を選んでください.
<item>次に, `Media' メニューで, どのメディアから
インストールしたいかを指定します. もしも望みのメディアが
選ばれており, 自動的に設定されていた場合は, ただメニュー
から戻ってくるだけで OK です. そうでない場合はメディアタイプ
の細かい指定をおこないます.
<item>おわりに, これまでのすべての指定で GO サインを出すか
どうか求められてきます (これまでの段階ではまだ
ディスクに書き込まれていませんし, GO サインを
出すまで書き込まれません). GO サインを出すと
いよいよインストールが始まります. 新しく
作ったパーティションや, 変更したパーティションの
情報が書き出され, 新しいファイルシステムが
作られたり, ファイルシステムはそのままでラベル
されたりします (新しいファイルシステムを作るか,
既存のものにラベルするかは, Label Editor の
newfs オプションをどう設定したかで決まります).
ファイルシステムができると選択した配布ファイルが
すべて展開されます.
</enum>
ここまでくれば, sysinstall プログラムでの作業は大体おしまいです.
`Quit' を選択できます. sysinstall プログラムを
インストーラとして使用している場合 (システムのインストール
が完了する直前) は, 最後の行でリターンキーを打って
`Quit' を選択すると, システムは再起動します (訳注:再起動した
ときにはブートフロッピーディスクを抜きとります). インストールの
際にブートマネージャオプションを選択していたなら, `F?'
プロンプトのついたブートメニューが現れるでしょう. 表示され
ているとおりにファンクションキーを押して FreeBSD を選択する
と, ハードディスクから FreeBSD が立ち上がることでしょう.
何らかの理由でうまくいかなかった場合は, ハードウェアガイドの
Q&amp;Aを読んで, 問題解決の手がかりを探してください.
<sect1><heading>Custom インストール</heading>
<p>このメニューを使えば, ``Commit'' しない限り, あなたの
システムを変更することなくすべての設定ができます. ``Commit''
することですでに指定しておいた, システム変更の要求を実際に
おこないます. メニューのなかの, いくつかのオプションでは,
変更点をその場で書き込めるように `Write' コマンドが用意
されていますが, 本当に必要があると確信を持っている場合のみ
使用するべきでしょう. 変更点を最後まで実際に書き込まないで
おいて, 最後の瞬間まで気が変わったときにオプションを変更
できるようにしておくべきでしょう.
もしも混乱したときは大抵, F1 キーを押すと表示される
スクリーンに関する正しい情報が得られると思います.
-->
<!-- ここまでコメントアウトしてます -->
<sect><heading>MS-DOS ユーザのためのQ&amp;A</heading>
<p>多くのFreeBSD ユーザは, MS-DOS が入っている PC に FreeBSD を
インストールしたいと考えます. そのようなシステムに
FreeBSD をインストールする際によく聞かれる質問を集めて
あります.
<p><bf>助けて! ディスクスペースが余ってないのです.
最初に MS-DOS のファイルを全部削除しないといけませんか? </bf>
もしあなたのマシンですでに MS-DOS が走っていて, FreeBSD の
インストール用の空きスペースが少ないか, まったくない場合でも
大丈夫です. FreeBSD の CD-ROM や, FTP サイトの <tt>tools</tt>
ディレクトリに FIPS プログラムというのがありますが,
これが非常に役立ちます.
FIPS を使えば, すでに存在している MS-DOS のパーティションを
二つに分けることができ, さらにもともとのパーティションは
残してくれて, 二つめのパーティションを FreeBSD の
インストールに使用することができるようになります.
まず DOS6.xx についてくる DEFRAG か, Norton Disk ツールを使って,
MS-DOS パーティションからフラグメント情報を取り去って, その後に
FIPS を走らせます. FIPS ユーティリティから必要な情報が
手に入ります. その後マシンを立ち上げ直して, 空いた場所に
FreeBSD をインストールします. どのくらいの空きスペースが
インストールに必要かは, <em>Distributions</em> メニューを
参考にしてください.
<bf>FreeBSD で MS-DOS の圧縮ファイルシステムにアクセス
できますか? </bf>
いいえ. もし Stacker(tm) や DoubleSpace(tm) のような
ユーティリティをお使いの場合, FreeBSD は非圧縮の部分にしか
アクセスできません. 残りの場所は一つの大きなファイルとして
(stack された, もしくは doublespace されたファイルとして)
見えます. <bf>そのファイルを削除しないでください!!</bf>
削除してしまうと後できっと後悔します.
非圧縮の MS-DOS の基本区画を作って, そちらを MS-DOS と
FreeBSD とのやり取りに使うのがよろしいでしょう.
<bf>MS-DOS 拡張フォーマットをマウントできますか?</bf>
はい. DOS 拡張パーティションは FreeBSD の他の「スライス」の最後に
マップされます. 例えば D:ドライブ が /dev/sd0s5, E:ドライブが
/dev/sd0s6, といった具合いです. もちろん, この例では拡張
パーティションが SCSI ドライブ 0 にあることを仮定しています.
IDE ドライブでは当然, ``sd'' が ``wd'' となります. 他の DOS ドライブを
マウントするのと同様に, 次のようにして拡張パーティションもちゃんと
マウントできます:
<tscreen><verb>
mount -t msdos /dev/sd0s5 /dos_d
</verb></tscreen>
<bf>MS-DOS のバイナリを FreeBSD で実行できますか?</bf>
BSDI が BSD のコミュニティに対して寄贈した DOS エミュレータが
あり, これが FreeBSD 用に移植されています.
またこれとは別に, <ref id="ports" name="ports コレクション">
には, pcemu という (技術的に) 素晴らしいアプリケーションがあり,
これをつか うことで多くの MS-DOS のテキストモードで動くプログ
ラムを完全な 8088CPU のエミュレーション環境で走らせることがで
きます.

@ -1,232 +0,0 @@
<!-- $Id: isdn.sgml,v 1.9 1997-12-11 14:08:05 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.12 -->
<sect><heading>ISDN<label id="isdn"></heading>
<p><em>最終更新: &a.wlloyd;</em>.
<p><em>訳: &a.kiroh;.<newline>11 December 1996.</em>
<p>ISDN 技術とハードウェアに関しては,
<url url="http://alumni.caltech.edu/~dank/isdn/" name="Dan Kegel's
ISDN Page"> がよい参考になるでしょう.
ISDN の導入手順は, 簡単にいって以下のようになります.
<itemize>
<item>ヨーロッパ在住の方は, ISDN カードの節に進んでください.
<item>ISDN を使って, インターネットプロバイダに(専用線は使用せず), ダ
イアルアップ接続しようとしている場合は, ターミナルアダプタの使用を考え
てみてください. この方法はもっとも柔軟性があり, プロバイダを変更した場
合の問題も少ないでしょう.
<item>2つの LAN の間を接続しようする場合や, ISDN 専用線を使用する場合
には, スタンドアローンルータ/ブリッジの使用を勧めます.
</itemize>
<p>どの方法を用いるかを決定するには, 費用が重要な要素になってきます.
以下に, 最も安価な方法から, 高価な方法まで順に説明していきます.
<sect1><heading>ISDN カード</heading>
<p><em>原著者:&a.hm;.</em>
<p>このセクションの記述は, ヨーロッパの ISDN ユーザにのみ有効です.
サポートされているカードは, まだ北米の ISDN 標準には適合していないかもしれ
ません(?).
<p>このコードは, まだ大部分が開発段階にあります. とくにドライバに関し
ては, 二つのメーカーのカードしかサポートしていません.
<p>PC ISDN カードは, ISDN の最大のバンド幅 128Kbs をサポートします. こ
れらのカードは, ISDN 機器のうちもっとも安価な部類に入ります.
<p>FreeBSD 2.1.0 および 2.1.5 では, 初期の未完成の ISDN のためのコード
が /usr/src/gnu/isdn に含まれていますが, 古いバージョンのものですの
で使用しないでください. カーネルから ISDN をサポートしたい場合は,
bisdn パッケージを入手してください. このコードは, FreeBSD 2.2 からメイ
ンソースツリーから削除されています.
<p>bisdn という ISDN パッケージが以下のURLから入手できます.
<htmlurl url="ftp://hub.freebsd.org/pub/bisdn" name="hub.freebsd.org">
FreeBSD 2.1R, FreeBSD-current, NetBSDがサポートされています.
最新のソースは, 上記のftpサーバの isdn ディレクトリから,
bisdn-097.tar.gz という名前で入手できます.
以下のカードのドライバが存在します:
<itemize>
<item>EuroISDN (DSS1)および1TR6プロトコル用には, 現在すべての(passive) Teles
カードおよびそのクローンがサポートされています.
<item>Dr. Nauhaus - Niccy 1016
</itemize>
bisdn には, いくつかの制限があります.
特に ISDN に関連する機能のうち, 以下の機能はサポートされません.
<itemize>
<item>PPP はサポートされません. raw hdlc のみです. すなわち, Cisco 製
など, ほとんどのスタンドアロンーンルータ等とは接続できません.
<item>ブリッジングコントロールプロトコルはサポートされません.
<item>複数のカードは同時に使用できません.
<item>動的なバンド幅の変更はできません.
<item>チャンネルのバンドリングはできません.
</itemize>
majordomoによるメーリングリストが利用できます. 参加するには, 本文に
<verb>
subscribe freebsd-isdn
</verb>
と記入したメールを &a.majordomo 宛てに送ってください.
<sect1><heading>ISDN ターミナルアダプタ</heading>
<p>ターミナルアダプタ (TA) はISDN に対して, 通常の電話線に対するモデ
ムに相当するものです.
<p>ほとんどの TA は, 標準のヘイズ AT コマンドセットを使用しているので,
単にモデムと置き換えて使うことができます.
TA は, 基本的にはモデムと同じように動作しますが, 接続方法は異なり, 通
信速度も古いモデムよりはるかに速くなります. <ref id="ppp" name="PPP">
の設定を, モデムの場合と同じように行ってください. とくにシリアル速度を
使用できる最高速度に設定するのを忘れないでください.
プロバイダへの接続に TA を使用する最大のメリットは, 動的 PPP を行える
ことです. 最近 IP アドレスが不足してきているため, ほとんどのプロバイダ
は, 専用の IP アドレスを割り当てないようになっています. ほとんどのスタ
ンドアローンルータは, 動的 IP アドレスに対応していません.
訳注: 最近の ISDN ルータでは, IP アドレスの動的割り当てに対応している
ものも多いようです. ただし制限がある場合もありますので, 詳しくはメーカ
に問い合わせてください.
TA を使用した場合の機能や接続の安定性は, 使用している PPP デーモンに完
全に依存します. そのため, FreeBSD で PPP の設定が完了していれば, 使用
している既存のモデムを ISDN の TA に簡単にアップグレードすることができ
ます. ただし, それまでの PPP のプログラムに問題があった場合, その問題
は TA に置き換えてもそのまま残ります.
最高の安定性を求めるのであれば, ユーザープロセス<ref id="userppp"
name="iijPPP"> ではなく, カーネル<ref id="ppp" name="PPP">を使用してく
ださい.
<p>以下の TA は, FreeBSD で動作確認ずみです.
<itemize>
<item>Motorola BitSurfer および Bitsurfer Pro
<item>Adtran
</itemize>
他の TA もほとんどの場合うまく動作するでしょう. TA のメーカーでは, TA
がほとんどの標準モデム AT コマンドセットを受け付けるようにするよう, 努
力しているようです.
外部 TA を使う際の最大の問題点は, モデムの場合と同じく良いシリアルカー
ドが必要であるということです.
シリアルデバイスの詳細, そして非同期シリアルポートと同期シリアルポート
の差については, ハンドブックの<ref id="uart" name="シリアルポート"> の
節を参照してください.
標準の PC シリアルポート(非同期)に接続された TA は, 128Kbs の接続を行っ
ていても, 最大通信速度が 115.2Kbs に制限されてしまいます. 128Kbs の
ISDN の性能を最大限に生かすためには, TA を同期シリアルカードに接続しな
ければなりません.
内蔵 TA を購入して, 同期/非同期問題を片付けてしまおうとは思わないでく
ださい. 内蔵 TA には, 単に標準 PC シリアルポートのチップが内蔵されてい
るだけです. 内蔵 TA の利点といえば, シリアルケーブルを買わなくていいと
いうことと, 電源コンセントが一つ少なくて済むということくらいでしょう.
同期カードと TA の組合せは 386 の FreeBSD マシンの場合でも, スタンドア
ローンのルータと同程度の速度は確保できます. またこの組合せでは, ルータ
より柔軟な設定が可能です.
同期カード/TA を選ぶか, スタンドアローンルータを選ぶかは, 多分に宗教的
な問題です. メーリングリストでもいくつか議論がありました. 議論の内容に
ついては, <url url="http://www.freebsd.org/search.html" name="archives">
を参照してください.
<sect1><heading>スタンドアローン ISDN ブリッジ/ルータ</heading>
<p>ISDN ブリッジやルータは, OS 特有のものではありません. もちろん
FreeBSD 特有のものでもありません. ルーティングやブリッジング技術に関す
る詳細は, ネットワークの参考書をご覧ください.
このページでは, ルータとブリッジにどちらでもあてはまるように記述します.
<p>ISDN ルータ/ブリッジは, ローエンドの製品のコストが下がってきている
こともあり, より一般的に使用されるようになるでしょう. ISDN ルータは,
外見は小さな箱で, ローカルのイーサネットネットワーク(もしくはカード)と
直接, 接続します. また, 自身で他のブリッジ/ルータとの接続を制御します.
PPP や他のプロトコルを使用するためのソフトウェアは, すべて組み込まれて
います.
ルータは, 完全な同期 ISDN 接続を使用するため, 通常の TA と比較してスルー
プットが大幅に向上します.
ISDN ルータ/ブリッジを使用する場合の最大の問題点は, 各メーカーの製品間
に相性の問題がまだ存在することです. インターネットプロバイダとの接続を
考えている場合には, プロバイダと相談することをお勧めします.
<p>事務所の LAN と家庭の LAN の間など, 二つの LAN セグメントの間を接続
しようとしている場合は, ブリッジ/ルータの使用がもっともメンテナンスが
簡単で, 努力が少なくてすむ方法です. 両側の機材を購入するのであれば, メー
カー間の接続性の問題もないでしょう.
たとえば家庭の LAN や出張所の LAN を本社のネットワークに接続するために
は, 以下のような設定が使用できます.
<em>出張所 LAN または 家庭 LAN</em>
ネットワークは, 10 Base T イーサネットです. ルータとネットワークの間は,
必要に応じて AUI/10BT トランシーバを使って接続します.
<verb>
---Sun ワークステーション
|
---FreeBSD マシン
|
---Windows 95 (別に勧めているわけじゃありません)
|
スタンドアローンルータ
|
ISDN BRI ライン
</verb>
家庭/出張所 LAN で, 一台しかコンピュータを接続しないのであれば, クロス
のツイストペアケーブルを使用して, スタンドアローンルータと直結も可能で
す.
<em>本社 LAN や他の LAN</em>
ネットワークは, ツイストペアイーサネットです.
<verb>
-------Novell サーバ
| |
|ハ ---Sun
| |
| ---FreeBSD
| |
|ブ ---Windows 95
| |
|___---スタンドアローンルータ
|
ISDN BRI ライン
</verb>
ほとんどのルータ/ブリッジでは, 別々の二つのサイトに対して, 同時にそれ
ぞれ独立した二つの PPP 接続が可能です. これは, 通常の TA ではサポート
されない機能で, ルータ/ブリッジ接続の大きな利点です (シリアルポートを
二つもつ特殊(そして高価な) TA では可能です). チャンネル割り当てや MPP
などと混同しないでください.
これは, 大変便利な機能です. たとえば事務所で専用線インターネット ISDN
接続を使用していて, 別の ISDN ラインを購入したくないとします. この場合,
事務所のルータは, 一つの専用線 B チャンネル接続(64Kbs)を維持しつつ, 別
の B チャンネルを他の用途に使用することができます. たとえば, 他の場所
とのダイアルイン, ダイアルアウトに使用したり, バンド幅を増やすために,
インターネットとの接続への動的に割り当て(MPP など)に使用したりすること
が可能です.
<p>またイーサネットブリッジは, IP パケットだけでなく IPX/SPX などすべての
プロトコルのパケットを中継することが可能です. </p>

@ -1,78 +0,0 @@
<!-- $Id: jcontrib.sgml,v 1.11 1998-01-18 15:23:19 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<chapt><heading>FreeBSD Handbook 日本語化について<label id="jcontrib"></heading>
<p>FreeBSD 日本語ドキュメンテーションプロジェクトは, FreeBSD 関係の日本語
ドキュメントが少ないことを嘆いた数人の FreeBSD ユーザの提唱によって
1996年2月26日にスタートし, その最初の作業として, FreeBSD Handbook
の日本語への翻訳を始めました.
当初の予定から大幅に遅れながらもなんとか完成することができましたが,
これで終りではありません.
オリジナルの FreeBSD Handbook は日毎に更新されており, 私たちもまた
これに追い付くために作業を続けていきます. もちろん, 新しいメンバも大歓迎
です.
日本語翻訳版について, 何かお気づきの点がありましたら, &a.doc-jp;
までご連絡ください.
また, もし私たちの作業を手伝ってくれるなら,
<url url="http://www.jp.FreeBSD.ORG/doc-jp/" name="FreeBSD 日本語ドキュメンテーションプロジェクトのページ">をご覧の上, 是非参加してください.
<sect><heading>翻訳者 (五十音順)</heading>
<p>
<itemize>
<item>&a.asami
<item>&a.arimura
<item>&a.graphite
<item>&a.iwasaki
<item>&a.yoshiaki
<item>&a.candy
<item>&a.kimura
<item>&a.masaki
<item>&a.motoyuki
<item>&a.saeki
<item>&a.simokawa
<item>&a.yasu
<item>&a.mihoko
<item>&a.ts
<item>&a.nakai
<item>&a.ikuo
<item>&a.max
<item>&a.hanai
<item>&a.kiroh
<item>&a.hino
<item>&a.shou
<item>&a.yuki
<item>&a.maruyama
<item>&a.mita
<item>&a.kmiyakoda
<item>&a.tomo
</itemize>
<sect><heading>査読者 (五十音順)</heading>
<p>
<itemize>
<item>&a.asami
<item>&a.iwasaki
<item>&a.yoshiaki
<item>&a.kanou
<item>&a.koga
<item>&a.saeki
<item>&a.max
<item>&a.hanai
<item>&a.nao
<item>&a.kiroh
<item>&a.hino
<item>&a.shou
<item>&a.yuki
<item>&a.mrt
</itemize>
<sect><heading>ツール作成者</heading>
<p>
<itemize>
<item>&a.katsu
<item>&a.iwasaki
</itemize>

@ -1,143 +0,0 @@
<!-- $Id: jmembers.sgml,v 1.11 1997-12-17 16:37:30 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!--
翻訳者及び査読者の名前及び電子メールアドレス
-->
<!ENTITY a.doc-jp "FreeBSD 日本語ドキュメンテーションプロジェクト
<tt><htmlurl url='mailto:doc-jp@jp.FreeBSD.ORG'
name='&lt;doc-jp@jp.FreeBSD.ORG&gt;'></tt>">
<!--
<!ENTITY a.asami "浅見 賢
<tt><htmlurl url='mailto:asami@FreeBSD.ORG'
name='&lt;asami@FreeBSD.ORG&gt;'></tt>">
浅見さんは既に authors.sgml に入っているのでコメントアウト ;-)
-->
<!ENTITY a.nakai "中井 幸博
<tt><htmlurl url='mailto:nakai@mlab.t.u-tokyo.ac.jp'
name='&lt;nakai@mlab.t.u-tokyo.ac.jp&gt;'></tt>">
<!ENTITY a.koga "こがよういちろう
<tt><htmlurl url='mailto:y-koga@ccs.mt.nec.co.jp'
name='&lt;y-koga@ccs.mt.nec.co.jp&gt;'></tt>">
<!ENTITY a.iwasaki "岩崎 満
<tt><htmlurl url='mailto:iwasaki@jp.FreeBSD.org'
name='&lt;iwasaki@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.yuki "前田 幸範
<tt><htmlurl url='mailto:yuki@jp.FreeBSD.org'
name='&lt;yuki@jp.FreeBSD.org&gt;'></tt>">
<!--
<!ENTITY a.max "中根 雅文
<tt><htmlurl url='mailto:max@FreeBSD.ORG'
name='&lt;max@FreeBSD.ORG&gt;'></tt>">
中根さんは既に authors.sgml に入っているのでコメントアウト ;-)
-->
<!ENTITY a.yasu "鈴木 康修
<tt><htmlurl url='mailto:yasu@hike.te.chiba-u.ac.jp'
name='&lt;yasu@hike.te.chiba-u.ac.jp&gt;'></tt>">
<!ENTITY a.katsu "勝間田 淳
<tt><htmlurl url='mailto:katsu@baum.kiyose.tokyo.jp'
name='&lt;katsu@baum.kiyose.tokyo.jp&gt;'></tt>">
<!ENTITY a.ts "冨田 重成
<tt><htmlurl url='mailto:ts@icu.ac.jp'
name='&lt;ts@icu.ac.jp&gt;'></tt>">
<!ENTITY a.saeki "佐伯 隆司
<tt><htmlurl url='mailto:saeki@jp.FreeBSD.org'
name='&lt;saeki@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.kiroh "はらだ きろう
<tt><htmlurl url='mailto:kiroh@kh.rim.or.jp'
name='&lt;kiroh@kh.rim.or.jp&gt;'></tt>">
<!ENTITY a.masaki "櫛田 昌希
<tt><htmlurl url='mailto:masaki@po.iijnet.or.jp'
name='&lt;masaki@po.iijnet.or.jp&gt;'></tt>">
<!ENTITY a.hino "日野 浩志
<tt><htmlurl url='mailto:hino@nwk.cl.nec.co.jp'
name='&lt;hino@nwk.cl.nec.co.jp&gt;'></tt>">
<!ENTITY a.mita "三田 吉郎
<tt><htmlurl url='mailto:mita@jp.FreeBSD.org'
name='&lt;mita@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.yoshiaki "内川 喜章
<tt><htmlurl url='mailto:yoshiaki@kt.rim.or.jp'
name='&lt;yoshiaki@kt.rim.or.jp&gt;'></tt>">
<!ENTITY a.arimura "有村 光晴
<tt><htmlurl url='mailto:arimura@jp.FreeBSD.org'
name='&lt;arimura@jp.FreeBSD.org&gt;'></tt>">
<!--
<!ENTITY a.hanai "花井 浩之
<tt><htmlurl url='mailto:hanai@jp.FreeBSD.org'
name='&lt;hanai@jp.FreeBSD.org&gt;'></tt>">
花井さんも authors.sgml に入っているのでコメントアウト
-->
<!ENTITY a.tomo "渡辺 智雄
<tt><htmlurl url='mailto:tomo@jp.FreeBSD.org'
name='&lt;tomo@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.mihoko "田中 美穂子
<tt><htmlurl url='mailto:mihoko@pa.yokogawa.co.jp'
name='&lt;mihoko@pa.yokogawa.co.jp&gt;'></tt>">
<!ENTITY a.simokawa "下川 英敏
<tt><htmlurl url='mailto:simokawa@jp.FreeBSD.org'
name='&lt;simokawa@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.graphite "石墨 紀孝
<tt><htmlurl url='mailto:graphite@jp.FreeBSD.org'
name='&lt;graphite@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.kimura "木村 成伴
<tt><htmlurl url='mailto:kimura@netlab.is.tsukuba.ac.jp'
name='&lt;kimura@netlab.is.tsukuba.ac.jp&gt;'></tt>">
<!ENTITY a.ikuo "中川 郁夫
<tt><htmlurl url='mailto:ikuo@jp.FreeBSD.org'
name='&lt;ikuo@jp.FreeBSD.org&gt;'></tt>">
<!ENTITY a.kmiyakoda "都田 克郎
<tt><htmlurl url='mailto:kmiyakoda@ctn.co.jp'
name='&lt;kmiyakoda@ctn.co.jp&gt;'></tt>">
<!ENTITY a.kanou "狩野 宏樹
<tt><htmlurl url='mailto:g92k0323@cfi.waseda.ac.jp'
name='&lt;g92k0323@cfi.waseda.ac.jp&gt;'></tt>">
<!ENTITY a.nao "浜田 直樹
<tt><htmlurl url='mailto:nao@tom-yam.or.jp'
name='&lt;nao@tom-yam.or.jp&gt;'></tt>">
<!ENTITY a.maruyama "丸山 剛司
<tt><htmlurl url='mailto:tmaruya@nnc.or.jp'
name='&lt;tmaruya@nnc.or.jp&gt;'></tt>">
<!ENTITY a.candy "神田敏広
<tt><htmlurl url='mailto:candy@fct.kgc.co.jp'
name='&lt;candy@fct.kgc.co.jp&gt;'></tt>">
<!ENTITY a.motoyuki "今野 元之
<tt><htmlurl url='mailto:motoyuki@st.rim.or.jp'
name='&lt;motoyuki@st.rim.or.jp&gt;'></tt>">
<!ENTITY a.shou "広瀬 昌一
<tt><htmlurl url='mailto:shou@kt.rim.or.jp'
name='&lt;shou@kt.rim.or.jp&gt;'></tt>">
<!ENTITY a.mrt "むらたしゅういちろう
<tt><htmlurl url='mailto:mrt@mickey.ai.kyutech.ac.jp'
name='&lt;mrt@mickey.ai.kyutech.ac.jp&gt;'></tt>">

@ -1,492 +0,0 @@
<!-- $Id: kerberos.sgml,v 1.7 1997-10-26 18:51:29 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.12 -->
<sect><heading>Kerberos<label id="kerberos"></heading>
<p><em>原作: &a.markm; (&a.md; からの寄稿に基づいています).</em>
<em>訳: &a.arimura;.</em>
Kerberosは, サーバのサービスによってユーザが安全に認証を受けられる
ようにするための, ネットワークの付加システム及びプロトコルです.
リモートログイン, リモートコピー, システム間での安全なファイルのコピ
ーやその他のリスクの高い仕事がかなり安全に, そしてこれまでより制御
できるようになります.
以下の文章は, FreeBSD用として配布されているKerberosをセットアップ
する際のガイドとして読むことができます.
しかし, 完全な説明が必要な場合には, マニュアルページを読んだ方がよい
でしょう.
FreeBSDのKerberosは, オリジナルの4.4BSD-Liteの配布に含まれている
ものではなく, FreeBSD 1.1.5.1のときに移植されたeBonesです.
これはアメリカ/カナダの外で作成されており, これら以外の国の人々にも
手に入れられるものです.
このソフトウェアを合法的な配布物として得るために, アメリカも
しくはカナダのサイトから<em>持ってこないでください</em>.
でないと, そのサイトが<em>大変な</em>問題に巻き込まれます.
合法的な配布は, 南アフリカの<tt>skeleton.mikom.csir.co.za</tt>から
入手することができます.
<sect1>
<heading>初期データベースの作成</heading>
<p>この作業はKerberosサーバだけでおこないます. まず, 古いKerberosの
データベースが存在しないことを確認してください.
ディレクトリ<tt>/etc/kerberosIV</tt>に移って, 次のファイルだけが
存在することをチェックします:
<tscreen><verb>
grunt# cd /etc/kerberosIV
grunt# ls
README krb.conf krb.realms
</verb></tscreen>
<p>もし他のファイル (<tt>principal.*</tt>や<tt>master_key</tt>) が
存在する場合には, <tt>kdb_destroy</tt>というコマンドで古い
Kerberosデータベースを消してください.
Kerberosが走っていなければ, 単に<tt>rm</tt>で余計なファイルを消せ
ばよいです.
まず, <tt>krb.conf</tt>と<tt>krb.realms</tt>を編集してKerberosの
管理領域 (realm) を定義してください. ここでは管理領域が<it>GRONDAR.ZA</it>
で, サーバ名が<it>grunt.grondar.za</it>であるとします.
<tt>krb.conf</tt>というファイルを次のように編集してください:
<tscreen><verb>
grunt# cat krb.conf
GRONDAR.ZA
GRONDAR.ZA grunt.grondar.za admin server
CS.BERKELEY.EDU okeeffe.berkeley.edu
ATHENA.MIT.EDU kerberos.mit.edu
ATHENA.MIT.EDU kerberos-1.mit.edu
ATHENA.MIT.EDU kerberos-2.mit.edu
ATHENA.MIT.EDU kerberos-3.mit.edu
LCS.MIT.EDU kerberos.lcs.mit.edu
TELECOM.MIT.EDU bitsy.mit.edu
ARC.NASA.GOV trident.arc.nasa.gov
</verb></tscreen>
<p>この例にあるような他の管理領域は, 実際には必要ありません.
この例は複数の管理領域を認識する方法を示したものですので,
これらの行は含めなくても結構です.
1行目はこのシステムが動いている管理領域の名前です.
他の行は管理領域とホスト名のエントリです.
行の1つめの単語が管理領域で, 2つめがその管理領域の中で
``鍵配布センター''(Key Distribution Center) として働くホスト名です.
ホスト名の次に ``admin server'' と書いてある場合には, そのホストが
``管理データベースサーバ''(Administrative Database Server) も提供
することを意味します.
これらの単語について詳しく知りたい場合にはKerberosのマニュアル
ページをご覧ください.
ここで, <it>GRONDAR.ZA</it>という管理領域に<it>grunt.grondar.za</it>
およびその他の<it>.grondar.za</it>ドメインのすべてのホストを追加し
なければなりません. <tt>krb.realms</tt>は次のようになります:
<tscreen><verb>
grunt# cat krb.realms
grunt.grondar.za GRONDAR.ZA
.grondar.za GRONDAR.ZA
.berkeley.edu CS.BERKELEY.EDU
.MIT.EDU ATHENA.MIT.EDU
.mit.edu ATHENA.MIT.EDU
</verb></tscreen>
<p>もう一度注意しますが, 他の管理領域を書く必要はありません.
これらは複数の管理領域を認識できるようにマシンを設定する方法を
示した例ですので, これらの行は消して構いません.
1行目は名前をつけた管理領域に<it>特定の</it>システムを含めるための
ものです. 残りの行は名前をつけた管理領域にサブドメインのデフォルトの
システムを含めるためのものです.
これでデータベースを作成する準備ができました. この操作はKerberos
サーバ (鍵配布センター) を起動するだけです. <tt>kdb_init</tt>コ
マンドを次のように実行してください:
<tscreen><verb>
grunt# kdb_init
Realm name [default ATHENA.MIT.EDU ]: GRONDAR.ZA
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter Kerberos master key:
</verb></tscreen>
<p>ここで鍵を保存して, ローカルのマシンにあるサーバが取り出せるように
します. それには<tt>kstash</tt>コマンドを使用します.
<tscreen><verb>
grunt# kstash
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
</verb></tscreen>
<p>これで暗号化されたマスタパスワードが
<tt>/etc/kerberosIV/master_key</tt>に保存されました.
<sect1>
<heading>すべてが動くようにするための設定</heading>
<p>Kerberosを導入する<it>それぞれの</it>システムのデータベースに, 2つ
のprincipal (主体名) を追加する必要があります. その名前は
<tt>kpasswd</tt>と<tt>rcmd</tt>です. これら2つのprincipalは, 個々
のシステムにおいて, システム名と同じ名前のインスタンスと組にして作成
されます.
これらの<tt>kpasswd</tt>と<tt>rcmd</tt>というデーモンによって, 他の
システムからKerberosのパスワードを変更したり, <tt>rcp</tt>や
<tt>rlogin</tt>, <tt>rsh</tt>といったコマンドを実行したりできるよ
うになります.
それでは実際にこれらのエントリを追加しましょう:
<tscreen><verb>
grunt# kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name: passwd
Instance: grunt
<Not found>, Create [y] ? y
Principal: passwd, Instance: grunt, kdc_key_ver: 1
New Password: <---- ここは「RANDOM」と入力してください
Verifying password
New Password: <---- ここは「RANDOM」と入力してください
Random password [y] ? y
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ?
Attributes [ 0 ] ?
Edit O.K.
Principal name: rcmd
Instance: grunt
<Not found>, Create [y] ?
Principal: rcmd, Instance: grunt, kdc_key_ver: 1
New Password: <---- ここは「RANDOM」と入力してください
Verifying password
New Password: <---- ここは「RANDOM」と入力してください
Random password [y] ?
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ?
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- 何も入力しないと終了します
</verb></tscreen>
<sect1>
<heading>サーバファイルの作成</heading>
<p>次に, 各マシンにおけるサービスを定義している, すべてのインスタンス
を展開します. これには<tt>ext_srvtab</tt>というコマンドを使用しま
す. このコマンドで作成されるファイルは, Kerberosの各クライアン
トの/etc/kerberosIVディレクトリに<it>安全な方法で</it>コピーまたは
移動する必要があります. このファイルはそれぞれのサーバとクラ
イアントに存在しなければならず, またKerberosの運用において重要なも
のです.
<tscreen><verb>
grunt# ext_srvtab grunt
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Generating 'grunt-new-srvtab'....
</verb></tscreen>
<p>このコマンドは一時的なファイルを作成するだけです. ファイル名をすべ
てのサーバが読めるような<tt>srvtab</tt>という名前に変更しな
ければなりません. <tt>mv</tt>コマンドを用いてシステムの場所に移動
してください.
<tscreen><verb>
grunt# mv grunt-new-srvtab srvtab
</verb></tscreen>
<p>そのファイルがクライアントに配るためのもので, ネットワークが安全で
はないと思われる場合には, <tt>&lt;client&gt;-new-srvtab</tt>を移動
可能なメディアにコピーして物理的に安全な方法で運んでください. クラ
イアントの<tt>/etc/kerberosIV</tt>ディレクトリで, 名前を
<tt>srvtab</tt>に変更し, modeを600にするのを忘れないでください:
<tscreen><verb>
grumble# mv grumble-new-srvtab srvtab
grumble# chmod 600 srvtab
</verb></tscreen>
<sect1>
<heading>データベースへのユーザの追加</heading>
<p>ここで, ユーザのエントリをデータベースに追加する必要があります.
始めに, ユーザ<it>jane</it>のエントリを作成してみましょう.
<tt>kdb_edit</tt>を用いて次のように作成してください:
<tscreen><verb>
grunt# kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name: jane
Instance:
<Not found>, Create [y] ? y
Principal: jane, Instance: , kdc_key_ver: 1
New Password: <---- 安全なパスワードを入れてください
Verifying password
New Password: <---- もう一度パスワードを入れてください
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ?
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- 何も入力しないと終了します
</verb></tscreen>
<sect1>
<heading>すべてのテスト</heading>
<p>まず始めにKerberosデーモンを起動する必要があります.
<tt>/etc/rc.conf</tt>ファイルを正しく編集してあれば, マシンを再
起動することでに自動的にデーモンが起動します. これはKerberosサー
バでのみ必要です. Kerberosクライアントは<tt>/etc/kerberosIV</tt>か
ら必要なものを自動的に入手します.
<tscreen><verb>
grunt# kerberos &
grunt# Kerberos server starting
Sleep forever on error
Log file is /var/log/kerberos.log
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Current Kerberos master key version is 1
Local realm: GRONDAR.ZA
grunt# kadmind -n &
grunt# KADM Server KADM0.0A initializing
Please do not use 'kill -9' to kill this job, use a
regular kill instead
Current Kerberos master key version is 1.
Master key entered. BEWARE!
</verb></tscreen>
<p>さあ, これで上で作成した<it>jane</it>というIDのチケットを
<tt>kinit</tt>コマンドで得ることができます:
<tscreen><verb>
grunt$ kinit jane
MIT Project Athena (grunt.grondar.za)
Kerberos Initialization for "jane"
Password:
</verb></tscreen>
<p><tt>klist</tt>コマンドを用いてトークンを見て, きちんとチケットを持って
いるかどうか確認してください:
<tscreen><verb>
grunt$ klist
Ticket file: /tmp/tkt245
Principal: jane@GRONDAR.ZA
Issued Expires Principal
Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.GRONDAR.ZA@GRONDAR.ZA
</verb></tscreen>
<p><tt>passwd</tt>コマンドを用いてパスワードを変更して, kpasswdデーモ
ンがKerberosデータベースに対して認証されるかどうかチェックして
ください:
<tscreen><verb>
grunt$ passwd
realm GRONDAR.ZA
Old password for jane:
New Password for jane:
Verifying password
New Password for jane:
Password changed.
</verb></tscreen>
<sect1>
<heading><tt>su</tt>特権の追加</heading>
<p>root権限が必要なユーザは<it>誰でも</it>, <tt>su</tt>コマンドのパス
ワードをユーザ毎に<it>別のもの</it>として持つことができます.
<it>root</it>に<tt>su</tt>できる権利を与えられたidを追加します.
これは, principalに付いている<it>root</it>というインスタンスに
よって制御されています. <tt>kdb_edit</tt>を用いて
<it>jane.root</it>というエントリをKerberosデータベースに作成します:
<tscreen><verb>
grunt# kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name: jane
Instance: root
<Not found>, Create [y] ? y
Principal: jane, Instance: root, kdc_key_ver: 1
New Password: <---- 安全なパスワードを入れます
Verifying password
New Password: <---- もう一回パスワードを入れます
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ? 12 <--- ここは短くしてください
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- 何も入力しないと終了します
</verb></tscreen>
<p>実際にトークンをもらって, ちゃんと働いているかどうか確認しましょう:
<tscreen><verb>
grunt# kinit jane.root
MIT Project Athena (grunt.grondar.za)
Kerberos Initialization for "jane.root"
Password:
</verb></tscreen>
<p>ここでrootユーザの<tt>.klogin</tt>ファイルにユーザを追加する必要が
あります.
<tscreen><verb>
grunt# cat /root/.klogin
jane.root@GRONDAR.ZA
</verb></tscreen>
<p><tt>su</tt>してみましょう:
<tscreen><verb>
[jane@grunt 10407] su
Password:
grunt#
</verb></tscreen>
どのトークンを持っているか見てみましょう:
<tscreen><verb>
grunt# klist
Ticket file: /tmp/tkt_root_245
Principal: jane.root@GRONDAR.ZA
Issued Expires Principal
May 2 20:43:12 May 3 04:43:12 krbtgt.GRONDAR.ZA@GRONDAR.ZA
</verb></tscreen>
<sect1>
<heading>他のコマンドの使用</heading>
<p>ここまでの例では, <tt>jane</tt>というprincipalを<tt>root</tt>とい
うインスタンス付きで作成しました. これはユーザと同じ名前をprincipalと
しており, Kerberosのデフォルトの値です;
<em>&lt;username&gt;.</em><tt>root</tt>という形式の
<em>&lt;principal&gt;.&lt;instance&gt;</em>で, 必要なエント
リが<tt>root</tt>のホームディレクトリの<tt>.klogin</tt>ファイルに
あれば, <em>&lt;username&gt;</em>がrootに<tt>su</tt>することができま
す.
<tscreen><verb>
grunt# cat /root/.klogin
jane.root@GRONDAR.ZA
</verb></tscreen>
<p>同様に, ユーザのホームディレクトリの<tt>.klogin</tt>ファイルに次の
ような行がある場合には:
<tscreen><verb>
[jane@grunt 10543] cat ~/.klogin
jane@GRONDAR.ZA
jack@GRONDAR.ZA
</verb></tscreen>
<p><em>jane</em>または<em>jack</em>という名前で (前述の<tt>kinit</tt>
によって) 認証されている<em>GRONDAR.ZA</em>という管理領域のユーザ
なら誰でも<tt>rlogin</tt>や<tt>rsh</tt>, <tt>rcp</tt>等によってこ
のシステム (<em>grunt</em>) の<em>jane</em>のアカウントまたはファ
イルにアクセスできます.
例えば, Janeが他のシステムにKerberosを用いてloginします:
<tscreen><verb>
[jane@grumble 573] kinit
MIT Project Athena (grunt.grondar.za)
Password:
[jane@grumble 574] rlogin grunt
Last login: Mon May 1 21:14:47 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
[jane@grunt 10567]
</verb></tscreen>
<p>次の例では, Jackが同じマシンのJaneのアカウントにloginします. Janeは
<tt>.klogin</tt>ファイルを前述のように設定しており,
Kerberosでは<em>jack</em>というprincipalをインスタンスなしで設定してあ
ります.
<tscreen><verb>
[jack@grumble 573] kinit
[jack@grumble 574] rlogin grunt -l jane
MIT Project Athena (grunt.grondar.za)
Password:
Last login: Mon May 1 21:16:55 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
[jane@grunt 10578]
</verb></tscreen>

File diff suppressed because it is too large Load Diff

@ -1,523 +0,0 @@
<!-- $Id: kerneldebug.sgml,v 1.10 1997-10-19 21:54:18 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.17 -->
<chapt><heading>カーネルデバッグ<label id="kerneldebug"></heading>
<p><em>原作 &a.paul; and &a.joerg;</em>
<p><em>訳: &a.yoshiaki;. <newline>
18 March 1997. </em>
<sect><heading>kgdbによるカーネルのクラッシュダンプのデバッグ</heading>
<p>ここではクラッシュダンプ (crash dump : 訳注 この文脈では kernel 自身
の異常によって停止した場合に出力されるイメージを指します) によるカー
ネルデバッグの方法を示します.
ここではダンプするための十分なスワップ (swap) の容量があるものとし
ます.
もし複数のスワップパーティションを持ち, 最初のパーティションがダンプ
を保持するのに十分な大きさを持たない場合は別のダンプデバイスを使うよ
うに (<tt>config kernel</tt> 行で) カーネルのコンフィグをおこなうか,
dumpon(8)コマンドを使って別のデバイスを示すことができます. スワップ
をおこなわないデバイスへのダンプ, 例えばテープへのダンプは現在サポートさ
れていません. カーネルのコンフィグは <tt>config -g</tt> によって行っ
てください.
<ref id="kernelconfig" name="FreeBSDカーネルのコンフィグレーション">
には FreeBSDのカーネルの設定の詳細がありますので参照してください.
<tt>dumpon(8)</tt>コマンドを使ってどこへダンプするかカーネルに伝えて
ください(swapon(8)によってそのパーティションがスワップとして設定された
後でなければならないことに注意してください). これは普通は
<tt>/etc/rc.conf</tt> や <tt>/etc/rc</tt>で設定されます. あるいは
別の方法としてカーネルコンフィグレーションファイルの `config'行の `dump'節 で
ダンプデバイスをハードコードすることができます. この方法はあまりよくは
ありません. カーネルがブート時に crash する場合のクラッシュダンプを取り
たい時だけ使うべきです.
<em><bf>注:</bf> 以下では `<tt>kgdb</tt>'という用語は <tt>gdb</tt>を
カーネルデバッグモードで動かしていることを意味します. <tt>gdb</tt>を
<tt>-k</tt>オプションをつけて起動するか <tt>kgdb</tt>という名前でリン
クして起動することでこのモードになります. デフォルトでは このリンク
は作られていません. また, このアイデアは GNU関係者たちが彼らのツール
を別の名前で呼び出した時に異なった動作をするということを好まない, と
いう点で不評です. あるいは将来この機能を廃止することになるかもしれません. </em>
カーネルを作った時にそのコピーを <tt>kernel.debug</tt>という名前で作
りましょう. また, オリジナルに対して <tt>strip -d</tt>を実行します.
オリジナルを普通にインストールします. また strip していないカーネル
も同様にインストールすることができますが, シンボルテーブルの参照時間
がいくつかのプログラムでは劇的に増加するでしょう. また, カーネル全体
はブート時に読み込まれスワップアウトされないため数メガバイトの物理メ
モリが無駄になります.
例えばブートプロンプトで新しいカーネルの名前をタイプすることによって,
新しいカーネルをテストした場合で, 再びシステムを動かすのに別のカーネ
ルで立ち上げることが必要な場合はブートプロンプトで <tt>-s</tt>フラグ
を使いシングルユーザの状態にしてください. そして以下のような操作をおこな
います.
<tscreen><verb>
fsck -p
mount -a -t ufs # /var/crash 用のファイルシステムを書き込み可能にする
savecore -N /kernel.panicked /var/crash
exit # ...マルチユーザモードへ移行
</verb></tscreen>
ここに示した <tt>savecore(8)</tt>は (現在動いているものとは別の) カー
ネルのシンボル名の抽出をおこなうために使っています. 抽出はデフォルトで
は現在動いているカーネルに対しておこなわれ, クラッシュダンプとカーネルシンボ
ルのくい違いのためにまったく何もしません (訳注:そのためにオプション
で実際にダンプをおこしたカーネルを指定します).
クラッシュダンプの起きた後に <tt>/sys/compile/WHATEVER</tt>へ行き
<tt>kgdb</tt>を動かします. <tt>kgdb</tt> より次のようにします.
<tscreen><verb>
symbol-file kernel.debug
exec-file /var/crash/kernel.0
core-file /var/crash/vmcore.0
</verb></tscreen>
こうすると, クラッシュダンプを使ってカーネルソースを他のプログラムと同様に
デバッグすることができます.
次に <tt>kgdb</tt> での手順のセッションのログを示します. 長い行は読
みやすくするために改行しました. また, 参照のために行番号を入れてあり
ます. ただし, これは実際の pcvtコンソールドライバの開発中の実際のエ
ラーのトレースです.
<tscreen><verb>
1:Script started on Fri Dec 30 23:15:22 1994
2:uriah # cd /sys/compile/URIAH
3:uriah # kgdb kernel /var/crash/vmcore.1
4:Reading symbol data from /usr/src/sys/compile/URIAH/kernel...done.
5:IdlePTD 1f3000
6:panic: because you said to!
7:current pcb at 1e3f70
8:Reading in symbols for ../../i386/i386/machdep.c...done.
9:(kgdb) where
10:#0 boot (arghowto=256) (../../i386/i386/machdep.c line 767)
11:#1 0xf0115159 in panic ()
12:#2 0xf01955bd in diediedie () (../../i386/i386/machdep.c line 698)
13:#3 0xf010185e in db_fncall ()
14:#4 0xf0101586 in db_command (-266509132, -266509516, -267381073)
15:#5 0xf0101711 in db_command_loop ()
16:#6 0xf01040a0 in db_trap ()
17:#7 0xf0192976 in kdb_trap (12, 0, -272630436, -266743723)
18:#8 0xf019d2eb in trap_fatal (...)
19:#9 0xf019ce60 in trap_pfault (...)
20:#10 0xf019cb2f in trap (...)
21:#11 0xf01932a1 in exception:calltrap ()
22:#12 0xf0191503 in cnopen (...)
23:#13 0xf0132c34 in spec_open ()
24:#14 0xf012d014 in vn_open ()
25:#15 0xf012a183 in open ()
26:#16 0xf019d4eb in syscall (...)
27:(kgdb) up 10
28:Reading in symbols for ../../i386/i386/trap.c...done.
29:#10 0xf019cb2f in trap (frame={tf_es = -260440048, tf_ds = 16, tf_\
30:edi = 3072, tf_esi = -266445372, tf_ebp = -272630356, tf_isp = -27\
31:2630396, tf_ebx = -266427884, tf_edx = 12, tf_ecx = -266427884, tf\
32:_eax = 64772224, tf_trapno = 12, tf_err = -272695296, tf_eip = -26\
33:6672343, tf_cs = -266469368, tf_eflags = 66066, tf_esp = 3072, tf_\
34:ss = -266427884}) (../../i386/i386/trap.c line 283)
35:283 (void) trap_pfault(&amp;frame, FALSE);
36:(kgdb) frame frame->tf_ebp frame->tf_eip
37:Reading in symbols for ../../i386/isa/pcvt/pcvt_drv.c...done.
38:#0 0xf01ae729 in pcopen (dev=3072, flag=3, mode=8192, p=(struct p\
39:roc *) 0xf07c0c00) (../../i386/isa/pcvt/pcvt_drv.c line 403)
40:403 return ((*linesw[tp->t_line].l_open)(dev, tp));
41:(kgdb) list
42:398
43:399 tp->t_state |= TS_CARR_ON;
44:400 tp->t_cflag |= CLOCAL; /* cannot be a modem (:-) */
45:401
46:402 #if PCVT_NETBSD || (PCVT_FREEBSD >= 200)
47:403 return ((*linesw[tp->t_line].l_open)(dev, tp));
48:404 #else
49:405 return ((*linesw[tp->t_line].l_open)(dev, tp, flag));
50:406 #endif /* PCVT_NETBSD || (PCVT_FREEBSD >= 200) */
51:407 }
52:(kgdb) print tp
53:Reading in symbols for ../../i386/i386/cons.c...done.
54:$1 = (struct tty *) 0x1bae
55:(kgdb) print tp->t_line
56:$2 = 1767990816
57:(kgdb) up
58:#1 0xf0191503 in cnopen (dev=0x00000000, flag=3, mode=8192, p=(st\
59:ruct proc *) 0xf07c0c00) (../../i386/i386/cons.c line 126)
60: return ((*cdevsw[major(dev)].d_open)(dev, flag, mode, p));
61:(kgdb) up
62:#2 0xf0132c34 in spec_open ()
63:(kgdb) up
64:#3 0xf012d014 in vn_open ()
65:(kgdb) up
66:#4 0xf012a183 in open ()
67:(kgdb) up
68:#5 0xf019d4eb in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi =\
69: 2158592, tf_esi = 0, tf_ebp = -272638436, tf_isp = -272629788, tf\
70:_ebx = 7086, tf_edx = 1, tf_ecx = 0, tf_eax = 5, tf_trapno = 582, \
71:tf_err = 582, tf_eip = 75749, tf_cs = 31, tf_eflags = 582, tf_esp \
72:= -272638456, tf_ss = 39}) (../../i386/i386/trap.c line 673)
73:673 error = (*callp->sy_call)(p, args, rval);
74:(kgdb) up
75:Initial frame selected; you cannot go up.
76:(kgdb) quit
77:uriah # exit
78:exit
79:
80:Script done on Fri Dec 30 23:18:04 1994
</verb></tscreen>
上の出力についてのコメントをします.
<descrip>
<tag/line 6:/ これは DDB (後述) からのダンプです. このため ``because you
said to!'' という panicコメントがつき, ページフォルトのト
ラップによって DDBに入ったことが原因の, やや長いスタックトレー
スがあります.
<tag/line 20:/ スタックトレースでのこれは <tt>trap()</tt>関数の位置で
す.
<tag/line 36:/ 新しいスタックフレームの使用を指定しています. これは現
在は必要ありません. trapの場合ではスタックフレームは正
しい場所を指していると考えられます. (私は新しいコアダンプ
を持っていません. 私のカーネルは長い間 panicを起こしていま
せん.) ソースコードの 403行を見ると,``tp''ポインタのアク
セスが失敗しているか配列のアクセスが範囲外である可能性が高
いことがわかります.
<tag/line 52:/ 怪しいポインタですが, アクセスは正常におこなえました.
<tag/line 56:/ ところが, 明らかにポインタはゴミを指しています. これで
エラーを見つけました! (ここのコードの部分からはよくわかり
ませんが, <tt>tp-&gt;t_line</tt>はコンソールデバイスの規定
する行を参照しているので, もっと小さな整数でなければなりませ
ん. )
</descrip>
<sect><heading>突然ダンプした場合の解析</heading>
<p>カーネルが予想もしない時にコアダンプして <tt>config -g</tt>
を行ってコンパイルされていなかった場合にはどうしたらよいでしょう.
すべてが失われるわけではありません. パニックを起こさないでください.
もちろん, クラッシュダンプを使えるようにする必要があります.
使い方は前述の部分を見てください.
カーネルのコンパイルディレクトリで, (Makefileの)
<tt>COPTFLAGS?=-O</tt>とある行を編集します. <tt>-g</tt>オプショ
ンをここに加えます(オプティマイズオプションのレベルは <em>変更しな
いでください</em> ). もし大まかにコードのどこで問題が起きているか (例
えば, 上の例では <tt>pcvt</tt>ドライバ) わかっているのでしたら, その部
分のコードについてのすべてのオブジェクトファイルを消してください. カーネ
ルを再構築しましょう. Makefileのタイムスタンプの変更により, 例えば
<tt> trap.o </tt>などのいくつかの他のオブジェクトファイルも作り直さ
れます. 少しの幸運があれば, <tt>-g</tt>オプションが追加されても作ら
れるコードは変更されず, いくらかのデバッグシンボル以外には問題を
起こしたコードとそっくりな新しいカーネルを手に入れることができます.
少なくとも <tt>size</tt>コマンドで古い方と新しい方のサイズを比較すべ
きです. これが食い違っていれば, 多分あきらめなければならないでしょう.
ダンプを使って前述のように動かして調べます. デバッグシンボルは
必ずしも十分ではありません. 上の例ではスタックトレースでいくつかの関
数の行番号や引数リストが表示されないかもしれません. もしより多くのデ
バッグシンボルが必要であれば,十分になるまで適切なオブジェクトファイ
ルを消して (makeして) <tt>kgdb</tt>セッションを繰り返してください.
これは必ずしもうまく動くと保証はできません. しかしほとんどの場合でう
まくいくでしょう.
<sect><heading>DDBを使ったオンラインカーネルデバッグ</heading>
<p> <tt>kgdb</tt> は非常に高レベルのユーザインタフェースを提
供するオフラインデバッガですが, いくつかのことはできません.
(できないことの中で)極めて重要なことはカーネルコードへのブレークポイ
ントの設定とシングルステップ実行です.
カーネルの低レベルデバッグが必要であれば, DDBと呼ばれる on-lineデバッ
ガが使えます. ブレークポイントの設定, シングルステップのカーネルの実
行, 変数の検査と変更などができます. ただし,これはカーネルのソースファ
イルにアクセスすることはできません. <tt>kgdb</tt>のようにすべてのデ
バッグ情報にはアクセスできず, globalと staticのシンボルにアクセス
することができるだけです.
カーネルに DDBを含めるためにはコンフィグファイルに次のようなオプショ
ンを加えて,
<tscreen><verb>
options DDB
</verb></tscreen>
再構築をおこないます. ( FreeBSDのカーネルの設定の詳細については<ref
id="kernelconfig" name="FreeBSDカーネルのコンフィグレーション">を参照してくださ
い. もしブートブロックが古いバージョンですと, デバッガのシンボルが完
全にはロードされないかもしれませんので注意してください. DDBシンボル
がロードされるようにブートブロックを最新の物にアップデートしてくださ
い)
DDB カーネルの実行において, DDBに入るいくつかの方法があります. 最初
の, 最も早い方法はブートプロンプトが出ている時に<tt>-d</tt>のブート
フラグをタイプすることです. カーネルはデバッグモードで起動し, デバ
イスのプローブ以前に DDBに入ります. したがって, デバイスのプローブ/初期
設定ファンクションのデバッグができます.
2つ目のシナリオはキーボードのホットキーで, 通常は Ctrl-Alt-ESCです.
syscons ではホットキーは再設定することができ, 配付されているいくつかの
キーマッピングでは別のキーに再設定されていますので確認しておいてください.
シリアルラインの BREAKを使って シリアルコンソールから DDBへ入ることを可
能にするオプションもあります (カーネルコンフィグレーションファイルの
``<tt>options BREAK_TO_DEBUGGER</tt>''). これは 多くのつまらないシリ
アルアダプタが, 例えばケーブルを引き抜いた時に BREAK状態を意味もなく
作り出してしまうのでデフォルトでは無効になっています.
3つ目は, DDBを使うようになっているカーネルがパニック状態になると DDB
へ入るというものです. このため, 無人運転するマシンのカーネルにDDBを
入れるのは賢明ではありません.
DDBのコマンドはおおまかには <tt>gdb</tt> のいくつかのコマンドと似て
います。おそらく最初にブレークポイントを設定する必要があるでしょう。
<tscreen><verb>
b function-name
b address
</verb></tscreen>
数値はデフォルトでは16進数で, シンボル名とはまったく異ります. 16進数で
<tt>a</tt>-<tt>f</tt> の文字で始まる場合は, 先頭に
<tt>0x</tt>をつける必要があります(それ以外の数字の場合はどちらでもか
まいません). <tt>function-name + 0x103</tt>のような単純な式を使うこ
とができます.
割り込みされたカーネルから処理を続行するためには,
<tscreen><verb>
c
</verb></tscreen>
とタイプするだけです.
スタックのトレースには
<tscreen><verb>
trace
</verb></tscreen>
とします.
DDB にホットキーで入った場合は, カーネルはその (ホットキーの) 割り込み
の処理を行っていますのでスタックトレースはあまり役にたたないことに注
意してください.
ブレークポイントを削除したい場合は,
<tscreen><verb>
del
del address-expression
</verb></tscreen>
とします. 最初の形式はブレークポイントにヒットしたすぐ後で使うことが
でき, 現在のブレークポイントを削除します. 2番目の形式では任意のブレー
クポイントを削除することができますが, 次の形式で得られるような正確な
アドレスを与えることが必要です.
<tscreen><verb>
show b
</verb></tscreen>
カーネルをシングルステップ実行させるには
<tscreen><verb>
s
</verb></tscreen>
としてみてください. これは関数呼出し先までステップ実行 (step into
function) するでしょう. 次のステートメントが終了するまでのDDBトレースは
<tscreen><verb>
n
</verb></tscreen>
によっておこなうことができます.
<bf>注:</bf> これは <tt>gdb</tt> の `next' 命令とは異ります.
<tt>gdb</tt>の `finish'命令と似ています.
メモリ上のデータを調べるには (例として) 次のようにします.
<tscreen><verb>
x/wx 0xf0133fe0,40
x/hd db_symtab_space
x/bc termbuf,10
x/s stringbuf
</verb></tscreen>
word/halfword/byte 単位でアクセスをおこない, hex (16進) /dec (10進) /
char (文字) /string (文字列) で表示します. カンマの後ろの数字はオブジェク
トカウントです. 次の 0x10個の要素を表示するには, 単純に
<tscreen><verb>
x ,10
</verb></tscreen>
とします. 同様に次のように使うことができます.
<tscreen><verb>
x/ia foofunc,10
</verb></tscreen>
<tt>foofunc</tt>の最初の 0x10個の命令語をディスアセンブルし,
<tt>foofunc</tt>の先頭からのオフセットとともに表示します.
メモリの内容を変更するには writeコマンドを使います.
<tscreen><verb>
w/b termbuf 0xa 0xb 0
w/w 0xf0010030 0 0
</verb></tscreen>
コマンドモディファイアの (<tt>b</tt>/<tt>h</tt>/<tt>w</tt>) はデータを
書くサイズを定義し, これに続く最初の式は書き込むアドレス, 残りがこれ
に続く連続するメモリアドレスに書き込まれるデータになります.
現在のレジスタ群の内容を知りたい場合は
<tscreen><verb>
show reg
</verb></tscreen>
とします. また, 単一のレジスタの値を表示するには, 例えば
<tscreen><verb>
p $eax
</verb></tscreen>
とします. また値の変更は
<tscreen><verb>
set $eax new-value
</verb></tscreen>
とします.
DDBからカーネルの関数を呼び出す必要がある場合は, 単に
<tscreen><verb>
call func(arg1, arg2, ...)
</verb></tscreen>
とします. return 値が出力されます.
動いているプロセスの <tt>ps(1)</tt>スタイルの概要は
<tscreen><verb>
ps
</verb></tscreen>
です.
カーネルの失敗の原因の調査が終わったらリブートすべきです. それまでの
不具合によりカーネルのすべての部分が期待するような動作をしているわけ
ではないということを忘れないでください. 以下のうちいずれかの方法でシ
ステムのシャットダウンおよびリブートを行ってください.
<tscreen><verb>
call diediedie()
</verb></tscreen>
カーネルをコアダンプしてリブートしますので, 後で kgdbによってコアの高
レベル解析をすることができます. このコマンドは通常
`<tt>continue</tt>'命令にエイリアスされています.
`<tt>panic</tt>'にエイリアスされている
<tscreen><verb>
call boot(0)
</verb></tscreen>
は動いているシステムを `clean' に shut downするよい方法です. すべて
のディスクを <tt>sync()</tt>して最後にリブートします. ディスクとカー
ネルのファイルシステムインタフェースが破損していない限り, ほぼ完全
に `clean'にシャットダウンするよい方法でしょう.
<tscreen><verb>
call cpu_reset()
</verb></tscreen>
は大惨事を防ぐための最後の手段で「赤い大きなボタン」を押すのとほとんど
同じです.(訳注: リセットボタンを押すのとほぼ同じであるという意味です)
短いコマンドの要約は
<tscreen><verb>
help
</verb></tscreen>
をタイプします. ただし, デバッグセッションのために <tt>ddb(4)</tt> の
マニュアルページのプリントアウトを用意しておくことを強くお奨めします.
カーネルのシングルステップ中にオンラインマニュアルを読むことは難しい
ということを覚えておいてください.
<sect><heading>リモート GDB を使ったオンラインカーネルデバッグ</heading>
<p>この機能は FreeBSD 2.2 からサポートされました. これは本当にすばらし
い機能です.
GDB はすでにかなり以前より <em/リモートデバッグ/ をサポートしてい
ます. これはシリアル回線を使い非常に単純なプロトコルで行ないます.
もちろん, この方法では今までに示した方法とは違い, 2台のマシンが必
要になります. 1台はデバッグ環境のためのホストで, すべてのソースとす
べてのシンボルを含んだバイナリのコピーを持っています. もう 1台は
ターゲットマシンで, 同一のカーネルのコピー (ただしデバッグ情報は
取り除いてあるもの) を単に実行するためのものです.
この場合, カーネルのコンフィグレーションは <tt>config -g</tt> で行な
い, <em/DDB/ を含めなくてはなりません. そうして通常通りコンパイルし
ます. こうして作ったバイナリファイルはデバッグ情報のために非常に大き
くなります. このカーネルをターゲットマシンにコピーして
<tt>strip -x</tt> でデバッグシンボルを取り除きます. そして <tt/-d/
ブートオプションを使いブートします. ターゲットマシンの 1番目の
シリアル回線をデバッグホストのいずれかのシリアル回線につないでおきま
しょう. それからデバッグ(訳注:ホスト)マシン上で, ターゲットとなって
いるカーネルのコンパイルディレクトリで gdb を起動します:
<tscreen><verb>
% gdb -k kernel
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i386-unknown-freebsd),
Copyright 1996 Free Software Foundation, Inc...
(kgdb)
</verb></tscreen>
リモートデバッグセッションの初期化 (1番目のシリアルポートを使用する
ことの設定) を以下のように行ないます.
<tscreen><verb>
(kgdb) target remote /dev/cuaa0
</verb></tscreen>
次にターゲットマシン (デバイスのプローブ直前で DDB に入っています)
で次のように入力します:
<tscreen><verb>
Debugger("Boot flags requested debugger")
Stopped at Debugger+0x35: movb $0, edata+0x51bc
db> gdb
</verb></tscreen>
DDB は次のような出力を返すでしょう.
<tscreen><verb>
Next trap will enter GDB remote protocol mode
</verb></tscreen>
``gdb''と入力するたびに リモート GDB とローカル DDB が交互に切り替わ
ります. トラップをすぐに起こすために単に ``s'' (step) と入力して下
さい. そうするとホストの GDB はターゲットのカーネルの制御を行なうよ
うになります.
<tscreen><verb>
Remote debugging using /dev/cuaa0
Debugger (msg=0xf01b0383 "Boot flags requested debugger")
at ../../i386/i386/db_interface.c:257
(kgdb)
</verb></tscreen>
このセッションではソースコードへのフルアクセスや Emacs の window 上
の gud-mode (これは別の Emacs window に自動的にソースコードを表示し
ます) で動かすなど, 通常の GDB セッションでできることのほとんどのこ
とができます.
<p>リモート GDB は LKM のデバッグも行なうことができます. 最初に LKM を
デバッグシンボルを含めた形で作ります.
<tscreen><verb>
# cd /usr/src/lkm/linux
# make clean; make COPTS=-g
</verb></tscreen>
そしてターゲットマシン上でモジュールのこのバージョンをインストールし
ます. これをロードしてから, <tt>modstat</tt> を使ってロードされている
ことを確認してください:
<tscreen><verb>
# linux
# modstat
Type Id Off Loadaddr Size Info Rev Module Name
EXEC 0 4 f5109000 001c f510f010 1 linux_mod
</verb></tscreen>
示されたロードアドレスに 0x20 (a.outのヘッダはおそらくこの大きさでしょ
う) を加えます. それがモジュールコードの再配置されるアドレスです.
GDB の <tt>add-symbol-file</tt> コマンドを使ってデバッガにモジュールの
情報をつたえます.
<tscreen><verb>
(kgdb) add-symbol-file /usr/src/lkm/linux/linux_mod.o 0xf5109020
add symbol table from file "/usr/src/lkm/linux/linux_mod.o" at
text_addr = 0xf5109020?
(y or n) y
(kgdb)
</verb></tscreen>
これで LKM のすべてのシンボルにアクセスできるようになります.
<sect><heading>コンソールドライバのデバッグ</heading>
<p>DDBを動かすためにはコンソールドライバが必要ですから, コンソールドラ
イバ自身に不具合のある場合は複雑になります. シリアルコンソールを利
用する方法 (ブートブロックを変更するか <tt>Boot:</tt>プロンプトで
<tt><bf>-h</bf></tt>と入力する) を思い出してください. そして標準ター
ミナルを最初のシリアルポートに設定します. DDBは, もちろんシリアルコ
ンソールを含むいずれのコンソールドライバの設定でも動作します.

@ -1,153 +0,0 @@
<!-- $Id: kernelopts.sgml,v 1.12 1997-10-19 22:13:18 max Exp $ -->
<!-- The FreeBSD Documentation Project -->
<!-- Original revision: 1.9 -->
<!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> -->
<chapt><heading>カーネルコンフィグレーションの新しいオプションを追加する
<label id="kernelopts"></heading>
<p><em>原作: &a.joerg;</em>
<p><em>訳: &a.yoshiaki; . <newline> 29 December 1996.</em>
<em/注:/ この章をお読みになる前に <ref id="kernelconfig"
name="FreeBSDカーネルのコンフィグレーション"> の章の内容を
理解しておいてください.
<sect><heading>そもそも<em>カーネル オプション</em>って何?</heading>
<p>カーネルオプションの使い方は基本的には <ref
id="kernelconfig:options" name="FreeBSDカーネルのコンフィグレーション">
の章に書いてあります.
そこには「伝統的な形式」と「新しい形式」のオプションの説明があります.
すべてのカーネルのオプションを新しい形式のものに置き換え, コンフィグファイル
を修正して <tt/config(8)/ を実行した後にカーネルのコンパイルディレクトリで
<tt/make depend/ を実行すれば, ビルドプロセスが自動的に変更された
オプションを検出し, 必要なファイルだけを再コンパイルするようにすることが
最終的な目的です. <tt/config(8)/ を実行するたびに古いコンパイルディレクトリ
を消してしまう現在のやりかたは, やがておこなわれなくなるでしょう.
<p>基本的に, カーネルオプションはカーネルのコンパイルプロセスの
C プリプロセッサのマクロの定義にすぎません. 実際に選択的に make できる
ようにするためには, 対応する部分のカーネルソース (またはカーネルの
<tt/.h/ ファイル) がオプションを使えるようにあらかじめ書かれていなければ
なりません. つまりデフォルト値をコンフィグファイルのオプションで置き換え
られるようになっていなければなりません. これは普通は次のようになっています.
<verb>
#ifndef THIS_OPTION
#define THIS_OPTION (some_default_value)
#endif /* THIS_OPTION */
</verb>
<p>この場合, 管理者がコンフィグファイルのオプションに別の値を記述すれば,
デフォルトの設定を打ち消して新しい値に置き換えられます. 当然,
新しい値はプリプロセッサによってソースコード中で置き換えられるため,
デフォルトの値が使われていた場所において C の式として有効な値でなければ
なりません.
<p>また, 単に特定のコードを有効にするか無効にするかを設定するための
値を持たないオプションも作ることができます.
<verb>
#ifdef THAT_OPTION
[あなたのコードが入ります]
#endif
</verb>
<p>コンフィグファイルに <tt/THAT_OPTION/ と記述するだけで (値の有無
にかかわらず) 対応する部分のコードが組み込まれます.
<p>C 言語にくわしい人であれば「コンフィグオプション」とされているもの
は少なくとも一つの <tt/#ifdef/ で参照されているということはすぐに理解
できるでしょう. ところで, ごく一部の人たちは次のようなものを試して
みようとするかもしれません.
<verb>
options notyet,notdef
</verb>
<p>このようにコンフィグファイルをしておくと, カーネルのコンパイルは
うまく行きません. :-)
<p> (訳注: たとえば MATH_EMULATE のように 有効/無効のためのパラメタを
持たないオプションの場合, 無効とするためのパラメタをつけて, オプション
で「無効とする」と明示することはできないという意味です)
<p>明らかに, 任意のオプション名がカーネルソースツリー全体でどのように
使われているかを追いかけることは非常に難しいことです. このことが
<em/新しい形式/ のオプションの機構を採り入れる理由の背景です.
ここではそれぞれのオプションはカーネルコンパイルディレクトリにある別々の
<tt/.h/ ファイルとなり, <tt>opt_<em>foo</em>.h</tt> という名前に
されます. この方法では, 通常の Makefile の依存関係が適用され,
<tt/make/ プログラムはオプションが変更された時に再コンパイルが必要な
ものを見つけることができます.
<p>古い形式のオプションの機構は, 局部的なオプションや実験的なオプション
のような一時的に利用されると考えられるオプションにおいては有効です.
つまり <tt/#ifdef/ をカーネルのソースに追加するのは簡単であり,
それがそのままカーネルコンフィグオプションになります.
この場合, 管理者はオプションの利用において
依存関係を把握しておく責任があります (また, 手動でカーネルの一部分を
強制的に再コンパイルする必要があるかもしれません). サポートされている
オプションのすべてについて一つでも変更があると, <tt/config(8)/ は
サポートされていないオプションがコンフィグファイルの中にあるという警告
を出しますが, カーネルの Makefile 内にはそれを含めます.
<sect><heading>ではどのようにして追加するのでしょう?</heading>
<p>最初に <tt>sys/conf/options</tt> (または
<tt>sys/i386/conf/options.<em>&lt;arch&gt;</em></tt>, たとえば
<tt>sys/i386/conf/options.i386</tt>) を編集し, 新しいオプション
を含めるのに最適な <tt>opt_<em>foo</em>.h</tt> ファイルを選びます.
<p>新しいオプションの必要がなくなったとしたら, これを取り除きます.
たとえば, SCSI サブシステムに関するすべてのふるまいについてのオプション
の変更は <tt/opt_scsi.h/ に入れられます. デフォルトでは, 適切
なオプションファイルに単に記述されます. たとえば <tt/FOO/ であれば
値は対応するファイルの <tt/opt_foo.h/ に格納されます. これは右端に別
のファイル名を書いて置き換えることができます.
<p>新しいオプションを加えるのに使えそうな
<tt>opt_<em>foo</em>.h</tt> がない場合は新しい名前を作ってください.
意味のある名前を作り <tt>options[<em>.&lt;arch&gt;</em>]</tt> ファイル
に新しいセクションのコメントをつけてください. <tt/config(8)/ は自動的
に変更を検出して, 次の実行からは (訳注: 新しい <tt/.h/) ファイル
を作ります. ほとんどのオプションはヘッダファイルに入れられます.
<p>大量のオプションを一つの <tt>opt_<em>foo</em>.h</tt> にまとめると
コンフィグファイルの一つのオプションを変更したときに多くのファイルが
再コンパイルされる原因になります.
<p>新しいオプションに依存するカーネルファイルは最終的には見つけ出
されます. ただし, オプションを作っただけで対応するソースがどこにも
ない場合は別です.
<verb>
find /usr/src/sys -name type f | xargs fgrep NEW_OPTION
</verb>
<p>オプションに対応するソースを見つけるのに上記のコマンドは便利です.
見つけたすべてのファイルで編集, 追加をおこないます.
<verb>
#include "opt_foo.h"
</verb>
<p><em>ファイルの先頭の</em>, すべての <tt/#include &lt;xxx.h&gt;/
より前に入れます. この場合, オプションによって次のようにしてデフォルト値
を持たせている標準のヘッダファイル内の値を置き換えるため, 順番は非常に
重要です.
<verb>
#ifndef NEW_OPTION
#define NEW_OPTION (something)
#endif
</verb>
<p>システムヘッダファイル (たとえば <tt>/usr/include/sys/</tt> にある
ファイル) をオプションで置き換えることは, ほとんどの場合で失敗します.
そうすると, ヘッダファイルを深刻な状態に破壊してしまうので, include
しないとオプションの値によって不整合が起きてしまう場合を除き, それらの
ファイルに <tt>opt_<em>foo</em>.h</tt> を include しないでください.
そう, 現在このような例がいくつか存在していますが, 必ずしも正しい方法
ではありません.

@ -1,713 +0,0 @@
<!-- $Id: linuxemu.sgml,v 1.10 1997-10-19 22:13:25 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.22 -->
<chapt><heading>Linux エミュレーション<label id="linuxemu"></heading>
<p><em>原作: &a.handy and &a.rich;</em>
<p><em>訳: &a.kiroh;.<newline>24 September 1996.</em>
<sect><heading>Linux エミュレータのインストール</heading>
<p>
FreeBSD での Linux エミュレーションは, 大部分の Linux バイナリ(a.out
および ELF フォーマット)を実行できる状態になっています. 2.1-STABLE ブラン
チでのエミュレーションでは, Linux DOOM や Mathematica が実行できます.
FreeBSD 2.2-RELEASE でのエミュレーションは, さらに強化されており, Linux 用
の Quake, Abuse, IDL, netrek など, 多数のソフトウェアが実行できます.
Linux オペレーティングシステムには、特有の機能がいくつかあり, FreeBSD
でサポートされていないものもあります. Linux の /proc ファイルシステム
を使ったバイナリは, FreeBSD では実行できません (FreeBSD で使用可能な
/proc ファイルシステムとは仕様が異なっているためです). また仮想8086モー
ドを有効にするなど, i386 に特有なシステムコールを使っている場合も実行
できません.
<p>
カーネルが Linux エミュレーションを使用するように構築されているかを調
べるには, Linux のバイナリを実行してみるのが簡単です.
<tscreen>
<verb>
linux-executable: Exec format error. Wrong Architecture.
</verb>
</tscreen>
このようなエラーメッセージが表示されるようであれば, Linux との互換性は
サポートされていません. カーネルを再構築してインストールする必要があり
ます.
Linux エミュレーションの設定方法は, 使用している FreeBSD のバージョン
によって多少異なっています.
<sect1><heading>2.1-STABLE への Linux エミュレーションのインストール</heading>
<p>2.1-STABLE の GENERIC カーネルは, Linux との互換性を保つように構築
されていません. カーネルの再構築が必要です. 再構築をおこなうには, 2つの方
法があります. 1つは, エミュレータをカーネル自体にスタティックリンクす
る方法. もう1つは, 動的に Linux ローダブルカーネルモジュール(LKM)をロー
ドするようにする方法です.
<p>エミュレータを有効にするには, 以下をコンフィグレーションファイル
(/sys/i386/conf/LINT など) に追加します.
<tscreen>
<verb>
options COMPAT_LINUX
</verb>
</tscreen>
Linux DOOM などのアプリケーションを実行したい場合は, 共有メモリも有効
にしておかなければなりません. 以下を追加します.
<tscreen>
<verb>
options SYSVSHM
</verb>
</tscreen>
Linux のシステムコールを使用するには, 4.3BSD のシステムコールとの互換
性が保たれていることが必要です. 以下の行が含まれていることを確認してく
ださい.
<tscreen>
<verb>
options "COMPAT_43"
</verb>
</tscreen>
LKM を使用せずエミュレータをカーネルにスタティックにリンクしたい場合は,
以下の行を追加します.
<tscreen>
<verb>
options LINUX
</verb>
</tscreen>
<ref id="kernelconfig" name="FreeBSDカーネルのコンフィグレーション">の節の記述に
したがって config と, 新しいカーネルのインストールをおこなってください.
LKM を使用する場合は, ローダブルモジュールをインストールしなければなり
ません. カーネルとローダブルモジュールのバージョンが異なると, カーネル
がクラッシュする場合がありますので, 安全を期すためには, カーネルをイン
ストールするごとに, LKM も再インストールしてください.
<tscreen>
<verb>
% cd /usr/src/lkm/linux
% make all install
</verb>
</tscreen>
カーネルと LKM のインストールが終了したら, root で `linux' コマンドを
実行することで LKM をロードできます.
<tscreen>
<verb>
% linux
Linux emulator installed
Module loaded as ID 0
%
</verb>
</tscreen>
LKM がロードされたかどうかを確認するには, `modstat' を実行します.
<tscreen>
<verb>
% modstat
Type Id Off Loadaddr Size Info Rev Module Name
EXEC 0 3 f0baf000 0018 f0bb4000 1 linux_emulator
%
</verb>
</tscreen>
システムブート時に, LKM をロードするようにするには, 2つの方法がありま
す. FreeBSD 2.2.1-RELEASE または 2.1-STABLE では, /etc/sysconfig を,
<tscreen>
<verb>
linux=YES
</verb>
</tscreen>
のように, NO を YES に変更してください. FreeBSD 2.1 RELEASE およびそれ以
前のバージョンでは, そのような行はありませんので, /etc/rc.local に以下
の行を追加する必要があります.
<tscreen>
<verb>
linux
</verb>
</tscreen>
<sect1><heading>2.2-RELEASE への Linux エミュレーションのインストール
</heading>
<p>``options LINUX'' や ``options COMPAT_LINUX'' を指定する必要
はなくなりました. Linux エミュレーションは LKM(「ローダブルカーネルモジュール」)
を使用して, リブートせず簡単にインストールできます. スタートアッ
プファイルで以下のように指定します.
<enum>
<item>/etc/rc.conf に以下の行が必要です.
<tscreen>
<verb>
linux_enable=YES
</verb>
</tscreen>
<item> これは結果的に, /etc/rc.i386 の以下の指定を有効にします.
<tscreen>
<verb>
# Start the Linux binary emulation if requested.
if [ "X${linux_enable}" = X"YES" ]; then
echo -n ' linux'; linux > /dev/null 2>&1
fi
</verb>
</tscreen>
</enum>
<p>実行されたかどうかを確認するには, modstat を使用します.
<tscreen>
<verb>
% modstat
Type Id Off Loadaddr Size Info Rev Module Name
EXEC 0 4 f09e6000 001c f09ec010 1 linux_mod
%
</verb>
</tscreen>
2.2-RELEASE とそれ以降のシステムの中には, modstat の実行がうまくいかない
ものがあるという報告もあります. 何らかの理由で, Linux LKM がロードできな
い場合は,
<tscreen>
<verb>
options LINUX
</verb>
</tscreen>
をカーネルの設定ファイルに指定して, エミュレータをスタティックにリンク
してください. <ref id="kernelconfig" name="FreeBSDカーネルのコンフィグレーション">
の節の記述にしたがって config と, 新しいカーネルのインストールをおこ
なってください.
<sect1><heading>Linux ランタイムライブラリのインストール</heading>
<sect2><heading>linux_lib port を使用してのインストール</heading>
<p>多くの Linux アプリケーションはシェアードライブラリを使用しますので,
シェアードライブラリのインストールが終了しなければ, エミュレータのイン
ストールは終わったことになりません. 手動でもインストールできますが,
linux_lib port を使用するのが簡単です.
<tscreen>
<verb>
% cd /usr/ports-current/emulators/linux_lib
% make all install
</verb>
</tscreen>
これで, Linux エミュレータが動作するようになったはずです. 伝説(とメー
ルのアーカイブ :-) によれば, Linux エミュレーションは, ZMAGIC ライブラ
リとリンクされている Linux バイナリに対して, 最もうまく動作するようで
す. Slackware V2.0 などに使われている QMAGIC ライブラリだと, エミュレー
タが胸やけするかもしれません. これを書いている時点(1996年5月)で, ELF
エミュレーションは依然実験段階ですが, かなりうまく動作しているようです.
マイナーバージョンの不一致などを報告するプログラムもありますが, 普通は
問題にならないようです.
<sect2><heading>手動でのライブラリのインストール</heading>
<p>``ports'' ディストリビューションが手元にない場合は, 手動でライブラ
リをインストールする必要があります. プログラムが必要とする Linux のシェ
アードライブラリとラインタイムリンカが必要です. また Linux ライブラリ
の用の``shadow root'' ディレクトリ, /compat/linux, を作成する必要があ
ります. FreeBSD で動作する Linux のプログラムが使用するシェアードライ
ブラリは,まずこのファイルツリーから検索されます. 例えば, Linux のプロ
グラムが/lib/libc.so をロードしようとした場合には, FreeBSD は, まず
/compat/linux/lib/libc.so を開こうとします. 存在にしなかった場合には,
次に /lib/libc.so を試します. シェアードライブラリは, Linux の ld.so
が参照するライブラリではなく, /compat/linux/lib 以下にインストールする
必要があります.
FreeBSD 2.2-RELEASE 以降では, /compat/linux にかかわる動作が多少異なりま
す. -CURRENT では, ライブラリだけでなくすべてのファイルが, ``shadow
root'' /compat/linux から検索されます.
Linux のプログラムが必要とするシェアードライブラリを探す必要があるのは,
FreeBSD のシステムに Linux のプログラムをインストールする最初の数回だ
けでしょう. それが過ぎれば, 十分な Linux のシェアードライブラリがシス
テムにインストールされ, 新しくインストールした Linux のバイナリも, 余
計な作業をせずに動作させることができるようになります.
<sect2><heading>シェアードライブラリの追加</heading>
<p>
linux_port をインストールした後に, アプリケーションが必要なライブラリ
が存在しないというエラーを出したらどうしたらよいでしょうか? Linux のバ
イナリがどのシェアードライブラリを必要とし, そしてどこで入手できるか,
どのように探したらよいでしょうか? 基本的には, 以下の2種類の方法があり
ます(以下の手順にしたがう場合には, 必要なインストール作業をおこなう FreeBSD シ
ステム上で root として作業をおこなう必要があります).
<p>Linux システムを使用でき, 必要なシェアードライブラリが調べられる場
合には, 単に FreeBSD のシステムにそのライブラリをコピーするだけで
す. 例えば, DOOM の Linux バイナリを ftp で持ってきたとします. 使用で
きる Linux システムの上に転送して, `ldd linuxxdoom' とやれば, 必要とす
るシェアードライブラリがチェックできます.
<tscreen>
<verb>
% ldd linuxxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
</verb>
</tscreen>
<p>
最後のカラムに表示されているすべてのファイルを持って来て, /compat/linux の下
に置き, 最初のカラムに示されるファイル名からシンボリックリンクを張る必
要があります. すなわち, FreeBSD のシステムで, 以下のようなファイルが必
要となります.
<tscreen>
<verb>
/compat/linux/usr/X11/lib/libXt.so.3.1.0
/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
</verb>
</tscreen>
<p>
最初のカラムに表示されているファイルと, メジャーバージョンの同じ Linux
シェアードライブラリを既にインストールしている場合は, 新たにコピーする
必要はありません. 既にあるライブラリで動作するはずです. ただ, 新しいバー
ジョンのシェアードライブラリがある場合は, 新しいものをコピーすることを
お奨めします. 新しいライブラリにシンボリックリンクを変更したら, 古いラ
イブラリは削除してかまいません.
<tscreen>
<verb>
/compat/linux/lib/libc.so.4.6.27
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27
</verb>
</tscreen>
以上のようなライブラリがインストールされており, 新しいバイナリに対する
ldd の出力が以下のようになる場合を考えます。
<tscreen>
<verb>
libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29
</verb>
</tscreen>
このように最後の番号が1つか2つ古いだけならば, 普通は
/lib/libc.so.4.6.29 をコピーする必要はありません. わずかに古いライブラ
リでも, プログラムは動作するはずだからです. もちろん, 新しいライブラリ
と置き換えて, 以下のようにしても構いません.
<tscreen>
<verb>
/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
</verb>
</tscreen>
<p>シンボリックリンクのメカニズムは, Linux バイナリに<em>のみ</em>必要
なことに注意してください. FreeBSD のランタイムリンカは, メジャーリビジョ
ン番号の一致したライブラリを検索しますから, ユーザが気にする必要はあり
ません.
<sect2><heading>ld.so の設定 -- FreeBSD 2.2-RELEASE のみ</heading>
<p>このセクションは, FreeBSD 2.2-CURRENT 以降にのみ当てはまります.
2.1-STABLE を使用している方は, 飛ばしてください.
<p>
最後に, FreeBSD 2.2-RELEASE を使われている場合は, Linux のランタイムリンカと
その設定ファイルがシステムに導入されていることを確認してください.
これらのファイルは, FreeBSD システムの適切な位置(/compat/linux ツリー以
下)にコピーされている必要があります.
<tscreen>
<verb>
/compat/linux/lib/ld.so
/compat/linux/etc/ld.so.config
</verb>
</tscreen>
<p>使用できる Linux システムがない場合は, 必要なファイルは近くの FTP サイ
トから入手してください. 各種ファイルの入手先についての情報を, 後に付
けておきます. ここでは, 必要なファイルの入手先がわかっているものとしま
す.
<p>
以下のファイルを取得します(バージョンの不一致を避けるために, すべて同一
の FTP サイトから入手してください). 取得したファイルを /compat/linux
以下にインストールしてください(例えば, /foo/bar は,
/compat/linux/foo/bar にインストールされます).
<tscreen>
<verb>
/sbin/ldconfig
/usr/bin/ldd
/lib/libc.so.x.y.z
/lib/ld.so
</verb>
</tscreen>
<p>ldconfig と ldd は, /compat/linux の下にある必要はありません. システム
のどこにあっても構いません. ただ, FreeBSD の同名のコマンドと間違えないように
注意してください. /usr/local/bin の中に, ldconfig-linux, ldd-linux とし
てインストールするのもよいアイディアでしょう.
<p>
/compat/linux/etc/ld.so.conf ファイルを作成し, Linux ラインタイムリンカ
がシェアードライブラリを検索するディレクトリを記述してください. このファ
イルはプレインテキストファイルで, それぞれの行にディレクトリ名を含みま
す. /lib と /usr/lib は標準ですから, 以下のようなディレクトリが追加できま
す.
<tscreen>
<verb>
/usr/X11/lib
/usr/local/lib
</verb>
</tscreen>
<p>
Linux バイナリが, /lib/libc.so というライブラリを開いた場合, エミュレー
タは内部で, ファイル名を /compat/linux/lib/libc.so にマップします. エ
ミュレータがライブラリを検索するために, すべての Linux のライブラリ
(/compat/linux/lib/libc.so, /compat/linux/usr/X11/lib/libX11.so など)
は, /compat/linux 以下にインストールされていなければなりません.
<p>FreeBSD 2.2-RELEASE を使用している場合は, Linux の ldconfig プログラム
を実行する必要があります.
<tscreen>
<verb>
% cd /compat/linux/lib
% /compat/linux/sbin/ldconfig
</verb>
</tscreen>
<p>
ldconfig はスタティックリンクされていますから, 実行するのにシェアードラ
イブラリを必要としません. ldconfig は, /compat/linux/etc/ld.so.cache
ファイルを作成し, すべてのシェアードライブラリの名前を格納します. ライ
ブラリの追加をおこなった場合には, ldconfig を再実行して, このファイルを作り
直さなければなりません.
2.1-STABLE では, /compat/linux/etc/ld.so.cache をインストールしたり,
ldconfig を実行したりしないでください. 2.1-STABLE では, システムコー
ルの実装方法が異なるため, ldconfig は使用されません.
<p>
これで, libc シェアードライブラリを必要とする Linux バイナリを実行する設
定が終了しました. ldd を ldd 自身に実行してテストしてください.
ldd-linux としてインストールしている場合は, 以下のような結果になるはず
です.
<tscreen>
<verb>
% ldd-linux `which ldd-linux`
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
</verb>
</tscreen>
<p>ここまで終了すれば, 新しい Linux のバイナリをインストールできます.
新しい Linux バイナリをインストールするときは, それがシェアードライブ
ラリを必要とするかどうか確認してください. 必要とする場合は,
/compat/linux 以下にインストールされているかどうか確認してください. こ
れは, Linux の ldd を新しいプログラムに対して実行し, 出力を確認するこ
とによりおこなえます. ldd(ldd(1)マニュアルページも参照してください)は, プ
ログラムが必要とするシェアードライブラリのリストを, majorname
(jumpversion) => fullname という形式で出力します.
<p>
fullname のかわりに ``not found'' と出力される場合は, ライブラリの追加をす
る必要があります. 必要なライブラリの名前は, majorname に
libXXXX.so.N.mm という形式で示されています. Linux の FTP サイトで
libXXXX.so.N.mm を探し, インストールしてください. XXXX(名前)とN(メジャー
リビジョン番号)は一致している必要があります. マイナー番号 mm は, それほ
ど重要ではありませんが, なるべく最新のものをインストールするようにして
ください.
<sect1><heading>ホストネームリゾルバの設定</heading>
<p>DNS がうまく動作しなかったり, 以下のようなエラーメッセージが表示され
る場合は, /compat/linux/etc/host.conf ファイルを設定する必要があります.
<tscreen>
<verb>
resolv+: "bind" is an invalid keyword
resolv+: "hosts" is an invalid keyword
</verb>
</tscreen>
ファイルの内容を以下のように設定してください.
<tscreen>
<verb>
order hosts, bind
multi on
</verb>
</tscreen>
ここで, order は /etc/hosts を最初に検索し, 次にDNSを検索するように指定
します. /compat/linux/etc/host.conf がインストールされていない場合は,
Linux のアプリケーションは, FreeBSD の /etc/host.conf を使用しようとして,
文法の違いによる警告を表示します. /etc/resolv.conf を使用してネームサー
バを設定していない場合には, `bind' を削除してください.
<p>最後になりますが, 2.1-STABLE を使用している場合は,
RESOLV_HOST_CONF 環境変数を指定して, アプリケーションにホストテーブル
の検索方法を指定する必要があります. FreeBSD 2.2-RELEASE を使用している場合
は, スキップしてください. /bin/csh を使っている場合は, 以下のようにし
ます.
<tscreen>
<verb>
setenv RESOLV_HOST_CONF /compat/linux/etc/host.conf
</verb>
</tscreen>
/bin/shの場合は, 以下のようにします.
<tscreen>
<verb>
RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF
</verb>
</tscreen>
<sect1><heading>必要なファイルを探すには</heading>
<p>
注意: 以下の情報は, この文書が書かれた時点では有効ですが, FTP サイトの
名前, ディレクトリ, 配布ファイル名などは, 変更されている可能性がありま
す.
<p>
訳注: ここに取り上げられている FTP サイトは, 日本国内にもミラーサイト
が多数存在します。なるべく近くの FTP サイトからファイルを入手してくだ
さい.
<p>
Linux は, いくつかのグループが, それぞれ独自のバイナリ配布セットを作成
して配布しています. 配布セットは, ``Slackware'' や ``Yggdrasil'' など
の名前がつけられています. これらの配布セットは, 多くの FTP サイトから
入手できます. ファイルが展開されており, 必要なファイルのみを取得できる
場合もありますが, 通常は圧縮された配布セットの形で入手できます. 配布
セットは, いくつかのサブディレクトリに, gzip で圧縮された tar ファイル
として格納されています. それぞれの配布セットの一次配布先は, 以下の通り
です.
<verb>
sunsite.unc.edu:/pub/Linux/distributions
tsx-11.mit.edu:/pub/linux/distributions
</verb>
<p>
ヨーロッパのミラーサイトの例:
<verb>
ftp.luth.se:/pub/linux/distributions
ftp.demon.co.uk:/pub/linux/distributions
src.doc.ic.ac.uk:/packages/linux/distributions
</verb>
<p>
混乱を避けるために, ここでは Slackware だけを取り上げます. この配布セッ
トは, 多くのサブディレクトリ内にある別々のパッケージから構成されていま
す. 通常, パッケージはインストールプログラムにより自動的に制御されま
すが, ``手動で''おこなうことも可能です. まず配布セットの中の,
``contents'' サブディレクトリの内容を書くにしてください. ここには多く
の小さなテキストファイルが含まれおり, それぞれのパッケージの内容が記述
されています. 必要なファイルを探している場合は, まず contents 内のテキ
ストファイルを取得し, そのファイルの中から grep を使用して検索するのが,
最も速い方法でしょう. 以下に必要となるであろうファイルを, grep を使用
して検索した例を示します.
<tabular ca=ll>
Library <colsep>Package <rowsep>
ld.so <colsep>ldso <rowsep>
ldconfig <colsep>ldso <rowsep>
ldd <colsep>ldso <rowsep>
libc.so.4 <colsep>shlibs <rowsep>
libX11.so.6.0 <colsep>xf_lib <rowsep>
libXt.so.6.0 <colsep>xf_lib <rowsep>
libX11.so.3 <colsep>oldlibs <rowsep>
libXt.so.3 <colsep>oldlibs <rowsep>
</tabular>
<p>
この場合は, ldso, shlibs, xf_lib, oldlibs というパッケージが必要なこと
がわかります. それぞれのcontentsファイルの中で, ``PACKAGE LOCATION''
と書いてある行を探してください. その行に, パッケージが含まれているディ
スク, 今回の場合はサブディレクトリ名が書かれています. たとえば, 以下の
ようになります.
<tabular ca=ll>
Package <colsep>Location <rowsep>
ldso <colsep>diska2 <rowsep>
shlibs <colsep>diska2 <rowsep>
oldlibs <colsep>diskx6 <rowsep>
xf_lib <colsep>diskx9 <rowsep>
</tabular>
<p>``diskXX'' というのは, 配布セットの ``slackware/XX'' サブディレクトリ
を示します. それ以外の場合は, ``contrib'' サブディレクトリに格納されて
います. 今回の場合は, 以下のファイルを取得すればいいことがわかります
(ファイル名は, 配布セットのルートディレクトリからの相対パスで示してあ
ります).
<tscreen>
<verb>
slakware/a2/ldso.tgz
slakware/a2/shlibs.tgz
slakware/x6/oldlibs/tgz
slakware/x9/xf_lib.tgz
</verb>
</tscreen>
<p>
gzip で圧縮された tar ファイルから必要なファイルを /compat/linux ディ
レクトリに格納してください(必要なファイルのみを展開するか, あるいは必
要でないファイルを後で削除してください). これで作業は終了です.
<p><bf>参照:</bf>
<verb>
ftp.freebsd.org:pub/FreeBSD/2.0.5-RELEASE/xperimnt/linux-emu/README
/usr/src/sys/i386/ibcs2/README.iBCS2
</verb>
<sect><heading>FreeBSD への Mathematica のインストール<label id="mathematica"></heading>
<p><em>原作: &a.rich and &a.chuck</em>
<p><em>訳: &a.kiroh;.</em>
この文書は, Mathematica 2.2 の Linux バイナリディストリビューションを,
FreeBSD 2.1 にインストールする方法について説明します.
<p>
Mathematica は, そのままでは FreeBSD をサポートしていませんが, Linux は
サポートしています. ですから, Linux エミュレータの設定が終わってしまえ
ば, Mathematica を動作させる環境はほとんど整ったことになります.
<p>
DOS 用のスチューデント版 Mathematica から Linux バージョンへのアップグレー
ド価格は, 執筆時点 (1996年5月) では, &dollar;45.00 です.
直接 Wolfram(電話番号(217) 398-6500)に注文して, 支払いはクレジットカー
ドでおこなえます。
<sect1><heading>Mathematica ディストリビューションの展開</heading>
<p>
バイナリは, Wolfram から CDROM で配布されています. CDROM には, 1ダー
スほどの tar ファイルが含まれており, それぞれサポートされているアーキテ
クチャに対応しています. Linux 用のファイルは, LINUX.TAR です. 例えば
/usr/local/Mathematica 以下にインストールする場合は, 以下のようにしま
す.
<tscreen>
<verb>
% cd /usr/local
% mkdir Mathematica
% cd Mathematica
% tar -xvf /cdrom/LINUX.TAR
</verb>
</tscreen>
<sect1><heading>Mathematica パスワードの取得</heading>
<p>
Mathematica を実行する前に, 使用するマシンに対応した `machine ID' を
Wolfram から取得する必要があります.
<p>
Linux 互換ランタイムライブラリがインストールされており, mathematica の展
開が終了したら, Install ディレクトリで `mathinfo' プログラムを使用す
ることで `machine ID' を得ることができます.
<tscreen>
<verb>
% cd /usr/local/Mathematica/Install
% mathinfo
LINUX: 'ioctl' fd=5, typ=0x89(), num=0x27 not implemented
richc.isdn.bcm.tmc.edu 9845-03452-90255
%
</verb>
</tscreen>
ここで, `richc' の `machine ID' は, `9845-03452-90255' となります.
ioctl のメッセージは無視してください. まだ FreeBSD では実装されていません.
Mathematica を実行するたびに同様のメッセージが表示されますが, 実際の使
用に問題はありませんので, 無視してかまいません.
<p>電子メールや電話, ファックスなどで Wolfram に `machine ID' を知らせ
て登録すると, いくつかの番号のグループからなるパスワードが送り返されて
きます. パスワードを, マシン名, ライセンス番号とともに, mathpass ファ
イルに追加します.
追加は, 以下のようにおこないます.
<tscreen>
<verb>
% cd /usr/local/Mathematica/Install
% math.install
</verb>
</tscreen>
ライセンス番号と, Wolfram から送られてきたパスワードを入力を求めます.
入力を間違えたりして, math.install の実行が失敗しても大丈夫です.
`mathpass' ファイルを手動で編集して, 情報を訂正してください.
<p>
パスワードの入力後, math.install では, インストール方法を, デフォルト
設定でのインストールか、自分で方法を指定するインストールから選ぶことが
できます. 筆者のようにインストールプログラムを信用していない場合は, 自
分でディレクトリを指定する方を選択するでしょう. 自分で指定するインストー
ルを選んだ場合, math.install 自身ではディレクトリの作成はおこないません.
注意してください. 別のウィンドウでシェルを開いて, 指定するディレクトリ
を作成してください. 存在しないディレクトリを指定して, math.install が
インストールに失敗した場合には, ディレクトリを作成し, math.install を
再び実行してください. 筆者らがインストール先に選んだディレクトリは, 以
下の通りです. くれぐれもあらかじめ作成してから, math.install で指定す
るようにしてください.
<tscreen>
<verb>
/usr/local/Mathematica/bin バイナリファイル
/usr/local/Mathematica/man/man1 マニュアルページ
/usr/local/Mathematica/lib/X11 XKeysymbファイル
</verb>
</tscreen>
また, システムレコードファイルとして, /tmp/math.record を使用するように
設定することもできます. このファイルには, セッションのログが記録されま
す. この設定が終了すると, math.install は残りのファイルを展開して, 必
要な場所に格納します.
<p>
Mathematica ノートブックの機能は, X フロントエンドとして本体とは別に含
まれています. X フロントエンドを正しくインストールするには,
/usr/local/Mathematica/FrontEnd ディレクトリに移動し, ./xfe.install シェ
ルスクリプトを実行します. インストール先を指定しなければなりませんが,
あらかじめ作成する必要はありません. 必要なディレクトリは, すべて
math.install によって作成されているからです. インストールが終了したら,
/usr/local/Mathematica/bin ディレクトリに, ``mathematica'' という名前の
シェルスクリプトが新たに作成されているはずです.
<p>最後に, Mathematica がインストールしたシェルスクリプトを修正する必要
があります. /usr/local/Mathematica/bin に含まれるすべてのシェルスクリプ
トの先頭部分に以下の行を追加します.
<tscreen>
<verb>
XKEYSYMDB=/usr/local/Mathematica/lib/X11/XKeysymDB; export XKEYSYMDB
</verb>
</tscreen>
これは, Mathematica が使用する Mathematica バージョンのキーマップファイル
XKeysymDB の場所を指定するものです.
2.1-STABLE を使用している場合は, 以下の行も追加してください.
<tscreen>
<verb>
RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF
</verb>
</tscreen>
これは, Mathematica に Linux バージョンの host.conf を使用するように指定し
ます. FreeBSD の host.conf の文法は, Linux のものと異なっているため, この
指定をおこなわないと, /etc/host.conf に関わるエラーが発生します.
<p>
新しいマニュアルページを利用したい場合は, さらに /etc/manpath.config ファイ
ルを修正する必要があります. また自分の~/.cshrcを変更して,
/usr/local/Mathematica/bin をパスに追加してください.
<p>
これでインストール作業はすべて終了です. ``mathematica'' とタイプすれば,
見栄えのする Mathematica ノートブックが表示されるはずです. Mathematica
には, Motif ユーザインタフェースが含まれますが, スタティックにリンクさ
れているため, Motif のライブラリは必要ありあません. 頑張って
Mathematica をインストールしてください.
<sect1><heading>バグ</heading>
<p>
ノートブックフロントエンドは, 以下のようなエラーメッセージを表示して,
ハングすることがあることが知られています.
<tscreen>
<verb>
File .../Untitled-1.mb appears to be broken for OMPR.257.0
</verb>
</tscreen>
今のところ原因はわかっていませんが, このバグが影響を及ぼすのは, ノートブッ
クの X window フロントエンドのみです. Mathematica エンジン本体に影響は
ありません. そのため, ``math'' によって起動されるコマンドラインのインタ
フェースを使用している場合は, このバグは関係ありません.
<sect1><heading>謝辞</heading>
<p>&a.sosと&a.peterに深く感謝します. Linuxエミュレーションが現在の形に
あるのは, 彼らのおかげです. そして, 彼ら二人にハッパをかけて, 犬のよう
に働かせた Michael Smithに. 今やLinuxエミュレーションは, linuxよりうま
くlinuxバイナリを実行できます :-)

@ -1,66 +0,0 @@
<!-- $Id: lists.sgml,v 1.5 1997-02-25 04:56:52 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.8 -->
<!--
Names and email address of contributing authors and CVS committers
and some of the common FreeBSD mailing lists. Use these
entities when referencing people or mailing lists. Please
note the use of single
and double quotes.
-->
<!ENTITY a.announce "FreeBSD アナウンスメーリングリスト
<tt><htmlurl url='mailto:freebsd-announce@FreeBSD.ORG'
name='&lt;freebsd-announce@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.cvsall "FreeBSD CVS commit メッセージメーリングリスト
<tt><htmlurl url='mailto:cvs-all@FreeBSD.ORG'
name='&lt;cvs-all@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.doc "FreeBSD ドキュメンテーションプロジェクトメーリングリスト
<tt><htmlurl url='mailto:freebsd-doc@FreeBSD.ORG'
name='&lt;freebsd-doc@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.bugs "FreeBSD 障害報告のメーリングリスト
<tt><htmlurl url='mailto:freebsd-bugs@FreeBSD.ORG'
name='&lt;freebsd-bugs@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.current "FreeBSD-current メーリングリスト
<tt><htmlurl url='mailto:freebsd-current@FreeBSD.ORG'
name='&lt;freebsd-current@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.emulation "FreeBSD-emulation メーリングリスト
<tt><htmlurl url='mailto:freebsd-emulation@FreeBSD.ORG'
name='&lt;freebsd-emulation@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.fs "FreeBSD ファイルシステムプロジェクトメーリングリスト
<tt><htmlurl url='mailto:freebsd-fs@FreeBSD.ORG'
name='&lt;freebsd-fs@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.hackers "FreeBSD の技術的な議論のメーリングリスト
<tt><htmlurl url='mailto:freebsd-hackers@FreeBSD.ORG'
name='&lt;freebsd-hackers@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.ports "FreeBSD 移植ソフトウエアメーリングリスト
<tt><htmlurl url='mailto:freebsd-ports@FreeBSD.ORG'
name='&lt;freebsd-ports@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.questions "FreeBSD 一般的な質問メーリングリスト
<tt><htmlurl url='mailto:freebsd-questions@FreeBSD.ORG'
name='&lt;freebsd-questions@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.scsi "FreeBSD SCSI サブシステムメーリングリスト
<tt><htmlurl url='mailto:freebsd-scsi@FreeBSD.ORG'
name='&lt;freebsd-scsi@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.stable "FreeBSD-stable メーリングリスト
<tt><htmlurl url='mailto:freebsd-stable@FreeBSD.ORG'
name='&lt;freebsd-stable@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.majordomo "<tt><htmlurl url='mailto:majordomo@FreeBSD.ORG'
name='&lt;majordomo@FreeBSD.ORG&gt;'></tt>">
<!ENTITY a.core "FreeBSD コアチーム
<tt><htmlurl url='mailto:freebsd-core@FreeBSD.ORG'
name='&lt;freebsd-core@FreeBSD.ORG&gt;'></tt>">

@ -1,597 +0,0 @@
<!-- $Id: mail.sgml,v 1.11 1997-11-18 07:49:14 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.12 -->
<!--
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
<linuxdoc>
<article>
<title> メール
<author> &a.wlloyd;
<date> 24 Nov 1996, (c) 1996
<abstract> このセクションでは, FreeBSD 上での電子メールをセットアップするための基本的な情報について書かれています. </abstract>
<toc>
-->
<chapt><heading>電子メール<label id="mail"></heading>
<p><em>原作: &a.wlloyd;.</em>
<p><em>訳: &a.mihoko;14 January 1997.</em>
<p> 電子メールのコンフィグレーションは,
多くの <ref name="システム管理" id="bibliography"> の書籍で主題
として取り上げられています.
ネットワークに合わせたメールホスト構築の範疇を越えるようなことをする
のは, 簡単にはいきません.
電子メールのコンフィグレーションの一部は, ドメインネームシステム
(DNS) によって制御されています. あなた自身で DNS サーバを
立ち上げたい場合には, <bf><tt> /etc/namedb </tt></bf> ファイルを
あなたのサーバに合うように変更してください.
さらに詳しい情報が必要な場合には,'<bf><tt> man -k named </tt></bf>'
コマンドを実行してください.
<sect><heading>基本事項</heading>
<p>
電子メール交換の主要なプログラムや構成要素を, 次に示します.
<tt/メールホスト/ はあなたのホストやネットワークに対するすべて
の電子メールを配送したり受け取ったりするサーバです.
<sect1><heading>ユーザプログラム</heading>
<p> これは, <tt /elm, pine, mail/ や, より洗練された WWW ブラウザ
のようなプログラムです. このプログラムは, 単純に
すべてのメールをローカルメールホスト転送します. この転送は,
<tt>sendmail</tt> を呼び出すか, メールホストに対して TCP 上
の通信を使ってメールを配送するかのいずれかによっておこないます.
<sect1><heading>メールホストサーバデーモン</heading>
<p> 通常, このプログラムはバックグラウンドで実行されている
<tt /sendmail または smail/ です. 実行をやめたり,
コマンドライン引数を変更するには, <tt>/etc/rc.conf</tt> ファイル
(FreeBSD 2.2.2 より前のバージョンの場合は <tt>/etc/sysconfig</tt>
ファイル)を編集します.
特別な理由(<ref name="ファイアウォール" id="firewalls"> を
構築している場合など)がないかぎり, 実行する設定にしておくべきです.
<p>
<tt>sendmail</tt> は安全なサイト上であっても潜在的にセキュリティ上の
弱点になることを覚えておいてください.
<tt>sendmail</tt> のいくつかのバージョンでは, セキュリティ上の問題が
知られています.
<p><tt><bf> sendmail </bf></tt> は, 電子メールの配送,
受信の二つの仕事をおこないます.
<p><bf><tt/sendmail/ </bf> は, サイトの外側へメールを配送する必要が
ある場合, DNS を参照して配送先のメールを受け取る実際のホストを決定します.
<p> <tt/sendmail/ が配送エージェントとして動作する場合は,
ローカルキューからメッセージを取り出し, 受信側
コンピュータ上の sendmail へインターネットを介して配送します.
<sect1><heading>DNS - ネームサービス</heading>
<p> ドメインネームシステムとそのデーモン <tt/named/ は, ホストから
IP アドレス, および ホスト名からメールホストへのマッピングをおこなう
データベースを持っています.
IP アドレスは "A" レコードで定義します. "MX" レコードでは,
あなた宛のメールを受け取るメールホストを定義します.
もし あなたのホスト宛のメールに対する "MX" レコードを持っていない場合には,
メールはあなたのホストに直接配送されます.
あなたが自分自身の DNS サーバを実行させていない場合には,
DNS 上の情報を自分で変更することはできません.
インターネットプロバイダを使用している場合には, プロバイダに依頼して
変更してもらってください.
<sect1><heading>POP サーバ</heading>
<p> このプログラムはメールボックスからメールを取り出し,
ブラウザにメールを渡します. POP サーバをあなたのマシン上で
動かしたい場合には, 次の二つの作業をする必要があります.
<itemize>
<item>pop ソフトウェアを
<url url="../ports/mail.html" name="ports コレクション"> から入手
します.
pop ソフトウェアは, <tt><bf> /usr/ports </bf></tt>
または パッケージコレクションにあります.
このハンドブックには, <ref name="ポート" id="ports"> システム
についての完全な解説のセクションがあります.
<item>POP サーバを起動できるように,
<bf><tt>/etc/inetd.conf</tt></bf>
ファイルを編集します.
</itemize>
入手した pop プログラムには説明文が付属していますので, それを読んで
ください.
</sect>
<sect><heading>コンフィグレーション</heading>
<sect1><heading>基本事項</heading>
<p>
あなたのマシンに FreeBSD を普通にインストールして,
<bf><tt> /etc/resolv.conf </tt></bf> ファイルを設定するか,
またはネームサーバを走らせれば,
他のホストへ電子メールを送ることができるようになります.
あなたのホスト宛のメールを特定のホストに配送するようにしたい場合
には, 次の二つの方法があります.
<p>
- ネームサーバ ( <tt><bf>man -k named</></> ) を実行し,
あなた自身のドメイン <tt> smallminingco.com </tt> を定義する.
<p>
- あなたのホストに対する現在の DNS 名に配送されたメールを受け取る.
つまり <tt> dorm6.ahouse.school.edu </tt> 宛に送られたメールを受け取る.
<p>
インターネットへ完全に接続されたあなたのホストに直接メールが配送される
ためには,
ネームサーバのどのオプションを使用するかはあまり重要なことではありません.
大切なのは, あなたが恒久的な IP アドレスを持っていなくてはいけないと
いうことです. ダイナミック PPP で得られる IP アドレスではダメです.
もしあなたがファイアウォールの内側にいる場合は,
ファイアウォールが smtp トラフィックを
あなたのホストに渡すように設定されていなければいけません.
そのためには, ファイアウォールとなるホストの
<bf><tt> /etc/services </tt></bf> に
<verb>
smtp 25/tcp mail #Simple Mail Transfer
</verb>
と書いておきます.
あなたのホスト上でメールを受けたい場合には, DNS の MX エントリが
あなたのホストアドレスを指しているか,
あなたのホストの DNS 名に対して MX エントリが存在しないことを
確認してください.
次のコマンドを実行してみてください.
<verb>
newbsdbox# hostname
newbsdbox.freebsd.org
newbsdbox# host newbsdbox.freebsd.org
newbsdbox.freebsd.org has address 204.216.27.xx
</verb>
もしあなたのマシンが上記のメッセージだけを出力したならば,
<tt><bf>root@newbsdbox.freebsd.org</bf></tt> へのメールは, 問題なく
配送されるでしょう.
上記のメッセージの代わりに,
<verb>
newbsdbox# host newbsdbox.freebsd.org
newbsdbox.FreeBSD.org has address 204.216.27.xx
newbsdbox.FreeBSD.org mail is handled (pri=10) by freefall.FreeBSD.org
</verb>
というメッセージが出力された場合は, あなたのマシンに直接配送された
すべてのメールは, freefall 上の同じユーザ名に配送されてます.
この情報は, あなたのドメインネームサーバ上で設定します.
この設定をおこなうホストは, <bf><tt> /etc/resolv.conf </tt></bf>
にプライマリネームサーバとして書いたホストと同じホストであるべきです.
メールルーティング情報をもつ DNS レコードは, メールエクスチェンジャエントリ
(MX エントリ) です. MX エントリが存在しない場合には,
アドレスレコードにしたがって, 直接宛先ホストに配送されます.
freefall.freebsd.org の現時点での MX エントリは, 次のようになっています.
<verb>
freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall HINFO Pentium FreeBSD
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.com
freefall A 204.216.27.xx
freefall CNAME www.FreeBSD.org
</verb>
freefall は多くの MX エントリを持っています.
もっとも MX の値が小さいホストが, 最終的にメールを受け取ります.
もし freefall が他の処理で忙しかったり, ダウンしているような場合には,
他のホストが, 一時的にメールをキューにいれます.
使い勝手をよくするためには, 代替の MX サイトは, それぞれ
別の経路でインターネットへ接続しているとよいでしょう.
インターネットプロバイダまたは他の関連サイトが, このサービスを
提供することができます.
<bf><tt>dig, nslookup, </tt></bf>や<bf><tt> host </tt></bf> コマンド
を使うと, とても便利です.
<sect1><heading>あなたのドメイン (ネットワーク) に対するメール設定<label id="mail:domain"></heading>
<p>
ネットワークメールホストをセットアップするためには, すべての
ワークステーション宛のメールを直接受ける必要があります.
言いかえれば, <tt> *.smallminingco.com </tt> 宛のすべてのメールを
ハイジャックし, そのメールをあなたのメールホストである個々のマシンにに配送
します.
それらのワークステーション上のネットワークユーザは, たいていメールを
POP や telnet 等で受け取ります.
「同じユーザ名」のユーザアカウントが, 両方のマシンに存在しなければな
りません. 必要ならば, アカウントを作成するために <tt/adduser/
コマンドを使用してください. <tt/shell/ を <tt>/nonexistant</tt>
に設定すると, ユーザはログインできなくなります.
使用する予定のメールホストは, 各ワークステーションごとにメール交換が
できるように設定されていなければなりません. これは, DNS (すなわち
BIND や named) の設定が必要です. 詳細は, ネットワークの本を参照してください.
基本的には, 以下の行を DNS サーバに追加する必要があります.
<verb>
pc24.smallminingco.com A xxx.xxx.xxx.xxx ; Workstation ip
MX 10 smtp.smallminingco.com ; Your mailhost
</verb>
自前で DNS サーバを実行しているのでなければ, この作業は, 自分では
おこなえません. 自分で DNS サーバを実行したくない場合は,
インターネットプロバイダ等に依頼して, 作業をおこなってもらってください.
この作業により, このワークステーション宛のメールは,
MX (メールエクスチェンジャ) ホストに送られるようになります.
A レコードがどのマシンを指しているかどいうことには関係なく,
メールは MX ホストに送られます.
<p>
この機能は, 仮想電子メールホスト (Virtual E-Mail Hosting)
を実装するために使用されています.
<p>例
<p>
foo.bar というドメインを持つ顧客がいて,
foo.bar 宛のメールをすべて, わたしのマシン
smtp.amalliap.com に送りたいと思っています.
このような場合, あなたの DNS サーバ上で, 以下のようなエントリを作成
しなければなりません:
<verb>
foo.bar MX 10 smtp.smalliap.com ; your mailhost
</verb>
そのドメインに対して電子メールを送りたいだけなら,
A レコードは必要ありません.
つまり, <tt>foo.bar</tt> に対するアドレスレコードが存在しない限り,
'<bf><tt>ping foo.bar</tt></bf>' コマンドが動作することを期待しては
いけません
メールボックスへの最終的な配送が行われるメールを実際に受けている
メールホスト上では, sendmail はメールを受け付けているホストを
知っている必要があります.
<p>そのためには, (FEATURE(use_cw_file) を使用している場合)
/etc/sendmail.cw ファイルに pc24.smallminingco.com を追加するか,
<bf><tt>/etc/sendmail.cf</tt></bf> ファイルに,
"Cw myhost.smalliap.com" の行を追加してください.
<p>
もしあなたが本気で <tt/sendmail/ を使って何かしようと思うなら,
sendmail のソースをインストールするべきです.
ソースには, たくさんのドキュメントも付いています.
<ref name="UUCP のセットアップ" id="sendmailuucp"> の節に <tt/sendmail/ の
ソースを入手するのに必要な情報が掲載されています.
<sect1>
<heading> UUCP のセットアップ<label id="sendmailuucp"></heading>
<p><em>よくある質問 (FAQ) より抜粋.</em>
<p>
<p>
FreeBSD に付属する sendmail のコンフィグレーションは,
直接インターネット接続しているサイトに合うように作られてい
ます. メールを UUCP 経由で交換するようにしたい場合には,
別の sendmail コンフィグレーションファイルをインストールし
なければなりません.
<p>
<tt>/etc/sendmail.cf</tt> を手動で作成することは, 純正主義者
がおこなうことだと考えられています. sendmail のバージョン 8
では, <tt>m4</tt> プリプロセッサを使用して,
コンフィグレーションファイルを生成する方法が取られています.
この場合, 実際に手動で作成したコンフィグレーションは,
実際のコンフィグレーションより簡潔です.
以下の場所にあるコンフィグレーションファイルを使用してください.
<verb>
/usr/src/usr.sbin/sendmail/cf
</verb>
システム上にすべてのソースをインストールして
いない場合, sendmail の設定ツールは不完全なままであり,
それは個別のソース配布物の中にあります.
CD-ROM をマウントしてあれば, 以下のようにします.
<verb>
cd /usr/src
tar -xvzf /cdrom/dists/src/ssmailcf.aa
</verb>
驚かないでください. これはたった数百キロバイトのサイズのファ
イルです.
<tt>cf</tt> ディレクトリ上にある <tt>README</tt> ファイル
には, m4 コンフィグレーションの基本的な紹介が書かれてい
ます.
<p>
UUCP での配送には, <em>mailertable</em> 機能を使用すること
をおすすめします. これは sendamil が配送経路を決定するのに
使用するデータベースファイルです.
<p>
まずはじめに, <tt>.mc</tt> ファイルを作成します.
<tt>/usr/src/usr.sbin/snemdail/cf/cf</tt> ディレクトリに
これらのファイルを置きます. ここには既にいくつかの例が
置いてあるので, 見てください.
<tt>foo.mc</tt> という名前で作成したと仮定すると,
それを有効な <tt>sendmail.cf</tt> に変換するためには,
まず次のようにします:
<verb>
cd /usr/src/usr.sbin/sendmail/cf/cf
make foo.cf
</verb>
続いて、もし <tt>/usr/obj</tt> 以下のディレクトリが存在しなければ:
<verb>
cp foo.cf /etc/sendmail.cf
</verb>
とし、存在すれば次のようにします:
<verb>
cp /usr/obj/`pwd`/foo.cf /etc/sendmail.cf
</verb>
典型的な <tt>.mc</tt> ファイルは次のような内容です:
<verb>
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
</verb>
<em>nodns</em> と <em>nocanonify</em> は, メール配送をおこなう
際に, DNS を参照しないようにするための設定です.
<em>UUCP_RELAY</em> は, 必要な設定ですが, ここでは理由を
説明できません. その理由について, ここでは質問しないでください.
.UUCP 仮想ドメインアドレスを扱うことができるインターネット
ホスト名を書いてください.
おそらく, 使用する ISP のメール中継ホスト名をそこに記述する
ことになります.
<p>
この設定が終了したら, <tt>/etc/mailertable</tt> と呼ばれる
ファイルが必要になります. このファイルの典型的な例を示します:
<verb>
#
# 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
</verb>
見て分かるように, これは実際に使用されているファイルの一部
です. はじめの三行は, ドメインアドレスが指定されたメールが
デフォルトルートに送信せずに, 配送パスを「短縮」して, 隣接
UUCP サイトにメールを送るための設定です.
次の行は, メールを SMTP を使用して配送されているローカル
イーサネットドメイン上のマシンに送信するための設定です.
最後に, UUCP 接続されているドメインが, .UUCP という仮想ド
メイン表記されている場合です. これは,
「uucp-neighbor!recipient」をデフォルト規則で書換えるため
です. 最終行は必ず シングルドット (.) を指定します.
上記のどのパターンにも当てはまらない送信先に対して, あなた
のメールの世界中へのゲートウェイとして動作してくれる隣接
UUCP サイトに, UUCP を使って配送します.
<tt>uucp-dom:</tt> というキーワードの後に書かれたすべての
ノード名は, 隣接 UUCP サイトでなければなりません.
そのサイトと UUCP 接続を行っているかどうかは, コマンド
<tt>uuname</tt> を使用して確かめることができます.
<p>
実際に使用するには, このファイルを DBM データベースファイ
ルに変換する必要があることを忘れないでください.
これを実行するためのコマンド
行は, mailertable の先頭にコメントとして記述されています.
通常, このコマンドは, mailertable を変更するたびに実行しな
ければなりません.
<p>
最終ヒント: もしいくつかの特定のメール経路が正しく動作する
かどうかが心配ならば, sendmail の <tt>-bt</tt> オプション
を覚えておいてください. このオプションは sendmail
を <em>アドレステストモード</em> で起動します.
メールの経路をテストするには, 0 のあとにメール経路をテスト
したいアドレスを入力してください. 最後の行にあなたが使用する
インターネットメールエージェント (メール中継プログラム) と,
このエージェントに呼び出される宛先のホスト名と,
(翻訳可能な場合) アドレスがが表示されます. このモードを
終了するには, Control-D を入力します.
<verb>
j@uriah 191% sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 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%
</verb>
</sect>
<sect><heading>よくある質問 (FAQ)<label id="mailfaq"></heading>
<p><em>このセクションは, FAQ から移動してきました.</em>
<sect1>
<heading>どうして 同じサイトのホストに対して完全な形のドメイン名 (FQDN) を使わなければいけないの?</heading>
<p>
おそらく, そのホストは実際には違うドメインに属しているのでしょう.
例えば, もしあなたが foo.bar.edu ドメインにいて,
bar.edu ドメインの中の「mumble」というホストに接続したいと
します. その場合あなたは, 「mumble」ではなく
「mumble.bar.edu」という完全な形のドメイン名 (FQDN) によっ
てそのホストを参照しなければなりません.
<p>
伝統的に, これは BSD BIND リゾルバでは許されていました.
しかしながら, FreeBSD に付属する現在の <em>BIND</em> の
バージョンでは, 自分が属しているドメイン以外では,
完全な形でないドメイン名に対するデフォルトの省略形は
使用できません.
ですから, 完全でないホスト名 <tt>mumble</tt> は,
<tt>mumble.foo.bar.edu</tt> として解決されるか,
ルートドメインに検索しにいくでしょう.
<p>
これは, <tt>mumble.bar.edu</tt>, <tt>mumble.edu</tt>
というように検索し続けるような過去の動作とは異なります.
なぜこれが悪い慣例, さらにはセキュリティーホールと考えられ
るようになった理由については, RFC1535 を参照してください.
<p>
この問題を回避するには,
<p><tt>
search foo.bar.edu bar.edu
</tt><p>
という行を
<p><tt>
domain foo.bar.edu
</tt>
に置き換えます.
<p>
これを自分のマシン上の <tt>/etc/resolv.conf</tt> ファイルに
記述してください. しかしながら, 検索順序は, RFC 1535 に
書かれている, 「ローカル管理と公共の管理の間の境界線」
を越えないことを, あらかじめ確認してください.
</sect1>
<sect1><heading>Sendmail が ``mail loops back to myself'' というエラーを出します</heading>
<p>
これについては, sendmail FAQ の中で, 次のように答えられて
います:-
<verb>
* 次のような 「Local configuration error」というメッセージ
が出ます:
553 relay.domain.net config error: mail loops back to myself
554 <user@domain.net>... Local configuration error
この問題をどうやって解決すればよいでしょうか?
MX レコードを使って, あるドメイン(例: domain.net)宛にメールを
特定のホスト (この場合, relay.domain.net) に転送しようと設定したと
していますが, 中継ホストは自身が domain.net であるとは認識
していません.
(FEATURE(use_cs_file) を使用している場合は)
/etc/sendmail.cw に, domain.net を追加してください.
または, 「Cw domain.net」を /etc/sendmail.cf に追加してください.
</verb>
<p>
sendmail FAQ は, <tt>/usr/src/usr.sbin/sendmail</tt> に
あります. 「ちょっと凝った」メール設定
をしたい場合は, FAQ を読むことをおすすめします.
<sect1><heading>ダイアルアップ PPP ホストで電子メールを使うにはどうしたらいいの?</heading>
<p>
LAN 上にある FreeBSD マシンを, インターネットに接続したいと
します. FreeBSD マシンは, その LAN でのメールゲートウェイになります.
FreeBSD マシンは専用線接続ではありません (訳注:ダイアルアップ接続など).
これには, 少なくとも二つの方法があります.
一つは UUCP を使うことです.
このとき鍵になるのは, あなたのドメインに対するセカンダリ MX サービス
を提供してくれるインターネットサイトをみつけることです.
例:
<verb>
bigco.com. MX 10 bigco.com.
MX 20 smalliap.com.
</verb>
最終的なメール受信先としては, 一つのホストだけが定義されるべきです
(bigco.com 上の <tt>/etc/sendmail.cf</tt> ファイルに, 「Cw bigco.com」
を追加します).
送信側の sendmail が, メールを配送しようとしている時, モデムの接続を
介してあなたのところに接続しようとします.
大抵の場合, あなたのマシンがオンラインでないために, 接続はタイムアウト
してしまうでしょう. sendmail は自動的に, メールをセカンダリの MX サイト
に (あなたのインターネットプロバイダ) に配送します.
セカンダリ MX サイトは, (<tt>/etc/rc.conf</tt> ファイル
に <tt>sendmail_flag = "-bd -q15m"</tt>と書かれている場合) 15 分ごとに,
プライマリ MX サイトにメールを配送しようと, あなたのホストに接続しに
いきます.
ログインスクリプトとして, このようなものを使うとよいでしょう.
<verb>
#!/bin/sh
# Put me in /usr/local/bin/pppbigco
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppbigco
</verb>
ユーザごとにログインスクリプトを作りたい場合には, 上記
のスクリプトの代わりに, <tt>sendmail -qRbigco.com</tt> を使用する
こともできます. このようにすると, キューの中の bigco.com に対する
すべてのメールは, すぐに強制的に処理されます.
さらに, 次のような改良もできます.
以下は, freebsd-isp メイリングリストから抜粋してきたメッセージです.
<verb>
> 私たちはお客様に対して, セカンダリ MX を提供しています. お客様は一日
> に何回か私たちのサービスに接続し, メールを彼らのプライマリ MX に
> 受け取ります (彼らのドメインに対するメールが到着した時には, 私たちは
> 彼らのサイトを呼び出しません).
> 私たちの sendmail は, 30 分ごとにメールキューに溜っているメールを
> 配送します. ちょうどその時に, すべてのメールがプライマリ MX に送られ
> たかどうかを確かめるためには, 彼らは 30 分は オンラインでいなけれ
> ばなりません.
>
> すべてのメールを今すぐ送るために sendmail を初期化するコマンドはあ
> るでしょうか? もちろん私たちのマシン上には, ユーザはルート (root) 権限
> を持っていません.
sendmail.cf の 「privacy flags」 セクションに,
「Opgoaway,restrictqrun」の定義があります.
root 以外のユーザがキューを処理できるようにするには,
restrictqrun を削除してください. また, MX を再調整が必要かもしれません.
あなたがたは, 顧客のサイトに対する一番優先度の高い MX なので,
次のように定義します:
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
このようにすると, リモートサイトからのメールが, 顧客のマシンと接続し
ようとせず, 直接あなたがたのホストマシンに配送されるようになります.
ホストマシンに配送されたメールは, 続いて顧客のマシンに送られます.
これはホスト名にのみ有効なので, 顧客のメールマシンに,
「host.customer.com」とは別に, 「customer.com」も定義する必要があり
ます. DNS 上で, 「customer.com」に対する A レコードを定義してください.
</verb>
</sect1>

@ -1,61 +0,0 @@
<!-- $Id: memoryuse.sgml,v 1.7 1997-10-19 22:13:27 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.11 -->
<sect><heading>PC におけるメモリの利用<label id="memoryuse"></heading>
<p><em>原作: &a.joerg;.<newline>
16 Apr 1995.</em>
<p><em>訳: &a.tomo;. <newline>
29 Oct 1996.</em>
<em>FreeBSDがi386プラットフォーム上でどのようにメモリを使うかに
ついての説明です. </em>
ブート部分は<tt>0:0x7c00</tt>にロードされ, すぐに自分自身を
<tt>0x7c0:0</tt>に移します. (これは手品ではなく, 単なる<tt>%cs</tt>
セレクタのための調節であり, <tt>ljmp</tt>により行われます. )
それから最初の15セクタを<tt>0x10000</tt>(biosbootのMakefileのなかの
BOOTSEG部分)にロードし, 作業領域のスタックを<tt>0x1fff0</tt>以下に
セットします. このあと, boot2 に飛びます. つまり, boot1 自身と
(ダミーの) DOS パーティションテーブルを飛び越えて, %csセレクタを
調節します---この時点ではまだ16ビットモードです.
boot2はブートファイルを要求し, <tt>a.out</tt>ヘッダを調べます.
<tt>0x00ffffff</tt>によってファイルエントリポイントを
(通常は<tt>0xf0100000</tt>に)マスクし, ロードします.
このため, 通常のロードポイントは1MB(<tt>0x00100000</tt>)になります.
ロードしている間, リアルモードでBIOSを使うため, ブートコードは,
リアルモードとプロテクトモードの間を行ったり来たりします
(訳注: これは, BIOSがリアルモード用に書かれていて,
ロードすべき領域がリアルモードではアクセスできない1MBより上位の
アドレスであることから, ブートコードがリアルモードと
プロテクトモードを切り替えながら動作するためです).
ブートコード自身はプロテクトモードで<tt>%cs</tt>と<tt>%ds/%es</tt>用に
セグメントセレクタ<tt>0x18</tt>と<tt>0x20</tt>を使い,
リアルモードに戻るのに<tt>0x28</tt>を使います.
最終的にカーネルはアドレス空間全体をカバーできるようなダミーの
ディスクリプタを参照して<tt>%cs</tt> <tt>0x08</tt>と
<tt>%ds/%es/%ss</tt> <tt>0x10</tt>でスタートします.
カーネルはそのロードポイントで起動されます.
別の(高位)アドレスにリンクされるので,
ページテーブルやページディレクトリなどが適切に設定され,
ページングが有効になり, カーネルがリンクされたアドレスで
動作するようになるまでは, カーネルはロードアドレスからの
相対アドレス (PIC: position independent code) を用いて
実行されなければなりません.
<em>寄贈: &a.davidg;.<newline>
16 Apr 1995.</em>
カーネルの BSS セグメントの直後の物理ページ (実メモリ) に
proc0 (訳注: プロセス番号 0, swapper) のページディレクトリや
ページテーブル, Uページが配置されます.
仮想記憶機構が初期化された少しあと,
<tt>0x1000-0x9ffff</tt>の実メモリとカーネル
(text + data + bss + 上記の proc0 に関わるもの + その他)
の後ろの実メモリは, 通常の仮想記憶ページの形で利用可能となり,
グローバルな空きページリストに追加されます.

@ -1,811 +0,0 @@
<!-- $Id: mirrors.sgml,v 1.24 1998-01-26 01:41:45 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.78 -->
<!--
<!doctype linuxdoc public "-//FreeBSD//DTD linuxdoc//EN">
-->
<chapt><heading>FreeBSD の入手方法<label id="mirrors"></heading>
<sect><heading>CD-ROM 出版社</heading>
<p>FreeBSD は Walnut Creek CDROM から出されている CD-ROM から入手できます:
<quote>
Walnut Creek CDROM<newline>
1547 Palos Verdes Mall, Suite 260<newline>
Walnut Creek CA 94596 USA<newline>
Phone: +1 510 674-0783<newline>
Fax: +1 510 674-0821<newline>
Email: <url url="mailto:info@cdrom.com" name="info@cdrom.com"><newline>
WWW: <url url="http://www.cdrom.com/" name="http://www.cdrom.com/">
</quote>
<sect><heading>FTP サイト<label id="mirrors-ftp"></heading>
<p>FreeBSD の公式な情報は anonymous FTP によって以下の場所から
入手できます:
<quote>
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD">.
</quote>
<p>さらに, FreeBSD は以下のミラーサイトから anonymous FTP によって
入手できます. もし FreeBSD を anonymous FTP によって手にいれる場合は,
近くのサイトを利用するようにしてください.
<ref id="mirrors-ar" name="Argentina">,
<ref id="mirrors-au" name="Australia">,
<ref id="mirrors-br" name="Brazil">,
<ref id="mirrors-ca" name="Canada">,
<ref id="mirrors-cz" name="Czech Republic">,
<ref id="mirrors-dk" name="Denmark">,
<ref id="mirrors-ee" name="Estonia">,
<ref id="mirrors-fi" name="Finland">,
<ref id="mirrors-fr" name="France">,
<ref id="mirrors-de" name="Germany">,
<ref id="mirrors-hk" name="Hong Kong">,
<ref id="mirrors-ie" name="Ireland">,
<ref id="mirrors-il" name="Israel">,
<ref id="mirrors-jp" name="Japan">,
<ref id="mirrors-kr" name="Korea">,
<ref id="mirrors-nl" name="Netherlands">,
<ref id="mirrors-pl" name="Poland">,
<ref id="mirrors-pt" name="Portugal">,
<ref id="mirrors-ru" name="Russia">,
<ref id="mirrors-za" name="South Africa">,
<ref id="mirrors-si" name="Slovenia">,
<ref id="mirrors-se" name="Sweden">,
<ref id="mirrors-tw" name="Taiwan">,
<ref id="mirrors-th" name="Thailand">,
<ref id="mirrors-ua" name="Ukraine">,
<ref id="mirrors-uk" name="UK">,
<ref id="mirrors-us" name="USA">.
<descrip>
<tag><label id="mirrors-ar">アルゼンチン</tag>
何か問題がある場合は,このドメインの
<url url="mailto:hostmaster@ar.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.ar.FreeBSD.ORG/pub/FreeBSD"
name="ftp.ar.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-au">オーストラリア</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@au.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.au.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.au.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.au.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp2.au.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp3.au.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp3.au.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp4.au.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp4.au.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-br">ブラジル</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@br.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.br.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp2.br.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp3.br.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp3.br.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp4.br.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp4.br.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp5.br.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp5.br.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp6.br.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp6.br.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp7.br.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp7.br.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-ca">カナダ</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@ca.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.ca.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.ca.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-cz">チェコ</tag>
<itemize>
<item>
<url url="ftp://sunsite.mff.cuni.cz/OS/FreeBSD"
name="ftp://sunsite.mff.cuni.cz/OS/FreeBSD"><newline>
連絡先: <url url="mailto:jj@sunsite.mff.cuni.cz"
name="jj@sunsite.mff.cuni.cz">.
</itemize>
<tag><label id="mirrors-dk">デンマーク</tag>
何か問題がある場合は,このドメインの
<url url="mailto:hostmaster@dk.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.dk.freeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.dk.freeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-ee">エストニア</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@ee.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.ee.freebsd.ORG/pub/FreeBSD"
name="ftp://ftp.ee.freebsd.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-fi">フィンランド</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@fi.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.fi.freebsd.ORG/pub/FreeBSD"
name="ftp://ftp.fi.freebsd.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-fr">フランス</tag>
<itemize>
<item>
<url url="ftp://ftp.ibp.fr/pub/FreeBSD"
name="ftp://ftp.ibp.fr/pub/FreeBSD"><newline>
連絡先: <url url="mailto:Remy.Card@ibp.fr"
name="Remy.Card@ibp.fr">.
</itemize>
<tag><label id="mirrors-de">ドイツ</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@de.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.de.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.de.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.de.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp2.de.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp3.de.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp3.de.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp4.de.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp4.de.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp5.de.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp5.de.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp6.de.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp6.de.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp7.de.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp7.de.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-hk">香港</tag>
<itemize>
<item>
<url url="ftp://ftp.hk.super.net/pub/FreeBSD"
name="ftp://ftp.hk.super.net/pub/FreeBSD"><newline>
連絡先: <url url="mailto:ftp-admin@HK.Super.NET"
name="ftp-admin@HK.Super.NET">.
</itemize>
<tag><label id="mirrors-ie">アイルランド</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@ie.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.ie.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.ie.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-il">イスラエル</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@il.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.il.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.il.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.il.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp2.il.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-jp">日本</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@jp.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.jp.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.jp.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp2.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp3.jp.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp3.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp4.jp.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp4.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp5.jp.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp5.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp6.jp.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp6.jp.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-kr">韓国</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@kr.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.kr.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.kr.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.kr.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp2.kr.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-nl">オランダ</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@nl.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.nl.freebsd.ORG/pub/FreeBSD"
name="ftp://ftp.nl.freebsd.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-pl">ポーランド</tag>
何か問題がある場合は,このドメインの
<url url="mailto:hostmaster@pl.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.pl.freebsd.ORG/pub/FreeBSD"
name="ftp://ftp.pl.freebsd.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-pt">ポルトガル</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@pt.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.pt.freebsd.org/pub/FreeBSD"
name="ftp://ftp.pt.freebsd.org/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.pt.freebsd.org/pub/FreeBSD"
name="ftp://ftp2.pt.freebsd.org/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-ru">ロシア</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@ru.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.ru.freebsd.org/pub/FreeBSD"
name="ftp://ftp.ru.freebsd.org/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.ru.freebsd.org/pub/FreeBSD"
name="ftp://ftp2.ru.freebsd.org/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp3.ru.freebsd.org/pub/FreeBSD"
name="ftp://ftp3.ru.freebsd.org/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-za">南アフリカ</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@za.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.za.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.za.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.za.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp2.za.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp3.za.FreeBSD.ORG/FreeBSD"
name="ftp://ftp3.za.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-si">スロベニア</tag>
何か問題がある場合には, このドメインの
<url url="mailto:hostmaster@si.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.si.freebsd.ORG/pub/FreeBSD"
name="ftp://ftp.si.freebsd.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-se">スウェーデン</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@se.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.se.freebsd.ORG/pub/FreeBSD"
name="ftp://ftp.se.freebsd.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-tw">台湾</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@tw.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.tw.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.tw.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.tw.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp2.tw.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp3.tw.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp3.tw.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-th">タイ</tag>
<itemize>
<item>
<url url="ftp://ftp.nectec.or.th/pub/FreeBSD"
name="ftp://ftp.nectec.or.th/pub/FreeBSD"><newline>
連絡先: <url url="mailto:ftpadmin@ftp.nectec.or.th"
name="ftpadmin@ftp.nectec.or.th">.
</itemize>
<tag><label id="mirrors-ua">ウクライナ</tag>
<itemize>
<item>
<url url="ftp://ftp.ua.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.ua.FreeBSD.ORG/pub/FreeBSD"><newline>
連絡先: <url url="mailto:archer@lucky.net"
name="archer@lucky.net">.
</itemize>
<tag><label id="mirrors-uk">イギリス</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@uk.FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.uk.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.uk.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.uk.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp2.uk.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp3.uk.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp3.uk.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp4.uk.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp4.uk.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag><label id="mirrors-us">アメリカ</tag>
何か問題がある場合は, このドメインの
<url url="mailto:hostmaster@FreeBSD.ORG" name="hostmaster">
に連絡してください.
<itemize>
<item>
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp2.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp3.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp3.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp4.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp4.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp5.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp5.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp6.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp6.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
</descrip>
FreeBSD (2.0C またはそれ以降) の輸出規制コード (eBones と secure) の
最新のバージョンは以下の場所から入手できます.
もしあなたがアメリカやカナダ以外にいるのであれば,
secure (DES) と eBones (Kerberos) を
以下の外国向けの配布サイトから手にいれてください:
<descrip>
<tag>南アフリカ</tag>
このドメインの
<url url="mailto:hostmaster@internat.FreeBSD.ORG" name="Hostmaster">
.
<itemize>
<item>
<url url="ftp://ftp.internat.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.internat.FreeBSD.ORG/pub/FreeBSD"><newline>
<item>
<url url="ftp://ftp2.internat.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp2.internat.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag>ブラジル</tag>
このドメインの
<url url="mailto:hostmaster@br.FreeBSD.ORG" name="Hostmaster">
.
<itemize>
<item>
<url url="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"
name="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD"><newline>
</itemize>
<tag>フィンランド</tag>
<itemize>
<item>
<url url="ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt"
name="ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt"><newline>
連絡先: <url url="mailto:count@nic.funet.fi"
name="count@nic.funet.fi">.
</itemize>
</descrip>
<sect><heading>CTM サイト<label id="mirrors-ctm"></heading>
<p><ref id="ctm" name="CTM">/FreeBSD は以下のミラーサイトから anonymous FTP
によって入手できます. もし CTM を anonymous FTP によって手にいれる場合は,
近くのサイトを利用するようにしてください.
何か問題がある場合は, &a.phk;に連絡してください.
<descrip>
<tag>カリフォルニア, サンフランシスコ近辺, 公式なソース</tag>
<itemize>
<item>
<url url="ftp://ftp.freebsd.org/pub/FreeBSD/CTM"
name="ftp://ftp.freebsd.org/pub/FreeBSD/CTM"><newline>
</itemize>
<tag>ドイツ, トリエル</tag>
<itemize>
<item>
<url url="ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM"
name="ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM"><newline>
</itemize>
<tag>南アフリカ, ctm, sup, CVSupなどの古い差分ファイルのバックアップサーバ</tag>
<itemize>
<item>
<url url="ftp://ftp.internat.freebsd.org/pub/FreeBSD/CTM"
name="ftp://ftp.internat.freebsd.org/pub/FreeBSD/CTM"><newline>
</itemize>
<tag>台湾/中華民国, チャーイー(嘉義)</tag>
<itemize>
<item>
<url url="ftp://ctm.tw.freebsd.org/pub/freebsd/CTM"
name="ftp://ctm.tw.freebsd.org/pub/freebsd/CTM"><newline>
<item>
<url url="ftp://ctm2.tw.freebsd.org/pub/FreeBSD/CTM"
name="ftp://ctm2.tw.freebsd.org/pub/FreeBSD/CTM"><newline>
<item>
<url url="ftp://ctm3.tw.freebsd.org/pub/freebsd/CTM"
name="ftp://ctm3.tw.freebsd.org/pub/freebsd/CTM"><newline>
</itemize>
</descrip>
近くにミラーサイトがない場合やミラーが不完全な場合は,
<url url="http://ftpsearch.ntnu.no/ftpsearch/"
name="http://ftpsearch.ntnu.no/ftpsearch"> の
<url url="http://ftpsearch.ntnu.no/" name="FTP search"> を試してください.
FTP search はノルウェーの Trondheim にある, フリーの素晴らしい アーカイブサーバです.
<sect><heading>CVSup サイト<label id="mirrors-cvsup"></heading>
<p>FreeBSD の <ref id="cvsup" name="CVSup"> サーバは以下のサイトで稼働しています:
<descrip>
<tag>アルゼンチン</tag>
<itemize>
<item>cvsup.ar.FreeBSD.ORG
(<url url="mailto:msagre@cactus.fi.uba.ar" name="maintainer">)
</itemize>
<tag>オーストラリア</tag>
<itemize>
<item>cvsup.au.FreeBSD.ORG
(<url url="mailto:dawes@physics.usyd.edu.au" name="maintainer">)
</itemize>
<tag>ブラジル</tag>
<itemize>
<item>cvsup.br.FreeBSD.ORG
(<url url="mailto:cvsup@cvsup.br.freebsd.org" name="maintainer">)
</itemize>
<tag>カナダ</tag>
<itemize>
<item>cvsup.ca.FreeBSD.ORG
(<url url="mailto:james@ican.net" name="maintainer">)
</itemize>
<tag>エストニア</tag>
<itemize>
<item>cvsup.ee.FreeBSD.ORG
(<url url="mailto:taavi@uninet.ee" name="maintainer">)
</itemize>
<tag>フィンランド</tag>
<itemize>
<item>cvsup.fi.FreeBSD.ORG
(<url url="mailto:count@key.sms.fi" name="maintainer">)
</itemize>
<tag>ドイツ</tag>
<itemize>
<item>cvsup.de.FreeBSD.ORG
(<url url="mailto:wosch@freebsd.org" name="maintainer">)
<item>cvsup2.de.FreeBSD.ORG
(<url url="mailto:petzi@freebsd.org" name="maintainer">)
</itemize>
<tag>日本</tag>
<itemize>
<item>cvsup.jp.FreeBSD.ORG
(<url url="mailto:simokawa@sat.t.u-tokyo.ac.jp" name="maintainer">)
<item>cvsup2.jp.FreeBSD.ORG
(<url url="mailto:max@FreeBSD.ORG" name="maintainer">)
</itemize>
<tag>オランダ</tag>
<itemize>
<item>cvsup.nl.FreeBSD.ORG
(<url url="mailto:xaa@stack.nl" name="maintainer">)
</itemize>
<tag>ノルウェー</tag>
<itemize>
<item>cvsup.no.FreeBSD.ORG
(<url url="mailto:Tor.Egge@idt.ntnu.no" name="maintainer">)
</itemize>
<tag>ロシア</tag>
<itemize>
<item>cvsup.ru.FreeBSD.ORG
(<url url="mailto:mishania@demos.su" name="maintainer">)
</itemize>
<tag>南アフリカ</tag>
<itemize>
<item>cvsup.za.FreeBSD.ORG
(<url url="mailto:markm@FreeBSD.ORG" name="maintainer">)
<item>cvsup2.za.FreeBSD.ORG
(<url url="mailto:markm@FreeBSD.ORG" name="maintainer">)
</itemize>
<tag>台湾</tag>
<itemize>
<item>cvsup.tw.FreeBSD.ORG
(<url url="mailto:jdli@freebsd.csie.nctu.edu.tw" name="maintainer">)
</itemize>
<tag>ウクライナ</tag>
<itemize>
<item>cvsup2.ua.FreeBSD.ORG
(<url url="mailto:archer@lucky.net" name="maintainer">)
</itemize>
<tag>イギリス</tag>
<itemize>
<item>cvsup.uk.FreeBSD.ORG
(<url url="mailto:joe@pavilion.net" name="maintainer">)
</itemize>
<tag>アメリカ</tag>
<itemize>
<item>cvsup.FreeBSD.ORG
(<url url="mailto:skynyrd@opus.cts.cwu.edu" name="maintainer">)
<item>cvsup2.FreeBSD.ORG
(<url url="mailto:jdp@FreeBSD.ORG" name="maintainer">)
<item>cvsup3.FreeBSD.ORG
(<url url="mailto:wollman@FreeBSD.ORG" name="maintainer">)
</itemize>
</descrip>
FreeBSD の輸出規制されたコード (eBones と secure) は CVSup 経由で以下
の国際的なリポジトリから入手できます. アメリカ合衆国やカナダ以外に居る
場合は, このサイトを使って輸出規制されたコードを入手してください.
<descrip>
<tag>南アフリカ</tag>
<itemize>
<item>cvsup.internat.FreeBSD.ORG
(<url url="mailto:markm@FreeBSD.ORG" name="maintainer">)
</itemize>
</descrip>
<p>以下の CVSup サイトは, <ref id="ctm" name="CTM">ユーザのことを特に
考慮して運用されています. 他の CVSup のミラーサイトとは異なり, これら
のサイトでは CTM を使って最新の状態を保っています. つまり, もし以下の
サイトから <tt>cvs-all</tt> を <tt>release=cvs</tt> で CVSup すれば,
CTM の <tt>cvs-cur</tt> のデルタを使って更新するのに適した CVS のリポ
ジトリ (必須となる<tt> .ctm_status</tt> ファイルも含まれています.) を
入手することができます. これにより, これまで CVSup を使って
<tt>cvs-all</tt> 全部を入手していたユーザも CTM のベースデルタを使って
最初からリポジトリを構築し直すことなく CVSup から CTM へと移行すること
が可能です.
<p>この機能は, リリースタグを <tt>cvs</tt> として <tt>cvs-all</tt> ディ
ストリビューションを入手する時のみ利用できるものですので注意してくださ
い. 他のディストリビューションやリリースタグを指定した場合でも指定した
ファイルを入手することは可能ですが, これらのファイルを CTM で更新する
ことはできません.
<p>また, CTM の現在のバージョンではタイムスタンプを保存しないため, 以
下のサイトのファイルのタイムスタンプは他のミラーとは異なる物となってい
ますので注意が必要です. 利用するサイトを以下のサイトと他のサイトの間で
変更することはお勧めできません. ファイルの転送は問題なくできますが, 少々
非能率的です.
<descrip>
<tag>ドイツ</tag>
<itemize>
<item>ctm.FreeBSD.ORG
(<url url="mailto:blank@fox.uni-trier.de" name="maintainer">)
</itemize>
</descrip>

@ -1,88 +0,0 @@
<!-- $Id: nfs.sgml,v 1.6 1997-02-25 04:57:11 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.9 -->
<sect><heading>NFS<label id="nfs"></heading>
<p><em>原作: &a.jlind;.</em>
<p><em>訳: &a.tomo;.<newline>6 September 1996.</em>
ISA用のイーサネットアダプタの中には性能が悪いため, ネットワーク,
特に NFS で深刻な問題がおきるものがあります. これは FreeBSD に限ったことでは
ありませんが, FreeBSD でも起こり得ます.
この問題は, (FreeBSDを使用した)PCがシリコン・グラフィックス社やサン・マイクロ
システムズ社などの高性能なWSにネットワーク接続されている場合に頻繁に
起こります. NFSマウントはうまく行きます. また, いくつかの操作もうまく
働きますが, 他のシステム(WS)に対する要求や応答は続いていても, 突然サーバ
がクライアントの要求に対して反応しなくなります.
これは, クライアントがFreeBSDか上記のWSであるとき, にクライアント側に起きる
現象です. 多くのシステムでは, いったんこの問題が起きたら解決できないので,
行儀よくシャットダウンするしかありません.
唯一の解決策は, この状況に陥る前にクライアントをリセットすることです.
なぜなら, 一旦この状況に陥ると NFS を解除することさえできないからです.
"正しい"解決法は, より高性能のイーサネットアダプタをFreeBSDシステムに
インストールすることですが, 満足な操作ができるような簡単な方法があります.
もし, FreeBSDシステムがサーバになるのなら, クライアントからのマウント時に
"-w=1024"オプションをつけて下さい. もしFreeBSDシステムがクライアントになる
のなら, NFSファイルシステムを"-r=1024"オプションつきでマウントして下さい.
これらのオプションは自動的にマウントをおこなう場合には
クライアントのfstabエントリの4番目のフィールドに指定してもよいですし,
手動マウントの場合はmountコマンドの"-o"パラメータで指定してもよいでしょう.
NFSサーバとクライアントが別々のネットワーク上にあるような場合,
これと間違えやすい他の問題が起きることに注意して下さい. そのような場合は,
ルータが必要なUDP情報をきちんとルーティングしているかを確かめて下さい.
そうでなければ, たとえあなたが何をしようと解決できないでしょう.
次の例では, "fastws"は高性能のWSのホスト
(インタフェース)名で, "freebox"は低性能のイーサネットアダプタを備えた
FreeBSDシステムのホスト(インタフェース)名です.
また, "/sharedfs"はエクスポートされるNFSファイルシステムであり
("man exports"を見て下さい), "/project"はエクスポートされたファイル
システムのクライアント上のマウントポイントとなります.
全ての場合において, "hard"や"soft", "bg"といった追加オプションが
アプリケーションにより要求されるかもしれないことに注意して下さい.
クライアント側FreeBSDシステム("freebox")の例は:
freeboxの<tt>/etc/fstab</tt>に次のように書いて下さい:
fastws:/sharedfs /project nfs rw,-r=1024 0 0
freebox上で手動でmountコマンドを実行する場合は次のようにして下さい:
mount -t nfs -o -r=1024 fastws:/sharedfs /project
サーバ側FreeBSDシステムの例は:
fastwsの<tt>/etc/fstab</tt>に次のように書いて下さい:
freebox:/sharedfs /project nfs rw,-w=1024 0 0
fastws上で手動でmountコマンドで実行する場合は次のようにして下さい:
mount -t nfs -o -w=1024 freebox:/sharedfs /project
近いうちにどのような16ビットのイーサネットアダプタでも上記の読み出し,
書き込みサイズの制限なしの操作ができるようになるでしょう.
失敗が発生したとき何が起きているか関心のある人に, なぜ回復不可能なのか
も含めて説明します.
NFSは通常 (より小さいサイズへ分割されるかもしれませんが) 8Kの"ブロック"
サイズで働きます. イーサネットのパケットサイズは最大1500バイト程度なので,
上位階層のコードにとっては1つのユニットのままなのですが, NFS"ブロック"は
複数のイーサネットパケットに分割されます. そして受信され, 組み立て直されてから
肯定応答されなければなりません. 高性能のWSは次々に
NFSユニットを構成するパケットを, 基準の範囲内で間隔を詰めて
次々に送り出すことができます. 小さく, 容量の低いカードでは, 同じユニットの
前のパケットがホストに転送される前に, 後のパケットがそれを
「踏みつぶし」てしまいます. このため全体としてのユニットは再構成もされないし,
肯定応答もされません. その結果, WSはタイムアウトして再送を試みますが,
8Kのユニット全体を再送しようとするので, このプロセスは
際限無く繰り返されてしまいます.
ユニットサイズをイーサネットのパケットサイズの制限以下に抑えることにより,
受信された完全なイーサネットパケットは個々に肯定応答を受けられることが
保証されるので, デッドロック状態を避けることができるようになります.
高性能のカードを使っている場合でも, 高性能なWSが力任せに次々と
PCシステムにデータを送ったときには「踏みつぶし」が起きるかもしれません.
そのような「踏みつぶし」はNFS"ユニット"では保証されていません.
「踏みつぶし」が起こったとき, 影響を受けたユニットは再送されます.
そして受信され, 組み立てられ, 肯定応答される公平な機会が与えられるでしょう.

@ -1,153 +0,0 @@
<!-- $Id: nutshell.sgml,v 1.7 1997-10-14 08:14:10 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.14 -->
<sect><heading>FreeBSD とは<label id="nutshell"></heading>
<p><em>原作: 不明.</em>
<p><em>訳: &a.tomo;.</em>
<p>FreeBSDはIntel社の (SXやDXも含めた) 386や486, Pentiumプロセッサ
といったCPUアーキテクチャに基づくパーソナルコンピュータ用としては
現在求めうる最高水準のオペレーティングシステムです.
AMD社やCyrix社のIntel互換CPUもサポートされています.
FreeBSDは, 以前は高価なコンピュータでしか利用できなかった多くの
高度な機能を提供します. FreeBSDには次のような機能があります:
<itemize>
<item>アプリケーションとユーザとの間で円滑かつ公平にコンピュータを
共有することを保証する, 優先度を動的に調節する機能を備えた
<bf>プリエンプティブマルチタスキング</bf>. </item>
<item>多くの人々が1つのFreeBSDシステムをさまざまな目的で同時に
使うことを可能にする<bf>マルチユーザ</bf>アクセス. また,
プリンタやテープドライブのようなシステムの周辺機器も
すべてのユーザ間で適切に共有されます. </item>
<item>SLIPやPPP, NFS, NISのサポートを含んだ完全な
<bf>TCP/IPネットワーキング</bf>. これによって,
FreeBSDマシンが商用サーバと同じように相互に運用でき,
NFS (リモートファイルアクセス) や電子メールサービスのような極めて
重要な機能を提供します. また, WWWやftp, ルーティング,
ファイアウォール (セキュリティ) サービスを用いてインターネットと
接続できます. </item>
<item>アプリケーション (あるいはユーザ) がお互いに干渉できない
ようにする<bf>メモリ保護</bf>機能.
アプリケーションがクラッシュしても, どのような場合でも
他のアプリケーションには影響を与えません. </item>
<item>FreeBSDは<bf>32ビット</bf>のオペレーティングシステムであり,
最初からそのようにこつこつと設計されました. </item>
<item>業界標準である<bf>X Windowシステム</bf> (X11R6) は,
普通のVGAカードやモニタでグラフィカルユーザ
インタフェース (GUI) を提供し,
すべてのソースコードも一緒に提供されます.
</item>
<item>SCOやBSDI, NetBSD, Linux, 386BSD用に作られた多くの
プログラムにおける<bf>バイナリ互換性</bf>. </item>
<item>何百もの<bf>すぐに実行可能な</bf>アプリケーションが
FreeBSDの<bf>ports</bf>や<bf>packages</bf>コレクション
で利用可能です. ここに用意されているものは
ネットを探し回る必要がありません</item>
<item>インターネット上で入手可能な, <bf>移植が容易な</bf>
何千ものアプリケーションを追加できます.
FreeBSDは最も評判の
よい商用のUnixシステムとソースコードレベルで互換性があります.
このため, ほとんどのアプリケーションは, もしあったとしてもほんの
少しの変更でコンパイルすることができます. </item>
<item>デマンドページング<bf>仮想メモリ</bf>とそれに`付随の
VM/buffer キャッシュ'の設計は, 多くのメモリを要求する
アプリケーションに対して効率よくメモリを与えるようにする一方で,
他のユーザに対しても対話的な応答を維持します. </item>
<item><bf>共有ライブラリ</bf> (MS-WindowsのDLLと同等のUnixの
機能) によって, ディスクスペースとメモリを効果的に使用する
ことができます. </item>
<item>完全な<bf>C</bf>や<bf>C++</bf>, <bf>Fortran</bf>の
開発ツール. 進んだ研究や開発のための多くの他の言語も
portsやpackagesコレクションで提供されています. </item>
<item>システム全体の<bf>ソースコード</bf>が提供されているので,
要求に合わせて環境を最大限に適合させることができます.
真のオープンシステムが利用できるのですから, 所有権のある解決方法に
締めつけられ, ベンダのなすがままになる必要はありません. </item>
<item>膨大な量の<bf>オンラインドキュメント</bf>. </item>
<item><bf>もう書ききれません!</bf></item>
</itemize>
FreeBSDはカリフォルニア大学バークレイ校のComputer Systems
Research Group (CSRG) による4.4BSD-Liteリリースを基にしており,
BSDシステムの開発の優れた伝統を守り続けています.
CSRGによる素晴らしい活動に加えて,
FreeBSDプロジェクトは何千時間もの時間を注ぎ込んで,
実際の使用の場において最大の性能と信頼性を
発揮するためにシステムのチューニングをおこなっています.
多くの大企業がPCオペレーティングシステムの分野で
実現しようと奮闘しているそのような機能や性能, 信頼性を
FreeBSDは<bf>今すぐ</bf>提供できます!
あなたの思いつく限りのアプリケーションは,
何でもFreeBSDで 実行できます. ソフトウェア開発から
ファクトリオートメーション, 在庫制御から遠く離れた人工衛星の
アンテナの方向調整まで; 商用UNIX製品でできることは,
FreeBSDでも十分にできるのです!
また, FreeBSDは世界中の研究センターや大学によって開発される
文字通り何千もの高品質で, たいていはほとんど無料で利用できる
アプリケーションによる恩恵を得ることができます.
商用のアプリケーションも提供されており, 日々増え続けています.
FreeBSDのソースコードは広く提供されているので,
システムも特別なアプリケーションやプロジェクトに合わせて,
いくらでもカスタマイズすることができます. これは
有名な商業ベンダから出ているほとんどのオペレーティング
システムでは不可能なことです. 以下に現在FreeBSDを
使っている人々のアプリケーションの例をいくつか上げます:
<itemize>
<item><bf>インターネットサービス:</bf> FreeBSDに組み込まれている
頑強なTCP/IPネットワーキング機能は次のようなさまざまなインターネット
サービスの理想的なプラットフォームになります:
<itemize>
<item>FTP サーバ</item>
<item>World Wide Web サーバ</item>
<item>Gopher サーバ</item>
<item>電子メールサーバ</item>
<item>USENET ニュース</item>
<item>電子掲示板システム</item>
<item>さらにいろいろ...</item>
</itemize>
まずは高価ではない386クラスのPCで始めておいて,
仕事の成長に合わせてアップグレードできます. </item>
<item><bf>教育:</bf> あなたは計算機科学または工学の学生ですか?
オペレーティングシステムやコンピュータアーキテクチャ,
ネットワーキングを学習するなら, FreeBSDを手に
経験するのが一番よい方法です. 自由に利用できるCADや数学,
グラフィックデザインのパッケージもいくつもあり,
コンピュータに関心を持った人が<em>他の人</em>の成果を
手に入れて利用するのにとても役に立ちます. </item>
<item><bf>研究:</bf>システム全体のソースコードが利用できるため,
FreeBSDはオペレーティングシステムの研究だけでなく,
計算機科学の他の部門においても優れたプラットフォームです.
自由に利用できるFreeBSDの特長は, オープンフォーラムで
議論される特別なライセンスの同意や制限について
心配することなく, 離れたグループでもアイディアや開発の共有に
よる共同研究を可能にします.
</item>
<item><bf>ネットワーキング:</bf>新しいルータが必要?
ネームサーバ (DNS) は? 内部のネットワークを人々から守る
ファイアウォールは?
FreeBSDはすみに眠っている使われていない386や486のPCを簡単に
洗練されたパケットフィルタリング機能を持つ高級なルータに
変えることができます. </item>
<item><bf>X Windowワークステーション:</bf>
自由に利用できるXFree86サーバやX Inside社から提供される
優れた商業サーバを使うことによって, 安価なX端末
としてFreeBSDを使うこともできます. X端末とは違ってFreeBSDは
多くのアプリケーションをローカルに走らせることもでき,
中心のサーバの負荷を軽減することも可能です.
FreeBSDは"ディスクレス"でもブート可能であり,
個々のワークステーションを安価で, 容易に管理することさえ
可能にします. </item>
<item><bf>ソフトウェア開発:</bf> 基本的なFreeBSDシステムには
有名なGNUのC/C++コンパイラやデバッガ含んだ完全な開発ツールが
ついてきます. </item>
</itemize>
FreeBSDはCDROMまたはanonymous ftpによってソース, バイナリとも
利用可能です. 詳しくは, <ref id="mirrors" name="FreeBSD の入手方法">
を見てください.

@ -1,464 +0,0 @@
<!-- $Id: pgpkeys.sgml,v 1.15 1997-11-25 10:07:34 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.25 -->
<chapt><heading>PGP 公開鍵<label id="pgpkeys"></heading>
<p><em>原作: 不明.</em>
<p><em>訳: &a.kiroh;.</em>
<p> 署名を検証したり, コアチームメンバやオフィサに暗号メー
ルを送りたい場合のために, PGPの公開鍵を添付します.
<sect><heading>オフィサ</heading>
<sect1><heading>
FreeBSD Security Officer &lt;security-officer@freebsd.org&gt;
</heading> <p>
<tscreen><verb>
FreeBSD Security Officer &lt;security-officer@freebsd.org&gt;
Fingerprint = 41 08 4E BB DB 41 60 71 F9 E5 0E 98 73 AF 3F 11
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3i
mQCNAzF7MY4AAAEEAK7qBgPuBejER5HQbQlsOldk3ZVWXlRj54raz3IbuAUrDrQL
h3g57T9QY++f3Mot2LAf5lDJbsMfWrtwPrPwCCFRYQd6XH778a+l4ju5axyjrt/L
Ciw9RrOC+WaPv3lIdLuqYge2QRC1LvKACIPNbIcgbnLeRGLovFUuHi5z0oilAAUR
tDdGcmVlQlNEIFNlY3VyaXR5IE9mZmljZXIgPHNlY3VyaXR5LW9mZmljZXJAZnJl
ZWJzZC5vcmc+iQCVAwUQMX6yrOJgpPLZnQjrAQHyowQA1Nv2AY8vJIrdp2ttV6RU
tZBYnI7gTO3sFC2bhIHsCvfVU3JphfqWQ7AnTXcD2yPjGcchUfc/EcL1tSlqW4y7
PMP4GHZp9vHog1NAsgLC9Y1P/1cOeuhZ0pDpZZ5zxTo6TQcCBjQA6KhiBFP4TJql
3olFfPBh3B/Tu3dqmEbSWpuJAJUDBRAxez3C9RVb+45ULV0BAak8A/9JIG/jRJaz
QbKom6wMw852C/Z0qBLJy7KdN30099zMjQYeC9PnlkZ0USjQ4TSpC8UerYv6IfhV
nNY6gyF2Hx4CbEFlopnfA1c4yxtXKti1kSN6wBy/ki3SmqtfDhPQ4Q31p63cSe5A
3aoHcjvWuqPLpW4ba2uHVKGP3g7SSt6AOYkAlQMFEDF8mz0ff6kIA1j8vQEBmZcD
/REaUPDRx6qr1XRQlMs6pfgNKEwnKmcUzQLCvKBnYYGmD5ydPLxCPSFnPcPthaUb
5zVgMTjfjS2fkEiRrua4duGRgqN4xY7VRAsIQeMSITBOZeBZZf2oa9Ntidr5PumS
9uQ9bvdfWMpsemk2MaRG9BSoy5Wvy8VxROYYUwpT8Cf2iQCVAwUQMXsyqWtaZ42B
sqd5AQHKjAQAvolI30Nyu3IyTfNeCb/DvOe9tlOn/o+VUDNJiE/PuBe1s2Y94a/P
BfcohpKC2kza3NiW6lLTp00OWQsuu0QAPc02vYOyseZWy4y3Phnw60pWzLcFdemT
0GiYS5Xm1o9nAhPFciybn9j1q8UadIlIq0wbqWgdInBT8YI/l4f5sf6JAJUDBRAx
ezKXVS4eLnPSiKUBAc5OBACIXTlKqQC3B53qt7bNMV46m81fuw1PhKaJEI033mCD
ovzyEFFQeOyRXeu25Jg9Bq0Sn37ynISucHSmt2tUD5W0+p1MUGyTqnfqejMUWBzO
v4Xhp6a8RtDdUMBOTtro16iulGiRrCKxzVgEl4i+9Z0ZiE6BWlg5AetoF5n3mGk1
lw==
=ipyA
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>
<sect1><heading>&a.imp</heading><p>
<tscreen><verb>
Warner Losh &lt;imp@village.org&gt;
aka &lt;imp@freebsd.org&gt;
Fingerprint = D4 31 FD B9 F7 90 17 E8 37 C5 E7 7F CF A6 C1 B9
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2
mQCNAzDzTiAAAAEEAK8D7KWEbVFUrmlqhUEnAvphNIqHEbqqT8s+c5f5c2uHtlcH
V4mV2TlUaDSVBN4+/D70oHmZc4IgiQwMPCWRrSezg9z/MaKlWhaslc8YT6Xc1q+o
EP/fAdKUrq49H0QQbkQk6Ks5wKW6v9AOvdmsS6ZJEcet6d9G4dxynu/2qPVhAAUR
tCBNLiBXYXJuZXIgTG9zaCA8aW1wQHZpbGxhZ2Uub3JnPokAlQMFEDM/SK1VLh4u
c9KIpQEBFPsD/1n0YuuUPvD4CismZ9bx9M84y5sxLolgFEfP9Ux196ZSeaPpkA0g
C9YX/IyIy5VHh3372SDWN5iVSDYPwtCmZziwIV2YxzPtZw0nUu82P/Fn8ynlCSWB
5povLZmgrWijTJdnUWI0ApVBUTQoiW5MyrNN51H3HLWXGoXMgQFZXKWYiQCVAwUQ
MzmhkfUVW/uOVC1dAQG3+AP/T1HL/5EYF0ij0yQmNTzt1cLt0b1e3N3zN/wPFFWs
BfrQ+nsv1zw7cEgxLtktk73wBGM9jUIdJu8phgLtl5a0m9UjBq5oxrJaNJr6UTxN
a+sFkapTLT1g84UFUO/+8qRB12v+hZr2WeXMYjHAFUT18mp3xwjW9DUV+2fW1Wag
YDKJAJUDBRAzOYK1s1pi61mfMj0BARBbA/930CHswOF0HIr+4YYUs1ejDnZ2J3zn
icTZhl9uAfEQq++Xor1x476j67Z9fESxyHltUxCmwxsJ1uOJRwzjyEoMlyFrIN4C
dE0C8g8BF+sRTt7VLURLERvlBvFrVZueXSnXvmMoWFnqpSpt3EmN6TNaLe8Cm87a
k6EvQy0dpnkPKokAlQMFEDD9Lorccp7v9qj1YQEBrRUD/3N4cCMWjzsIFp2Vh9y+
RzUrblyF84tJyA7Rr1p+A7dxf7je3Zx5QMEXosWL1WGnS5vC9YH2WZwv6sCU61gU
rSy9z8KHlBEHh+Z6fdRMrjd9byPf+n3cktT0NhS23oXB1ZhNZcB2KKhVPlNctMqO
3gTYx+Nlo6xqjR+J2NnBYU8p
=7fQV
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>
<sect><heading>コアチームメンバ</heading>
<sect1><heading>&a.asami</heading><p>
<tscreen><verb>
Satoshi Asami &lt;asami@cs.berkeley.edu&gt;
aka &lt;asami@FreeBSD.ORG&gt;
Fingerprint = EB 3C 68 9E FB 6C EB 3F DB 2E 0F 10 8F CE 79 CA
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2
mQCNAzPVyoQAAAEEAL7W+kipxB171Z4SVyyL9skaA7hG3eRsSOWk7lfvfUBLtPog
f3OKwrApoc/jwLf4+Qpdzv5DLEt/6Hd/clskhJ+q1gMNHyZ5ABmUxrTRRNvJMTrb
3fPU3oZj7sL/MyiFaT1zF8EaMP/iS2ZtcFsbYOqGeA8E/58uk4NA0SoeCNiJAAUR
tCVTYXRvc2hpIEFzYW1pIDxhc2FtaUBjcy5iZXJrZWxleS5lZHU+iQCVAwUQM/AT
+EqGN2HYnOMZAQF11QP/eSXb2FuTb1yX5yoo1Im8YnIk1SEgCGbyEbOMMBznVNDy
5g2TAD0ofLxPxy5Vodjg8rf+lfMVtO5amUH6aNcORXRncE83T10JmeM6JEp0T6jw
zOHKz8jRzygYLBayGsNIJ4BGxa4LeaGxJpO1ZEvRlNkPH/YEXK5oQmq9/DlrtYOJ
AEUDBRAz42JT8ng6GBbVvu0BAU8nAYCsJ8PiJpRUGlrz6rxjX8hqM1v3vqFHLcG+
G52nVMBSy+RZBgzsYIPwI5EZtWAKb22JAJUDBRAz4QBWdbtuOHaj97EBAaQPA/46
+NLUp+Wubl90JoonoXocwAg88tvAUVSzsxPXj0lvypAiSI2AJKsmn+5PuQ+/IoQy
lywRsxiQ5GD7C72SZ1yw2WI9DWFeAi+qa4b8n9fcLYrnHpyCY+zxEpu4pam8FJ7H
JocEUZz5HRoKKOLHErzXDiuTkkm72b1glmCqAQvnB4kAlQMFEDPZ3gyDQNEqHgjY
iQEBFfUEALu2C0uo+1Z7C5+xshWRYY5xNCzK20O6bANVJ+CO2fih96KhwsMof3lw
fDso5HJSwgFd8WT/sR+Wwzz6BAE5UtgsQq5GcsdYQuGI1yIlCYUpDp5sgswNm+OA
bX5a+r4F/ZJqrqT1J56Mer0VVsNfe5nIRsjd/rnFAFVfjcQtaQmjiQCVAwUQM9uV
mcdm8Q+/vPRJAQELHgP9GqNiMpLQlZig17fDnCJ73P0e5t/hRLFehZDlmEI2TK7j
Yeqbw078nZgyyuljZ7YsbstRIsWVCxobX5eH1kX+hIxuUqCAkCsWUY4abG89kHJr
XGQn6X1CX7xbZ+b6b9jLK+bJKFcLSfyqR3M2eCyscSiZYkWKQ5l3FYvbUzkeb6K0
IVNhdG9zaGkgQXNhbWkgPGFzYW1pQEZyZWVCU0QuT1JHPg==
=39SC
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>
<sect1><heading>&a.jmb</heading><p>
<tscreen><verb>
Jonathan M. Bresler &lt;jmb@FreeBSD.org&gt;
Key fingerprint = 31 57 41 56 06 C1 40 13 C5 1C E3 E5 DC 62 0E FB
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2
mQCNAzG2GToAAAEEANI6+4SJAAgBpl53XcfEr1M9wZyBqC0tzpie7Zm4vhv3hO8s
o5BizSbcJheQimQiZAY4OnlrCpPxijMFSaihshs/VMAz1qbisUYAMqwGEO/T4QIB
nWNo0Q/qOniLMxUrxS1RpeW5vbghErHBKUX9GVhxbiVfbwc4wAHbXdKX5jjdAAUR
tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQNA3x
ffUVW/uOVC1dAQHGdAQAgsnYklBtVUdGuQwXB3bYp9omTD7CVD0aibVrz+lXiPDh
aTVkOC1uhEwL59+R8VdpAnEDMobdZDA/ihCc+6/FW/eE0uyrWZzb5Ng9V1MfC6HI
+sXpeXPy585Z56ewadV2yY9rvzcwmmUNHmAXT/5O0S2AWB0EJZ+cewTrokSTVVOJ
AJUDBRA0C3EoVS4eLnPSiKUBASb+A/95g6w9DDPRGDlbsl4pN1BlSPKrmDQPRK1X
C3bddDY2HNelSNhzp2FYD0WoN1re1vMJV0oaaJHwv7wjbe3+SYEX/IdmtfzI0MbZ
Q/uPybPJOxi2ud6C6J+mEGJN9iBCnsaCz8CETuC9gR1mtxsxySUj9mk0fxKfdP6S
3QDrv6CQ1IkAlQMFEDKsi9CzWmLrWZ8yPQEBduUD/RhV4Qa89rYls9vtIFm6XBjZ
8mW37FYxeqIxg3ZrIyTMlghsOPV0f7zymCCWPRGKOLePRiGo0ZCEkDTYiM9tnwQI
09rmPWJb50yfTSZXjHx6+Hcm6O6BCmDFloo0Mxo6n9pvMH/TmmqHxCsAV+p8XEWy
rMZvwVSynMxmJd17Y5HLtBNKb25hdGhhbiBNLiBCcmVzbGVyiQCVAwUQMbYtYQHb
XdKX5jjdAQHEHwP/fEaQoTi7zKD1U/5kW2YPIBUyMTpLiO9QOr4stYjJvhHh4Ejw
fGvMIhbFrPKtxSNH1s3m4jAXKXiQBDCz17IIzL4n8dlunxNGE5MHcsmpWzggyIg4
zbPqPOcg4gLFEWsEkr2o0akwzIGa3tbCvC+ITaX/rdlWV1jaQjTqSNyPZBM=
=RV56
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>
<sect1><heading>&a.ache</heading><p>
<tscreen><verb>
Andrey A. Chernov &lt;ache@FreeBSD.org&gt;
aka &lt;ache@nagual.pp.ru&gt;
Key fingerprint = 33 03 9F 48 33 7B 4A 15 63 48 88 0A C4 97 FD 49
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3ia
mQCNAiqUMGQAAAEEAPGhcD6A2Buey5LYz0sphDLpVgOZc/bb9UHAbaGKUAGXmafs
Dcb2HnsuYGgX/zrQXuCi/wIGtXcZWB97APtKOhFsZnPinDR5n/dde/mw9FnuhwqD
m+rKSL1HlN0z/Msa5y7g16760wHhSR6NoBSEG5wQAHIMMq7Q0uJgpPLZnQjrAAUT
tCVBbmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuYWd1YWwucHAucnU+iQCVAwUQM2Ez
u+JgpPLZnQjrAQEyugP8DPnS8ixJ5OeuYgPFQf5sy6l+LrB6hyaS+lgsUPahWjNY
cnaDmfda/q/BV5d4+y5rlQe/pjnYG7/yQuAR3jhlXz8XDrqlBOnW9AtYjDt5rMfJ
aGFTGXAPGZ6k6zQZE0/YurT8ia3qjvuZm3Fw4NJrHRx7ETHRvVJDvxA6Ggsvmr20
JEFuZHJleSBBLiBDaGVybm92IDxhY2hlQEZyZWVCU0Qub3JnPokAlQMFEDR5uVbi
YKTy2Z0I6wEBLgED/2mn+hw4/3peLx0Sb9LNx//NfCCkVefSf2G9Qwhx6dvwbX7h
mFca97h7BQN4GubU1Z5Ffs6TeamSBrotBYGmOCwvJ6S9WigF9YHQIQ3B4LEjskAt
pcjU583y42zM11kkvEuQU2Gde61daIylJyOxsgpjSWpkxq50fgY2kLMfgl/ftCZB
bmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuaWV0enNjaGUubmV0PokAlQMFEDR5svDi
YKTy2Z0I6wEBOTQD/0OTCAXIjuak363mjERvzSkVsNtIH9hA1l0w6Z95+iH0fHrW
xXKT0vBZE0y0Em+S3cotLL0bMmVE3F3D3GyxhBVmgzjyx0NYNoiQjYdi+6g/PV30
Cn4vOO6hBBpSyI6vY6qGNqcsawuRtHNvK/53MpOfKwSlICEBYQimcZhkci+EtCJB
bmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuYWd1YWwucnU+iQCVAwUQMcm5HeJgpPLZ
nQjrAQHwvQP9GdmAf1gdcuayHEgNkc11macPH11cwWjYjzA2YoecFMGV7iqKK8QY
rr1MjbGXf8DAG8Ubfm0QbI8Lj8iG3NgqIru0c72UuHGSn/APfGGG0AtPX5UK/k7B
gI0Ca2po6NA5nrSp8tDsdEz/4gyea84RXl2prtTf5Jj07hflbRstGXK0MkFuZHJl
eSBBLiBDaGVybm92LCBCbGFjayBNYWdlIDxhY2hlQGFzdHJhbC5tc2suc3U+iQCV
AwUQMCsAo5/rGryoL8h3AQHq1QQAidyNFqA9hvrmMcjpY7csJVFlGvj574Wj4GPa
o3pZeuQaMBmsWqaXLYnWU/Aldb6kTz6+nRcQX50zFH0THSPfApwEW7yybSTI5apJ
mWT3qhKN2vmLNg2yNzhqLTzHLD1lH3i1pfQq8WevrNfjLUco5S/VuekTma/osnzC
Cw7fQzCJAJUDBRAwKvwoa1pnjYGyp3kBARihBACoXr3qfG65hFCyKJISmjOvaoGr
anxUIkeDS0yQdTHzhQ+dwB1OhhK15E0Nwr0MKajLMm90n6+Zdb5y/FIjpPriu8dI
rlHrWZlewa88eEDM+Q/NxT1iYg+HaKDAE171jmLpSpCL0MiJtO0i36L3ekVD7Hv8
vffOZHPSHirIzJOZTYkAlQMFEDAau6zFLUdtDb+QbQEBQX8D/AxwkYeFaYxZYMFO
DHIvSk23hAsjCmUA2Uil1FeWAusb+o8xRfPDc7TnosrIifJqbF5+fcHCG5VSTGlh
Bhd18YWUeabf/h9O2BsQX55yWRuB2x3diJ1xI/VVdG+rxlMCmE4ZR1Tl9x+Mtun9
KqKVpB39VlkCBYQ3hlgNt/TJUY4riQCVAwUQMBHMmyJRltlmbQBRAQFQkwP/YC3a
hs3ZMMoriOlt3ZxGNUUPTF7rIER3j+c7mqGG46dEnDB5sUrkzacpoLX5sj1tGR3b
vz9a4vmk1Av3KFNNvrZZ3/BZFGpq3mCTiAC9zsyNYQ8L0AfGIUO5goCIjqwOTNQI
AOpNsJ5S+nMAkQB4YmmNlI6GTb3D18zfhPZ6uciJAJUCBRAwD0sl4uW74fteFRkB
AWsAA/9NYqBRBKbmltQDpyK4+jBAYjkXBJmARFXKJYTlnTgOHMpZqoVyW96xnaa5
MzxEiu7ZWm5oL10QDIp1krkBP2KcmvfSMMHb5aGCCQc2/P8NlfXAuHtNGzYiI0UA
Iwi8ih/S1liVfvnqF9uV3d3koE7VsQ9OA4Qo0ZL2ggW+/gEaYIkAlQMFEDAOz6qx
/IyHe3rl4QEBIvYD/jIr8Xqo/2I5gncghSeFR01n0vELFIvaF4cHofGzyzBpYsfA
+6pgFI1IM+LUF3kbUkAY/2uSf9U5ECcaMCTWCwVgJVO+oG075SHEM4buhrzutZiM
1dTyTaepaPpTyRMUUx9ZMMYJs7sbqLId1eDwrJxUPhrBNvf/w2W2sYHSY8cdiQCV
AwUQMAzqgHcdkq6JcsfBAQGTxwQAtgeLFi2rhSOdllpDXUwz+SS6bEjFTWgRsWFM
y9QnOcqryw7LyuFmWein4jasjY033JsODfWQPiPVNA3UEnXVg9+n8AvNMPO8JkRv
Cn1eNg0VaJy9J368uArio93agd2Yf/R5r+QEuPjIssVk8hdcy/luEhSiXWf6bLMV
HEA0J+OJAJUDBRAwDUi+4mCk8tmdCOsBAatBBACHB+qtW880seRCDZLjl/bT1b14
5po60U7u6a3PEBkY0NA72tWDQuRPF/Cn/0+VdFNxQUsgkrbwaJWOoi0KQsvlOm3R
rsxKbn9uvEKLxExyKH3pxp76kvz/lEWwEeKvBK+84Pb1lzpG3W7u2XDfi3VQPTi3
5SZMAHc6C0Ct/mjNlYkAlQMFEDAMrPD7wj+NsTMUOQEBJckD/ik4WsZzm2qOx9Fw
erGq7Zwchc+Jq1YeN5PxpzqSf4AG7+7dFIn+oe6X2FcIzgbYY+IfmgJIHEVjDHH5
+uAXyb6l4iKc89eQawO3t88pfHLJWbTzmnvgz2cMrxt94HRvgkHfvcpGEgbyldq6
EB33OunazFcfZFRIcXk1sfyLDvYE
=1ahV
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>
<sect1><heading>&a.jkh</heading><p>
<tscreen><verb>
Jordan K. Hubbard &lt;jkh@FreeBSD.org&gt;
Fingerprint = 3C F2 27 7E 4A 6C 09 0A 4B C9 47 CD 4F 4D 0B 20
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2i
mQCNAzFjX0IAAAEEAML+nm9/kDNPp43ZUZGjYkm2QLtoC1Wxr8JulZXqk7qmhYcQ
jvX+fyoriJ6/7ZlnLe2oG5j9tZOnRLPvMaz0g9CpW6Dz3nkXrNPkmOFV9B8D94Mk
tyFeRJFqnkCuqBj6D+H8FtBwEeeTecSh2tJ0bZZTXnAMhxeOdvUVW/uOVC1dAAUR
tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPokAlQMFEDF75D1r
WmeNgbKneQEBXtcD+gJIv8JzZRKlDZyTCQanK8iRgE+zMhxptI0kDObaGxT1BrpY
4/EPyiUN10G4k2Jb+DOc8Lg2xDQ3xmvgipFf9NMNV/ThaEuZ3wA31I6tW/arQEqB
Tp8u6T3v20m62t7Afo9HaoE6MBpHQUk2TilxgAd5P57sporL3pgW9YojIO9ziQCV
AwUQMXyV2h9/qQgDWPy9AQEMfgP/RmbSg2WlesATUQ4WuanjcdREduKPyfQatrXD
2xt+jg9X78dTyiNN1YvLqvT6msfs04MKSC0hA2mou6ozw8Xak+1QmP0fBOZKp9pP
8szO188Do9ByzJPvHF1eXT7jFMOXVq8ZIl9iwjxcIDLzlxOz49DC7LO6AT+LKQk7
UGeP+lqJAJUDBRAxe+UG9RVb+45ULV0BAXZ9A/9F9gLpGukVNkeOjaqxQdJGTS+a
xh/Abk0c/nKhAEyxpAl5JyQ3ifYk6BHhPvlTi9LrZoXGA8sk/eU4eRTZVzvGEC4G
+xsavlE/xzku8855QTLPpkCunUpQeu1wzaIrUUE6Zjh05imFbJYyQOBgTFpuqWsC
rsUpl+2mr8IGIxG5rA==
=LW9i
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>
<sect1><heading>&a.phk</heading><p>
<tscreen><verb>
Poul-Henning Kamp &lt;phk@FreeBSD.org&gt;
Fingerprint = A3 F3 88 28 2F 9B 99 A2 49 F4 E2 FA 5A 78 8B 3E
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3ia
mQCNAzAdpMIAAAEEALHDgrFUwhZtb7PbXg3upELoDVEUPFRwnmpJH1rRqyROUGcI
ooVe7u+FQlIs5OsXK8ECs/5Wpe2UrZSzHvjwBYOND5H42YtI5UULZLRCo5bFfTVA
K9Rpo5icfTsYihrzU2nmnycwFMk+jYXyT/ZDYWDP/BM9iLjj0x9/qQgDWPy9AAUR
tCNQb3VsLUhlbm5pbmcgS2FtcCA8cGhrQEZyZWVCU0Qub3JnPokAlQMFEDMGK9qz
WmLrWZ8yPQEB4iED/18bQVhV2gUYFSxIUTaUtO2HVPi7GRpSzmXoTfS+FJyRR0ED
zTqTHstoBe2PeWgTsOf9cUub5UKcJkRQp7VrJv4Kncyuq7pX69a+QMveCzuUwAur
nDbt/emOL6NU8g9Uk50QuOuipb5rULQLRRoF5TkViy/VES83ERXdYQ9Ml3fWiQCV
AwUQMX6NfWtaZ42Bsqd5AQEKsgP+L+uLz95dRdEmnZ+omrO+tYZM/0jHU7i8yC5q
H0gguKOCljI4liR7NkqKONUJWYtfsTB81d9iSosBZRrTx6i/hB8l8kOB975n/f9S
hftFwmjLYCNMFlDM4j0kySvMV20UZjAyv9BeE51VWlIZ5n/oeSuzul3Znow02tF/
zVnInJiJAJUDBRAxfJXn9RVb+45ULV0BAXJ8A/9K6NT6VLZZC5q3g7bBk5DWuzBS
3oK2Ebww6xzsD2R9edltoz1J3GPngK0CWpHh4kw5iTaRWoC2YJYRNG6icnGvlMAl
1/urqQHJVhxATINm8oljDKsj1RBJ6VKBzNbCJIHTVpX0AJoqUQX2Idi8goFr0fAm
7cD2CBb1JhoAdzEfO4kAlQMFEDFLHlwff6kIA1j8vQEBj5MD/1hA8hJdhpL7mvQj
rTAIn6Ldr08Lr1lqTaKSBMdCL3suGlW0Sw/dIBgicPDhgxLahT3DVfGiIst32FSl
xmWY7wine80X4TZkJ9Hiw3Mpqtjl92j6zHNq0ZZE+CceNubpEdYLDqokAIMPdWlo
WPHZcPxCs5PKI5udseFYF2gQAjI2iQCVAwUQMTlDoO9huekR1Y7VAQGy+AP/Rzp+
UGtJavbSiPx5EnXOXxkA/+ulXQgQG9vdkWwewkvxDNOzHW3KkUWCGtPtIMENznbF
j3QlYB+USIaf1ogvlD5EdXGPDfTINpE8CX2WXzajfgYFpYETDzduwjoWDZfEN9zZ
fQqQS62VgAReOIz3k9BL708z/+WUO0++RLGCmImJAJUDBRAw5q8kAPLZCeu7G0EB
AT3bBACwo+r9TgbiSyyU5cZpq5KgGT1c7eUHXjtxKmtrXD1nFNJ6j7x2DM2XGe6B
YOfDWbFq4UkEAyAeXviuuUP4enQu1v2g7JGXeuI8bRM519pLdPzDq/DnbA4rNStn
/SkH7awMfNSplcFuE6rc5ezVkw17eOHzDrYmwsFavL9gxZEycg==
=Q45T
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>
<sect1><heading>&a.rich</heading><p>
<tscreen><verb>
Rich Murphey &lt;rich@FreeBSD.org&gt;
fingerprint = AF A0 60 C4 84 D6 0C 73 D1 EF C0 E9 9D 21 DB E4
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2
mQCNAy97V+MAAAEEALiNM3FCwm3qrCe81E20UOSlNclOWfZHNAyOyj1ahHeINvo1
FBF2Gd5Lbj0y8SLMno5yJ6P4F4r+x3jwHZrzAIwMs/lxDXRtB0VeVWnlj6a3Rezs
wbfaTeSVyh5JohEcKdoYiMG5wjATOwK/NAwIPthB1RzRjnEeer3HI3ZYNEOpAAUR
tCRSaWNoIE11cnBoZXkgPHJpY2hAbGFtcHJleS51dG1iLmVkdT6JAJUDBRAve15W
vccjdlg0Q6kBAZTZBACcNd/LiVnMFURPrO4pVRn1sVQeokVX7izeWQ7siE31Iy7g
Sb97WRLEYDi686osaGfsuKNA87Rm+q5F+jxeUV4w4szoqp60gGvCbD0KCB2hWraP
/2s2qdVAxhfcoTin/Qp1ZWvXxFF7imGA/IjYIfB42VkaRYu6BwLEm3YAGfGcSw==
=QoiM
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>
<sect1><heading>&a.jdp</heading><p>
<tscreen><verb>
John D. Polstra &lt;jdp@polstra.com&gt;
Fingerprint = 54 3A 90 59 6B A4 9D 61 BF 1D 03 09 35 8D F6 0D
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2
mQCNAzMElMEAAAEEALizp6ZW9QifQgWoFmG3cXhzQ1+Gt+a4S1adC/TdHdBvw1M/
I6Ok7TC0dKF8blW3VRgeHo4F3XhGn+n9MqIdboh4HJC5Iiy63m98sVLJSwyGO4oM
dkEGyyCLxqP6h/DU/tzNBdqFzetGtYvU4ftt3RO0a506cr2CHcdm8Q+/vPRJAAUR
tCFKb2huIEQuIFBvbHN0cmEgPGpkcEBwb2xzdHJhLmNvbT6JAJUDBRAzBNBE9RVb
+45ULV0BAWgiA/0WWO3+c3qlptPCHJ3DFm6gG/qNKsY94agL/mHOr0fxMP5l2qKX
O6a1bWkvGoYq0EwoKGFfn0QeHiCl6jVi3CdBX+W7bObMcoi+foqZ6zluOWBC1Jdk
WQ5/DeqQGYXqbYjqO8voCScTAPge3XlMwVpMZTv24u+nYxtLkE0ZcwtY9IkAlQMF
EDMEt/DHZvEPv7z0SQEBXh8D/2egM5ckIRpGz9kcFTDClgdWWtlgwC1iI2p9gEhq
aufy+FUJlZS4GSQLWB0BlrTmDC9HuyQ+KZqKFRbVZLyzkH7WFs4zDmwQryLV5wkN
C4BRRBXZfWy8s4+zT2WQD1aPO+ZsgRauYLkJgTvXTPU2JCN62Nsd8R7bJS5tuHEm
7HGmiQCVAwUQMwSvHB9/qQgDWPy9AQFAhAQAgJ1AlbKITrEoJ0+pLIsov3eQ348m
SVHEBGIkU3Xznjr8NzT9aYtq4TIzt8jplqP3QoV1ka1yYpZf0NjvfZ+ffYp/sIaU
wPbEpgtmHnVWJAebMbNs/Ad1w8GDvxEt9IaCbMJGZnHmfnEqOBIxF7VBDPHHoJxM
V31K/PIoYsHAy5w=
=cHFa
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>
<sect1><heading>&a.guido</heading><p>
<tscreen><verb>
Guido van Rooij &lt;guido@gvr.win.tue.nl&gt;
Fingerprint = 16 79 09 F3 C0 E4 28 A7 32 62 FA F6 60 31 C0 ED
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2
mQCNAzGeO84AAAEEAKKAY91Na//DXwlUusr9GVESSlVwVP6DyH1wcZXhfN1fyZHq
SwhMCEdHYoojQds+VqD1iiZQvv1RLByBgj622PDAPN4+Z49HjGs7YbZsUNuQqPPU
wRPpP6ty69x1hPKq1sQIB5MS4radpCM+4wbZbhxv7l4rP3RWUbNaYutZnzI9AAUR
tCZHdWlkbyB2YW4gUm9vaWogPGd1aWRvQGd2ci53aW4udHVlLm5sPokAlQMFEDMG
Hcgff6kIA1j8vQEBbYgD/jm9xHuUuY+iXDkOzpCXBYACYEZDV913MjtyBAmaVqYo
Rh5HFimkGXe+rCo78Aau0hc57fFMTsJqnuWEqVt3GRq28hSK1FOZ7ni9/XibHcmN
rt2yugl3hYpClijo4nrDL1NxibbamkGW/vFGcljS0jqXz6NDVbGx5Oo7HBByxByz
iQCVAwUQMhmtVjt/x7zOdmsfAQFuVQQApsVUTigT5YWjQA9Nd5Z0+a/oVtZpyw5Z
OljLJP3vqJdMa6TidhfcatjHbFTve5x1dmjFgMX/MQTd8zf/+Xccy/PX4+lnKNpP
eSf1Y4aK+E8KHmBGd6GzX6CIboyGYLS9e3kGnN06F2AQtaLyJFgQ71wRaGuyKmQG
FwTn7jiKb1aJAJUDBRAyEOLXPt3iN6QQUSEBATwQA/9jqu0Nbk154+Pn+9mJX/YT
fYR2UqK/5FKCqgL5Nt/Deg2re0zMD1f8F9Dj6vuAAxq8hnOkIHKlWolMjkRKkzJi
mSPEWl3AuHJ31k948J8it4f8kq/o44usIA2KKVMlI63Q/rmNdfWCyiYQEVGcRbTm
GTdZIHYCOgV5dOo4ebFqgYkAlQMFEDIE1nMEJn15jgpJ0QEBW6kEAKqN8XSgzTqf
CrxFXT07MlHhfdbKUTNUoboxCGCLNW05vf1A8F5fdE5i14LiwkldWIzPxWD+Sa3L
fNPCfCZTaCiyGcLyTzVfBHA18MBAOOX6JiTpdcm22jLGUWBf/aJK3yz/nfbWntd/
LRHysIdVp29lP5BF+J9/Lzbb/9LxP1taiQCVAwUQMgRXZ44CzbsJWQz9AQFf7gP/
Qa2FS5S6RYKG3rYanWADVe/ikFV2lxuM1azlWbsmljXvKVWGe6cV693nS5lGGAjx
lbd2ADwXjlkNhv45HLWFm9PEveO9Jjr6tMuXVt8N2pxiX+1PLUN9CtphTIU7Yfjn
s6ryZZfwGHSfIxNGi5ua2SoXhg0svaYnxHxXmOtH24iJAJUDBRAyAkpV8qaAEa3W
TBkBARfQBAC+S3kbulEAN3SI7/A+A/dtl9DfZezT9C4SRBGsl2clQFMGIXmMQ/7v
7lLXrKQ7U2zVbgNfU8smw5h2vBIL6f1PyexSmc3mz9JY4er8KeZpcf6H0rSkHl+i
d7TF0GvuTdNPFO8hc9En+GG6QHOqbkB4NRZ6cwtfwUMhk2FHXBnjF4kAlQMFEDH5
FFukUJAsCdPmTQEBe74EAMBsxDnbD9cuI5MfF/QeTNEG4BIVUZtAkDme4Eg7zvsP
d3DeJKCGeNjiCWYrRTCGwaCWzMQk+/+MOmdkI6Oml+AIurJLoHceHS9jP1izdP7f
N2jkdeJSBsixunbQWtUElSgOQQ4iF5kqwBhxtOfEP/L9QsoydRMR1yB6WPD75H7V
iQCVAwUQMZ9YNGtaZ42Bsqd5AQH0PAQAhpVlAc3ZM/KOTywBSh8zWKVlSk3q/zGn
k7hJmFThnlhH1723+WmXE8aAPJi+VXOWJUFQgwELJ6R8jSU2qvk2m1VWyYSqRKvc
VRQMqT2wjss0GE1Ngg7tMrkRHT0il7E2xxIb8vMrIwmdkbTfYqBUhhGnsWPHZHq7
MoA1/b+rK7CJAJUDBRAxnvXh3IDyptUyfLkBAYTDA/4mEKlIP/EUX2Zmxgrd/JQB
hqcQlkTrBAaDOnOqe/4oewMKR7yaMpztYhJs97i03Vu3fgoLhDspE55ooEeHj0r4
cOdiWfYDsjSFUYSPNVhW4OSruMA3c29ynMqNHD7hpr3rcCPUi7J2RncocOcCjjK2
BQb/9IAUNeK4C9gPxMEZLokAlQMFEDGeO86zWmLrWZ8yPQEBEEID/2fPEUrSX3Yk
j5TJPFZ9MNX0lEo7AHYjnJgEbNI4pYm6C3PnMlsYfCSQDHuXmRQHAOWSdwOLvCkN
F8eDaF3M6u0urgeVJ+KVUnTz2+LZoZs12XSZKCte0HxjbvPpWMTTrYyimGezH79C
mgDVjsHaYOx3EXF0nnDmtXurGioEmW1J
=mSvM
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>
<sect1><heading>&a.peter</heading><p>
<tscreen><verb>
Peter Wemm &lt;peter@FreeBSD.org&gt;
aka &lt;peter@spinner.dialix.com&gt;
aka &lt;peter@haywire.dialix.com&gt;
aka &lt;peter@perth.dialix.oz.au&gt;
Key fingerprint = 47 05 04 CA 4C EE F8 93 F6 DB 02 92 6D F5 58 8A
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3ia
mQCNAy9/FJwAAAEEALxs9dE9tFd0Ru1TXdq301KfEoe5uYKKuldHRBOacG2Wny6/
W3Ill57hOi2+xmq5X/mHkapywxvy4cyLdt31i4GEKDvxpDvEzAYcy2n9dIup/eg2
kEhRBX9G5k/LKM4NQsRIieaIEGGgCZRm0lINqw495aZYrPpO4EqGN2HYnOMZAAUT
tCVQZXRlciBXZW1tIDxwZXRlckBoYXl3aXJlLmRpYWxpeC5jb20+iQCVAwUQMwWT
cXW7bjh2o/exAQEFkQP+LIx5zKlYp1uR24xGApMFNrNtjh+iDIWnxxb2M2Kb6x4G
9z6OmbUCoDTGrX9SSL2Usm2RD0BZfyv9D9QRWC2TSOPkPRqQgIycc11vgbLolJJN
eixqsxlFeKLGEx9eRQCCbo3dQIUjc2yaOe484QamhsK1nL5xpoNWI1P9zIOpDiGJ
AJUDBRAxsRPqSoY3Ydic4xkBAbWLA/9q1Fdnnk4unpGQsG31Qbtr4AzaQD5m/JHI
4gRmSmbj6luJMgNG3fpO06Gd/Z7uxyCJB8pTst2a8C/ljOYZxWT+5uSzkQXeMi5c
YcI1sZbUpkHtmqPW623hr1PB3ZLA1TIcTbQW+NzJsxQ1Pc6XG9fGkT9WXQW3Xhet
AP+juVTAhLQlUGV0ZXIgV2VtbSA8cGV0ZXJAcGVydGguZGlhbGl4Lm96LmF1PokA
lQMFEDGxFCFKhjdh2JzjGQEB6XkD/2HOwfuFrnQUtdwFPUkgtEqNeSr64jQ3Maz8
xgEtbaw/ym1PbhbCk311UWQq4+izZE2xktHTFClJfaMnxVIfboPyuiSF99KHiWnf
/Gspet0S7m/+RXIwZi1qSqvAanxMiA7kKgFSCmchzas8TQcyyXHtn/gl9v0khJkb
/fv3R20btB5QZXRlciBXZW1tIDxwZXRlckBGcmVlQlNELm9yZz6JAJUDBRAxsRJd
SoY3Ydic4xkBAZJUA/4i/NWHz5LIH/R4IF/3V3LleFyMFr5EPFY0/4mcv2v+ju9g
brOEM/xd4LlPrx1XqPeZ74JQ6K9mHR64RhKR7ZJJ9A+12yr5dVqihe911KyLKab9
4qZUHYi36WQu2VtLGnw/t8Jg44fQSzbBF5q9iTzcfNOYhRkSD3BdDrC3llywO7Ql
UGV0ZXIgV2VtbSA8cGV0ZXJAc3Bpbm5lci5kaWFsaXguY29tPokAlQMFEDGxEi1K
hjdh2JzjGQEBdA4EAKmNFlj8RF9HQsoI3UabnvYqAWN5wCwEB4u+Zf8zq6OHic23
TzoK1SPlmSdBE1dXXQGS6aiDkLT+xOdeewNs7nfUIcH/DBjSuklAOJzKliXPQW7E
kuKNwy4eq5bl+j3HB27i+WBXhn6OaNNQY674LGaR41EGq44Wo5ATcIicig/z
=gv+h
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>
<sect1><heading>&a.joerg</heading><p>
<tscreen><verb>
Type Bits/KeyID Date User ID
pub 1024/76A3F7B1 1996/04/27 Joerg Wunsch &lt;joerg_wunsch@uriah.heep.sax.de&gt;
Key fingerprint = DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E
Joerg Wunsch &lt;joerg_wunsch@interface-business.de&gt;
Joerg Wunsch &lt;j@uriah.heep.sax.de&gt;
Joerg Wunsch &lt;j@interface-business.de&gt;
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3ia
mQCNAzGCFeAAAAEEAKmRBU2Nvc7nZy1Ouid61HunA/5hF4O91cXm71/KPaT7dskz
q5sFXvPJPpawwvqHPHfEbAK42ZaywyFp59L1GaYj87Pda+PlAYRJyY2DJl5/7JPe
ziq+7B8MdvbX6D526sdmcR+jPXPbHznASjkx9DPmK+7TgFujyXW7bjh2o/exAAUR
tC1Kb2VyZyBXdW5zY2ggPGpvZXJnX3d1bnNjaEB1cmlhaC5oZWVwLnNheC5kZT6J
AJUDBRA0FFkBs1pi61mfMj0BAfDCA/oCfkjrhvRwRCpSL8klJ1YDoUJdmw+v4nJc
pw3OpYXbwKOPLClsE7K3KCQscHel7auf91nrekAwbrXv9Clp0TegYeAQNjw5vZ9f
L6UZ5l3fH8E2GGA7+kqgNWs1KxAnG5GdUvJ9viyrWm8dqWRGo+loDWlZ12L2OgAD
fp7jVZTI1okAlQMFEDQPrLoff6kIA1j8vQEB2XQEAK/+SsQPCT/X4RB/PBbxUr28
GpGJMn3AafAaA3plYw3nb4ONbqEw9tJtofAn4UeGraiWw8nHYR2DAzoAjR6OzuX3
TtUV+57BIzrTPHcNkb6h8fPuHU+dFzR+LNoPaGJsFeov6w+Ug6qS9wa5FGDAgaRo
LHSyBxcRVoCbOEaS5S5EiQCVAwUQM5BktWVgqaw0+fnVAQGKPwP+OiWho3Zm2GKp
lEjiZ5zx3y8upzb+r1Qutb08jr2Ewja04hLg0fCrt6Ad3DoVqxe4POghIpmHM4O4
tcW92THQil70CLzfCxtfUc6eDzoP3krD1/Gwpm2hGrmYA9b/ez9+r2vKBbnUhPmC
glx5pf1IzHU9R2XyQz9Xu7FI2baOSZqJAJUDBRAyCIWZdbtuOHaj97EBAVMzA/41
VIph36l+yO9WGKkEB+NYbYOz2W/kyi74kXLvLdTXcRYFaCSZORSsQKPGNMrPZUoL
oAKxE25AoCgl5towqr/sCcu0A0MMvJddUvlQ2T+ylSpGmWchqoXCN7FdGyxrZ5zz
xzLIvtcio6kaHd76XxyJpltCASupdD53nEtxnu8sRrQxSm9lcmcgV3Vuc2NoIDxq
b2VyZ193dW5zY2hAaW50ZXJmYWNlLWJ1c2luZXNzLmRlPokAlQMFEDIIhfR1u244
dqP3sQEBWoID/RhBm+qtW+hu2fqAj9d8CVgEKJugrxZIpXuCKFvO+bCgQtogt9EX
+TJh4s8UUdcFkyEIu8CT2C3Rrr1grvckfxvrTgzSzvtYyv1072X3GkVY+SlUMBMA
rdl1qNW23oT7Q558ajnsaL065XJ5m7HacgTTikiofYG8i1s7TrsEeq6PtCJKb2Vy
ZyBXdW5zY2ggPGpAdXJpYWguaGVlcC5zYXguZGU+iQCVAwUQMaS91D4gHQUlG9CZ
AQGYOwQAhPpiobK3d/fz+jWrbQgjkoO+j39glYGXb22+6iuEprFRs/ufKYtjljNT
NK3B4DWSkyIPawcuO4Lotijp6jke2bsjFSSashGWcsJlpnwsv7EeFItT3oWTTTQQ
ItPbtNyLW6M6xB+jLGtaAvJqfOlzgO9BLfHuA2LY+WvbVW447SWJAJUDBRAxqWRs
dbtuOHaj97EBAXDBA/49rzZB5akkTSbt/gNd38OJgC+H8N5da25vV9dD3KoAvXfW
fw7OxIsxvQ/Ab+rJmukrrWxPdsC+1WU1+1rGa4PvJp/VJRDes2awGrn+iO7/cQoS
IVziC27JpcbvjLvLVcBIiy1yT/RvJ+87a3jPRHt3VFGcpFh4KykxxSNiyGygl4kA
lQMFEDGCUB31FVv7jlQtXQEB5KgD/iIJZe5lFkPr2B/Cr7BKMVBot1/JSu05NsHg
JZ3uK15w4mVtNPZcFi/dKbn+qRM6LKDFe/GF0HZD/ZD1FJt8yQjzF2w340B+F2GG
EOwnClqZDtEAqnIBzM/ECQQqH+6Bi8gpkFZrFgg5eON7ikqmusDnOlYStM/CBfgp
SbR8kDmFtCZKb2VyZyBXdW5zY2ggPGpAaW50ZXJmYWNlLWJ1c2luZXNzLmRlPokA
lQMFEDHioSdlYKmsNPn51QEByz8D/10uMrwP7MdaXnptd1XNFhpaAPYTVAOcaKlY
OGI/LLR9PiU3FbqXO+7INhaxFjBxa0Tw/p4au5Lq1+Mx81edHniJZNS8tz3I3goi
jIC3+jn2gnVAWnK5UZUTUVUn/JLVk/oSaIJNIMMDaw4J9xPVVkb+Fh1A+XqtPsVa
YESrNp0+iQCVAwUQMwXkzcdm8Q+/vPRJAQEA4QQAgNNX1HFgXrMetDb+w6yEGQDk
JCDAY9b6mA2HNeKLQAhsoZl4HwA1+iuQaCgo3lyFC+1Sf097OUTs74z5X1vCedqV
oFw9CxI3xuctt3pJCbbN68flOlnq0WdYouWWGlFwLlh5PEy//VtwX9lqgsizlhzi
t+fX6BT4BgKi5baDhrWJAJUDBRAyCKveD9eCJxX4hUkBAebMA/9mRPy6K6i7TX2R
jUKSl2p5oYrXPk12Zsw4ijuktslxzQhOCyMSCGK2UEC4UM9MXp1H1JZQxN/DcfnM
7VaUt+Ve0wZ6DC9gBSHJ1hKVxHe5XTj26mIr4rcXNy2XEDMK9QsnBxIAZnBVTjSO
LdhqqSMp3ULLOpBlRL2RYrqi27IXr4kAlQMFEDGpbnd1u244dqP3sQEBJnQD/RVS
Azgf4uorv3fpbosI0LE3LUufAYGBSJNJnskeKyudZkNkI5zGGDwVneH/cSkKT4OR
ooeqcTBxKeMaMuXPVl30QahgNwWjfuTvl5OZ8orsQGGWIn5FhqYXsKkjEGxIOBOf
vvlVQ0UbcR0N2+5F6Mb5GqrXZpIesn7jFJpkQKPU
=97h7
-----END PGP PUBLIC KEY BLOCK-----
</verb></tscreen>

@ -1,257 +0,0 @@
<!-- $Id: policies.sgml,v 1.12 1997-10-19 22:13:30 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.16 -->
<chapt><heading>ソースツリーのガイドラインおよび方針
<label id="policies">
</heading>
<p><em>原作: &a.phk;</em><newline>.
<p><em>訳者: &a.mihoko;<newline>
6 September 1996 </em>.
本章は, FreeBSD のソースツリーについてのさまざまなガイドラインや
ポリシーについて書かれています.
<sect><heading>Makefile 中の MAINTAINER
<label id="policies:maintainer">
</heading>
<p>1996年6月.
<p>FreeBSD 配布物の特定の部分が, 一人の人やグループによって保守
されている場合は, ソースツリーの当該 Makefile に
<verb>
MAINTAINER= email-addresses
</verb>
<p>が付け加えられています. これを記述することによって, この部分が誰
に保守管理されているかを世界中のユーザに伝えることができます.
<p>この意味は次のとおりです:
<p>保守担当者がそのコードを所有し, そのコードに対する責任を持っ
ています. すなわち, その人がそのコードに関するバグの修正やトラブル報告
に対する回答をします. また, そのコードが寄贈ソフトウェアの場合には,
そのソフトウェアの新しいバージョンに適切に追従させる作業をその人が行い
ます.
<p>保守担当者が決められているディレクトリに対して変更をおこなう場合は,
変更をおこなう前に, その変更内容を保守担当者に送って,
保守担当者にレビューをしてもらってください.
保守担当者が, 電子メールに一定期間応答しない場合にのみ,
保守担当者がレビューすることなしに, 変更をおこなうことが認められます.
しかしながら, そのような場合でも可能な限り, 変更点を第三者にレビュー
してもらうようにしてください.
<p>もちろん, この義務を引き受けることができない人やグループを
保守管理者として追加することはできません.
また, 保守管理者がソースツリー管理者 ("committer") である必要は
ありません.
<sect><heading>寄贈ソフトウェア</heading>
<p>1996年6月.
<p>FreeBSD 配布物のうちのいくつかのソフトウェアは FreeBSD プロジェクト
以外のところで保守されています.
歴史的な経緯から, 私たちはこれを <em> 寄贈 </em> ソフトウェアと
呼んでいます. perl や gcc, patch などがその例です.
<p>ここ数年来, この種のソフトウェアの取り扱いには, さまざまな方法が
取られてきましたが, どの方法にもいくつかの利点と欠点があります.
これまで欠点のない明確な方法はありませんでした.
<p>
議論した結果, これらの方法のうちの一つが「公式な」方法として選択され
ました. その方法が, 今後, この種のソフトウェアを取り込む場合に, 使用
されます.
その上, この方法では, だれもが(cvs にアクセス権のない人でさえ)「公式」
バージョンのソースに対する差分を簡単に得ることができます.
これは古い方法にはなかった大きな利点です. ですから,
既存の寄贈ソフトウェアも, この方法に収束していくことを強く望んでいます.
この方法を使用することにより, 寄贈ソフトウェアの主な開発者に, 変更
点を返すのがとても容易になります.
<p>しかしながら結局, 寄贈ソフトウェアの取扱は, 実際に作業を行って
いる人々に委ねられています.
もしこの方法を使用することが, その人が扱っているパッケージには
極端に合わないような場合には, コアチームの承認さえあれば, これらの
ルールに反しても, 他の開発者の一般的な合意は得られるでしょう.
将来にわたってパッケージを保守できるということは, 大変重要な事柄に
なってきます.
<p>プログラミング言語 <tt>Tcl</tt> は,
この方法が活用されているよい例になっています:
<p><verb>src/contrib/tcl</verb> には, このパッケージの保守管理者が
配布したソースが含まれています. この中からは FreeBSD に完全には適用
できない部分が削除されています. Tcl の場合は, "mac", "win",
"compat" というサブディレクトリは, FreeBSD に取り込む前に削除されて
いました.
<p><verb>src/lib/libtcl</verb> には, ライブラリを生成したり, ドキュ
メントをインストールする際に使用される, 標準の bsd.lib.mk の
規則を使用した「bmake スタイル」の Makefile だけが 含まれています.
<p><verb>src/usr.bin/tclsh</verb> には, bsd.prog.mk 規則 を使用して,
"tclsh" プログラムや関連するマニュアルページを生成 /インストール
する bmake スタイルの Makefile だけが含まれています.
<p><verb>src/tools/tools/tcl_bmake</verb> には,
tcl ソフトウェアを更新する必要が生じたときの助けになる2つのシェルス
クリプトが含まれています. これらは, ソフトウェアを構築するのに使用し
たり, インストール対象になるソフトウェアではありません.
<p>ここ重要なのは, "src/contrib/tcl" ディレクトリが, 規則にしたがっ
て作られているということです. つまり, できるだけ FreeBSD に特化した
変更をおこなわないようにしたソースを(CVS のベンダブランチに)おくようにし
ています.
freefall 上の「簡易取り込み」ツールは, 寄贈ソフトウェアを取り込む
手助けとなります. けれども, このツールの実行方法に疑問が生じた場合は,
まずはじめに質問して, 失敗をしないようにしてください. そして,
その疑問を「解決して」からツールを使用してください.
CVS に寄贈ソフトウェアを取り込む際には, 事故があってはいけません.
よくあるような間違いをおかさないように, 十分注意してください.
<p>CVS には, 残念なことにベンダブランチという設計制限があります.
このため, CVS に寄贈ソフトウェアを取り込むには, オリジナル配布ソースに
適用されるベンダからの「公式」パッチと, ベンダブランチに逆輸入された
結果が必要です.
ベンダブランチの一貫性を破壊したり, 将来, 新しいバージョンを取り込む
時に衝突を起こしてしまったりというような 困難な事態に陥らないように
しなければなりません. そのために, FreeBSD が管理しているバージョンに
対して, 公式パッチを決して当ててはいけませんし, 公式パッチを
"commit" してはいけません.
<p>多くのパッケージが, 他のアーキテクチャや他の環境と FreeBSD
との互換性を保ためのファイルをいくつか含んでいます. そこで,
スペースを節約するために, FreeBSD にとっては無意味な配布ツリー上の一
部を削除することが許されています.
けれども, 削除されずに残ったファイルに対する, 著作権の通知やリリース
ノートのような情報を含んだファイルは, 決して削除しては <em> いけませ
ん </em>.
<p>"bmake" Makefile が何らかのユーティリティによって, 配布ツリー
から自動的に生成できると, うまくいけば, 新しいバージョンへの
アップグレードをより簡単におこなうことができます.
もしこのようなユーティリティを作成できた場合には, 将来の管理者に
とって便利になるように, 移植の際に, src/tools ディレクトリ上に,
(必要に応じて)そのユーティリティを必ずチェックインしてください.
<p> src/contrib/tcl レベルのディレクトリには, FREEBSD-upgrade と
呼ばれるファイルが追加されており, そのファイルでは 次のような内容が
記述されています.
<itemize>
<item> ディレクトリ上に存在するファイル
<item> オリジナルの配布物をどこから入手すればよいか また, 公式配布
サイトはどこか
<item> オリジナルの作者にパッチを送り返すためには, どこに送ればよいか
<item> FreeBSD に特化した変更点の概要
</itemize>
<p>しかしながら, 寄贈ソースと一緒に FREEBSD-upgrade ファイルを
取り込まないでください.
それよりむしろ, (訳注:このファイルを)初回に取り込んだ後は,
コマンド ``cvs add FREEBSD-upgrade ; cvs ci'' を実行してください.
``src/contrib/cpio'' を例にすると, 次のようになります:
<verb>このディレクトリは「ベンダ」ブランチ上のオリジナル配布ファイル
の初期ソースが含まれています. いかなる事情があっても,
パッチや cvs コミットによってこのディレクトリ上のファイルを
アップグレードしてはいけません.
(訳注:ベンダから配布された)新しいバージョンや公式パッチだけが
(訳注:このディレクトリに)取り込まれなくてはいけません.
GNU cpio 2.4.2 を取り込むためには, 以下のファイルが削除されました:
INSTALL cpio.info mkdir.c
Makefile.in cpio.texi mkinstalldirs
cpio を新しいバージョンにアップデートするためには, 次の作業を
おこないます:
1. 空のディレクトリに新しいバージョンを取り出します.
[ファイルに「いかなる変更」も加えてはいけません]
2. 上記にリストされたファイルと, FreeBSD には無意味な
ファイルを削除します.
3. 次のコマンドを実行します:
cvs import -m 'Virgin import of GNU cpio v<version>' \
src/contrib/cpio GNU v<version>
例えば, バージョン 2.4.2 を取り込むためには, 次のように
タイプします:
cvs import -m 'Virgin import of GNU v2.4.2' \
src/contrib/cpio GNU v2.4.2
4. FreeBSD に対するローカルな変更と, 新しいバージョンとの間での
矛盾を解消するために, ステップ 3 で出力された命令を実行します.
いかなる事情があっても, この手順から外れてはいけません.
cpio にローカルな変更を加えたい場合には, メインブランチ(別名 HEAD)に対して
パッチを実行し, コミットしてください.
決して GNU のブランチにローカルな変更を加えないでください.
ローカルにおこなわれたすべての変更を次のリリースに含めるために,
"cpio@gnu.ai.mit.edu" に提出してください.
obrien@freebsd.org - 30 March 1997</verb>
<sect><heading>共有ライブラリ
<label id="policies:shlib">
</heading>
<p><em>Contributed by &a.asami;, &a.peter;, and &a.obrien;.
<newline>9 December 1996.</em></p>
<p>もしあなたが共有ライブラリをサポートする機能を port に追加した
り, 共有ライブラリをサポートしていない他のソフトウェアに追加する
場合には, 共有ライブラリのバージョン番号を次の規則にしたがって
つけてください.
一般的には, この規則は, ソフトウェアのリリースバージョンとは
全く関係ありません.
<p>共有ライブラリを作成する三つの重要な規則は次の通りです:
<itemize>
<item>1.0 から始める
<item>過去のバージョンに互換性のある変更の場合は, マイナー番号を増やす
<item>互換性のない変更の場合は, メジャー番号を増やす
</itemize>
<p>例えば, 機能追加とバグ吸収の場合は, マイナー番号を増やします.
機能削除, 関数呼び出しのシンタックスなどが変更された場合は,
強制的にメジャー番号を変更します.
<p>メジャー.マイナーー (x,y) の形式のバージョン番号を使用します.
FreeBSD のダイナミックリンカは, x.y.z という形式のバージョン番号
は扱えません.
この場合, 「y」の後のバージョン番号(つまり三つ目の数字)は,
どのライブラリがリンクされているかを決めるために, 共有ライブラ
リ番号を比較する際に, すべて無視されます.
「小さな」リビジョンだけが異なる二つの共有ライブラリが指定
されると, ld.so は, リビジョンの大きい方の共有ライブラリを
リンクします. すなわち, もしあなたが libfoo.so.3.3.3 をリンク
していたとすると, リンカは頭の 3.3 という部分だけを認識し,
libfoo.so.3 ではじまり その後に 3 以上の数字が続くもののうち、
最も大きい番号の付いているライブラリをリンクします.
<p>ld.so はいつも最も大きい「マイナー」リビジョンのものを使うことに
注意してください. 例えば, プログラムがはじめ libc.so.2.0 を
リンクしていたとしても, libc.so.2.0 よりも libc.so.2.2 を優先
して使用します.
<p>移植されていないライブラリに対しては, リリースごとに共有ライブラリの
バージョン番号を一度だけ変更するのが私たちのポリシーです.
あなたがシステムライブラリのバージョン番号を上げた場合は,
Makefile の commit ログを確認してください.
結果としてそのリリースには, 共有ライブラリのバージョン番号が
アップデートされた Makefile に入るので、最初にその変更を
確かめるのがソースツリー管理者 ("committer") の責務です.
その後のどんな変更も, そのリリースには入りません.

File diff suppressed because it is too large Load Diff

@ -1,844 +0,0 @@
<!-- $Id: ports.sgml,v 1.15 1998-01-14 08:48:25 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.29 -->
<chapt><heading>アプリケーションのインストール : ports コレクション <label id="ports"></heading>
<p><em>原作: &a.jraynard;.</em>
<p><em>訳: &a.masaki;, &a.saeki;.<newline>
11 November 1996.</em>
FreeBSD の ports コレクションを利用すると, 最小限の労力で
非常に幅広くのアプリケーションのコンパイルとインストールがおこなえます.
<p> やってみたことのある方はよくご存知でしょうが, オープンな規格とは
全くの誇大広告であって, あるプログラムを異なるバージョンの Unix 上で
動作させることは退屈で手間のかかる仕事です.
求めているプログラムが自分のシステムでうまくコンパイルでき,
正しいところにインストールできて, 完璧に動作するとしたらとてもラッキーです.
しかし, あいにくこれは滅多にないことなのです.
ほとんどのプログラムについて, あなたは髪を掻きむしることになるでしょうし,
かなりのプログラムでは, 白髪混じりの頭になってしまったり, あるいは慢性の
脱毛症にすら なってしまうかもしれません...
<p> いくつかのソフトウェアディストリビューションでは, 設定用のスクリプトを
配布することでこの問題を解決しようとしています.
これらのスクリプトの中には非常に精巧なものもありますが, 残念ながら,
中にはこれまで聞いたこともないようなシステムの名前をしゃあしゃあと
言い放ったうえに, まるでシステムレベルの Unix プログラミングに関する
最終試験のような, たくさんの質問をしてくる場合があります.
(例えば, 「このシステムの gethitlist 関数は fromboz への const ポインタを
返しますか? それとも const fromboz へのポインタを返しますか?」,
「このシステムには Foonix スタイルの, 容認できない例外処理をおこなう
ルーチンがありますか? もしもないとしたら, それはなぜですか?」)
<p> 幸いなことに, ports コレクションがあれば, これらのきつい作業はすべて
完了しています. 'make install' とタイプするだけで, 動作するプログラムを
入手することができるのです.
<sect><heading> なぜ ports コレクションを作ったのか?</heading>
<p>FreeBSD の基本システムは, 非常に多くのツールやユーティリティから
構成されています. しかし, よく使われるプログラムのうち多くのものが,
この基本システムには含まれていません. その理由は:-
<enum>
<item> ある Lisp ベースのエディタのように, それがないと生きていけないと
言う人もいれば, ディスクの無駄だと言う人もいるようなプログラム.
<item> 基本システムに組み込むには特殊すぎるプログラム.
(CAD やデータベースなど.)
<item> 「時間のある時に, ちょっと見ておかなければ」というような類の,
それがシステムに含まれていないことが致命的とは言えないプログラム.
(おそらく, 何らかの言語などでしょう.)
<item>FreeBSD のような真面目なオペレーティングシステムの一部として
供給するには遊びが過ぎるようなプログラム. ;-)
<item> たくさんのプログラムを基本システムに組み込んだとしても, もっともっと
組み込みたいという要求が出てくるので, どこかで制限を引かなくてはならないため.
(そうしなければ FreeBSD の配布物は, とてつもなく膨大になってしまうでしょう.)
</enum>
<p> すべての人が自分のお気に入りのプログラムを手作業で移植しなければ
ならないとしたら, (途方もない膨大な作業の繰り返しをさておいたとしても)
それは明らかに不合理な話です.
そこで, FreeBSD プロジェクトでは, 標準のツールを使って移植のプロセスを
自動化する巧妙な方法を考え出しました.
<p> なお, これは単純ながら非常に柔軟なツールを組み合わせることで,
非常に強力な働きをさせるという「Unix 流」の作業の優れた実例です.
<sect><heading>ports コレクションはどのように動くのでしょうか?</heading>
<p>
インターネットでは通常, <ref id="ports:tarball" name="tarball"> の形で
プログラムが配布されています. これは, Makefile とソースコードで構成され,
普通は何らかの説明書 (あいにく, いつもわかりやすく書かれているとは
限りませんが) が付属しています.
ことによるとコンフィグレーションスクリプトも含まれているかもしれません.
<p>
標準的な手順では, FTP で tarball を入手して, 適当なディレクトリで展開します.
次に説明書を読んで, 必要な変更をおこないます. そして, 設定スクリプトを実行し,
標準の make コマンドを使ってソースのコンパイルとインストールをおこないます.
<p>
FreeBSD の ports も tarball の仕組みを利用していますが, これはユーザが
苦労して作業することを期待したものではなく, どのようにすれば FreeBSD 上で
そのプログラムが動くようになるかという「ノウハウ」を <ref id="ports:skeleton"
name="スケルトン"> を使用して収めているものです.
スケルトンは, カスタマイズ済みの <ref id="ports:makefile" name="Makefile"> も
提供していますので, ほとんどすべての ports は同じ手順でインストールすることが
できます.
<p>
もしあなたが (<htmlurl url="file://localhost/usr/ports/devel/ElectricFence"
name="あなたの FreeBSD システム"> または
<htmlurl url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/devel/ElectricFence"
name="FTP サイト"> にある) ports スケルトンを見ていて, そこに潜んでいる
あらゆる種類の先端的なロケット工学的なものを見つけられると期待していると,
つまらなそうなファイルやディレクトリがそこにあるだけなのを見て,
がっかりするかもしれません.
(ports を手に入れる方法については, すぐに <ref id="ports:getting"
name="FreeBSD ports コレクションの入手方法"> の節でお話します.)
<p>「一体どうしたらいいんだ? ここにはソースコードが ないじゃないか?」
というあなたの叫びが聞こえるようです.
<p> 心配いりません. おとなしく読んでいけば, すべてが (たぶん) 明らかに
なるでしょう.
試しに ports をインストールして, 何が起きるのかを見てみましょう.
ここではサンプルとして開発者向けの便利なツール, `ElectricFence' を選択します.
このスケルトンを選んだ理由は, 他の ports に比べても素直で理解しやすく
書かれているからです.
<em>Note</em> 自宅で試してみる場合には, root になる必要があるでしょう.
<verb>
# cd /usr/ports/devel/ElectricFence
# make install
>> Checksum OK for ElectricFence-2.0.5.tar.gz.
===> Extracting for ElectricFence-2.0.5
===> Patching for ElectricFence-2.0.5
===> Applying FreeBSD patches for ElectricFence-2.0.5
===> Configuring for ElectricFence-2.0.5
===> Building for ElectricFence-2.0.5
[大量のメッセージをコンパイラが出力します...]
===> Installing for ElectricFence-2.0.5
===> Warning: your umask is "0002".
If this is not desired, set it to an appropriate value
and install this port again by ``make reinstall''.
install -c -o bin -g bin -m 444 /usr/ports/devel/ElectricFence/work/ElectricFence-2.0.5/libefence.a /usr/local/lib
install -c -o bin -g bin -m 444 /usr/ports/devel/ElectricFence/work/ElectricFence-2.0.5/libefence.3 /usr/local/man/man3
===> Compressing manual pages for ElectricFence-2.0.5
===> Registering installation for ElectricFence-2.0.5
</verb>
<p> ここではあなたが混乱しないように, コンパイル時の出力を
すべて取り除いてあります.
<p>もしもあなた自身で実行されたら, 最初にこのような
出力結果が得られるはずです:-
<label id="ports:fetch">
<verb>
# make install
>> ElectricFence-2.0.5.tar.gz doesn't seem to exist on this system.
>> Attempting to fetch from ftp://ftp.doc.ic.ac.uk/Mirrors/sunsite.unc.edu/pub/Linux/devel/lang/c/.
</verb>
<p> `make' プログラムは, あなたの手元にソースコードがないことを検出し,
処理を続けられるようにソースを FTP でダウンロードしようとします.
この例では, あらかじめ手動でソースコードを用意してあったので,
持ってくる必要はありませんでした.
<p> では, 続けて `make' プログラムが何をしているのか見てみましょう.
<enum>
<item> ソースコード <ref id="ports:tarball" name="tarball"> のありかを
確認します.
手元にファイルが存在しなければ, FTP サイトから入手しようとします.
<item><ref id="ports:checksum" name="チェックサム"> テストを実行して,
その tarball が事故か何かで途中で切れていたり, ASCII モードで
ダウンロードされていたり, 転送中にニュートリノによって傷められたりして
改変されたりしていないかどうかを確認します.
<item>tarball を一時的な作業用ディレクトリに展開します.
<item>FreeBSD 上でコンパイルしたり, 動作させるのに必要な
すべての <ref id="ports:patch" name="パッチ"> をソースコードに当てます.
<item> 構築のために必要なコンフィグレーションスクリプトを実行します.
コンフィグレーションスクリプトの質問には正確に答えてください.
<item> (いよいよ!) ソースコードをコンパイルします.
<item> 実行形式のプログラム, マニュアル, その他のサポートファイルを,
システムのプログラムと混ざってしまわないように /usr/local 以下に
インストールします. ports はすべて同じ場所にインストールされ,
システムのあちこちにばらまかれることはありません.
<item> インストール結果はデータベースに登録されます. これにより,
インストールしたプログラムがもしも気に入らなかったときも, システムから
すべての痕跡をきれいに <ref id="ports:remove" name="消去"> することができます.
</enum>
<p> 以上のステップが make の出力と一致しているかどうか確認してください.
今まで確認していなかったのなら, 今からするようにしてください!
<sect<heading>FreeBSD ports コレクションの入手 <label id="ports:getting"></heading>
<p>
あるプログラムの FreeBSD port を入手するには二つの方法があります.
ひとつは <ref id="ports:cd" name="FreeBSD CD-ROM"> を使う方法で,
もうひとつは <ref id="ports:inet"name="インターネット接続"> を使う方法です.
<sect1><heading>CD-ROM からコンパイルする <label id="ports:cd"></heading>
<p>
FreeBSD をインストールしたときに, ``Do you want to link the ports
collection to your CDROM'' という質問に yes と答えていたら,
初期設定は既に終わっています.
<p>
そうでない場合は, <em /FreeBSD/ CD-ROM がドライブに入っており,
/cdrom にマウントされていることを確かめてください.
そして次のコマンドを実行すると,
<verb>
# mkdir /usr/ports
# cd /usr/ports
# ln -s /cdrom/ports/distfiles distfiles
</verb>
ports の make メカニズムが tarball を見つけることができるようになります.
(ports は /usr/ports/distfiles に tarball があることを期待していますので,
そのディレクトリから CD-ROM の tarball ディレクトリへのシンボリックリンクを
張るわけです.)
<p>
さて, データベースディレクトリから gnats プログラムをインストールしようと
しているとします. 方法は次のとおりです:-
<verb>
# cd /usr/ports
# mkdir databases
# cp -R /cdrom/ports/databases/gnats databases
# cd databases/gnats
# make install
</verb>
もしもあなたがまじめなデータベースユーザであって, ports コレクションの中の
すべてのデータベースを比較したいと思っているならば, 次のようにしてください.
<verb>
# cd /usr/ports
# cp -R /cdrom/ports/databases .
# cd databases
# make install
</verb>
(cp コマンドの最後のドットはドットそのものであって, もちろんタイプミスでは
ありません. Unix でドットは現在自分自身がいるカレントディレクトリを
意味しています.)
<p>
ports make メカニズムは, データベースディレクトリのすべての ports を
自動的にコンパイルし, インストールをおこなってくれます.
<p>
この方法が気に入らない場合は, まったく違うやり方もあります:-
<p>
<em>XFree86</em> の配布に含まれる <tt>lndir(1)</tt> コマンドを使用して
「リンクツリー」を作ります. ディスクの空き領域を見つけてディレクトリを作成し,
そこにカレントディレクトリを移します. そして CD-ROM 上の ``ports''
ディレクトリのフルパス名を最初の引数とし, . (カレントディレクトリ) を
2 番目の引数として <tt>lndir(1)</tt> コマンドを実行します.
これは例えば以下のようになるでしょう:
<verb>
lndir /cdrom/ports .
</verb>
<p>そして, 作成したリンクツリーの中で ports を構築することで, CD-ROM から
直接 ports を構築することができます.
<p>
ライセンスの制限により, いくつかの ports でオリジナルのソースコードを
CD-ROM に入れることができなかったものがあることに注意してください. この場合,
<ref id="ports:inet" name="インターネット経由で ports をコンパイルする"> の
節を参照してください.
<sect1><heading> インターネット経由で ports をコンパイルする <label id="ports:inet"></heading>
<p>
CD-ROM を持っていなかったり, その ports の最新バージョンを確実に入手したい
場合は, その ports の <ref id="ports:skeleton" name="スケルトン"> を
ダウンロードする必要があります. ところで, これは落し穴が
たくさんある作業に見えるかもしれませんが, 実際には非常に簡単です.
<p>
ここで鍵になるのは, FreeBSD の FTP サイトが
その場で <ref id="ports:tarball" name="tarball"> を作成できるということです.
どのように動作するのか, ここでは例として databases ディレクトリにある
gnats プログラムを使って説明します. (角型かっこの中の文はコメントなので,
実際に実行する場合には, これをタイプしないでください!):-
<verb>
# cd /usr/ports
# mkdir databases
# cd databases
# ftp ftp.freebsd.org
[ユーザ名 `ftp' でログインし, パスワードを要求されたら, あなたの電子メール
アドレスを入力してください. バイナリモードを (イメージモードと呼ばれることも
あります) 使うのをお忘れなく!]
> cd /pub/FreeBSD/ports/databases
> get gnats.tar [gnats スケルトンの tarballs を取得]
> quit
# tar xf gnats.tar [gnats スケルトンの展開]
# cd gnats
# make install [gnats の構築とインストール]
</verb>
さて何が起きるでしょうか? FTP サイトにいつも通りに接続して, データベースの
サブディレクトリに移動します. `get gnats.tar' とコマンドを入力すると,
FTP サイトでは gnats ディレクトリを <ref id="ports:tarball"
name="tarred"> にしてくれるのです.
<p>
gnats スケルトンを展開したら, gnats ディレクトリへ移動して ports を構築します.
<ref id="ports:fetch" name="すでに"> 説明したように, make の過程で
手元にソースコードがないことを検出すると, ソースコードを取得してから
展開し, パッチ当てと構築をおこないます.
<p>
それでは, 少し冒険をしてみましょう. 一つの ports スケルトンを
取得するかわりに, たとえば ports コレクションの中のデータベースの
スケルトンをすべて, サブディレクトリ全体を取得してみましょう.
やり方はほとんど同じです:-
<verb>
# cd /usr/ports
# ftp ftp.freebsd.org
[ユーザ名 `ftp' でログインし, パスワードを要求されたら, あなたの電子メール
アドレスを入力してください. バイナリモードを (イメージモードと呼ばれることも
あります) 使うのをお忘れなく!]
> cd /pub/FreeBSD/ports
> get databases.tar [データベースディレクトリの tarballs を取得]
> quit
# tar xf databases.tar [すべてのスケルトンを展開]
# cd databases
# make install [データベース ports 全部の構築とインストール]
</verb>
わずかばかりの簡単なコマンドで, この FreeBSD マシン上にデータベース
プログラムを一揃い手に入れてしまいました! 一つの ports スケルトンを取ってきて
それを構築する場合との違いは, すべてのディレクトリを一度に取得して,
全部を一度にコンパイルしたということだけです. かなり感動的だと思いませんか?
<p>
たくさんの ports をインストールする
つもりなら, おそらくすべての ports ディレクトリをダウンロードしておく
価値があるでしょう.
<sect><heading> スケルトン <label id="ports:skeleton"></heading>
<p>
スケルトン (訳注: skeleton とは骸骨のことです) とは, 締め切りを守るため,
食事をするのを忘れるほど仕事にのめり込んだハッカーたちのなれの果ての
ことでしょうか? FreeBSD の屋根裏に潜む, なにか気持ちの悪いものでしょうか?
いいえ, ここでスケルトンの意味するところは, ports の魔術を実現するのに
必要とされるすべてのものを提供する最小の骨組みのことです.
<sect1><heading>Makefile<label id="ports:makefile"></heading>
<p>
スケルトンのもっとも重要な要素は Makefile です. Makefile は ports を
どのようにコンパイルし, インストールをおこなうかを指示する
いろいろな命令を含んでいます. 以下に ElectricFence の Makefile を示します:-
<verb>
# New ports collection makefile for: Electric Fence
# Version required: 2.0.5
# Date created: 13 November 1997
# Whom: jraynard
#
# $Id: ports.sgml,v 1.15 1998-01-14 08:48:25 hanai Exp $
#
DISTNAME= ElectricFence-2.0.5
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_SUNSITE}
MASTER_SITE_SUBDIR= devel/lang/c
MAINTAINER= jraynard@freebsd.org
MAN3= libefence.3
do-install:
${INSTALL_DATA} ${WRKSRC}/libefence.a ${PREFIX}/lib
${INSTALL_MAN} ${WRKSRC}/libefence.3 ${PREFIX}/man/man3
.include <bsd.port.mk>
</verb>
&quot;#&quot; で始まる行は, 人間のためのコメント行です.
(ほとんどの Unix のスクリプトと同じですね.)
<p>
`DISTNAME&quot; は <ref id="ports:tarball" name="tarball">
の名前から拡張子を取ったものです.
<p>
`CATEGORIES&quot; はこのプログラムの種類を示します.
この場合, 開発者向けのユーティリティということになります.
<p>
`MASTER_SITES&quot; はマスタ FTP サイトの URL です. もしローカルシステムに
<ref id="ports:tarball" name="tarball"> がない場合には, ここから取得します.
これは信頼できると考えられているサイトで, 通常はそのプログラムを
インターネット上で公式に配布しているサイトです.
(そのソフトウェアがインターネット上で「公式に」配布されているとしたら)
<p>
`MAINTAINER&quot; は, 例えば新しいバージョンのプログラムが出た場合に,
必要であればスケルトンの更新をおこなう保守担当者の電子メールアドレスです.
<p>
次の数行はとりあえず飛ばします.
<verb>
.include <bsd.port.mk>
</verb>
この行は, この ports に必要なその他の命令やコマンドは `bsd.port.mk&quot; に
入っているということを示しています. これらはすべての ports で共通のものなので,
それぞれの Makefile に書いておく必要はありません. そのため単一の標準ファイルに
まとめられているのです.
<p>
ここでは Makefile がどう働くかを詳細に調査するのが目的ではありませんので,
``MAN3'' で始まる行は, インストールの後に ElectricFence のマニュアルを
圧縮するために使用される, と言っておくだけで充分でしょう.
これにより, 貴重なディスクスペースが保護されているわけです.
オリジナルの port では ``install'' ターゲットが用意されていないので,
``do-install'' からの 3 行が この ports によって生成されたファイルを
正しい場所に置くために使用されます.
<sect1><heading>files ディレクトリ </heading>
<p>
ports のチェックサム算出には MD5 アルゴリズムを使用しているので,
この <ref id="ports:checksum" name="チェックサム"> を含んでいる
ファイルは &quot;md5&quot; と呼ばれます.
ちょっと混乱するかもしれませんが, このファイルは &quot;files&quot; という
名前のディレクトリに置かれています.
<p>
このディレクトリは, ports に必要だけれども, 他のどこにも属さない
雑多なファイルも含んでいます.
<sect1><heading>patches ディレクトリ </heading>
<p>
このディレクトリには, FreeBSD ですべてを正常に動作させるのに
必要な <ref id="ports:patch" name="パッチ"> が含まれています.
<sect1><heading>pkg ディレクトリ </heading>
<p>
このディレクトリには, 非常に役立つ三つのファイルが含まれています:-
<itemize>
<item>
COMMENT - プログラムについての 1 行の説明.
<item>
DESCR - より詳細な説明.
<item>
PLIST - プログラムのインストール時に作成される, すべてのファイルのリスト.
</itemize>
<sect><heading>ports が動かないのですが、どうしたらよいでしょう<label id="ports:troubleshooting"></heading>
<p>おやおや. では, 次の四つのどれかをやってみてください:
<enum>
<item> 自分で修正する. ports の仕組みに関する技術的な詳細については,
<ref id="porting" name="アプリケーションの移殖方法">をご覧ください.
<item> 苦情をいう. これは電子メールで * だけ * にしてください!
このようなメールの宛先は &a.ports; です.
なお, 必ず port の名前やバージョン, その port のソースや distfile(s) を
どこから入手したか, どんなエラーが発生したのかを書いておいてください.
<item> 忘れてしまう. これはほとんどの場合最も簡単な方法です.
ports のプログラムのうち必要不可欠な物はごくわずかです.
<item> FTP サイトからコンパイル済みのパッケージを入手する.
マスターパッケージコレクションは FreeBSD の FTP サイトの
<htmlurl url="ftp://ftp.FreeBSD.org/pub/FreeBSD/packages/"
name="パッケージディレクトリ"> に置いてありますが,
まずあなたの近くのローカルミラーサイトを確認してください!
ソースからのコンパイルに挑戦するよりも, パッケージを使うほうが
(全体的に見て) ずっと確実に動作するでしょうし,
より手っ取り早い方法でもあります.
システムにパッケージをインストールするには, <tt>pkg_add(1)</tt>
を使ってください.
</enum>
<sect><heading>ports 化したいプログラムがあるのですが...</heading>
<p> すばらしい!具体的なやり方については
<ref id="porting" name="ガイドライン"> に, 詳細な手順がありますので
ご覧ください.
<sect><heading> 質問と回答集 </heading>
<p>
<itemize>
<item>
Q. 私はモデムについての議論をしているのかと思っていました??!
<p>
A.なるほど, あなたはきっとコンピュータの背面についている
シリアルポートのことだと思ってしまったのでしょう.
あるバージョンの Unixから別のバージョンの Unix へとプログラムを
移殖することを `porting' というのですが, ここで我たちは `porting' の結果
という意味で `port' を使っています.
(コンピュータに関わる人々の悪しき習慣として, ひとつの同じ言葉を複数の
まったく違う意味として使うことがあるのです.)
<item>
Q. 私は, 標準以外のプログラムのインストールには packages を使うと
思っていたのですが.
<p>
A. そのとおり. 通常は packages が最も手早くて簡単な方法です.
<item>
Q. それではどうして面倒な ports があるのですか?
<p>
A. いくつかの理由があります:-
<enum>
<item> いくつかのソフトウェアのライセンス条件には,
バイナリではなくソースコードでの配布を求めているものがあります.
<item> バイナリ配布を信用していない人もいます. 少なくともソースコード
があれば, ソースコードを読んで, (理論的には) 潜在的な問題点を自分で
見つけ出すこともできるはずです.
<item> ローカルなパッチを入手した場合, それを自分で追加するために
ソースコードが必要になります.
<item> プログラムがいかにコンパイルされるべきかについて,
あなたはパッケージを作った人とは異なる見解を持っているかもしれません.
どんな最適化オプションをつけるべきかとか, デバッグバージョンを作ってから
それを strip するべきだとか, いや, そうするべきでない, などなど,
確固たる見解を持っている人もいるでしょう.
<item> ソースコードを手元に置いておきたい人たちもいます.
彼らは, 退屈したときに眺めたり, あちこち解析してみたり, ソースコードを
借用したり (もちろん, ライセンスが許せばの話ですが) するのです.
<item> あなたがソースコードを持っていなければ, それはソフトウェアとは
言えませんね! ;-)
</enum>
<item><label id="ports:patch">
Q. パッチとは何ですか?
<p>
A. パッチとは, あるバージョンから他のバージョンへどのように変更するかを
示す, (通常は) 小さなファイルです. 「23 行目を削除」, 「468 行目の後に
これらの 2 行を追加」, または「197 行目をこのように変更」というような
内容を含んでいます.
これは, `diff' という名前のプログラムで生成されます.
<item><label id="ports:tarball">
Q. tarball とは一体何ですか?
<p>
A. .tar または .tar.gz という拡張子を持つファイルです.
(.tar.Z のようなバリエーションも
ありますし, DOS のファイルシステム用に .tgz と短縮される場合もあります.)
<p>
これは基本的に, 一つのファイルに固めた (.tar) ディレクトリツリーです.
圧縮されている (.gz) 場合もあります.
これは元々 <em /T/ape <em /AR/chives (訳注: テープアーカイブ)
(このため `tar' という名前なのです) で使われていたものなのですが,
インターネット上でプログラムのソースコードを配布するために
広く使われている方法です.
<p>
これらのファイルの中身を見たり, 展開したりすることもできます.
FreeBSD の基本システムに付属する Unix 標準の tar コマンドを使ってみると
次のようになります:-
<verb>
tar tvzf foobar.tar.gz # foobar.tar.gz の内容を見る
tar xzvf foobar.tar.gz # カレントディレクトリに内容を展開する
tar tvf foobar.tar # foobar.tar の内容を見る
tar xvf foobar.tar # カレントディレクトリに内容を展開する
</verb>
<item><label id="ports:checksum">
Q. チェックサムとは何ですか?
<p>
A. これは, チェックしたいファイル中のすべてのデータを加えて生成した
数値です. 何か文字が書き換わっていたら, チェックサムが一致しなくなります.
そのため, 単純な比較だけで違いを見つけることができるのです.
(実際には, 文字の位置が入れ替わるなどの, 単純な加算ではわからない問題も
見つけることができる複雑な方法で計算されています.)
<item>
Q. 私は, <ref id="ports:cd" name="CD-ROM から ports をコンパイルする">
にしたがって ports をインストールしていました.
kermit をインストールしようとするまではうまくいっていました:-
<verb>
# make install
>> cku190.tar.gz doesn't seem to exist on this system.
>> Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/.
</verb>
なぜ cku190.tar.gz が見つからないのでしょうか?
不良品の CD-ROM を買ってしまったのでしょうか?
<p>
A. Kermit の権利を持つチームは, 私たちの CDROM に kermit の tarball を
入れることを許可しませんでした. 申し分けありませんが, 手動でファイルを
入手してください.
このようなエラーメッセージが出たのは, あなたがそのときインターネットに
接続していなかったためです. あらかじめ上記のサイトのいずれかからファイルを
ダウンロードしておけば, プロセスを再開することができます.
(ダウンロードの際には, あなたに最も近いサイトを選ぶようにしてください.
そうすれば, 時間とインターネットの帯域の節約になります)
<item>
Q. kermit の tarball を入手しましたが, /usr/ports/distfiles に
ファイルを置こうとすると, 書き込み権がないというエラーがでます.
<p>
A. ports のしくみは /usr/ports/distfiles から tarball を探します.
しかし, これは read-only の CD-ROM へのシンボリックリンクなので,
ここにファイルを置くことはできません.
次のようにすれば, 他の場所を探すよう ports に指示することができます.
<verb>
DISTDIR=/where/you/put/it make install
</verb>
<item>
Q. ports では, すべてを /usr/ports に置いたときだけ動作するのでしょうか?
システムの管理者によると, 私の個人的なファイルは
/u/people/guests/wurzburger に入れなければならないのですが,
これでは うまくいかないように思います.
<p>
A. PORTSDIR 変数と PREFIX 変数を変更することで, 違うディレクトリを
使用することができます. 例えば,
<verb>
make PORTSDIR=/u/people/guests/wurzburger/ports install
</verb>
とすると, ports は /u/people/guests/wurzburger/ports でコンパイルされ,
すべて /usr/local 以下にインストールされます.
<verb>
make PREFIX=/u/people/guests/wurzburger/local install
</verb>
この場合, コンパイルは /usr/ports でおこない,
/u/people/guests/wurzburger/local にインストールします.
もちろん, 以下のように両者を組み合わせることも可能です.
<verb>
make PORTSDIR=.../ports PREFIX=.../local install
</verb>
(省略せずに記述したら, このページに収めるには長すぎるのですが,
考え方は理解していただけたと思います)
<p>
もし ports をインストールするたびに, これらを毎回タイプするのが
気に入らないのであれば, (正直に言って, 誰もそう思わないでしょう)
これらを環境変数にセットしてしまうという手があります.
<item>
Q. 私は, FreeBSD の CD-ROM を持っていませんが, 私はすべての tarball を
私のシステムに置いておきたいのです. そうすれば, 私は ports をインストール
するたびに, 毎回ダウンロードが終わるのを待たなくてすむでしょう.
これを一度におこなう簡単な方法はありませんか?
<p>
A. ports コレクション全体の tarball を持ってくるには, 次のようにしてください.
<verb>
# cd /usr/ports
# make fetch
</verb>
ports の下のディレクトリひとつの tarball を持ってくるには, 次のように
してください.
<verb>
# cd /usr/ports/directory
# make fetch
</verb>
ports をひとつだけ持ってくる方法は, きっと既にご存知だと思います.
<item>
Q. マスタ FTP サイトから tarball を持ってくるより, 近くにある FreeBSD の
ミラーサイトから持ってきた方が速いはずです. MASTER_SITES に書かれている
サイト以外から持ってくるように ports に指示する方法はありませんか?
<p>
A. もちろんあります. 例えば ftp.FreeBSD.ORG が MASTER_SITES に書かれている
サイトより近いとしたら, 以下のようにしてください.
<verb>
# cd /usr/ports/directory
# make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/ fetch
</verb>
<item>
Q. ダウンロードをする前に, どんなファイルが必要なのか知りたいのですが.
<p>
A. 'make fetch-list' とすると, ports に必要なファイルの一覧を表示できます.
<item>
Q. ports のコンパイルを途中で止める方法はありますか?
私はインストールをする前にいろいろとソースコードを解析したいのですが,
毎回 control-C を打たなければならないのが少し面倒です.
<p>
A. 'make extract' を実行すると, ファイル転送とソースコードの展開まで
おこなったところで停止します.
<item>
Q. 自分で ports を作ろうとしています. 私の作ったパッチが
正しく処理できることを確認できるように, コンパイルを止めたいのです.
パッチのための 'make extract' のようなものはありませんか?
<p>
A. あります. 'make patch' があなたのお望みのものです.
おそらく PATCH_DEBUG オプションも同様に お役に立つことでしょう.
ところで, あなたの努力に感謝いたします!!
<item>
Q. あるコンパイルオプションはバグの原因になるという話を聞きました.
本当なのでしょうか? どうやったら正しい設定で ports をコンパイルできますか?
<p>
A. 本当です. gcc の バージョン 2.6.3 (FreeBSDの 2.1.0 と 2.1.5 に付属している
バージョン) では, -O2 オプションを -fno-strength-reduce オプションなしで
使うと, バグのあるコードを出力します (ほとんどの ports は -O2 オプションを
使いません). コンバイラオプションは次のように定義 <em/ すべき / です.
<verb>
make CFLAGS='-O2 -fno-strength-reduce' install
</verb>
これを /etc/make.conf に書いておくこともできますが, 残念なことに
すべての ports がこの指定を尊重してくれる
訳ではありません. もっとも確実なのは 'make configure' を実行し,
ソースディレクトリの Makefile を見て手で修整することですが, ソースが
多くのサブディレクトリにわかれていて, 各々に Makefile がある場合は
大変な仕事になります.
<item>
Q. ports がたくさんありすぎて, 私の欲しいものがなかなか見つけられません.
どんな ports が使えるのか, リストはどこかにありませんか?
<p>
A. INDEX ファイルは /usr/ports の中にあります.
<item>
Q. 'foo' ports をインストールしたいのですが, それのコンパイルは
すぐに停止して, 'bar' ports のコンパイルが始まってしまいます. 一体どうして?
<p>
A. 'foo' ports が, 'bar' ports の提供する何らかの機能を必要としているからです.
例えば 'foo' が画像を使うとすると, 'bar' は画像処理に必要な
ライブラリを持っている, などです.
または, 'bar' は 'foo' をコンパイルするのに必要なツールなのかもしれません.
<item><label id="ports:remove">
Q. ports から grizzle プログラムをインストールしましたが, まったく
ディスクスペースの浪費です. 削除したいのですが, すべてのファイルが
どこへインストールされたのかわかりません. 何か手がかりはありませんか?
<p>
A. 大丈夫, 次のようにしてください.
<verb>
pkg_delete grizzle-6.5
</verb>
<item>
Q. ちょっと待ってください. 削除しようとするコマンドのバージョン番号を
知っていなくてはならないのでしょうか? あなたは, 私がバージョン番号を
覚えていることを本気で当てにしているのでしょうか?
<p>
A. そんなことはありません. バージョン番号は次のようにすればわかります.
<verb>
pkg_info -a | grep grizzle
</verb>
そうすると次のように表示されます:-
<verb>
Information for grizzle-6.5:
grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arcade game.
</verb>
<item>
Q. ディスク容量のことなのですが, ports のディレクトリは非常に膨大な容量を
使うように見えます. 残しておいた方がよいのでしょうか? 削除してしまっても
よいのでしょうか?
<p>
A. はい. インストールが首尾よく終わり, もうソースコードが必要でないと思うなら,
それらを残しておく理由はないでしょう. 一番よい方法は, 次の通りです.
<verb>
# cd /usr/ports
# make clean
</verb>
これは, すべての ports のサブディレクトリを調べ,
各 ports のスケルトン以外の削除をおこないます.
<item>
Q. これを試してみたのですが, tarball や ports で使われたファイルが
distfiles ディレクトリに残っています. これも削除してしまっても大丈夫ですか?
<p>
A. はい. それを使った作業が終わったのであれば, 削除してしまっても大丈夫です.
<item>
Q. 私はとてもとてもたくさんのプログラムを楽しみたいのです.
一度にすべての ports をインストールする方法はありませんか?
<p>
A. 次のようにしてください.
<verb>
# cd /usr/ports
# make install
</verb>
<item>
Q. やってみました. 時間がとてもかかるだろうと思ったので, そのまま実行を
続けさせて, 私は寝ました. 翌朝コンピュータを見てみると, 三つ半の ports しか
処理が終わっていませんでした. なにか悪かったのでしょうか?
<p>
A. これは ports の中には私たちの決められないこと (例えば, あなたが A4 の
用紙に印刷したいのか, US レターサイズの用紙に印刷したいのかなど) について
質問してくるものがあるからです. それらの質問には手動で答える必要があります.
<item>
Q. 私は一日中モニタの前に座って過ごしたりしたくないのですが.
何かよいアイデアはありませんか?
<p>
A. では, あなたが寝に / 仕事に / 公園にいく前に以下を実行してください:-
<verb>
# cd /usr/ports
# make -DBATCH install
</verb>
これでユーザの入力を要求しないすべての ports をインストールします.
そして, 戻ってきてから, 次のように実行してください.
<verb>
# cd /usr/ports
# make -DIS_INTERACTIVE install
</verb>
そして, 残りの作業を実行してください.
<item>
Q. 私たちは ports コレクションにある frobble を使っています.
ですが, 私たちの必要に応じて ports を変更したところがあるのです.
自分でパッケージを作って, それを私たちのサイトのまわりに
簡単に配布できるような方法がありますか?
<p>
A. もちろんあります. 変更点をパッチにする方法は知っていますよね:-
<verb>
# cd /usr/ports/somewhere/frobble
# make extract
# cd work/frobble-2.8
[あなたのパッチを当ててください]
# cd ../..
# make package
</verb>
<item>
Q. この ports の技術は本当に賢いですね. どのようにして動いているのか
私はどうしても知りたいと思います. その秘密は何ですか?
<p>
A. 秘密は一切ありません.
<htmlurl url="file://localhost/usr/share/mk/" name="Makefiles ディレクトリ">
にある bsd.ports.mk と bsd.ports.subdir.mk ファイルを見るだけです.
(注: 複雑なシェルスクリプトを嫌う読者は, このリンクを追いかけないほうが
よいでしょう.)
</itemize>

@ -1,429 +0,0 @@
<!-- $Id: ppp.sgml,v 1.6 1997-08-25 06:44:35 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.11 -->
<sect><heading>カーネル PPP の設定<label id="ppp"></heading>
<p><em>原作: &a.gena;.</em>
<p><em>訳: &a.graphite;.<newline>6 September 1996.</em>
PPP の設定を始める前に, pppd が /usr/sbin にあり, また /etc/ppp という
ディレクトリが存在することを確認してください.
pppd はふたつのモードで動作します.
<enum>
<item> 「クライアント」モード. シリアル接続やモデムを利用して, そのマシンを
外部のネットワークに PPP 接続したい場合に用います.
<item> 「サーバ」モード. そのマシンがネットワーク上にあるときに, PPP を使って
ほかのコンピュータを接続する際に用います.
</enum>
どちらの場合でも, オプションファイルを設定する必要があります
(<tt>/etc/ppp/options</tt> または, そのマシン上で PPP を使用する人が
複数いる場合には <tt>~/.ppprc</tt>).
また, ダイヤルとリモートホストへの接続をおこなうために, シリアル接続やモデムを
操作する, なんらかのソフトウェアが必要です (kermit が適しているでしょう).
<sect1><heading>PPP クライアントとしての動作</heading>
<p>私は, CISCO ターミナルサーバの PPP 回線に接続するために, 下記のような
<tt>/etc/ppp/options</tt> を使用しています.
<verb>
crtscts # enable hardware flow control
modem # modem control line
noipdefault # remote PPP server must supply your IP address.
# if the remote host doesn't send your IP during IPCP
# negotiation , remove this option
passive # wait for LCP packets
domain ppp.foo.com # put your domain name here
:<remote_ip> # put the IP of remote PPP host here
# it will be used to route packets via PPP link
# if you didn't specified the noipdefault option
# change this line to <local_ip>:<remote_ip>
defaultroute # put this if you want that PPP server will be your
# default router
</verb>
接続方法:
<enum>
<item> kermit (またはその他のモデム操作プログラム) を使ってリモートホストに
ダイヤルし, 接続してください. そして, あなたのユーザ名とパスワード (必要
であれば, その他にもリモートホストで PPP を有効にするための操作) を入力
します.
<item> kermit を抜けてください. (回線を切断せずに)
<item> 下記のように入力します:
<verb>
/usr/src/usr.sbin/pppd.new/pppd /dev/tty01 19200
</verb>
(通信速度とデバイス名には, あなたの環境に適したものを入れてください)
</enum>
これでこのコンピュータは PPP で接続されました. もし, なんらかの理由で
接続に失敗したならば, <tt>/etc/ppp/options</tt> ファイルに "debug"
オプションを追加して, 問題点を突き止めるために, コンソールに表示される
メッセージを調べてください.
下記の <tt>/etc/ppp/pppup</tt> スクリプトは, 上記の作業を
すべて自動的におこないます:
<verb>
#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.dial
pppd /dev/tty01 19200
</verb>
<tt>/etc/ppp/kermit.dial</tt> は kermit 用のスクリプトで, ダイヤルして,
リモートホストでの認証に必要なすべての処理をおこないます.
(そのようなスクリプトの例はこの文書の終わりに添付してあります)
PPP 接続を切断するには, 下記のような <tt>/etc/ppp/pppdown</tt> スクリプトを
使用します:
<verb>
#!/bin/sh
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill -TERM ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
/sbin/ifconfig ppp0 down
/sbin/ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.hup
/etc/ppp/ppptest
</verb>
PPP が動作中かどうかを調べます (<tt>/usr/etc/ppp/ppptest</tt>):
<verb>
#!/bin/sh
pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'pppd running: PID=' ${pid-NONE}
else
echo 'No pppd running.'
fi
set -x
netstat -n -I ppp0
ifconfig ppp0
</verb>
モデム回線を切断します (<tt>/etc/ppp/kermit.hup</tt>):
<verb>
set line /dev/tty01 ; put your modem device here
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
echo \13
exit
</verb>
<p>次は <tt>kermit</tt> の代わりに <tt>chat</tt> を使う方法です.
<em>原作: &a.rhuff;.</em>
<p>pppd 接続を確立するためには, 次の二つのファイルの設定だけで十分です.
<p><tt>/etc/ppp/options</tt>:
<verb>
/dev/cuaa1 115200
crtscts # enable hardware flow control
modem # modem control line
connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
noipdefault # remote PPP server must supply your IP address.
# if the remote host doesn't send your IP during
# IPCP negotiation, remove this option
passive # wait for LCP packets
domain <your.domain> # put your domain name here
: # put the IP of remote PPP host here
# it will be used to route packets via PPP link
# if you didn't specified the noipdefault option
# change this line to <local_ip>:<remote_ip>
defaultroute # put this if you want that PPP server will be
# your default router
</verb>
<p><tt>/etc/ppp/login.chat.script</tt>:
(実際には一行になります.)
<verb>
ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id>
TIMEOUT 5 sword: <password>
</verb>
正しくインストールし編集した後は, 必要な事はこれだけです
<p><tt>pppd</tt>.
<em> このサンプルは主に Trev Roydhouse &lt;Trev.Roydhouse@f401.n711.z3.fidonet.org&gt;
から寄せられた情報に基づいており, 承諾を得て使用しています.</em>
<sect1><heading>PPP サーバとしての動作</heading>
<p><tt>/etc/ppp/options</tt>:
<verb>
crtscts # Hardware flow control
netmask 255.255.255.0 # netmask ( not required )
192.114.208.20:192.114.208.165 # ip's of local and remote hosts
# local ip must be different from one
# you assigned to the ethernet ( or other )
# interface on your machine.
# remote IP is ip address that will be
# assigned to the remote machine
domain ppp.foo.com # your domain
passive # wait for LCP
modem # modem line
</verb>
下記のような <tt>/etc/ppp/pppserv</tt> スクリプトで, そのマシンを
PPP サーバにすることができます.
<verb>
#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
# reset ppp interface
ifconfig ppp0 down
ifconfig ppp0 delete
# enable autoanswer mode
kermit -y /etc/ppp/kermit.ans
# run ppp
pppd /dev/tty01 19200
</verb>
PPP サーバを終了するには, この <tt>/etc/ppp/pppservdown</tt> スクリプト
を使用します:
<verb>
#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.noans
</verb>
下記の kermit スクリプトは, モデムの自動応答機能を有効, または無効にします
(<tt>/etc/ppp/kermit.ans</tt>):
<verb>
set line /dev/tty01
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
inp 5 OK
echo \13
out ATS0=1\13 ; change this to out ATS0=0\13 if you want to disable
; autoanswer mode
inp 5 OK
echo \13
exit
</verb>
この <tt>/etc/ppp/kermit.dial</tt> スクリプトは, リモートホストに
ダイヤルし, 認証手続きをするのに使用します. あなたは必要に応じて, これを
変更しないといけないでしょう. あなたのユーザ名とパスワードをこの
スクリプトに書かなければいけませんし, モデムやリモートホストからの
応答によっては, 入力待ちの文を変更する必要もあります.
<verb>
;
; put the com line attached to the modem here:
;
set line /dev/tty01
;
; put the modem speed here:
;
set speed 19200
set file type binary ; full 8 bit file xfer
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
set modem hayes
set dial hangup off
set carrier auto ; Then SET CARRIER if necessary,
set dial display on ; Then SET DIAL if necessary,
set input echo on
set input timeout proceed
set input case ignore
def \%x 0 ; login prompt counter
goto slhup
:slcmd ; put the modem in command mode
echo Put the modem in command mode.
clear ; Clear unread characters from input buffer
pause 1
output +++ ; hayes escape sequence
input 1 OK\13\10 ; wait for OK
if success goto slhup
output \13
pause 1
output at\13
input 1 OK\13\10
if fail goto slcmd ; if modem doesn't answer OK, try again
:slhup ; hang up the phone
clear ; Clear unread characters from input buffer
pause 1
echo Hanging up the phone.
output ath0\13 ; hayes command for on hook
input 2 OK\13\10
if fail goto slcmd ; if no OK answer, put modem in command mode
:sldial ; dial the number
pause 1
echo Dialing.
output atdt9,550311\13\10 ; put phone number here
assign \%x 0 ; zero the time counter
:look
clear ; Clear unread characters from input buffer
increment \%x ; Count the seconds
input 1 {CONNECT }
if success goto sllogin
reinput 1 {NO CARRIER\13\10}
if success goto sldial
reinput 1 {NO DIALTONE\13\10}
if success goto slnodial
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 60 goto look
else goto slhup
:sllogin ; login
assign \%x 0 ; zero the time counter
pause 1
echo Looking for login prompt.
:slloop
increment \%x ; Count the seconds
clear ; Clear unread characters from input buffer
output \13
;
; put your expected login prompt here:
;
input 1 {Username: }
if success goto sluid
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 10 goto slloop ; try 10 times to get a login prompt
else goto slhup ; hang up and start again if 10 failures
:sluid
;
; put your userid here:
;
output ppp-login\13
input 1 {Password: }
;
; put your password here:
;
output ppp-password\13
input 1 {Entering SLIP mode.}
echo
quit
:slnodial
echo \7No dialtone. Check the telephone line!\7
exit 1
; local variables:
; mode: csh
; comment-start: "; "
; comment-start-skip: "; "
; end:
</verb>
<!--
###################################################################
Gennady B. Sorokopud ( gena@NetVision.net.il ) 24/10/94 12:00
-->

File diff suppressed because it is too large Load Diff

@ -1,232 +0,0 @@
<!-- $Id: quotas.sgml,v 1.6 1997-08-25 08:36:03 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.8 -->
<!-- This is an SGML document in the linuxdoc DTD describing
disk quotas under FreeBSD. By Mike Pritchard, 1996.
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
<article>
<title> ディスク クォータ
<author> Mike Pritchard <tt/mpp@FreeBSD.org/
<date> 26 February 1996, (c) 1996
<abstract> このドキュメントは FreeBSD 上での ディスククォータ
(ディスクスペースの使用量制限) についての設定/管理方法について
記述されています。</abstract>
<toc>
-->
<chapt><heading>ディスク クォータ<label id="quotas"></heading>
<p><em>原作: &a.mpp;<newline>
26 February 1996 </em>.
<p><em>訳者: &a.mihoko;<newline>
6 September 1996 </em>.
クォータシステムは、オペレーティングシステムのオプション機能で、
各ファイルシステム上で ユーザやグループのメンバが使用するディスク
スペースの総量を規制したり、作成できるファイルの個数を制限したりす
ることができます。
この機能は、各ユーザ、各グループごとに使用できる資源の総量を制限で
きるようなタイムシェアリングシステム上でもっともよく使用されていま
す。これは、一人のユーザが、使用可能な全てのディスクスペースを使い
きってしまうことを防止できます。
<sect><heading>ディスククォータを使用するための設定</heading>
<p>ディスククォータを使用しようとする前に、あなたが使用しているカー
ネルで、クォータが組み込まれているかどうかを確認する必要があります。
クォータを使用できるカーネルを構築するためには、カーネルコンフィギュ
レーションファイルに、次の行を追加してください:
<verb>
options QUOTA
</verb>
標準のGENERIC カーネルでは、この機能は有効になっていません。
したがって、ディスククォータを使用するためには、
カーネルをコンフィグレーションして構築しなおし、そのカーネ
ルをインストールしなければいけません。カーネルの構築方法について
の詳細情報は、
<ref id="kernelconfig" name="FreeBSD カーネルのコンフィグレーション">
を参照してください。
<p>次に、ファイル <tt>/etc/sysconfig</tt> の中で、ディスククォー
タ機能を、使用可能に設定する必要があります。
そのためには、以下の行を変更します:
<verb>
quotas=NO
</verb>
を次のように:
<verb>
quotas=YES
</verb>
<p>FreeBSD 2.2.2 以降では, <tt>/etc/rc.conf</tt> でこの設定を行いま
す. また, 変数の変更は以下のようにします.
<verb>
check_quotas=YES
</verb>
<p>最後に、各ファイルシステム毎にディスククォータを設定する
ために、ファイル <tt>/etc/fstab</tt> を編集する必要があります。
全てのファイルシステムに対して、ユーザ又はグループのいずれかのクォー
タを設定することも、ユーザとグループの両方のクォータを設定すること
もできます。
<p>ファイルシステム上で、ユーザ毎のクォータを設定するためには、
<tt>userquota</tt> オプションを、ファイル <tt>/etc/fstab</tt> の中
で、クォータを設定したいファイルシステムのエントリののオプションフィー
ルドに追加してください。 例えば:
<verb>
/dev/sd1s2g /home ufs rw,userquota 1 2
</verb>
<p>同様に、グループのクォータを設定するためには、
<tt>groupquota</tt> オプションを <tt>userquota</tt> の代わりに使用
してください。ユーザとグループの両方のクォータを設定するためには、
次のようにエントリを変更してください:
<verb>
/dev/sd1s2g /home ufs rw,userquota,groupquota 1 2
</verb>
<p>デフォルトでは、クォータファイルは ファイルシステムの root ディ
レクトリ上に、ユーザとグループのクォータに対して それぞれ
<tt>quota.user</tt> と <tt>quota.group</tt> という名前で置いてあり
ます。詳細情報は、<tt>man fstab</tt> を御覧ください。
man ページには、クォータファイルを別な場所に置くことができると書い
てありますが、さまざまな クォータユーティリティのうち、この機能を
適切に処理できていないものがあるので、クォータファイルをデフォルト
の場所以外に置くことは勧められません。
<p>ここまで準備ができたら、新しいカーネルを使って、システムを立ち
上げ直してください。
<tt>/etc/rc</tt> ファイルが、自動的に適切なコマンドを起動してくれ
、あなたが <tt>/etc/fstab</tt> ファイルで使用可能にした全てのクォー
タに対して、初期クォータファイルを作成してくれます。
したがって、手動で サイズ 0 のクォータファイルを作成する必要はあり
ません。
<p>通常の作業の流れでは、手動で <tt>quotacheck</tt>、
<tt>quotaon</tt>、または <tt>quotaoff</tt> コマンドを起動すべきで
はありません。しかしながら、それらの作業について詳しく知りたい場合に
は、man ページを御覧ください。
<sect><heading>クォータ制限の設定</heading>
<p>一旦システムのクォータを有効に設定したら、
本当にクォータが使用可能になっていることを確かめてください。
これを簡単に確かめるには、<tt>quota -v</tt> コマンドを実行してみて
ください。ディスク使用量の総計と、クォータが設定されている各ファイ
ルシステム毎の現在のクォータ制限が表示されます。
<p>さてこれで、<tt>edquota</tt> コマンドによって、クォータ制限をか
ける準備ができました。
<p> ユーザまたはグループが使用できるディスクスペースの総計や、作成
することのできるファイル数に制限をかけるためのオプションがいくつか
あります。 ディスクスペース容量規制 (ブロッククォータ) または ファイ
ル数制限 (iードクォータ) またはその両方を行うことができます。
これらの個々の制限は、二つのカテゴリ、すなわち ハード制限とソ
フト制限、でもっと細かく分類できます。
<p>ハード制限は越えることができません。ユーザがハード制限に到達す
ると、該当するファイルシステム上でディスクスペースを確保することが
できなくなります。 例えば、もしユーザがファイルシステム上で 500 ブ
ロックのハード的制限をされていて、かつ、現在、490 ブロック使用して
いたとすると、ユーザはあと 10 ブロックしか確保できません。
11ブロック目を確保しようとすると、失敗します。
<p>一方、ソフト制限は、定められたある一定の期間以内ならば制限を越
えることができます。この一定期間は、猶予期間と呼ばれています。
猶予期間のデフォルトは 1週間です。もし、ユーザが猶予期間を過ぎても
ソフト制限を越えて使用し続けていた場合には、ソフト制限はハード制限
に切り替わり、もはやこれ以上は、ディスクスペースを確保できなくなり
ます。ユーザのディスク使用量がソフト制限以下に戻った時に、猶予期間
がリセットされます。
<p>以下は、<tt>edquota</tt> コマンドを実行した時の出力例です。
<tt>edquota</tt> コマンドが起動されると、<tt>EDITOR</tt> 環境変数
で定義されたエディタ、または、<tt>EDITOR</tt> 環境変数が設定されて
いない場合には <tt>vi</tt> エディタが起動され、クォータ制限を編集
することができます。
<verb>
# edquota -u test
Quotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)
</verb>
通常は、クォータが設定されているファイルシステム毎に2行の表示が
行われます。1行は、ブロック制限に関する情報で、もう1行は、i ノード
制限に関する情報です。クォータ制限の値を変更したい値に書き換えてく
ださい。例えば、ユーザのブロック制限を、50 ブロックまでのソ
フト制限と 75 ブロックまでのハード制限から、500 ブロックまでのソフ
ト制限と 600 ブロックまでのハード制限にしたい場合は、
次のように書き換えます:
<verb>
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
</verb>
を次のように:
<verb>
/usr: blocks in use: 65, limits (soft = 500, hard = 600)
</verb>
新しいクォータ制限は、エディタを終了した時に置き換えられます。
<p>uid の範囲によってクォータを設定する個とも可能です。
そのためには <tt>edquota</tt> コマンドで、<tt>-p</tt> オプションを
使用します。まずはじめに、かけたいクォータ制限を、一人のユーザに対
して設定します。それから次のコマンドを実行します
<tt>edquota -p protouser startuid-enduid</tt>。
例えば、もし、ユーザ <tt>test</tt> がクォータ制限をかけられていた
とすると、次のコマンドは、同じ制限を、uid 10,000 から 19,999 まで
のユーザにかけることができます:
<verb>
edquota -p test 10000-19999
</verb>
<p>uid の範囲によって制限をかけることができる機能は、2.1 がリリー
スされたあとに追加されました。もし、2.1 のシステム上で、この機能を
必要とする場合には、新しい edquota を入手する必要があります。
<p>詳細情報は <tt>man edquota</tt> を御覧ください。
<sect><heading>クォータ制限およびディスク使用状況のチェック</heading>
<p>クォータ制限およびディスク使用状況をチェックするには、
<tt>quota</tt> または <tt>repquota</tt> コマンドを使用することがで
きます。<tt>quota</tt> コマンドは、各ユーザ、各グループ毎のクォー
タ制限およびディスク使用状況をチェックすることができます。
スーパーユーザだけが、他のユーザまたは自分が所属していないグループに
関するクォータ制限とディスク使用状況を調べることができます。
<tt>repquota</tt> コマンドは、クォータが設定されているファイルシス
テムに対する、全てのクォータ制限およびディスク使用状況の総計を表示
します。
<p>以下は、2つのファイルシステム上でクォータ制限がかけられているユー
ザに対して <tt>quota -v</tt> コマンドを実行した出力結果の例です。
<verb>
Disk quotas for user test (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60
</verb>
上の例では、/usr ファイルシステム上で、このユーザは現在
50 ブロックまでのソフト制限を 15 ブロック超過して使用しており、
残り 5 日間の猶予期間を設定されています。
アスタリスク (*) は、ユーザが現在クォータ制限を越えていることを示
しています。
<p>通常、ユーザがディスクスペースを全く使用していないファイルシス
テムは、 たとえ そのファイルシステムにクォータ制限が設定されていた
としても、<tt>quota</tt> コマンドによる出力では表示されません。
<tt>-v</tt> オプションを付けると、上の例の <tt>/usr/var</tt> ファ
イルシステムのように、これらのファイルシステムも表示します。
<sect><heading>* NFS ファイルシステム上でのクォータ</heading>
<p>このセクションはまだ作成中です。

@ -1,575 +0,0 @@
<!-- $Id: relnotes.sgml,v 1.10 1997-08-25 06:45:59 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.23 -->
<!--
<!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'>
<linuxdoc><book><chapt>foo
-->
<sect><heading>現在のリリースについて<label id="relnotes"></heading>
<p>FreeBSD は自由に利用でき Intel i386/i486/Pentium/PentiumPro
(とその互換 CPU) の PCで動作する, 4.4BSD-Lite ベースの全ソー
スつきのリリースです. これはもともとカリフォルニア大学バーク
レイ校 CSRGグループのソフトウェアがベースとなっており,
NetBSD, 386BSD, そして Free Software Foundation のソフトウェ
アなどにより拡張されています.
95年1月の FreeBSD 2.0 のリリースからみると, FreeBSD は性能, 機能,
安定性の面で劇的に改善されました. もっとも大きな変化は VM システムに
おける改良で, 統合化された VM/file バッファキャッシュを用いる
ことで性能を向上させながらも FreeBSD のメモリの使用量を減らすことが
できたことです. おかげで, 最低 5MB メモリという制約上でも動作する
ようになりました. その他の拡張としては NIS のクライアントとサーバの
完全サポート, トランザクション TCP のサポート, ダイヤルオンデマンド
PPP, 改良 SCSI サブシステム, ISDN の初期サポート,
FDDI や Fast Ethernet (100Mbps) などのサポート,
Adaptec 2940 (WIDE と narrow) のサポートの改良と数百件のバグの修正,
などがあります.
私たちはたくさんのユーザからのコメントや提案をまじめに受け取り,
私たちが正しいと考え, かつ導入の手順が分かりやすいものを提供しようと
努力しています. この (継続的に進化する) プロセスに対するあなたの意見を
心からお待ちしています.
FreeBSD では基本配布セットに加え, 移植されたソフトウェア集
として 数百の人気の高いプログラムを提供しています. 97年7月
初旬の時点で 1000 以上の ports (移植ソフトウェア) が存在します.
ports には http (WWW) サーバから, ゲーム, 言語,
エディタまでありとあらゆるものが含まれています. portsはオリジナル
ソースに対する「差分」という形で表現されており, すべての portsを
集めても 10MB程度にしかなりません. こうすることで ports の更新を
容易にし, portsに必要なディスクスペースを小さくすることができます.
portsをコンパイルするには, インストールしたいと思っているプログラムの
ディレクトリに移動し, ``make all'' と実行してコンパイルが成
功したら, ``make install'' とすると, あとはすべてシステムが
やってくれます. どの portsもオリジナルの配布セットを動的に
CDROM または近くの FTP サーバから取ってくるので, ディスクは
構築したいと思っている portsの分だけを準備しておけば十分です.
ほとんどの portsは, すでにコンパイルされた状態で ``package''
として提供されており, ソースコードからコンパイルしたくない場
合, これを使うと (pkg_add というコマンドで) 簡単にインストー
ルできます.
FreeBSD 2.1 以降のマシンであれば, <bf>/usr/share/doc</bf>
ディレクトリにインストールの手順や FreeBSD を利用する上で有用な
ドキュメントがたくさんあります.
これらのドキュメントは, HTML ブラウザを使って, 以下の URL から
参照することができます.
<descrip>
<tag>FreeBSD ハンドブック (英文オリジナル)</tag>
<htmlurl url="file:/usr/share/doc/handbook/handbook.html">
<tag>FreeBSD に関する FAQ</tag>
<htmlurl url="file:/usr/share/doc/FAQ/FAQ.html">
</descrip>
また, <htmlurl
url="http://www.freebsd.org"
name="http://www.freebsd.org"> にはマスタ
(かなり頻繁に更新されます) がありますので, こちらも参照してください.
合衆国の輸出規制のため, FreeBSD のコア配布セットには DES のコードは
含まれていません. 合衆国国内に限り, DES を使うプログラムなどが,
コア配布セットに加えるパッケージとして提供されています.
誰でも使えるパッケージは, 別途, 合衆国国外で提供されています.
合衆国国外からも自由に取得可能な DES の配布セットに関する
詳細は, <htmlurl
url="../FAQ/FAQ.html" name="FreeBSD FAQ"> にあります.
FreeBSD 上で必要とされるセキュリティがパスワードだけであり, Sun や
DEC などの別のホストから暗号化されたパスワードをコピーする必要が
ないのであれば, FreeBSD の MD5 ベースのセキュリティで十分です.
この標準のセキュリティモデルは DES よりも適していると私たちは思って
いますし, また, やっかいな輸出規制にもひっかかることはありません.
あなたが合衆国国外にいるなら (あるいは国内にいても) 一度試してみて
ください!
<![ IGNORE [
<p>Since our first release of FreeBSD 1.0 nearly two
years ago, FreeBSD has changed dramatically. Since
release 2.0, FreeBSD has been based on the Berkeley
4.4BSD-Lite code rather than the Net2 code used for
previous versions. In addition to clearing the legal
issues that surrounded the Net2 code, the port to 4.4
has also brought in numerous new features, filesystems
and enhanced driver support.
Since our release of FreeBSD 2.0 in November of 1994,
the performance, feature set, and stability of FreeBSD
has improved dramatically. The largest change is a
revamped Virtual Memory (VM) system with a merged
virtual memory and file buffer cache. This increases
performance while reducing FreeBSD's memory footprint,
making a system with 4 megabytes of RAM a more
acceptable minimum. Other enhancements include full
NIS client and server support, transaction TCP support,
dial on demand PPP, an improved SCSI subsystem, early
support for ISDN, support for FDDI and 100Mbit Fast
Ethernet adapters, improved support for the Adaptec
2940 and hundreds of bug fixes.
We have also taken the comments and suggestions of many
of our users to heart and have attempted to provide
what we hope is a more sane and easily understood
installation process. Your feedback on this constantly
evolving process is especially welcome!
In addition to the base distributions, FreeBSD offers a
new ported software collection with some 270 commonly
sought-after programs. The list of ports ranges from
World Wide Web (http) servers, to games, languages,
editors and almost everything in between. The entire
ports collection requires only 10MB of storage because
each port contains only the changes required for the
source code to compile on FreeBSD and the information
necessary to automatically retrieve the original
sources. The original distribution for each port you
build is automatically retrieved off of CD-ROM or a via
anonymous ftp, so you need only enough disk space to
build the ports you want. Each port is also provided
as a pre-compiled package which can be installed with
the <tt>pkg_add(1)</tt> command for those who do not
wish to compile their own ports from source. See <ref
id="ports" name="The Ports Collection"> for a more
complete description.
<!-- XXX make xref
For a list of contributors and a general project
description, please see the file "CONTRIB.FreeBSD"
which should be bundled with your binary distribution.
Also see the "REGISTER.FreeBSD" file for information on
registering with the "Free BSD user counter". This
counter is for ALL freely available variants of BSD,
not just FreeBSD, and we urge you to register yourself
with it.
-->
The core of FreeBSD does not contain DES code which
would inhibit its being exported outside the United
States. An add-on package, for use only in the United
States, contains the programs that normally use DES.
The auxiliary packages provided separately can be used
by anyone. A freely exportable European distribution
of DES for our non-U.S. users also exists and is
described in the <url
url="http://www.freebsd.org/FAQ" name="FreeBSD
FAQ">. If password security for FreeBSD is all you
need, and you have no requirement for copying encrypted
passwords from other hosts using DES into FreeBSD
password entries, then FreeBSD's MD5 based security may
be all you require. We feel that our default security
model is more than a match for DES, and without any
messy export issues to deal with.
FreeBSD 2.0.5 represents the culmination of 2 years of
work and many thousands of man hours put in by an
international development team. We hope you enjoy it!
<sect1><heading>New feature highlights</heading>
<p>The following features were added or substantially
improved between the release of 2.0 and this 2.0.5
release. In order to facilitate better
communication, the person, or persons, responsible
for each enhancement is noted. Any questions
regarding the new functionality should be directed to
them first.
<sect2><heading>Kernel</heading>
<p>
<descrip>
<tag>Merged VM-File Buffer Cache</tag> A merged
VM/buffer cache design greatly enhances overall
system performance and makes it possible to do
a number of more optimal memory allocation
strategies that were not possible before.
Owner: &a.davidg; and &a.dyson;
<tag>Network PCB hash optimization</tag> For
systems with a great number of active TCP
connections (WEB and ftp servers, for example),
this greatly speeds up the lookup time required
to match an incoming packet up to its
associated connection.
Owner: &a.davidg;
<tag>Name cache optimization</tag> The name-cache
would cache all files of the same name to the
same bucket, which would put for instance all
".." entries in the same bucket. We added the
parent directory version to frustrate the hash,
and improved the management of the cache in
various other ways while we were at it.
Owner: &a.phk; and &a.davidg;
<tag>Less restrictive swap-spaces</tag> The need
to compile the names of the swap devices into
the kernel has been removed. Now
<tt>swapon(8)</tt> will accept any block
devices, up to the maximum number of swap
devices configured in the kernel.
Owner: &a.phk; and &a.davidg;
<tag>Hard Wired SCSI Devices</tag> Prior to
2.0.5, FreeBSD performed dynamic assignment of
unit numbers to SCSI devices as they were
probed, allowing a SCSI device failure to
possibly change unit number assignment. This
could cause filesystems other disks in the
system to be incorrectly mounted, or not
mounted at all. Hard wiring allows static
allocation of unit numbers (and hence device
names) to scsi devices based on SCSI ID and
bus. SCSI configuration occurs in the kernel
config file. Samples of the configuration
syntax can be found in the <tt>scsi(4)</tt> man
page or the LINT kernel config file.
Owner: &a.dufault;
Sources involved: <tt>sys/scsi/*</tt>
<tt>usr.sbin/config/*</tt>
<tag>Slice Support</tag> FreeBSD now supports a
<em>slice</em> abstraction which enhances
FreeBSD's ability to share disks with other
operating systems. This support will allow
FreeBSD to inhabit DOS extended partitions.
Owner: &a.bde;
Sources involved: <tt>sys/disklabel.h</tt>
<tt>sys/diskslice.h</tt> <tt>sys/dkbad.h</tt>
<tt>kern/subr_diskslice.c</tt> <tt>kern/subr_dkbad.c</tt>
<tt>i386/isa/diskslice_machdep.c</tt> <tt>i386/isa/wd.c</tt>
<tt>scsi/sd.c</tt> <tt>dev/vn/vn.c</tt>
<tag>Support for Ontrack Disk Manager Version 6.0</tag>
Support has been added for disks
which use Ontrack Disk Manager. The fdisk
program does <em>not</em> know about it
however, so make all changes using the install
program on the boot.flp or the Ontrack Disk
Manager tool under MS-DOS.
Owner: &a.phk;
<tag>Bad144 is back and working</tag> Bad144
works again, though the semantics are slightly
different than before in that the bad-spots are
kept relative to the slice rather than absolute
on the disk.
Owner: &a.bde; and &a.phk;
</descrip>
<sect2><heading>New device support</heading>
<sect3><heading>SCSI and CDROM devices</heading>
<p><descrip>
<tag>Matsushita/Panasonic (Creative) CD-ROM driver</tag>
The Matsushita/Panasonic CR-562 and
CR-563 drives are now supported when connected to
a Sound Blaster or 100% compatible host adapter.
Up to four host adapters are supported for a
total of 16 CD-ROM drives. The audio functions
are supported with the Karoke variable speed
playback.
Owner: &a.uhclem;
Sources involved: <tt>isa/matcd</tt>
<tag>Adaptec 2742/2842/2940 SCSI driver</tag> The
original 274x/284x driver has evolved
considerably since the 2.0 release of FreeBSD.
We now offer full support for the 2940 series as
well as the Wide models of these cards. The
arbitration bug that caused problems with fast
devices has been corrected and
<em>experimental</em> tagged queuing support has
been added (kernel option
<tt>AHC_TAGENABLE</tt>). John Aycock has also
released the sequencer code under a Berkeley
style copyright making the driver entirely clean
of the GPL.
Owner: &a.gibbs;
Sources involved: <tt>isa/aic7770.c</tt> <tt>pci/aic7870.c</tt>
<tt>i386/scsi/*</tt> <tt>sys/dev/aic7xxx/*</tt>
<tag>NCR5380/NCR53400 SCSI (ProAudio Spectrum) driver</tag>
Owner: &a.core;
Submitted by: Serge Vakulenko (vak@cronyx.ru)
Sources involved: <tt>isa/ncr5380.c</tt>
<tag>Sony CDROM driver</tag> Owner: &a.core;
Submitted by: Mikael Hybsch (micke@dynas.se)
Sources involved: <tt>isa/scd.c</tt>
</descrip>
<sect3><heading>Serial devices</heading>
<p><descrip>
<tag>SDL Communications Riscom/8 Serial Board Driver</tag>
Owner: &a.ache;
Sources involved: <tt>isa/rc.c</tt> <tt>isa/rcreg.h</tt>
<tag>Cyclades Cyclom-y Serial Board Driver</tag>
Owner: &a.bde;
Submitted by: Andrew Werple
(andrew@werple.apana.org.au) and Heikki Suonsivu
(hsu@cs.hut.fi)
Obtained from: NetBSD
Sources involved: <tt>isa/cy.c</tt>
<tag>Cronyx/Sigma sync/async serial driver</tag>
Owner: &a.core;
Submitted by: Serge Vakulenko
Sources involved: <tt>isa/cronyx.c</tt>
</descrip>
<sect2><heading>Networking</heading>
<p><descrip>
<tag>Diskless booting</tag> Diskless booting in 2.0.5
is much improved over previous releases. The boot
program is in <tt>src/sys/i386/boot/netboot</tt>,
and can be run from an MS-DOS system or burned into
an EPROM. WD, SMC, 3COM and Novell ethernet cards
are currently supported. Local swapping is also
supported.
<tag>DEC DC21140 Fast Ethernet driver</tag> This
driver supports any of the numerous NICs using the
DC21140 chipset including the 100Mb DEC DE-500-XA
and SMC 9332.
Owner: &a.core;
Submitted by: Matt Thomas (thomas@lkg.dec.com)
Sources involved: <tt>pci/if_de.c</tt> <tt>pci/dc21040.h</tt>
<tag>DEC FDDI (DEFPA/DEFEA) driver</tag> Owner: &a.core;
Submitted by: Matt Thomas (thomas@lkg.dec.com)
Sources involved: <tt>pci/if_pdq.c</tt> <tt>pci/pdq.c</tt>
<tt>pci/pdq_os.h</tt> <tt>pci/pdqreg.h</tt>
<tag>3Com 3c505 (Etherlink/+) NIC driver</tag> Owner:
&a.core;
Submitted by: Dean Huxley (dean@fsa.ca)
Obtained from: NetBSD
Sources involved: <tt>isa/if_eg.c</tt>
<tag>Fujitsu MB86960A family of NICs driver</tag>
Owner: &a.core;
Submitted by: M.S. (seki@sysrap.cs.fujitsu.co.jp)
Sources involved: <tt>isa/if_fe.c</tt>
<tag>Intel EtherExpress driver</tag> Owner: Rodney
W. Grimes (rgrimes@FreeBSD.org)
Sources involved: <tt>isa/if_ix.c</tt> <tt>isa/if_ixreg.h</tt>
<tag>3Com 3c589 driver</tag> Owner: &a.core;
Submitted by: "HOSOKAWA Tatsumi"
(hosokawa@mt.cs.keio.ac.jp), Seiji Murata
(seiji@mt.cs.keio.ac.jp) and Noriyuki Takahashi
(hor@aecl.ntt.jp)
Sources involved: <tt>isa/if_zp.c</tt>
<tag>IBM Credit Card Adapter driver</tag> Owner: &a.core;
Submitted by: "HOSOKAWA Tatsumi"
(hosokawa@mt.cs.keio.ac.jp),
Sources involved: <tt>isa/pcic.c</tt> <tt>isa/pcic.h</tt>
<tag>EDSS1 and 1TR6 ISDN interface driver</tag>
Owner: &a.core;
Submitted by: Dietmar Friede
(dfriede@drnhh.neuhaus.de) and Juergen Krause
(jkr@saarlink.de)
Sources involved: <tt>gnu/isdn/*</tt>
</descrip>
<sect2><heading>Miscellaneous drivers</heading>
<p><descrip>
<tag>Joystick driver</tag> Owner: &a.jmz;
Sources involved: <tt>isa/joy.c</tt>
<tag>National Instruments ``LabPC'' driver</tag> Owner:
&a.dufault;
Sources involved: <tt>isa/labpc.c</tt>
<tag>WD7000 driver</tag> Owner: Olof Johansson
(offe@ludd.luth.se)
<tag>Pcvt Console driver</tag> Owner: &a.joerg;
Submitted by: &a.hm;
Sources involved: <tt>isa/pcvt/*</tt>
<tag>BSD-audio emulator for VAT driver</tag> Owner:
Amancio Hasty (ahasty@FreeBSD.org) and
&a.pst;
Sources involved: <tt>isa/sound/vat_audio.c</tt>
<tt>isa/sound/vat_audioio.h</tt>
<tag>National Instruments AT-GPIB and AT-GPIB/TNT GPIB driver</tag>
Owner: &a.core;
Submitted by: Fred Cawthorne
(fcawth@delphi.umd.edu)
Sources involved: <tt>isa/gpib.c</tt> <tt>isa/gpib.h</tt>
<tt>isa/gpibreg.h</tt>
<tag>Genius GS-4500 hand scanner driver</tag> Owner:
&a.core;
Submitted by: Gunther Schadow
(gusw@fub46.zedat.fu-berlin.de)
Sources involved: <tt>isa/gsc.c</tt> <tt>isa/gscreg.h</tt>
<tag>CORTEX-I Frame Grabber</tag> Owner: &a.core;
Submitted by: Paul S. LaFollette, Jr. (
Sources involved: <tt>isa/ctx.c</tt> <tt>isa/ctxreg.h</tt>
<tag>Video Spigot video capture card</tag> Owner: Jim
Lowe
</descrip>
<sect1><heading>Experimental features</heading>
<p><descrip>
<tag>UNIONFS and LFS</tag> The unionfs and LFS file
systems are known to be severely broken in FreeBSD
2.0.5. This is in part due to old bugs that we
have not had time to resolve yet and the need to
update these file systems to deal with the new VM
system. We hope to address these issues in a later
release of FreeBSD.
<tag>iBCS2 Support</tag> FreeBSD now supports running
iBCS2 compatible binaries. Currently SCO UNIX 3.2.2
and 3.2.4, and ISC 2.2 COFF are supported. The iBCS2
emulator is in its early stages and has not been
extensively tested, but it is functional. Most of
SCO's 3.2.2 binaries work, as does an old
INFORMIX-2.10 for SCO. Further testing is necessary
to complete this project. There is also work under
way for ELF and XOUT loaders, and most of the svr4
syscall wrappers are written.
Owner: &a.sos; and &a.sef;
Sources involved: <tt>sys/i386/ibcs2/*</tt> and misc
kernel changes.
</descrip>
<!--
<sect1><heading>Reporting problems, making suggestions, submitting code</heading>
<p>Your suggestions, bug reports and contributions of code
are always valued - please do not hesitate to report any
problems you may find (preferably with a fix attached if
you can!).
The preferred method to submit bug reports from a machine
with Internet mail connectivity is to use the send-pr
command. Bug reports will be dutifully filed by our
faithful bug-filer program and you can be sure that we will
do our best to respond to all reported bugs as soon as
possible.
If, for some reason, you are unable to use the send-pr
command to submit a bug report, you can try to send it
to: <tscreen>bugs@FreeBSD.org</tscreen> Otherwise, for
any questions or suggestions, please send mail to:
<tscreen>questions@FreeBSD.org</tscreen>
Additionally, being a volunteer effort, we are always
happy to have extra hands willing to help - there are
already far more enhancements to be done than we can ever
manage to do by ourselves! To contact us on technical
matters, or with offers of help, you may send mail to:
<tscreen>hackers@FreeBSD.org</tscreen>
Since these mailing lists can experience significant
amounts of traffic, if you have slow or expensive mail
access and you are only interested in keeping up with
significant FreeBSD events, you may find it preferable to
subscribe to: <tscreen>announce@FreeBSD.org</tscreen>
All but the freebsd-bugs groups can be freely joined by
anyone wishing to do so. Send mail to &a.majordomo
and include the keyword `help' on a
line by itself somewhere in the body of the message.
This will give you more information on joining the
various lists, accessing archives, etc. There are a
number of mailing lists targeted at special interest
groups not mentioned here, so send mail to majordomo and
ask about them!
-->
]]>

@ -1,269 +0,0 @@
<!-- $Id: routing.sgml,v 1.6 1997-08-25 06:47:05 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.6 -->
<!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> -->
<sect><heading>ゲートウェイとルート<label id="routing"></heading>
<p><em>原作: &a.gryphon;.<newline>6 October 1995.</em>
<p><em>訳: &a.yuki;.<newline>6 September 1996.</em>
ある計算機が他の計算機をみつけることができるようにするには, ある
計算機から他の計算機へ, どのようにたどり着くかを適切に記述するた
めの仕組みが必要です. この仕組みをルーティングと呼びます. 「ルー
ト(経路)」は <bf>destination (目的地) </bf>と <bf>gateway (ゲー
トウェイ) </bf>の 2つのアドレスの組で定義します. あなたが
<em>destination</em> へアクセスしようとした場合,
<em>gateway</em> を通って送られることをこのペアは示しています.
destination には個々のホスト, サブネット, 「デフォルト」の 3つの
タイプがあります. 「デフォルトルート」は他への経路が適用できない
場合に使われます. のちほどデフォルトルートについて少し述べること
するとして, ここでは, 個々のホスト, インタフェース (「リンク」と
も呼ばれます), イーサネットハードウェアアドレスという 3つのタイ
プのゲートウェイについて説明します.
<sect1><heading>例</heading>
<p>以下に示す <tt>netstat -r</tt> の出力の例を使って, ルーティン
グがいろいろと異なっている様子を説明することにします.
<tscreen><verb>
Destination Gateway Flags Refs Use Netif Expire
default outside-gw UGSc 37 418 ppp0
localhost localhost UH 0 181 lo0
test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
10.20.30.255 link#1 UHLW 1 2421
foobar.com link#1 UC 0 0
host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =>
host2.foobar.com link#1 UC 0 0
224 link#1 UC 0 0
</verb></tscreen>
最初の2行はデフォルトルート(次の節で詳しく説明します)と,
<tt>localhost</tt>への経路を示しています.
<tt>localhost</tt>のためのインタフェース (<tt>Netif</tt>の欄)
は<tt>lo0</tt>で, これはループバックデバイスとして知られています.
結局のところ戻るだけなので, この destinationへのすべてのトラフィ
ックが内部的に処理されるのであって, LAN を経由して送られるのでは
ありません.
次の行では``<tt>0:e0:...</tt>''というアドレスに注目しましょう.
これはイーサネットハードウェアアドレスです. FreeBSDは自動的に
ローカルなイーサネット上の任意のホスト (この例では<tt>test0</tt>)
を見つけ, イーサネットインタフェース<tt>ed0</tt>の所にそのホスト
への経路を直接つけ加えます. タイムアウト時間 (<tt>Expire</tt>の
欄) も経路のタイプと結びついており, 指定された時間が経過しても応
答がないときに使用します. この場合, 経路情報は自動的に削除されま
す. これらのホストは, RIP(Routing Information Protocol) という,
最短パスの判定に基づいてローカルホストへの経路を決定する仕組みを
利用することで認識されます.
更に, FreeBSDではローカルサブネット (<tt>10.20.30.255</tt>は
<tt>10.20.30</tt>というサブネットに対するブロードキャストアドレスで,
<tt>foobar.com</tt>はこのサブネットに結びつけられているドメイン名)
への経路情報も加えることができます. <tt>link&num;1</tt>というの
は, この計算機の最初のイーサネットカードのことをさします. これら
については, 何も追加インタフェースが指定されていないことに気づく
でしょう.
これらの2つのグループ(ローカルネットワークホストとローカルサブネット)
の両方とも, <tt>routed</tt>と呼ばれるデーモンによって自動的に
経路が設定されます.
<tt>routed</tt>を動かさなければ, 静的に定義した (つまり具体的に
設定した) 経路のみ存在することになります.
<tt>host1</tt> の行は私たちのホストのことで,
イーサネットアドレスで示されています.
送信側のホストの場合, FreeBSDはイーサネットインタフェースへ
送るのではなく, ループバックインタフェース
(<tt>lo0</tt>)を使います.
2つある<tt>host2</tt>の行は, ifconfigのエイリアス (このようなこと
をする理由については ethernetの章を参照してください) を使ったとき
にどのようになるかを示す例です. <tt>lo0</tt>の後にある<tt>=&gt</tt>
は, インタフェースが (このアドレスがローカルなホストを参照しているので)
ループバックを使っているというだけでなく, エイリアスになっていることも
示しています. このような経路はエイリアスをサポートしている
ホストにのみ現れます. ローカルネットワーク上の他のすべてのホストでは
単に<tt>link&num;1</tt>となります.
最後の行(destinationが<tt>224</tt>のサブネット)はマルチキャスト
で扱うものですが, これは他の章で説明します.
他の欄については<tt>Flags</tt>について説明する必要があります.
それぞれの経路は欄に示されているように違った属性をもっています.
以下にいくつかのフラグとこれらが何を意味しているかを示します.
<descrip>
<tag/U/ <bf/Up:/ この経路はアクティブです.
<tag/H/ <bf/Host:/ 経路の destinationが単一のホストです.
<tag/G/ <bf/Gateway:/ この destinationへ送られると, どこへ送れ
ばよいかを明らかにして, そのリモートシステムへ送られます.
<tag/S/ <bf/Static:/ この経路はシステムによって自動的に生成
されたのではなく, 手動で作成されました.
<tag/C/ <bf/Clone:/ マシンに接続したときにこの経路に基づく
新しい経路が作られます. このタイプの経路は通常は
ローカルネットワークで使われます.
<tag/W/ <bf/WasCloned:/ ローカルエリアネットワーク(Clone)
の経路に基づいて自動的に生成された経路であることを示します.
<tag/L/ <bf/Link:/ イーサネットハードウェアへの参照を含む
経路です.
</descrip>
<sect1><heading>デフォルトルート</heading>
<p>ローカルシステムからリモートホストにコネクションを張る
必要がある場合, 既知のパスが存在するかどうかを確認するためにル
ーティングテーブルをチェッ
クします. 到達するためのパスを知っているサブネットの内部にリモ
ートホストがある場合 (Cloned routes), システムはインタフェース
から接続できるかどうかをチェックします.
知っているパスがすべて駄目だった場合でも, システムには
最後の切り札の <bf>デフォルト</bf>ルートがあります. このルートは
ゲートウェイルート (普通はシステムに 1つしかありません)
の特別なものです. そして, フラグフィールドは必ず ``<tt>c</tt>''
がマークされています. このゲートウェイは, LAN 内のホストにとっ
て, 外部 (PPPのリンクを経由する場合や, データラインに接続するハー
ドウェアデバイスなど) へ直接接続するマシンすべてのためのものです.
外部に対するゲートウェイとして機能するマシンでデフォルトルート
を設定する場合, デフォルトルートは
インターネットサービスプロバイダ(ISP)のサイトのゲートウェ
イマシンになるでしょう.
それではデフォルトルートの一例を見てみましょう.
一般的な構成を示します.
<tscreen><verb>
[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW]
</verb></tscreen>
ホスト<tt>Local1</tt>とホスト<tt>Local2</tt>をPPPでISPのターミナルサー
バと接続されているあなたのサイトだとします. ISPはサイト内にロー
カルなネットワークを持っていて, そこにはまざまなものがあり, あな
たの接続するサーバやISPのインターネットへの接続点であるハード
ウェアデバイス(T1-GW)などがあります.
あなたのマシンのデフォルトルートはそれぞれ次のようになります.
<tscreen><verb>
host default gateway interface
---- --------------- ---------
Local2 Local1 ethernet
Local1 T1-GW PPP
</verb></tscreen>
「なぜ (あるいは、どうやって) Local1 の
デフォルトゲートウェイをISPのサーバでなく
T1-GWにセットするのか」という質問がよくあります.
コネクションのローカルの側については, PPPのインタフェースは
ISPのローカルネットワーク上のアドレスを用いているため,
ISPのローカルネットワーク上のすべてのマシンへの経路は
自動的に生成されています. つまり, あなたのマシンは, どのようにT1-GW
まで届くかという経路を既に知っていることになりますから,
ISPサーバに媒介的なトラフィックをかける必要はありません.
最後になりましたが, 一般的にローカルネットワークでは ``<tt>...1</tt>'
というアドレスをゲートウェイアドレスとして使います.
ですから (同じ例を用います), あなたのclass-Cのアドレス空間が
<tt>10.20.30</tt>で ISPが<tt>10.9.9</tt>を用いている場合,
デフォルトルートは次のようになります.
<tscreen><verb>
Local2 (10.20.30.2) --> Local1 (10.20.30.1)
Local1 (10.20.30.1, 10.9.9.30) --> T1-GW (10.9.9.1)
</verb></tscreen>
<sect1><heading>マルチホームホスト</heading>
<p>ここで扱うべき他のタイプの設定があります. それは2つの異なるネットワー
クにまたがるホストです. 技術的にはゲートウェイとして機能するマシン (上
の例では PPPコネクションを用いています) はマルチホームホストで
す. しかし実際にはこの言葉は, 2つのローカルエリアネットワーク上のサ
イトであるマシンを指す言葉としてのみ使われます.
2枚のイーサネットカードを持つマシンが, 別のサブネット
上にそれぞれアドレスを持っている場合があります.
あるいは, イーサネットカードを1枚持っているマシンで,
ifconfigのエイリアスを使っているかもしれません.
物理的に分かれている2つのイーサネットのネットワークが使われて
いるならば前者が用いられます. 後者は, 物理的には1つのネットワ
ークセグメントで, 論理的には分かれている 2つのサブネットとする
場合に用いられます.
どちらにしても, このマシンがお互いのサブネットへのゲートウェイ
(inbound route) として定義されていることが分かるように, おのお
ののサブネットでルーティングテーブルを設定します. このマシンが
2 つのサブネットの間のブリッジとして動作するという構成は, パケ
ットのフィルタリングを実装する必要がある場合や, 一方向または双
方向のファイアウォールを利用したセキュリティを構築する場合によ
く用いられます.
<sect1><heading>ルーティングの伝播</heading>
<p>すでに外部との経路をどのように定義したらよいかは説明しました.
しかし外部から私たちのマシンをどのようにして見
つけるのかについては説明していません.
ある特定のアドレス空間 (この例では class-C のサブネット) にお
けるすべてのトラフィックが, 到着したパケットを内部で転送するネ
ットワーク上の特定のホストに送られるようにルーティングテーブル
を設定することができるのは分かっています.
あなたのサイトにアドレス空間を割り当てる場合, あなたのサブネッ
トへのすべてのトラフィックがすべて PPPリンクを通じてサイトに送
ってくるようにサービスプロバイダはルーティングテーブルを設定し
ます. しかし, 国境の向こう側のサイトはどのようにしてあなたの
ISPへ送ることを知るのでしょうか?
割り当てられているすべてのアドレス空間の経路を維持する (分散し
ている DNS 情報とよく似た) システムがあり, そのインターネット
バックボーンへの接続点を定義しています. 「バックボーン」
とは国を越え, 世界中のインターネットのトラフィックを運ぶ主要
な信用できる幹線のことです. どのバックボーンマシンも, あるネット
ワークから特定のバックボーンのマシンへ向かうトラフィックと,
そのバックボーンのマシンからあなたのネットワークに届くサービス
プロバイダまでのチェーンのマスタテーブルのコピーを持っていま
す.
あなたのサイトが接続(プロバイダからみて内側にある
ことになります) したということを, プロバイダからバックボー
ンサイトへ通知することはプロバイダの仕事です. これが経
路の伝搬です.
<!--
<sect1><heading>Multicast Routing</heading>
-->
<sect1><heading>トラブルシューティング</heading>
<p>ルーティングの伝搬に問題が生じて, いくつかのサイトが
接続をおこなうことができなくなることがあります.
ルーティングがどこでおかしくなっているかを明らかにするのに
最も有効なコマンドはおそらく<tt>traceroute(8)</tt>コマンドでしょ
う. このコマンドは, あなたがリモートマシンに対して接続をおこなう
ことができない(例えば<tt>ping(8)</tt>に失敗するような場合)
場合も, 同じように有効です.
<tt>traceroute(8)</tt>コマンドは, 接続を試みているリモートホスト
を引数にして実行します. 試みているパスの経由する
ゲートウェイホストを表示し, 最終的には目的のホストに
たどり着くか, コネクションの欠如によって終ってしまうかのどちら
かになります.
より詳しい情報は, <tt>tracroute</tt>のマニュアルページをみてください.

@ -1,198 +0,0 @@
<!-- $Id: russian.sgml,v 1.3 1997-06-19 05:05:09 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.5 -->
<sect><heading>ロシア語 (KOI8-R encoding)<label id="russian"></heading>
<p><em>Contributed by &a.ache;<newline>
1 May 1997</em>.
<p><em>訳: &a.motoyuki;.<newline>18 June 1997.</em>
<p>KOI8-R encoding についてのさらに詳しいことは,
<htmlurl url="http://www.nagual.pp.ru/~ache/koi8.html"
name="KOI8-R References (Russian Net Character Set)"> をご覧ください.
<sect1><heading>コンソールのセットアップ<label id="russian:console"></heading>
<p>
<enum>
<item><tt>/etc/rc.conf</tt> でのロシア語コンソールのエントリーは以下のようになります.
<verb>
keymap=ru.koi8-r
keychange="61 ^[[K"
scrnmap=koi8-r2cp866
font8x16=cp866b-8x16
font8x14=cp866-8x14
font8x8=cp866-8x8
</verb>
<p>
<it>注意:</it> ^[ は
<tt>/etc/rc.conf</tt>,
に ^[ の文字列ではなく本当の ESC キャラクターを入れることを意味します.
<p>
これは, KOI8-R キーボードで, KOI8-R encoding の代替スクリーンフォントを
疑似グラフィックに割り当て, <it>灰色のデリート</it> キーを <tt>termcap</tt> の
FreeBSD コンソールのロシア語エントリーに一致するように再配置する, ということです.
<p>
RUS/LAT スイッチは <bf>CapsLock</bf> に割り当てられます. 元の CapsLock の機能は
<bf>Shift+CapsLock</bf> で使えます. CapsLock の LED は CapsLock のモードではなく RUS モードを示します.
<item><tt>/etc/ttys</tt> の中の <tt>ttyv?</tt> の各エントリの
ターミナルのタイプを <tt>cons25</tt> から <tt>cons25r</tt>
に変更します, つまり各エントリは以下のようになります
<verb>
ttyv0 "/usr/libexec/getty Pc" cons25r on secure
</verb>
</enum>
<sect1><heading>Locale のセットアップ<label id="russian:locale"></heading>
<p><label id="russian:env">
Locale のセットアップには二つの環境変数を使います:
<itemize>
<item><tt>LANG</tt>
は POSIX <tt>setlocale(3)</tt> ファミリの関数に;
<item><tt>MM_CHARSET</tt>
はアプリケーションの MIME キャラクタセットに使われます.
</itemize>
<p>
一番良い方法は <tt>passwd(5)</tt> エントリの login class の場所で
<tt>/etc/login.conf</tt> の <tt>russian</tt> ユーザの login class
を使うことです.
詳しくは <tt>login.conf(5)</tt> を参照してください.
<sect2><heading>Login Class の設定方法<label id="russian:class"></heading>
<p>
まず最初に <tt>/etc/login.conf</tt> に <tt>russian</tt> login class がある
ことを確認してください, このエントリは以下のようになります:
<verb>
russian:Russian Users Accounts:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:\
:tc=default:
</verb>
<sect3><heading>vipw(8) ではどうするのか</heading>
<p>
新しいユーザを追加するのに <tt>vipw(8)</tt> を使うのであれば,
<tt>/etc/master.passwd</tt>
のエントリは以下のようになります:
<verb>
user:password:1111:11:russian:0:0:User Name:/home/user:/bin/csh
</verb>
<sect3><heading>adduser(8) ではどうするのか</heading>
<p>
<tt>adduser(8)</tt> を使って新しいユーザを追加するには:
<itemize>
<item>
<verb>
defaultclass = russian
</verb>
を <tt>/etc/adduser.conf</tt> にセットする.
(この場合, 全ての非ロシア語ユーザに <tt>default</tt> class を入力しなけ
ればなりません);
<newline><newline>
<item>もう一つの方法は <tt>adduser(8)</tt> の
<verb>
Enter login class: default []:
</verb>
という表示に <tt>russian</tt> と答えるものです;
<item>また, ロシア語ユーザを追加する際に:
<verb>
# adduser -class russian
</verb>
とする方法もあります.
</itemize>
<sect3><heading>pw(8) ではどうするのか</heading>
<p>
<tt>pw(8)</tt> を使って新しいユーザを追加するには, 次のようにします:
<verb>
# pw useradd user_name -L russian
</verb>
<sect2><heading>シェルのスタートアップファイルでの設定方法</heading>
<p>
何らかの理由で
<ref id="russian:class" name="login class の設定方法">
を使いたくない場合は, この
<ref id="russian:env" name="二つの環境変数">
をシェルのスタートアップファイルに設定します:
<itemize>
<item><tt>/etc/profile</tt>:
<verb>
LANG=ru_RU.KOI8-R; export LANG
MM_CHARSET=KOI8-R; export MM_CHARSET
</verb>
<item><tt>/etc/csh.login</tt>:
<verb>
setenv LANG ru_RU.KOI8-R
setenv MM_CHARSET KOI8-R
</verb>
</itemize>
<p>
もう一つの方法は, これらを以下のファイルに設定することです.
<itemize>
<item><tt>/usr/share/skel/dot.profile</tt>:
<p>
(上の <tt>/etc/profile</tt> と同様にします);
<item><tt>/usr/share/skel/dot.login</tt>:
<p>
(上の <tt>/etc/csh.login</tt> と同様にします).
</itemize>
<sect1><heading>X Window System のセットアップ<label id="russian:xwindow"></heading>
<p>
以下の順序で設定します:
<enum>
<item>まず最初に
<ref id="russian:locale" name="X 以外の locale のセットアップ"> の通りに行います.
<p>
<it>注意:</it><label id="russian:note">
ロシア語の KOI8-R locale は XFree86 の古いリリース
(3.3 より前) では動かないかもしれません.
<tt>/usr/ports/x11/XFree86</tt> の XFree86 の port には XFree86 の最近のほとんどの
バージョンが入っています. したがってこの port から XFree86 をインストール
したのならきちんと動くでしょう.
最新の FreeBSD ディストリビューションに付属する XFree86 のバージョンも動くはず
です (XFree86 のバージョンが 3.3 より前でないことを確認して下さい).
<item><tt>/usr/ports/russian/X.language</tt> ディレクトリに行き, ここで
<verb>
# make all install
</verb>
とします. このポートは最新バージョンの KOI8-R フォントをインストールします.
XFree86 3.3 には既にいくつかの KOI8-R フォントが含まれていますが, こちらの
フォントのほうがより釣り合いがとれています.
<p>
<tt>/etc/XF86Config</tt> の <tt>"Files"</tt> セクションに以下の行が
他のどんな <tt>FontPath</tt> エントリよりも前にあることを確認します:
<verb>
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
</verb>
<p>
高解像度のビデオモードを使っている場合は, 75 dpi と
100 dpi の行を入れ替えます.
<item>ロシア語キーボードを有効にするには
<verb>
XkbKeymap "xfree86(ru)"
</verb>
を <tt>/etc/XF86Config</tt> の <tt>"Keyboard"</tt> セクションに追加します,
また <tt>XkbDisable</tt> が無効に (コメントアウト) されていることをここで
確認します.
<p>
RUS/LAT スイッチは <bf>CapsLock</bf>に割り当てられます. 元の CapsLock の機能は
<bf>Shift+CapsLock</bf> で使えます (LAT モード内でのみ).
<p>
<it>注意:</it>
ロシア語 XKB キーボードは XFree86 の古いバージョンでは動かないかもしれません,
詳しくは <ref id="russian:note" name="locale note"> を参照してください.
ロシア語 XKB キーボードはローカル化されていないアプリケーションでも動かない
かもしれません, 最低限のローカル化されたアプリケーションではそのプログラムの
初期に <bf>XtSetLanguageProc</bf> (NULL, NULL, NULL); 関数を呼ばなければ
なりません.
</enum>

File diff suppressed because it is too large Load Diff

@ -1,64 +0,0 @@
<!-- $Id: sections.sgml,v 1.11 1997-11-26 16:56:31 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.26 -->
<!-- Entities containing all the pieces of the handbook are -->
<!-- defined here -->
<!ENTITY bibliography SYSTEM "bibliography.sgml">
<!ENTITY basics SYSTEM "basics.sgml">
<!ENTITY booting SYSTEM "booting.sgml">
<!ENTITY contrib SYSTEM "contrib.sgml">
<!ENTITY ctm SYSTEM "ctm.sgml">
<!ENTITY cvsup SYSTEM "cvsup.sgml">
<!ENTITY current SYSTEM "current.sgml">
<!ENTITY stable SYSTEM "stable.sgml">
<!ENTITY crypt SYSTEM "crypt.sgml">
<!ENTITY development SYSTEM "development.sgml">
<!ENTITY dialup SYSTEM "dialup.sgml">
<!ENTITY dialout SYSTEM "dialout.sgml">
<!ENTITY diskless SYSTEM "diskless.sgml">
<!ENTITY dma SYSTEM "dma.sgml">
<!ENTITY eresources SYSTEM "eresources.sgml">
<!ENTITY esdi SYSTEM "esdi.sgml">
<!ENTITY firewalls SYSTEM "firewalls.sgml">
<!ENTITY german SYSTEM "german.sgml">
<!ENTITY goals SYSTEM "goals.sgml">
<!ENTITY glossary SYSTEM "glossary.sgml">
<!ENTITY history SYSTEM "history.sgml">
<!ENTITY hw SYSTEM "hw.sgml">
<!ENTITY install SYSTEM "install.sgml">
<!ENTITY term SYSTEM "term.sgml">
<!ENTITY isdn SYSTEM "isdn.sgml">
<!ENTITY jcontrib SYSTEM "jcontrib.sgml">
<!ENTITY kerberos SYSTEM "kerberos.sgml">
<!ENTITY kernelconfig SYSTEM "kernelconfig.sgml">
<!ENTITY kerneldebug SYSTEM "kerneldebug.sgml">
<!ENTITY kernelopts SYSTEM "kernelopts.sgml">
<!ENTITY linuxemu SYSTEM "linuxemu.sgml">
<!ENTITY mail SYSTEM "mail.sgml">
<!ENTITY memoryuse SYSTEM "memoryuse.sgml">
<!ENTITY mirrors SYSTEM "mirrors.sgml">
<!ENTITY nfs SYSTEM "nfs.sgml">
<!ENTITY nutshell SYSTEM "nutshell.sgml">
<!ENTITY pgpkeys SYSTEM "pgpkeys.sgml">
<!ENTITY policies SYSTEM "policies.sgml">
<!ENTITY porting SYSTEM "porting.sgml">
<!ENTITY ports SYSTEM "ports.sgml">
<!ENTITY ppp SYSTEM "ppp.sgml">
<!ENTITY printing SYSTEM "printing.sgml">
<!ENTITY quotas SYSTEM "quotas.sgml">
<!ENTITY relnotes SYSTEM "relnotes.sgml">
<!ENTITY routing SYSTEM "routing.sgml">
<!ENTITY russian SYSTEM "russian.sgml">
<!ENTITY serial SYSTEM "serial.sgml">
<!ENTITY scsi SYSTEM "scsi.sgml">
<!ENTITY sio SYSTEM "sio.sgml">
<!ENTITY cy SYSTEM "cyclades.sgml">
<!ENTITY skey SYSTEM "skey.sgml">
<!ENTITY slipc SYSTEM "slipc.sgml">
<!ENTITY slips SYSTEM "slips.sgml">
<!ENTITY submitters SYSTEM "submitters.sgml">
<!ENTITY synching SYSTEM "synching.sgml">
<!ENTITY uart SYSTEM "uart.sgml">
<!ENTITY userppp SYSTEM "userppp.sgml">

@ -1,76 +0,0 @@
<!-- $Id: serial.sgml,v 1.8 1997-02-25 04:58:23 hanai Exp $ -->
<!-- FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.3 -->
<!-- This is an SGML document in the linuxdoc DTD of the Tutorial for
Configuring a FreeBSD for Dialup Services by Guy Helmer.
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
<linuxdoc>
<article>
<title> シリアル接続の基礎
<p><em>原作: FAQ</em>
<date> 24 Nov 1996, (c) 1996
<p><em>訳: &a.mihoko;9 December 1996.</em>
<abstract> このセクションには, シリアルポートを使うための基本的
な事柄についての概要が書かれています. もしあなたがモデムに興味がある
なら, このセクションは PPP やダイアルアウトのセクションへの導入にな
ります.
</abstract>
<toc>
-->
<sect><heading>シリアル接続の基礎<label id="serial"></heading>
<p><em>Assembled from FAQ.</em>
このセクションには, シリアルポートについての一般的な情報が書かれていま
す. あなたが求めている情報が, もしここで見つからなかった場合には, ハン
ドブックの端末とダイアルアップのセクションを見てください.
<p>
<tt/ttydX/ (または <tt/cuaaX/) デバイスは, アプリケーション上
でシリアルポートをオープンする時に使用する, 標準的なデバイスです.
プロセスがデバイスをオープンする際, 端末 I/O 設定の
デフォルトセットが使用されます.
これらの設定内容は, 次のコマンドで確認することができます.
<verb>
stty -a -f /dev/ttyd1
</verb>
このデバイスの設定を変更した場合, その設定はデバイスが
クローズされるまで有効です.
デバイスが再びオープンされる時, デフォルトの設定値に戻ります.
デフォルトの設定を変更するためには, 「初期状態」を設定した
いデバイスをオープンして調節することができます.
例えば, ttyd5 というデバイスに対して, デフォルトで
<tt/CLOCAL/ モードを ON にして, 8 bits の設定をおこない,
<tt>XON/XOFF</tt> フロー制御を行うように設定したい場合は,
次のようにします.
<verb>
stty -f /dev/ttyid5 clocal cs8 ixon ixoff
</verb>
このコマンドを記述するのに適しているファイルは, <tt>/etc/rc.serial</tt>
です. アプリケーションが<tt/ttyd5/ をオープンするときに,
デフォルトでこの設定をおこなうようになります.
これらの設定は, 好きなように変更することができます.
また, 「固定状態」のデバイスに調節を行うことで, ある一定の設定が
アプリケーションに変更されることを防ぐこともできます.
例えば, <tt/ttyd5/ のスピードを 57600 bps に固定したい場合には,
次のようにします.
<verb>
stty -f /dev/ttyld5 57600
</verb>
これで、<tt/ttyd5/ をオープンして, シリアルポートの転送スピードを
変更しようとするアプリケーションは 57600 bps に固定されるでしょう.
本来, デバイスの初期状態を変更したり設定を固定するのは,
<tt/root/ だけが行うべきです.
<tt/MAKEDEV/ スクリプトがデバイスエントリを作成する時は,
これをおこない<bf/ません/.

@ -1,198 +0,0 @@
<!-- $Id: sio.sgml,v 1.5 1997-02-25 04:58:28 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.5 -->
<!--
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
<!ENTITY % authors SYSTEM "authors.sgml">
%authors;
]>
-->
<sect2><heading> <tt>sio</tt>ドライバの設定<label id="sio"></heading>
<p> <tt>sio</tt> ドライバは, NS8250-, NS16450-, NS16550とNS16550A
ベースの EIA RS-232C(CCITT V.24) 通信用インタフェースをサポートします. ま
た, いくつかのマルチポートシリアルカードもサポートされています. 技術的
な詳細についてはマニュアル<tt>sio(4)</tt>を見てください.
<sect3><heading>Digi International (DigiBoard) PC/8</heading>
<p><em>原作: &a.awebster;.<newline> 1995年8月26日.</em>
<p><em>訳: &a.masaki;.<newline>6 September 1996.</em>
以下にDigi International PC/8Dと16550チップを動作させるための, カーネ
ルconfigの部分を示します. このボードは, 8本の回線にすべてモデムを接続
した場合でも良好に動作します.
<tt>options COM_MULTIPORT</tt> を加えるのを忘れないでください. 忘れる
とうまく動作しません!
<tscreen><verb>
device sio4 at isa? port 0x100 tty flags 0xb05
device sio5 at isa? port 0x108 tty flags 0xb05
device sio6 at isa? port 0x110 tty flags 0xb05
device sio7 at isa? port 0x118 tty flags 0xb05
device sio8 at isa? port 0x120 tty flags 0xb05
device sio9 at isa? port 0x128 tty flags 0xb05
device sio10 at isa? port 0x130 tty flags 0xb05
device sio11 at isa? port 0x138 tty flags 0xb05 irq 9 vector siointr
</verb></tscreen>
ここで各 SIO ポートが割り込みを共有する一つのグループであることを表現
するために, トリッキーな設定をしなければなりません. フラグ (flags の後
ろの 16 進数) の下から 2 バイト目にこのグループの最後の SIO ポートの番
号を設定します. この例では 11 (16進数では 0x0b) ですから, 各デバイスの
フラグは 0xb05 となります.
<sect3><heading>Boca 16</heading>
<p><em>寄贈 &a.whiteside;.<newline> 1995年8月26日</em>
FreeBSD で Boca 16pord のボードを動かすことは簡単ですが, そのた
めにはいくつかの作業が必要です. :
<enum>
<item>2.0.5 のデフォルトのカーネルは, マルチポートのサポートを<bf>して
いない</bf> ので, あなたは各ポート毎にデバイスエントリを追加する必要が
あります. つまり必要なオプションを付けて, カーネルの再構築をしなければ
なりません. そのためには, あなたのマシンにカーネルのソースコードが既に
インストールされているか, あなたの替わりの誰かにカーネル再構築をやって
もらう必要があります. </item>
<item>2番目に, あなたはカーネルオプションを正しく設定するために, あな
たのBoca BoardのIOと割り込みの値を知っている必要があります. </item>
</enum>
ひとつ重要なことがあります. Boca 16 に使われている実際の UART チップ
は, Boca 16 のボードではなく, 外付けのコネクタボックスの中に存在します.
コネクタボックスを接続しないと, ポートの検出に失敗するでしょう. 私は,
接続しないまま起動したり, 後から接続しなおしたりした時にどうなるかをテ
ストしていません. どちらも実行しないようお奨めします.
もしあなたがカスタマイズ済みのカーネルコンフィグレーションファイルを持っ
ていなければ, 一般的な事柄については, <ref id="kernelconfig"
name="FreeBSDカーネルのコンフィグレーション">
を参考にしてください. 以下にBoca 16のボード
に関係する部分だけを記述します. この例では, あなたがMYKERNELという名前
のカーネルを使っていて, エディタには viを使っていることを仮定していま
す.
<enum>
<item>次の1行をconfigファイルに追加してください.
<tscreen><verb>
options COM_MULTIPORT
</verb></tscreen>
</item>
<item>この <tt>device sio<em>xxx</em></tt>という行を, 必要に応じて 16
個のデバイス分を追加してください. <em>最後のデバイスにだけ, このボード
の割り込みベクタを記述します</em>. (詳細は <tt>sio(4)</tt> のマニュア
ルページを参照してください.)
以下の例は, 割り込み 3, ベース IO アドレス 100h の値を持つ Boca Board
の場合です. 各ポートのための IO アドレスは, 100h, 108h, 110h, ... のよ
うに 16 進法で 8 づつ加えていきます.
<tscreen><verb>
device sio1 at isa? port 0x100 tty flags 0x1005
device sio2 at isa? port 0x108 tty flags 0x1005
device sio3 at isa? port 0x110 tty flags 0x1005
device sio4 at isa? port 0x118 tty flags 0x1005
[...]
device sio15 at isa? port 0x170 tty flags 0x1005
device sio16 at isa? port 0x178 tty flags 0x1005 irq 3 vector siointr
</verb></tscreen>
フラグエントリは, あなたが全く同じsioの割り当てを使っていない限り <em>
必ず</em> 上記の例から変更してください. フラグは, 次のように設定します.
0x<em>MYY</em> の<em>M</em>は, マスタポート (Boca 16に搭載された最後
のポート)のマイナー番号を指定します. さらに <em>YY</em> の部分はFIFOが
有効または無効であること (この場合は有効), 割り込みを (ボード内で) 共
有しているか (この場合はYES), そして, AST/4 と互換性のある持つ割り込み
制御レジスタを持っているか (この場合はNO) を指定します.
この例では,
<tscreen><verb>
flags 0x1005
</verb></tscreen>
というフラグによって, マスタポートが sio16 であることを示します. も
し同じボードをもう一枚追加し, sio17 から sio28 を割り当てるなら, <em>
新しい方の</em> ボードに対応する 16 個のポートのフラグはすべて 0x1C05 に
なります. 28 (== 0x1C) は新しいボードのマスタポートのマイナー番号で
す. フラグの 05 の部分は変更しないでください. </item>
<item>カーネルコンフィグレーションファイルを保存してカーネルの設定を完了しま
す. カーネルをコンパイル後, インストールし, 新しいカーネルでリブートし
てください.
再コンパイルされたカーネルがうまくインストールされて, そのカーネルに正
しいアドレスと割り込みが設定されていたならば, ブートメッセージは次の
ように Boca ポートの検出に成功するはずです:
(sioの番号, IOとIRQの値は, この例とは異なっているでしょう)
<tscreen><verb>
sio1 at 0x100-0x107 flags 0x1005 on isa
sio1: type 16550A (multiport)
sio2 at 0x108-0x10f flags 0x1005 on isa
sio2: type 16550A (multiport)
sio3 at 0x110-0x117 flags 0x1005 on isa
sio3: type 16550A (multiport)
sio4 at 0x118-0x11f flags 0x1005 on isa
sio4: type 16550A (multiport)
sio5 at 0x120-0x127 flags 0x1005 on isa
sio5: type 16550A (multiport)
sio6 at 0x128-0x12f flags 0x1005 on isa
sio6: type 16550A (multiport)
sio7 at 0x130-0x137 flags 0x1005 on isa
sio7: type 16550A (multiport)
sio8 at 0x138-0x13f flags 0x1005 on isa
sio8: type 16550A (multiport)
sio9 at 0x140-0x147 flags 0x1005 on isa
sio9: type 16550A (multiport)
sio10 at 0x148-0x14f flags 0x1005 on isa
sio10: type 16550A (multiport)
sio11 at 0x150-0x157 flags 0x1005 on isa
sio11: type 16550A (multiport)
sio12 at 0x158-0x15f flags 0x1005 on isa
sio12: type 16550A (multiport)
sio13 at 0x160-0x167 flags 0x1005 on isa
sio13: type 16550A (multiport)
sio14 at 0x168-0x16f flags 0x1005 on isa
sio14: type 16550A (multiport)
sio15 at 0x170-0x177 flags 0x1005 on isa
sio15: type 16550A (multiport)
sio16 at 0x178-0x17f irq 3 flags 0x1005 on isa
sio16: type 16550A (multiport master)
</verb></tscreen>
もしメッセージの表示が速くて読み取れないときは, <tt>dmesg | more</tt>
とするとブート時のメッセージをゆっくり見ることができます. </item>
<item>次に, root になってから, デバイスにあわせたエントリを <tt>/dev/MAKEDEV</tt>スクリプトを使って<tt>/dev</tt> に追加します.
<tscreen>
# cd /dev<newline>
# ./MAKEDEV tty1<newline>
# ./MAKEDEV cua1<newline>
<em> (中略) </em><newline>
# ./MAKEDEV ttyg<newline>
# ./MAKEDEV cuag
</tscreen>
もし, 何らかの理由で発信するデバイスが不要な場合, <tt>cua*</tt> デバ
イスを作らないで済ますこともできます.</item>
<item>デバイスが確実に動作しているかどうか確認する手っ取り早い方法は,
あなたが (rootになって) 各ポートにモデムを接続してみて, あなたが作成し
た各デバイス毎に<tt>echo at&gt; ttyd*</tt>とやってみてください. 各ポー
トが動作していればRXの表示が光るのが見える<em>はず</em> です. </item>
</enum>

@ -1,359 +0,0 @@
<!-- $Id: skey.sgml,v 1.6 1997-11-13 18:04:03 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.8 -->
<!-- 和訳: hino@nwk.CL.nec.co.jp 1996/09/24 -->
<!--
Copyright 1995 Massachusetts Institute of Technology
Permission to use, copy, modify, and distribute this software and
its documentation for any purpose and without fee is hereby
granted, provided that both the above copyright notice and this
permission notice appear in all copies, that both the above
copyright notice and this permission notice appear in all
supporting documentation, and that the name of M.I.T. not be used
in advertising or publicity pertaining to distribution of the
software without specific, written prior permission. M.I.T. makes
no representations about the suitability of this software for any
purpose. It is provided "as is" without express or implied
warranty.
THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS
ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT
SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-->
<sect><heading>S/KEY<label id="skey"></heading>
<p><em>原作: &a.wollman;<newline>25 September 1995.</em>
<p><em>訳: &a.hino;.<newline>24 September 1996.</em>
<p>S/KEY は一方向ハッシュ関数 (ここで述べているバージョンでは, 過去と
の互換性を保つために MD4 を用いています. S/KEY の他のバージョンでは
MD5 や DES-MAC を用いているものもあります) を基にしたワンタイムパスワー
ド方式です. S/KEY は, バージョン 1.1.5 以降のすべての FreeBSD に標準的
に含まれています. S/KEY は FreeBSD 以外の数多くのシステムの上でも利用
可能であり, その実装の数も増えています. S/KEY ば Bell Communications
Research, Inc. の登録商標です.
<!-- XXX - UNIX以外のよい表現はないかな? -->
<p>以下の説明では, 三種類の異なる「パスワード」が使われます. まず一つ
目は, あなたが普段使っている普通の UNIX スタイルの, もしくは Kerberos
でのパスワードです. ここではこれを ``UNIX パスワード'' と呼ぶことにし
ます. 二つ目は, S/KEY の `<tt/key/' プログラムによって生成され,
`<tt/keyinit/' プログラムとログインプロンプトが受け付ける, 一回限りの
パスワードです. ここではこれを ``ワンタイムパスワード'' と呼ぶことにし
ます. 三つ目のパスワードは, `<tt/key/' (と場合により `<tt/keyinit/')
プログラムに対してユーザが入力する秘密のパスワードで, ワンタイムパスワー
ドを生成するのに使われます. ここではこれを ``秘密のパスフレーズ'' もし
くは単に ``パスフレーズ'' と呼ぶことにします. (訳注: ユーザが頭の中だ
けにしまっておくべきものが, この秘密のパスフレーズです. なお, 原文では
これをパスワードと表記していますが, 混乱を避けるために訳文ではすべて ``
秘密のパスフレーズ'' に統一しています.)
<p>秘密のパスフレーズは, UNIX パスワードと同じである必要はありませんし,
また UNIX パスワードと何らかの関連性を持たなければならないということも
ありません (両者を同一に設定することは可能ですが, お奨めしません).
UNIX パスワードは長さが 8 文字に制限されています (訳注: FreeBSD で DES
を導入していない場合はもっと長いパスワードも認識されます). これに対し,
S/KEY では秘密のパスフレーズを好きなだけ長くすることができます (訳注:
実装上, `<tt/key/' コマンドなどのバッファ長で制限されてしまう可能性が
あります. 200文字程度に押えておいた方がよいでしょう :-). 筆者は 7 語か
らなる文を使っています. 通常の設定では, S/KEY システムは UNIX のパスワー
ドシステムと完全に独立して動作するようになっています.
<p>S/KEY システムでは他に二種類のデータを使用します. 一つは ``シード
(種)'' または (混乱を招きますが) ``キー'' と呼ばれるもので, (訳注: デ
フォルトでは) 二つの文字と五つの数字で構成されます. もう一つは ``シー
ケンス番号'' で, 1 以上の整数です. シーケンス番号は特に指定しなければ
100以下です (訳注: ``<tt/keyinit/' プログラムでは 9999 まで指定できま
す). S/KEY はここまでに述べたデータを利用してワンタイムパスワードを生
成します. その方法は, まずシードと秘密のパスフレーズを連結し, それに対
してシーケンス番号の回数だけ一方向ハッシュ (RSA Data Security, Inc. に
よる MD4 セキュアハッシュ関数) を繰り返し計算します. そしてその結果を
六つの英単語に変換します (訳注: ハッシュ計算の後, 64ビットに収まるよう
にデータを処理したものが厳密な意味でのワンタイムパスワードです. 通常は
ユーザの便宜のために, この 64ビットデータと六つの英単語との間で変換処
理をおこなっています) . `<tt/login/' プログラムと `<tt/su/' プログラム
は, 前回最後に受け付けられたワンタイムパスワードを記録しています. そし
て, その前回のワンタイムパスワードと, ユーザが入力したワンタイムパスワー
ドを一回ハッシュ関数にかけた結果とが一致した場合に, このユーザは認証さ
れます. 一方向ハッシュ関数を使うことにより, もし (ログイン等に成功した)
ワンタイムパスワードが一回盗聴されたとしても, 次回以降に使われる複数の
ワンタイムパスワードを生成することは不可能です. シーケンス番号はログイ
ン (等) が成功するたびに一つずつ減らされて, ユーザとログインプログラム
の間で同期が取られます. (シーケンス番号が 1 になったら, S/KEY を再度初
期化する必要があります.)
<p>次に, S/KEY 関連の四つのプログラムについて説明します. `<tt/key/' プ
ログラムは, シーケンス番号と, シードと, 秘密のパスフレーズを受け付けて,
ワンタイムパスワードを生成します. `<tt/keyinit/' プログラムは, S/KEY
を初期化するのに使用され, また秘密のパスフレーズやシーケンス番号やシー
ドを変更するためにも使用されます. このプログラムを実行するには, 秘密の
パスフレーズか, または, シーケンス番号とシードとワンタイムパスワードの
一組かの, どちらかが必要になります. `<tt/keyinfo/' プログラムは,
<tt>/etc/skeykeys</tt> というファイルを調べて, このプログラムを起動し
たユーザの現在のシーケンス番号とシードを表示します. 最後に,
`<tt/login/' と `<tt/su/' プログラムについてですが, これらは S/KEY の
ワンタイムパスワードを, (訳注:システムが) ユーザを認証するものとして受
理する処理をおこないます. `<tt/login/' プログラムは, 指定された特定の
アドレスからの接続に対して, UNIX パスワードの使用を認めなくする機能,
逆に言えば S/KEY の利用を強制する機能も持っています.
<p>このドキュメントでは, 四種類の異なる操作について説明します. 一つ目
は, `<tt/keyinit/' プログラムを信頼できる通信路上で利用する場合で, 一
番始めに S/KEY を設定する操作や, 使い始めたあとで秘密のパスフレーズや
シードを変更する操作です. 二つ目は, `<tt/keyinit/' プログラムを信頼で
きない通信路上で利用する場合で, 操作の目的は一つ目と同じです. この場合
には `<tt/key/' プログラムを併用する必要があります. 三つ目は,
`<tt/key/' プログラムを使い, 信頼できない通信路を通じてログインする操
作です. 四番目は, `<tt/key/' プログラムを使って, 複数のワンタイムパス
ワードを一気に生成する操作です. ここで生成した複数のワンタイムパスワー
ドは, メモしたり印刷したりして携帯し, 信頼できる通信路が一切ないところ
(例えば展示会場など) で利用することができます. (訳注: ワンタイムパスワー
ドを記録した紙をなくさないこと! 電話番号やIPアドレス, ユーザ名を一緒に
メモしていたら最悪です!!)
<sect1><heading>信頼できる通信路での初期化</heading>
<p>信頼できる通信路 (例えばあるマシンのコンソール画面など) を利用して
いるときに, S/KEY の初期化, S/KEY の秘密のパスフレーズの変更, またはシー
ドの変更をおこなうことができます. そのためには, まずあなた自身がログイ
ンし, `<tt/keyinit/' コマンドを以下のようにパラメタなしで実行します:
<tscreen><verb>
$ keyinit
Updating wollman: ) この部分は始めて S/KEY を使
Old key: ha73895 ) うときには表示されません.
Reminder - Only use this method if you are directly connected.
If you are using telnet or rlogin exit with no password and use keyinit -s.
) `keyinit' コマンドが出力する注意です. 訳すと,
) 注意 - この動作モードはマシンに直接入力しているときのみ利用
) すること. もし今 telnet や rlogin を使っているなら, 秘密のパ
) スフレーズを入力せずにこのままコマンドを終了し, かわりに
) keyinit -s を実行すること.
Enter secret password: ) ここで秘密のパスフレーズを入力します.
Again secret password: ) もう一回入力します.
ID wollman s/key is 99 ha73896 ) あとで説明します.
SAG HAS FONT GOUT FATE BOOM )
</verb></tscreen>
<p>上の例で出てきた事柄について説明しましょう. `Enter secret
password:' というプロンプトに対してあなたが考えた秘密のパスフレーズを
入力します (筆者は 7 単語以上の文を秘密のパスフレーズにしています). こ
の秘密のパスフレーズは後でログインするために必要になるものです. `ID'
から始まる行は, S/KEY における一回分のパラメタであり, あなたのログイ
ン名とシーケンス番号とシードです. (訳注: `<tt/keyinit/' コマンドは次回
にログインするときに使われるパラメタを参考のためにここで表示しま
す. ) S/KEY を使ってログインするときには, システム側が自動的にこれらの
パラメタを表示してくれますから, これらのパラメタを覚えておく必要は
ありません. 最後の行が, 今述べたパラメタと入力された秘密のパスフレー
ズから計算されたワンタイムパスワードです. この例を実行した後, 次にログ
インするときに打ち込むべきワンタイムパスワードがこれです.
<sect1><heading>信頼できない通信路での初期化</heading>
<p>信頼できない通信路を使って S/KEY を初期化, または秘密のパスフレーズ
やシードを変更するためには, 信頼できる通信路として, その信頼できない通
信路とは別のものを用意する必要があります. その信頼できる通信路は
`<tt/key/' プログラムを実行するために必要となるもので, 例えばそれは,
あなたが信頼できる Macintosh のデスクアクセサリや信頼できるマシンのシェ
ルプロンプトだったりするでしょう (そこでの操作に関しては後述します).
(訳注: ここでの通信路とはマシンそのものになります. 信頼できるマシンと
は, 信頼できる人がしっかり管理しているマシンということです.) 他に準備
しておくものとして, シーケンス番号 (100は適切な値といえるでしょう) と,
場合によっては自分で考えた, またはランダムに生成されたシードがあります.
あなたが S/KEY を初期化しようとしているマシンへの通信路が, 信頼できな
いものである場合には `<tt/keyinit -s/' コマンドを以下のように使用しま
す:
<tscreen><verb>
$ keyinit -s
Updating wollman:
Old key: kh94741
Reminder you need the 6 English words from the skey command.
) `keyinit' コマンドが出力する注意です. 訳すと,
) 注意 - skey コマンドの出力する 6 英単語が必要になります.
Enter sequence count from 1 to 9999: 100 ) ここを入力.
Enter new key [default kh94742]: ) リターンのみ入力.
s/key 100 kh94742
</verb></tscreen>
デフォルトのシード (`keyinit' プログラムは困ったことにこれを `key' と
読んでいるのですが, 混乱しないよう注意してください) で構わなければ, リ
ターンキーを押してください. 次に, あらかじめ用意しておいた信頼できる通
信路 (信頼できるマシンや信頼できる S/KEY デスクアクセサリなど) へ移っ
て, 先ほどと同じパラメタを入力します.
<tscreen><verb>
$ key 100 kh94742
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: ) ここで秘密のパスフレーズを入力します.
HULL NAY YANG TREE TOUT VETO
</verb></tscreen>
ここで信頼できない通信路の方に戻って, `<tt/key/' コマンドが出力したワ
ンタイムパスワードをコピーして `<tt/keyinit/' プログラムに入力します.
<tscreen><verb>
s/key access password: HULL NAY YANG TREE TOUT VETO
ID wollman s/key is 100 kh94742
HULL NAY YANG TREE TOUT VETO
</verb></tscreen>
後は, 前章で説明したことと同様です.
<sect1><heading>ちょっと寄り道: ログインプロンプトについて</heading>
<p>どうやってワンタイムパスワードを生成するかを説明する前に, S/KEY を
使う場合のログインプロンプトを見ておいた方がよいでしょう.
<tscreen><verb>
$ telnet himalia
Trying 18.26.0.186...
Connected to himalia.lcs.mit.edu.
Escape character is '^]'.
s/key 92 hi52030
Password:
</verb></tscreen>
パスワードを要求する前に, ログインプログラムがシーケンス番号とシードを
表示していることがわかります. この二つのパラメタを使ってワンタイムパ
スワードを計算することになります. ここではまだ使っていませんが, 便利な
機能がログインプログラムに備わっています:パスワードプロンプトに対して,
何も入力せずにリターンを押すとエコーモードに切り替わります. つまりタイ
プした文字がそのまま見えるようになるのです. これは S/KEY のワンタイム
パスワードを紙に印刷していた場合など, ワンタイムパスワードを手で入力し
なければならない場合に特に役立つ機能です.
<p>このログインしようとしてるマシンが, あなたが今使っているマシンから
UNIX パスワードを使ってログインすることができないように設定されている
場合があります. その場合には, ログインプロンプトには S/KEY のワンタイ
ムパスワードの利用が必要であることを示す `<tt>(s/key required)</tt>'
という注釈が表示されます.
<sect1><heading>ワンタイムパスワードを生成する</heading>
<p>次に前章のログインプロンプトに対して入力するためのワンタイムパスワー
ドを生成しましょう. そのために, 信頼できるマシンと `<tt/key/' プログラ
ムを使用します. (`<tt/key/' プログラムには DOS や Windows の上で動くも
の, Macintoshのデスクアクセサリとして動くものなどもあります.) コマンド
ラインで `<tt/key/' プログラムを起動するときには, シーケンス番号とシー
ドを引数として指定します. 入力が面倒な人は, ログインプロンプトに表示さ
れたもののうちで ``<tt/key/'' からその行の最後までを, そのままカットア
ンドペーストすることもできます. ``<tt/key/' プログラムの実行は以下のよ
うになります:
<tscreen><verb>
$ key 92 hi52030 ) 前章の例からペースト.
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: ) 秘密のパスフレーズを入力.
ADEN BED WOLF HAW HOT STUN
</verb></tscreen>
そして別のウィンドウで:
<tscreen><verb>
s/key 92 hi52030 ) 前章の例の続き.
Password: ) ここでリターンキーを押した.
(turning echo on)
Password:ADEN BED WOLF HAW HOT STUN
Last login: Wed Jun 28 15:31:00 from halloran-eldar.l
[以下略.]
</verb></tscreen>
以上の手順は, 信頼できるマシンが利用できる場合 <em/のみに/ 使えるもっ
とも簡単な方法です.
Java S/Key の <tt>key</tt> applet もあり,
<url url="http://www.cs.umd.edu/~harry/jotp/src.html"
name="The Java OTP Calculator"> からダウンロードして
Java をサポートするブラウザ上でローカルに実行することができます。
<sect1><heading>複数のワンタイムパスワードを生成する</heading>
<p>都合によっては, 信頼できるマシンや信頼できる通信路が一切確保できな
いようなところで S/KEY を使う必要があるでしょう. このような場合には,
`<tt/key/' コマンドを使って複数のワンタイムパスワードを一気に生成する
ことが可能です. そして結果を紙に印刷して携帯していくことができます. 例
えば:
<tscreen><verb>
$ key -n 25 57 zz99999
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password:
33: WALT THY MALI DARN NIT HEAD
34: ASK RICE BEAU GINA DOUR STAG
[...]
56: AMOS BOWL LUG FAT CAIN INCH
57: GROW HAYS TUN DISH CAR BALM
</verb></tscreen>
`<tt/-n 25/' という引数によって 25 個のワンタイムパスワードの生成を要
求します. ここで `<tt/57/' は, <em/最後に表示されている/ (もっとも大き
い) シーケンス番号です. 残りのパラメタは前出の例と同様です. 出力は普
通に使う順番とは <em/逆/ に出力されていることに注意してください (訳注:
一番最初に使うワンタイムパスワードは一番最後に出力されたものです). こ
の結果をカットアンドペーストして `<tt/lpr/' コマンドを使って印刷すると
よいでしょう. もしあなたがセキュリティに偏執するなら, この結果を紙と鉛
筆を使って手で書き移した方がよいかもしれません. ここで, 出力の各行はシー
ケンス番号とそれに対応する一回分のワンタイムパスワードです. 消費済みの
ワンタイムパスワードの行をペンで消していくと便利でしょう.
<sect1><heading>UNIX パスワードの利用を制限する</heading>
<p>設定ファイル <tt>/etc/skey.access</tt> を使って UNIX パスワードの利
用を制限することができます. この場合の判断基準として, ログインを受け付
ける際のホスト名, ユーザ名, 端末のポート, IP アドレスなどが利用できま
す. この設定ファイルの詳細に関してはマニュアル <em/skey.access/ (5) を
ご覧ください. マニュアルにはこの機能に関わるセキュリティについて, いく
つかの警告が記述してあります. この機能を使ってセキュリティを高めようと
するのならば絶対にこのマニュアルを読んでください.
<p>もし <tt>/etc/skey.access</tt> ファイルが存在しないならば (FreeBSD
をインストールした直後の状態では存在しません), すべてのユーザが UNIX
パスワードを利用することができます. 逆に, もしファイルが存在するならば,
<tt>/etc/skey.access</tt> ファイルに明示的に記述されていない限り, すべ
てのユーザは S/KEY の利用を要求されます. どちらの場合においても, その
マシンのコンソールからはいつでも UNIX パスワードを使ってログインするこ
とが可能です.
<p>以下によく使われるであろう三種類の設定を含む設定ファイルの例を示し
ます:
<tscreen><verb>
permit internet 18.26.0.0 255.255.0.0
permit user jrl
permit port ttyd0
</verb></tscreen>
はじめの行 (`<tt/permit internet/') で, telnet などで接続するときの IP
のソースアドレス (注意: これは偽造されるおそれがあります) が特定の値と
マスクに一致している場合に, UNIX パスワードの利用を許可することを指定
しています. この設定自体はセキュリティを高めるための機能ではありません.
そうではなく, ログインの権利を持つ許可されたユーザに対して, 現在そのユー
ザが使っているネットワークが信頼できないと考えられるので S/KEY を使う
べきである, ということを気づかせるための機能であると考えてください.
<p>二行目 (`<tt/permit user/') によって, ある特定のユーザに対して, い
つでも UNIX パスワードの利用を許可するように指定しています. 一般的には
この設定をおこなうべきではありません. `<tt/key/' プログラムがどうして
も使えない環境にいる人や, ダム端末しかない環境にいる人, または何度教え
ても聞く耳を持たないような人をサポートする必要がある場合にのみ設定をお
こなってください.
<p>三行目 (`<tt/permit port/') によって, ある特定の端末ポートからログ
インしようとするすべてのユーザに対して UNIX パスワードの利用を許可する
ように指定しています. この設定はダイヤルアップ回線に対する設定として利
用できるでしょう.

@ -1,207 +0,0 @@
<!-- $Id: slipc.sgml,v 1.6 1997-08-25 09:05:01 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.12 -->
<sect><heading>SLIPクライアントのセットアップ<label id="slipc"></heading>
<p><em>原作: &a.asami;<newline>8 Aug 1995.</em>
<p><em>訳: &a.hanai;<newline>8 August 1996.</em>
ここにはFreeBSDマシンを静的アドレスのネットワークにつなげる場合の
SLIPのセットアップの一つの方法を書いてあります.
ホスト名を動的に割り当てる(つまり, ダイヤルアップするたびにアドレスが
かわる)ためには, おそらくもっと凝ったことが必要です.
<!--
This is just "what I did, and it worked for me". I am sharing this
just for your reference, I am no expert in SLIP nor networking so your
mileage may vary.
-->
まず, モデムがどのシリアルポートにつながっているか決めましょう. 私は
<tt>/dev/modem -&gt; cuaa1</tt>というシンボリックリンクを張り,
コンフィグレーションではその名前だけを使っています. <tt>/etc</tt>
や<tt>.kermrc</tt>など、システム全体に散らばっているファイルを修正する
必要がでるとまったく煩わしいのです!(ここで, <tt>/dev/cuaa0</tt>は
COM1であり, <tt>cuaa1</tt>はCOM2です.)
カーネルのコンフィグレーションファイルに
<verb>
pseudo-device sl 1
</verb>
という記述があるのを確認してください. これはGENERICカーネルに含まれている
ので削除していない限り大丈夫でしょう.
<sect1><heading>最初の設定</heading>
<p><enum>
<item><tt>/etc/hosts</tt>ファイルにあなたのマシンのゲートウェイとネームサーバ
を加えてください. 私のは以下のようになっています.
<verb>
127.0.0.1 localhost loghost
136.152.64.181 silvia.HIP.Berkeley.EDU silvia.HIP silvia
136.152.64.1 inr-3.Berkeley.EDU inr-3 slip-gateway
128.32.136.9 ns1.Berkeley.edu ns1
128.32.136.12 ns2.Berkeley.edu ns2
</verb>
余談ですが, silviaというのは私が日本にいた時に持っていた
車の名前です(米国では2?0SXと呼ばれています).
<item><tt>/etc/host.conf</tt>ファイル中で"hosts"が"bind"よりも前にあること
を確認してください. さもないとヘンなことが起こるかもしれません.
<item><tt>/etc/rc.conf</tt>ファイルを編集してください. なお, お使いの
FreeBSD が 2.2.2 よりも前のバージョンのものの場合は,
<tt>/etc/sysconfig</tt> を編集してください.
<enum>
<item>行
<verb>
hostname=myname.my.domain
</verb>
を編集してホスト名をセットしてください.
完全なInternetホスト名を与えるべきです.
<item>行
<verb>
network_interfaces="lo0"
</verb>
<verb>
network_interfaces="lo0 sl0"
</verb>
へ変更することによりネットワークインタフェースのリストにsl0を加えてください.
<item>行
<verb>
ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"
</verb>
を加えてsl0のスタートアップフラグをセットしてください.
<item>行
<verb>
defaultrouter=NO
</verb>
<verb>
defaultrouter=slip-gateway
</verb>
へ変更してデフォルトのルータを指定してください.
</enum>
<item> 次の
<verb>
domain HIP.Berkeley.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12
</verb>
という内容を含むファイル <tt>/etc/resolv.conf</tt> を作ってください.
見ればわかるように, これらはネームサーバホストを設定しています.
もちろん, 実際のドメイン名やアドレスはあなたの環境に依存します.
<item>rootとtoor(及びパスワードを持っていない他のアカウントすべて)のパスワード
を設定してください. passwdコマンドを使いましょう. <tt>/etc/passwd</tt>
や <tt>/etc/master.passwd</tt> といったファイルを編集してはいけません!
<item>マシンを再起動して正しいホスト名で立ち上がることを確認してください.
</enum>
<sect1><heading>SLIP接続をおこなう</heading>
<p><enum>
<item>モデムを起動、つながったらプロンプトで"slip"とタイプし, マシン名と
パスワードを入力してください. 入力する必要があるものは環境に
よって異なります. 私は次のようなスクリプトでkermitを使っています.
<verb>
# kermit setup
set modem hayes
set line /dev/modem
set speed 115200
set parity none
set flow rts/cts
set terminal bytesize 8
set file type binary
# The next macro will dial up and login
define slip dial 643-9600, input 10 =>, if failure stop, -
output slip\x0d, input 10 Username:, if failure stop, -
output silvia\x0d, input 10 Password:, if failure stop, -
output ***\x0d, echo \x0aCONNECTED\x0a
</verb>
(もちろん, ホスト名とパスワードは変える必要があります).
接続するためにはkermitのプロンプトで"slip"とタイプするだけです.
<bf>注意</bf>: ファイルシステムのどんなところにもプレインテキスト
にパスワードを書いておくのは一般的にはよくありません. 覚悟の上で
やってください. 私は単に不精なだけです.
<item>ここでkermitから抜け出し("z"でkermitをサスペンドできます), root
<verb>
slattach -h -c -s 115200 /dev/modem
</verb>
と入力しましょう.
もしルータの向う側のホストへ"ping"できるなら接続成功です! もしうまく
いかなければslattachへの引数として"-c"の代わりに"-a"とやってみてください.
</enum>
<sect1><heading>接続の切り方</heading>
<p>slattachを殺すためにrootで "kill -INT `cat /var/run/slattach.modem.pid`"
とタイプしてください. そしてkermitに戻り(もしkermitをサスペンドしていたなら
"fg"), kermitから抜けてください("q").
slattachのマニュアルページにはインタフェースを落すために
"ifconfig sl0 down"をしなければいけないと書いていますが,
私には差がないように見えます.
("ifconfig sl0"とやっても同じ結果が得られる.)
時にはモデムがキャリアを落すのを拒絶するかもしれません(私のは
よくそうなります). その時は単にkermitをスタートしてまた終了
してください.
普通は2回目で落ちます.
<sect1><heading>トラブルシューティング</heading>
<p>もし動かなければ自由に私に質問してください. 今までいろんな人がつまずいた
のは次のようなことです.
<itemize>
<item>slattachで"-c"や"-a"を使わなかった(私はなぜこれが致命的になり得るのか
わかりませんが, このフラグを付けることで少なくとも一人の問題は解決しました.)
<item>"sl0"の代わりに"s10"を使った(いくつかのフォントでは見分けるのは難しい
かもしれません).
<item>インタフェースの状態を見るために"ifconfig sl0"をやってみてください.
私は,
<verb>
silvia# ifconfig sl0
sl0: flags=10<POINTOPOINT>
inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00
</verb>
となります.
<item>また, pingが"no route to host"というメッセージを返す時には
<tt>netstat -r</tt>でルーティングテーブルを確認しましょう。
私のは,
<verb>
silvia# netstat -r
Routing tables
Destination Gateway Flags Refs Use IfaceMTU Rtt
Netmasks:
(root node)
(root node)
Route Tree for Protocol Family inet:
(root node) =>
default inr-3.Berkeley.EDU UG 8 224515 sl0 - -
localhost.Berkel localhost.Berkeley UH 5 42127 lo0 - 0.438
inr-3.Berkeley.E silvia.HIP.Berkele UH 1 0 sl0 - -
silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438
(root node)
</verb>
となります.
(これはたくさんのファイルを転送した後でのもので, あなたの見る数字はもっと小さいかも
しれません).
</itemize>

@ -1,519 +0,0 @@
<!-- $Id: slips.sgml,v 1.8 1998-01-13 11:20:40 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.16 -->
<!-- This is an SGML version in the linuxdoc DTD of the SLIP Server
FAQ by Guy Helmer.
This guide provides instruction in configuring and preparing
a FreeBSD system to be a dialup SLIP server.
<title>
FreeBSDを SLIPサーバとしてセットアップするには
<author>Guy Helmer, <tt/ghelmer@alpha.dsu.edu/
<date>v1.0, 15 May 1995
-->
<sect><heading>SLIPサーバのセットアップ方法<label id="slips"></heading>
<p><em>原作: &a.ghelmer;.<newline>
v1.0, 15 May 1995.</em>
<p><em>訳: &a.ts;.<newline>6 September 1996.</em>
この文書の目的は, SLIPサーバ機能を FreeBSDシステムのもとで設定するため
の助言を提供することです. SLIPサーバ機能を設定するということは, リモー
トの SLIPクライアントがログインできるようにするために, 自動的に接続処
理をおこなうようにすることです. この文書は著者の経験に基づいておりますが,
実際のシステム構成や要望は異なりますから, すべての疑問にこの文書が答え
ることはできません. なお, ここでの助言を試みた結果, あなたのシステムへ
の悪影響やデータの損失が生じたとしても, 著者が責任を持つことはできませ
んのでご了解をお願いします.
当初この文書は, FreeBSD 1.xシステムでの SLIPサーバ機能のために書きまし
た. その後, FreeBSD 2.xの初期バージョンでのパス名の変更や SLIPインタフェー
ス向け圧縮フラグの削除といった変更点を反映するために, 書き換えをおこないま
した. これらが FreeBSDのバージョン間の主要な変更点だったからです. もし
この文書の間違いを見つけられましたら, ぜひ, 訂正に十分な情報とともに電
子メールでお知らせいただければ助かります.
<sect1><heading>前提<label id="slips:prereqs"></>
<p>
この文書の内容はテクニカルなものなので, 前提知識が必要です. すなわち,
TCP/IPネットワークプロトコルについての知識, 特に, ネットワークとノード
のアドレス指定をはじめ, ネットワークアドレスマスク, サブネット化, ルー
ティング, および RIPなどのルーティングプロトコルなどに関する知識を前提
としています. ダイヤルアップサーバで SLIP機能を設定するためには, これ
らの概念についての知識が必要ですから, もし不案内であると思われる方は,
O'Reilly &amp; Associates, Inc.から出版されている Craig Hunt氏の
<em>TCP/IP Network Administration</em> (ISBN 0-937175-82-X)か, または
Douglas Comer氏の TCP/IPプロトコルに関する一連の書籍をお読みください.
前提知識に加え, さらに, モデムの設定が完了しており, そのモデムを経由し
てログインできるように, システムファイル群が適切に記述できているものと
仮定しています. もしモデムの準備ができていないときには, あらかじめダイヤ
ルアップ機能の設定についてのチュートリアルをお読みください. Webブラ
ウザが使えるのであれば<tt>http://www.freebsd.org/</tt> におけるチュー
トリアルの一覧を調べてください. あるいは, この文書を見つけた場所を調べ
て, <tt/dialup.txt/ やそれに類似した名前の文書をお読みください. 関連す
るマニュアルページとしては, シリアルポート向けデバイスドライバについて
の <tt/sio(4)/ をはじめ, モデムからのログインを受理できるようにシステ
ムを設定するための <tt/ttys(5)/, <tt/gettytab(5)/, <tt/getty(8)/,
<tt/init(8)/ など, さらには, シリアルポート関連パラメタ &lsqb; たと
えば直接接続シリアルインタフェースの <tt/clocal/ &rsqb; についての
<tt/stty(1)/ なども助けになるかもしれません.
<sect1><heading>概要</heading>
<p>
一般的な設定内容で FreeBSDを SLIPサーバとして利用すると, その動作は次
のようになります. まず, SLIPユーザが FreeBSD による SLIPサーバへ電話し
て, SLIP専用IDでログインします. なお, このIDを持ったユーザはシェルとし
て <tt>/usr/sbin/sliplogin</tt> を使います. この <tt/sliplogin/ は, ファ
イル <tt>/etc/sliphome/slip.hosts</tt> の中から, ログインIDと一致する
記述行を探します. もし一致する行があれば, ログインしたシリアル回線を,
利用可能な SLIPインタフェースへ接続し, その後にシェルスクリプト
<tt>/etc/sliphome/slip.login</tt> で SLIPインタフェースを設定します.
<sect2><heading>SLIPサーバへのログイン例</heading>
<p>
仮に SLIPユーザIDが <tt>Shelmerg</tt> とします. すると,
<tt>/etc/master.passwd</tt> における <tt/Shelmerg/ のエントリは次のよ
うなものになります (実際には一つの行に続いている) .
<tscreen><verb>
Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:
/usr/users/Shelmerg:/usr/sbin/sliplogin
</verb></tscreen>
<tt/Shelmerg/ がログインすると, <tt>sliplogin</tt> は, ファイル
<tt>/etc/sliphome/slip.hosts</tt> からユーザIDと一致する行を探しま
す. いま仮に, <tt>/etc/sliphome/slip.hosts</tt> に次のような記述がなさ
れていたとします.
<tscreen><verb>
Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
</verb></tscreen>
<tt/sliplogin/ が上記のエントリを見つけると, <tt/Shelmerg/ が使用して
いるシリアル回線を, 利用可能な SLIPインタフェースのなかの最初のものへ
接続し, 次の内容の <tt>/etc/sliphome/slip.login</tt> を実行します.
<tscreen><verb>
/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
</verb></tscreen>
もし上記の手順が正常に処理されると, <tt>/etc/sliphome/slip.login</tt>
は, <tt/sliplogin/ が割り当てた SLIPインタフェース (この例では
<tt>slip.login</tt> で与えられたパラメタのうちで最初の値である SLIP
インタフェース0である) に対して <tt>ifconfig</tt> を実行し, ローカル
IPアドレス (<tt>dc-slip</tt>)をはじめ, リモート IPアドレス
(<tt>sl-helmer</tt>), SLIPインタフェースへのネットワークマスク
(<tt>0xfffffc00</tt>), およびその他のフラグ (<tt>autocomp</tt>)を設定
します. 逆に, さきほどの手順が正常に終了しなかった場合, 通常は
<tt/sliplogin/ は十分な情報を syslogデーモン機能経由で
<tt>/var/log/messages</tt> へ記録します ( <tt>syslogd(8)</tt> や
<tt>syslog.conf(5)</tt> のマニュアルページを参照のうえ, さらに
<tt>/etc/syslog.conf</tt> を調べて <tt>syslogd</tt> がどのファイルへ記
録するかを確認のこと) .
例はこのくらいにして, さっそくシステムのセットアップを始めてみましょう.
<sect1><heading>カーネルのコンフィグレーション</heading>
<p>
FreeBSDのデフォルトのカーネルには, 通常, 二つの SLIPインタフェースが
準備されています (<tt>sl0</tt> と <tt>sl1</tt>) . これらのインタフェー
スが使用中のカーネルに準備されているかどうかを調べるには,
<tt>netstat -i</tt> を実行してください.
<tt>netstat -i</tt> の出力例
<tscreen><verb>
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
ed0 1500 <Link>0.0.c0.2c.5f.4a 291311 0 174209 0 133
ed0 1500 138.247.224 ivory 291311 0 174209 0 133
lo0 65535 <Link> 79 0 79 0 0
lo0 65535 loop localhost 79 0 79 0 0
sl0* 296 <Link> 0 0 0 0 0
sl1* 296 <Link> 0 0 0 0 0
</verb></tscreen>
<tt>netstat -i</tt> の出力に <tt>sl0</tt> と <tt>sl1</tt> のインタフェー
スが含まれているということから, カーネルには二つの SLIPインタフェー
スが組み込まれているということを示しています. (<tt>sl0</tt> と
<tt>sl1</tt> に付いたアスタリスクは, <tt>netstat -i</tt> の実行時点で
はインタフェースがダウンしていることを表しています. )
なお, パケットのフォワード機能はFreeBSDのデフォルトのカーネルでは設定
されていません (すなわちルータとしては動作しない) . もしインターネット
接続ホストについての RFC要件 ( RFC 1009 &lsqb;Requirements for
Internet Gateways&rsqb; と 1122 &lsqb;Requirements for Internet Hosts --
Communication Layers&rsqb;, おそらく 1127 &lsqb;A Perspective on
the Host Requirements RFCs&rsqb; も ) に準拠して, FreeBSDによる SLIPサー
バをルータとして動作させたいときには, <tt>/etc/rc.conf</tt> (バージョ
2.2.2 より前の FreeBSD では <tt>/etc/sysconfig</tt>) ファイル
の <bf>gateway</bf> 変数を <tt>YES</tt> としてください. もし古いシステ
ムで <tt>/etc/sysconfig</tt> ファイルすらないときには, 次のコマン
ドを <tt>/etc/rc.local</tt> へ追加してください.
<verb>
sysctl -w net.inet.ip.forwarding = 1
</verb>
<p>
この新しい設定を有効とするには, リブートする必要があります.
<p>
デフォルトのカーネルコンフィグレーションファイル
(<tt>/sys/i386/conf/GENERIC</tt>) の最後の部分に, 次のような行がありま
す.
<tscreen><verb>
pseudo-device sl 2
</verb></tscreen>
この行によって, 使用可能な SLIPデバイスの総数が決まります. すなわち, 行
末の数値が, 同時に動作可能な SLIP接続の最大数となります.
カーネルの再構築については, <ref id="kernelconfig" name="FreeBSDカー
ネルのコンフィグレーション"> を参照ください.
<sect1><heading>Sliploginのコンフィグレーション</heading>
<p>
すでにご説明したように, <tt>/usr/sbin/sliplogin</tt> のコンフィグレー
ションのために, 3種類のファイルが<tt>/etc/sliphome</tt> ディレクトリに
あります (<tt>sliplogin</tt> についての実際のマニュアルページとしては
<tt>sliplogin(8)</tt> を参照のこと) . ファイル <tt>slip.hosts</tt> は
SLIPユーザおよびその IPアドレスを決めます. 通常, ファイル
<tt>slip.login</tt> は, SLIPインタフェースを設定することだけに使
用します. <tt>slip.logout</tt> はオプションのファイルで,
<tt>slip.login</tt> で設定した内容を, シリアル接続が終了した時点で解除
するときに使用します.
<sect2><heading>slip.hostsのコンフィグレーション</heading>
<p>
<tt>/etc/sliphome/slip.hosts</tt> には, 少なくとも 4 つの項目をホワイ
トスペース (スペースやタブ) で区切って指定します.
<itemize>
<item> SLIPユーザのログインID
<item> SLIPリンクのローカル (SLIPサーバ側) アドレス
<item> SLIPリンクのリモートアドレス
<item> ネットワークマスク
</itemize>
ホスト名をローカルおよびリモートのアドレスとして記述できます (IPアドレ
スの決定は, <tt>/etc/host.conf</tt> の指定内容に応じて,
<tt>/etc/hosts</tt> か DNSのいずれかによって決定される) . また, ネット
ワークマスクも <tt>/etc/networks</tt> ファイルに記述された名前を参照す
ることで, 指定することもできると思います. これまでの例としてあげたシス
テムでの <tt>/etc/sliphome/slip.hosts</tt> は次のようになります.
<tscreen><verb>
----- begin /etc/sliphome/slip.hosts -----
#
# login local-addr remote-addr mask opt1 opt2
# (normal,compress,noicmp)
#
Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
----- end /etc/sliphome/slip.hosts ------
</verb></tscreen>
それぞれの行の最後には, 次に示すオプションを一つ以上指定できます.
<itemize>
<item> <tt>normal</tt> - ヘッダを圧縮しない
<item> <tt>compress</tt> - ヘッダを圧縮する
<item> <tt>autocomp</tt> - リモートの設定に応じて, ヘッダを圧縮する
<item> <tt>noicmp</tt> - ICMPパケットを禁止する (pingパケットは送出されず, バンド幅を占有しない)
</itemize>
なお, FreeBSDバージョン2の初期リリースの <tt/sliplogin/ は, 旧
FreeBSD 1.xでは有効であった上記のオプションを無視していましたので,
<tt/normal/, <tt/compress/, <tt/autocomp/, そして <tt/noicmp/ などのオ
プションは FreeBSD 2.2でサポートされるまでは効果がありませんでした (た
だしこれらのフラグを使うためには <tt/slip.login/ スクリプトへ記述する
必要がある) .
SLIPリンクでのローカルとリモート向けのアドレスの選び方は, TCP/IPサブネッ
トを専用に割り当てるか, または「プロキシ ARP」を SLIPサーバへ用いるかによっ
て違います (プロキシ ARPという用語のここでの使い方は本来のものではない
が, 説明のためにこの用語を使う) . もし, どちらの方式を選ぶべきか判らな
かったり, IPアドレスの割り当て方が不明のときには, 上述の <ref
id="slips:prereqs" name="前提"> の節で紹介した TCP/IP関連書籍を参考になさるか,
またはあなたの IPネットワークを管理している方に相談なさるとよいでしょう.
独立したサブネットを SLIPクライアントへ適用するときには, すでに割り当
てられている IPネットワーク番号の範囲からサブネット番号を割り当て, 同
時にそのサブネットの範囲内で有効な IPアドレスを SLIPクライアントの IP
番号として割り当てる必要があります. さらに, この SLIPサブネットから
SLIPサーバを経由して最も近い IPルータへの経路を静的に設定するか, また
は <tt>gated</tt> を FreeBSDによる SLIPサーバへインストールして, 適当
なルーティングプロトコルを使って, SLIPサーバ経由のサブネットへの経路情
報をルータ群へ通知できるように設定するか, のいずれかをおこなう必要がありま
す.
「プロキシ ARP」方式を採用するときには, SLIPクライアント向けの IPアドレス
として, SLIPサーバのサブネットの範囲から選んで割り当てるとともに,
<tt>arp(8)</tt> コマンドを使うために <tt>/etc/sliphome/slip.login</tt>
と<tt>/etc/sliphome/slip.logout</tt> のスクリプトを修正して, SLIPサー
バにおける ARPテーブル内のプロキシ ARPエントリへ反映させる必要がありま
す.
<sect2><heading>slip.loginのコンフィグレーション</heading>
<p>
ファイル <tt>/etc/sliphome/slip.login</tt> の一般的な内容は次にように
なります.
<tscreen><verb>
----- begin /etc/sliphome/slip.login -----
#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# generic login file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
----- end /etc/sliphome/slip.login -----
</verb></tscreen>
この <tt>slip.login</tt> ファイルの役目は単に, SLIPインタフェースにつ
いてのローカルとリモートのアドレス, およびそのネットワークマスクを
<tt>ifconfig</tt> コマンドで設定することです.
もしプロキシ ARP方式を採用する (SLIPクライアントへ独立したサブネットを
使わない) ときには, ファイル <tt>/etc/sliphome/slip.login</tt> は次の
ような内容になります.
<tscreen><verb>
----- begin /etc/sliphome/slip.login for "proxy ARP" -----
#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# generic login file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
# Answer ARP requests for the SLIP client with our Ethernet addr
/usr/sbin/arp -s $5 00:11:22:33:44:55 pub
----- end /etc/sliphome/slip.login for "proxy ARP" -----
</verb></tscreen>
この <tt>slip.login</tt> で追加された行
<tt>arp -s &dollar;5 00:11:22:33:44:55 pub</tt> は,
SLIPサーバにおける ARPテーブルへ新たなエントリを作ります. SLIPサーバ
は, この ARPエントリが作られると, SLIPクライアントの IPアドレスと話し
たい他の IPードが要求してきたときにはいつも, SLIPサーバ
の Ethernet MACアドレスを返すようになります.
上記の例を実際に流用なさるときには, 例にある Ethernet MACアドレス
(<tt>00:11:22:33:44:55</tt>) を, あなたのシステムの実際のEthernetカー
ドの MACアドレスと置き換えなければ「プロキシ ARP」はうまく動作しません!
SLIPサーバの Ethernet MACアドレスを調べるには <tt>netstat -i</tt> コマ
ンドを利用してください. 実行結果の第2行は次のようなものになるはずです.
<tscreen><verb>
ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116
^^^^^^^^^^^^^^^
</verb></tscreen>
この例での Ethernet MACアドレスは <tt>00:02:c1:28:5f:4a</tt> であると
読みます. なお <tt>arp(8)</tt> における MACアドレスの指定に際しては,
コマンド <tt>netstat -i</tt> が付けた Ethernet MACアドレスのピリオド記
号をコロン記号と置き換え, かつ単一桁の 16 進数にはゼロを先頭に加える必
要があります. この指定についての正確な情報は <tt>arp(8)</tt> を参照く
ださい.
ご注意いただきたいのは, <tt>/etc/sliphome/slip.login</tt> と
<tt>/etc/sliphome/slip.logout</tt> を作成したならば, ファイル属性の実
行ビット (すなわち
<tt>chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout</tt>) を
設定しなければならないということです. さもなければ <tt>sliplogin</tt> が
うまく実行されません.
<sect2><heading>slip.logoutのコンフィグレーション</heading>
<p>
ファイル <tt>/etc/sliphome/slip.logout</tt> は必ずしも必要なものではあ
りません (ただし「プロキシ ARP」を利用する場合を除く) . もしこのファイルを
作成するときには, 次に示す標準的な <tt>slip.logout</tt> スクリプト例を
参考にしてください.
<tscreen><verb>
----- begin /etc/sliphome/slip.logout -----
#!/bin/sh -
#
# slip.logout
#
# logout file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
----- end /etc/sliphome/slip.logout -----
</verb></tscreen>
「プロキシ ARP」を利用する場合, この <tt>/etc/sliphome/slip.logout</tt> を
使って, 特定の SLIPクライアント向けの ARPエントリを削除したくなるよう
なときがあります.
<tscreen><verb>
----- begin /etc/sliphome/slip.logout for "proxy ARP" -----
#!/bin/sh -
#
# @(#)slip.logout
#
# logout file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
# Quit answering ARP requests for the SLIP client
/usr/sbin/arp -d $5
----- end /etc/sliphome/slip.logout for "proxy ARP" -----
</verb></tscreen>
コマンド <tt>arp -d &dollar;5</tt> は, SLIPクライアントがログインした
際に, 「プロキシ ARP」を使った <tt>slip.login</tt> によって追加され
た ARPエントリを削除します.
これによって, 繰り返して利用することができるわけです. 必ず,
<tt>/etc/sliphome/slip.logout</tt> を作成した後に, 実行ビットを設定し
てください ( <tt>chmod 755 /etc/sliphome/slip.logout</tt> ) .
<sect1><heading>ルーティングについての考慮点</heading>
<p>
「プロキシ ARP」方式を利用せずに SLIPクライアントとその他のネットワーク
(Internetも含む) の構成要素との間でパケットをルーティングするときには,
SLIPサーバ経由で SLIPクライアントが属するサブネットまでの経路を, 最も
近いデフォルトのルータ群へ静的な経路情報として追加しなければならないか,
または <tt>gated</tt> を FreeBSDによる SLIPサーバへインストールして,
SLIP サブネットについての経路情報を, 適当なルーティングプロトコルでルー
タ群へ通知できるように設定するか、のどちらかをおこなわなければなりません.
<sect2><heading>静的な経路</heading>
<p>
静的な経路を最も近いデフォルトのルータ群へ追加することが困難なことがあ
ります (経路情報を追加できる権限がなければそもそも不可能となる). もし
あなたの組織に複数のルータで構成されたネットワークがあるならば, ある種
のルータ (たとえば Ciscoや Proteonなど) は, 静的な経路を SLIPサブネッ
トへ使うようにルータを設定しなければならないだけでなく, その静的経路を
他のどのルータへ知らせるのかもあらかじめ指定しておく必要がありますから,
静的経路に基づくルーティングを軌道に乗せるにはそれなりの専門的技術やト
ラブルシューティングやコツが必要だと思います.
<sect2><heading>gatedの稼働</heading>
<p>
静的経路についての頭痛への代替手段は, <tt>gated</tt> を FreeBSDによる SLIPサー
バへインストールして, 適切なルーティングプロトコル (RIP/OSPF/BGP/EGP)
を使って SLIPサブネットについての経路情報を他のルータへ知らせるように
設定することです. <ref id="ports" name="ports コレクション">から
<tt/gated/ を用いることもできますし, <htmlurl
url="ftp://ftp.gated.merit.edu/research.and.development/gated/"
name="the GateD 匿名 FTP サイト"> から探して自分自身で構築することもで
きます. この文章を執筆時点の最新バージョンは
<tt>gated-R3_5Alpha_8.tar.Z</tt> であり, このファイルだけで FreeBSDで
動作させることができます. <tt>gated</tt> についてのすべての情報と文書
は <htmlurl url="http://www.gated.merit.edu/"
name="Merit GateD コンソーシアム"> からはじまる Web上で入手でき
ます. <tt>gated</tt> のコンパイルとインストールを行ったならば, 独自の
設定のために <tt>/etc/gated.conf</tt> ファイルを記述してください. 次の
例は, 筆者が FreeBSDによる SLIPサーバで使っている内容と類似のものです.
<tscreen><verb>
----- begin sample /etc/gated.conf for gated version 3.5Alpha5 -----
#
# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
#
#
# tracing options
#
traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
rip yes {
interface sl noripout noripin ;
interface ed ripin ripout version 1 ;
traceoptions route ;
} ;
#
# Turn on a bunch of tracing info for the interface to the kernel:
kernel {
traceoptions remnants request routes info interface ;
} ;
#
# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
#
export proto rip interface ed {
proto direct {
xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections
} ;
} ;
#
# Accept routes from RIP via ed Ethernet interfaces
import proto rip interface ed {
all ;
} ;
----- end sample /etc/gated.conf -----
</verb></tscreen>
この <tt>gated.conf</tt> ファイルの例では, SLIPのサブネット
<tt>xxx.xxx.yy</tt> についての経路情報を RIPを使って Ethernetへブロー
ドキャストしています. もし <tt/ed/ ドライバ以外の Ethernetドライバを使
うのであれば, <tt/ed/ インタフェースの記述を適切なものに置き換えてくだ
さい. またこの例では, <tt>gated</tt>の動作をデバッグするために,
<tt>/var/tmp/gated.output</tt> へトレース情報を出力するように指示して
います. <tt>gated</tt> が希望通りに動作したならば, このトレースオプショ
ンを止めることができます. なお, 例における <tt>xxx.xxx.yy</tt> を, あ
なた自身の SLIPサブネットのネットワークアドレスに換えてください (また
<tt>proto direct</tt> 部分のネットワークマスクも換えることを忘れないこ
と) .
<tt>gated</tt> のコンパイルとインストールが終了し, コンフィグレーショ
ンファイルの作成も完了したら, FreeBSDシステムではデフォルトの
<tt>routed</tt>に代わって <tt>gated</tt> を起動してください. そのため
には, <tt>/etc/netstart</tt> の <tt>routed/gated</tt> 起動パラメタを
適切な値に設定してください. <tt>gated</tt> のコマンドラインパラメタにつ
いての情報は, <tt>gated</tt> のマニュアルページを参照してください.
<sect1><heading>謝辞</heading>
<p>
このチュートリアルについてのコメントやアドバイスを寄せてくれた次の方々
に感謝します.
<descrip>
<tag/&a.wilko;/
<tag/Piero Serini/ &lt;Piero@Strider.Inet.IT&gt;
</descrip>
<!-- </article> -->

@ -1,108 +0,0 @@
<!-- $Id: stable.sgml,v 1.11 1997-10-21 16:16:30 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.16 -->
<sect><heading>FreeBSD の安定状態の持続<label id="stable"></heading>
<p><em>原作: &a.jkh;.</em>
<p><em>訳: &a.iwasaki;.</em>
<!--
THE FREEBSD STABLE POLICY
Last updated: $Date: 1997-10-21 16:16:30 $
This document attempts to explain the rationale behind
FreeBSD-stable, what you should expect should you decide to run it,
and states some prerequisites for making sure the process goes as
smoothly as possible.
-->
<sect1><heading>FreeBSD-stable ってなに?</heading>
<p>FreeBSD-stable は, 次の本流のリリースを目指した新機能をあまり採り入
れない保守的な変更のための開発の支流です. 実験的またはテスト未完の変更
はこの支流には取り入れられません (<ref id="current" name="最新の
FreeBSD を追いかける"> 参照).
<sect1><heading>誰が FreeBSD-stable を必要としているの?</heading>
<p>もしあなたが仕事で使用しているとか, なによりも FreeBSD システムの安
定性を最重要視するなら, <em>stable</em> を追いかけることを考えるべきで
しょう. <em>stable</em>の支流は前のリリースに関して効果的にバグフィッ
クスされた流れであるため, 最新のリリース (<htmlurl
url="ftp://ftp.freebsd.org/pub/FreeBSD/&rel.current;-RELEASE"
name="&rel.current;-RELEASE"> 執筆時点) をインストールしているのであれば, 特に
そうです.
<p><em>stable</em> ツリーが常に完全に互換性があり安定するように努力し
ていますが, たまに間違いがあることに注意してください (結局, 内容が吟味
されずに素早く送られた変更を含むソースがまだあるのです). また,
<em>current</em> を <em>stable</em> へ移行する前に完璧なテストフィック
スに最善を尽くしますが, 私たちのテストはすべてのケースを十分に網羅して
いるとは限りません. もし何か <em>stable</em> で不具合があるようでした
ら, 私たちに<em>すぐに</em>教えてください (次の節参照).
<sect1><heading>FreeBSD-stable を使う</heading>
<p><enum><item> &a.stable へ加わってください. このメーリングリスト
では, <em>stable</em> の構築に関連する事柄や, その他の注意すべき点
に関する情報が流れています. また開発者は議論の余地がある修正や変更
を考えている場合に, このメーリングリストで公表し, 提案された変更に
関して問題が生じるかどうかを返答する機会をユーザに与えます.
メーリングリストに参加するには, &a.majordomo へメッセージの本文に
次のように書いたメールを送ってください:
<verb>
subscribe freebsd-stable
</verb>
オプションとして本文に `help' と書けば, Majordomo は私たちがサポー
トする様々なメーリングリストに参加 / 脱退する方法に関する詳しいヘ
ルプを送付します.
<item> ftp.FreeBSD.ORG からのソースの入手. 以下の 3つの方法で
おこなうことができます :
<enum>
<item> <ref id="ctm" name="CTM"> 機能を使用する. 転送レートが
安定している TCP/IP 接続でない場合は, この方法が適して
います.
<item> <ref id="cvsup" name="cvsup"> を
<url url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/stable-supfile" name="この supfile">
を用いて使用する. 一度コレクション全体を入手してしまえば,
前回からの変更部分だけですむので, 2番目に推奨される方法で
す. 多くの人が cron から cvsup を実行し, 自動的にソースコー
ドを最新の状態に保っています.
<item> ftp を使用する. FreeBSD-stable 用のソースツリーは
常に次のところで「公開」されています :
<htmlurl url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable"
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable">
<p>私たちはまた, tar/compress でツリー全体を入手できる
`wu-ftpd' を使用しています. 例えば :
<verb>
usr.bin/lex
</verb>
に対して:
<verb>
ftp> cd usr.bin
ftp> get lex.tar.Z
</verb>
とすることにより, ディレクトリ全体を compress された tar
ファイルとして入手することができます.
</enum>
<item> 基本的には, ソースに迅速でオンデマンドなアクセスが必要で,
接続のバンド幅が問題でなければ, cvsup か ftp を使いましょう. そうで
ない場合は CTM を使いましょう.
<item> stable をコンパイルする前に, /usr/src にある Makefile をよ
く読んでください. 少なくとも一回はアップグレードの処理の一部として
最初に `make world' を実行するべきでしょう. &a.stable を読めば, 次
のリリースに移行するに当たって時々必要となる既存システムからの新シ
ステムの構築手順についての最新情報が得られるでしょう.
</enum>

File diff suppressed because it is too large Load Diff

@ -1,53 +0,0 @@
<!-- $Id: synching.sgml,v 1.11 1997-09-13 10:07:13 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.12 -->
<sect><heading>インターネットを通じたソースツリーの同期<label id="synching"></heading>
<p><em>原作: &a.jkh;.</em>
<p><em>訳: &a.iwasaki;.<newline>13 September 1997.</em>
<!--
Last updated: $Date: 1997-09-13 10:07:13 $
This document tries to describe the various ways in which a user may
use the internet to keep development sources in synch.
-->
<p>インターネット接続 (または電子メール) を使用して, あなたの興味の対
象によって FreeBSD プロジェクトのソースのある一部分または全体の最新を
追いかける方法は色々あります. 私たちが提供している基本的なサービスは
CVSup と CTM です:
<p><bf>CVSup</bf> は <em>pull</em> 同期モデルを採用しています.
ユーザ (または cron スクリプト) は <tt>cvsup</tt> プログラムを
起動し, どこかにある <tt>cvsupd</tt> サーバとやりとりしてファイルを
最新状態にします. 届けられる更新情報はその時点の最新のものであり,
また必要な時にだけ取り寄せられます. 興味のある特定のファイルやディレクトリに
限定して更新することも簡単にできます. クライアント側のソースツリーの状態・
設定ファイルの指定に従い, サーバによって更新情報が素早く生成されます.
<p>一方, <bf>CTM</bf> はあなたが持っているソースとマスタアーカイブ上に
あるそれとの対話的な比較をおこないません.
そのかわりに, 前回の実行時からの変更を認識するスクリプトがマスタアーカ
イブ上で一日に数回実行され, すべての変更を compress して通し番号を振り,
さらに電子メールで転送できるようにエンコードします (印字可能な ASCII
キャラクタのみです). 受信した後は, これらの「CTM のデルタ」は自動
的にデコード, 検査してユーザのソースのコピーに変更を適用する
ctm_rmail(1) によって処理可能となります. この処理は CVSup よりずっと効率
的であり, <em>pull</em> モデルというよりむしろ <em>push</em> モデルで
あるため, 私たちのサーバ資源の負荷は軽くなります.
<p>もちろん他のトレードオフもあります. うっかりアーカイブ
の一部を消してしまっても, CVSup は壊れた部分を検出して再構築してくれます.
CTM はこれをやってくれません. もしソースツリーの一部を消してしまったら,
一からやり直して (最新の CVS 「ベースデルタ」から) すべてを再構築しなければ
なりません.
CVSup と CTM についての
詳しい情報については, 以下の節を参照してください:
&ctm;
&cvsup;

@ -1,527 +0,0 @@
<!-- $Id: term.sgml,v 1.6 1997-02-25 04:59:14 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.7 -->
<!-- This is an SGML document in the linuxdoc DTD describing
hardwired terminals with FreeBSD. By Sean Kelly, (c) 1996.
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
<linuxdoc>
<article>
<title> 端末
<author> Sean Kelly <tt/kelly@fsl.noaa.gov/
<date> 24 June 1996, (c) 1996
<abstract> このドキュメントでは, FreeBSD が動作しているコンピュー
タに接続されたシリアル端末の利用について説明します. 配線も含めたシリア
ル端末のハードウェアの設定, FreeBSD に接続されたシリアル端末に対してロ
グイン セッションを可能にするための設定方法, シリアル端末関連のト
ラブルシューティングについてまとめています.
</abstract>
<toc>
-->
<sect><heading>シリアル端末<label id="term"></heading>
<p><em>原作: &a.kelly;<newline>28 July 1996</em>
<p><em>訳: &a.max;</em>
シリアル端末を利用することで, コンピュータのコンソールのそばにいないと
きや, 手近にネットワーク接続されているコンピュータがないときでも,
FreeBSD の機能を便利に, かつ安価に利用することができます. ここでは,
FreeBSD にシリアル端末を接続する方法を解説します.
<sect1><heading>端末の種類と利用方法<label
id="term:uses"></heading>
<p>もともと Unix システムにはコンソールがありませんでした. ユー
ザはコンピュータのシリアル ポートに接続された端末からログインして
プログラムを利用していました. ちょうどモデムと通信ソフトを使ってリモート
のコンピュータにログインし, テキスト ベースのプログラムを利用するのと
よく似ています.
最近の PC は, 高品質の画像を表示できるコンソールを搭載していま
すが, ほとんどすべての Unix 系 OS には未だにシリアル ポートを使ってログ
インするための機能があり, FreeBSD でもこの機能がサポートされています.
現在使用されていないシリアル ポートに端末を接続することでシステムに
ログインし, 通常はコンソールや Xウィンドウ システムの <tt/xterm/ のウィ
ンドウ上で起動しているテキスト ベースのプログラムであれば何
でも利用することができます.
職場での利用ということで考えるならば, FreeBSDが動作しているコンピュー
タに接続された何台ものシリアル端末を各社員の机に配置するというようなこ
とが可能です. また, 家庭での利用方法としては, 余っている古い IBM PC や
Macintosh を FreeBSD が動いているパワフルなコンピュータの端末として利
用することができます. 普通ならシングルユーザのコンピュータを, パワフ
ルなマルチユーザのシステムに変えることができるのです.
FreeBSD では, 以下に挙げる3種類の端末が利用できます.
<itemize>
<item><ref name="ダム (dumb) 端末" id="term:dumb">
<item><ref name="PCを利用した端末" id="term:pcs">
<item><ref name="X 端末" id="term:x">
</itemize>
以下は, それぞれについての解説です.
<sect2><heading>ダム端末<label id="term:dumb"></heading>
<p>ダム端末は, シリアルライン経由でのコンピュータとの接続専
用のハードウェアです. ダム端末は, テキストの送受信および表示ができる
程度の計算能力しかもっていないので, ``dumb'' (間抜け) というように呼ば
れています. この端末上でプログラムを実行することはできません. テキスト
エディタ, コンパイラ, E-mail, ゲームなどなどのプログラムを実行するのは,
ダム端末を接続しているコンピュータの方です.
Digital Equipment社の VT-100 や, Wyse社の WY-75 を初めとして,
多くのメーカが何百種類もの ダム端末を作っています. ほとんどどんな種
類のダム端末でも FreeBSD に接続して使用できます. さらに, 高性能の端
末の中には画像を取り扱えるものもありますが, 限られた数のソフトウェア
パッケージしかこういった機能には対応していません.
ダム端末は, X ウィンドウ システムで提供されるようなグラ
フィックアプリケーションを必要としない職場で広く用いられています.
<sect2><heading>PC を端末として利用する<label
id="term:pcs"></heading>
<p><ref name="ダム端末" id="term:dumb"> がテキストの表示およ
び送受信の機能をそなえただけのものならば, 言うまでもなく, どんなPC
もダム端末になり得ます. 必要なものは適切なケーブルと, そのPCの上
で動作する<em/端末エミュレーション/ を行うソフトウェアのみです.
このような環境は, 家庭においてよく利用されます. たとえば, あなたの同居
人が FreeBSD のコンソールを専有している時などに, あまりパワーのないコ
ンピュータを FreeBSD システムにシリアル端末として接続し, その端末上で
テキストだけを用いる作業をおこなうことができます.
<sect2><heading>X 端末<label id="term:x"></heading>
<p>X 端末は, 既存のものの中で最も洗練された種類の端末といえ
ます. X 端末は, たいていの場合シリアル ポートで゜はなく, イーサネッ
トのようなネットワークを利用した接続をおこないます. また, アプリケーション
の利用においても, テキストベースのものだけでなく, X アプリケーション
の利用が可能です.
ここでは, 参考までに 端末について紹介しただけで, X 端
末の設定や利用についての解説は<em/おこないません/.
<sect1><heading>ケーブルとポート<label
id="term:cables-ports"></heading>
<p>シリアル端末を FreeBSD システムに接続するためには, 適切なケー
ブルと, 端末を接続するためのシリアルポートが必要です. ここでは, これ
らについて説明します. もし既にあなたの利用したい端末と, その端末
を接続するためのケーブルについてよく理解していれば, <ref name="設定"
id="term:config"> の章まで読み飛ばしてください.
<sect2><heading>ケーブル<label id="term:cables"></heading>
<p>端末の接続は, シリアルポートを利用します. そこで, 端末を
FreeBSD システムに接続するためには, シリアルケーブル (RS-232C ケーブ
ルとも呼ばれています) が必要となります.
シリアルケーブルには2種類のケーブルがあります. どちらの種類の
ケーブルを使わなければいけないかは, どんな端末を接続したいかによります.
<itemize>
<item>もし, PC を端末として利用したい場合は, <ref
name="ヌルモデム" id="term:null"> ケーブル (リバースケーブルもしくは
クロスケーブルと呼ばれることもしばしばあります) を使用してください.
ヌルモデムケーブルは, コンピュータ同士や端末同士を接続するために用い
られるケーブルです.
<item>もし, 本物の端末を接続するのであれば, その端末につい
てきたドキュメントからどのようなケーブルを使うべきか調べてください. も
しドキュメントがない場合は, まず <ref name="ヌルモデム"
id="term:null"> ケーブルを試してみて, うまくいかない場合は <ref name="
スタンダード" id="term:std"> ケーブル (しばしばストレートケーブルと呼
ばれます) を試してみてください.
</itemize>
また, 端末側と FreeBSD 側の <em/両方の/ シリア ポート
の形状が, あなたが使用しようとしているケーブルについているコネクタの形
状と一致していなければなりません.
<sect3><heading>ヌルモデムケーブル<label id="term:null"></heading>
<p>ヌルモデムケーブル (またはリバースケーブルあるいはクロ
スケーブル) は, たとえば ``signal ground'' 信号のように, いくつかの信
号はそのまま通しますが, 他の信号は途中で入れ替えて通します. たとえば,
``send data'' 信号のピンは, 反対側のコネクタの ``receive data'' 信号の
ピンと繋がっています.
自分で使うケーブルは自分で作りたいということであれば, 以下にター
ミナルを接続する際に推奨されるヌルモデムケーブルの結線を示しておきま
す. この表では, RS-232C の信号線の名前と, DB-25 コネクタ上のピンの番
号を示しています.
<tscreen><verb>
Signal Pin# Pin# Signal
TxD 2 ----------------------- 3 RxD
RxD 3 ----------------------- 2 TxD
DTR 20 ----------------------- 6 DSR
DSR 6 ----------------------- 20 DTR
SG 7 ----------------------- 7 SG
DCD 8 ----------------------+ 4 RTS*
*RTS 4 + + 5 CTS*
*CTS 5 +---------------------- 8 DCD
* まず, コネクタ内部でピン4を5に接続し, そして逆側のコネクタのピン8と接
続します.
</verb></tscreen>
<sect3><heading>スタンダード RS-232C ケーブル<label
id="term:std"></heading>
<p>スタンダードシリアルケーブル (またはストレートケーブル)
の場合は, すべての RS-232C 信号をそのまま通します. つまり, 片方の ``send
data'' 信号のピンは, 逆側の ``send data'' 信号のピンと繋がっています.
モデムを FreeBSD に接続するときや, 一部の端末を接続するときにこのタイプの
ケーブルを使用します.
<sect2><heading>ポート<label id="term:ports"></heading>
<p>シリアルポートは, FreeBSDが動作しているホスト コンピュータと端
末の間でデータのやりとりを行うために用いるデバイスです. ここでは,
現在存在するポートの種類と FreeBSD でのポートのアクセス方法について解
説します.
<sect3><heading>ポートの種類<label
id="term:portkinds"></heading>
<p>シリアルポートには何種類かのものがあります. ケーブルを購
入したり自作したりする前に, そのケーブルのコネクタの形状が端末および FreeBSD
システムのポートの形状と一致していることを確認してください.
ほとんどの端末は DB25 ポートを搭載しています. FreeBSDが動作しているも
のを含めて, PCは DB25 または DB9 ポートを搭載しています. マルチポート
のシリアルカードの場合は, RJ-12 や RJ-45 のポートを搭載しているかもし
れません.
利用されているポートの種類に関しては, ハードウェアについてきたドキュメ
ントを参照してください. また, 多くの場合, ポートの形状から判断すること
もできるでしょう.
<sect3><heading>ポートの名前<label
id="term:portnames"></heading>
<p>FreeBSDでは, <tt>/dev</tt> ディレクトリ内のエントリを介
してシリアルポートへのアクセスがおこなわれます. 2種類の異なったエン
トリがあります.
<itemize>
<item>着信用のポートの名前は, <tt>/dev/ttyd<it/x/</tt>
(<it/x/ は 0から始まるポート番号) となっています. 一般に端末の接続には
着信用ポートを用います. 着信用のポートでは, シリアルラインのデータ
キャリア検出 (DCD) 信号がオンになっている必要があります.
<item>発信用のポートの名前は, <tt>/dev/cuaa<it/x/</tt>
となっています. 発信用のポートは普通モデムの接続に用い, 端末の接続には
利用しません. ただ, ケーブルまたは端末がキャリア検出信号を使えない
タイプのものの場合は, 発信用のポートを使うとよいでしょう.
</itemize>
詳しくは, sio(4) のマニュアルをご覧ください.
たとえば, 端末を一つ目のシリアルポート (DOS でいうところの COM1) に接
続したとすると, <tt>/dev/ttyd0</tt> がこの端末を指すことになります.
また, 二つ目のシリアルポート (COM2) ならば <tt>/dev/ttyd1</tt> となり,
以下この形式のデバイスエントリを使います.
各シリアルポート, 特にマルチポートのシリアルカードを利用する
ために, kernel の設定をおこなう必要がある場合がありますので, 注意してくだ
さい. 詳しくは, <ref name="FreeBSDカーネルのコンフィグレーション"
id="kernelconfig"> をご覧ください.
<sect1><heading>設定<label id="term:config"></heading>
<p>ここでは, 端末からのログインを可能にするために必要な FreeBSD
側の設定について解説します. 既に端末を接続するポートが利用できるように
kernel の設定をおこない, 端末が接続されているものと考えて, 解説を進め
ます.
簡単に言えば, プロセス管理や初期化をおこなっている <tt/init/ プロセス
に対して, ログイン名を読み込み <tt/login/ プログラムを起動している
<tt/getty/ を実行するように指示します.
これをおこなうには, <tt>/etc/ttys</tt> の内容を編集する必要があります.
まず, <tt/su/ コマンドで root になって, <tt>/etc/ttys</tt> に以下の
変更を加えてください.
<enum>
<item>端末を接続するポートの <tt>/dev</tt> のエントリが含ま
れている行がまだ存在しなければ, これを <tt>/etc/ttys</tt> に追加してく
ださい.
<item><tt>/usr/libexec/getty</tt> が対象となるポートに対して
実行されるように指定してください. また, <tt>/etc/gettytab</tt> ファイ
ル内の適切な <tt/getty/ タイプのエントリを指定してください.
<item>デフォルトのターミナルタイプを指定してください.
<item>対象となるポートを ``on'' に設定してください.
<item>そのポートが ``secure'' であるかどうかを指定してくださ
い.
<item><tt/init/ に <tt>/etc/ttys</tt> を読み込みなおさせてく
ださい.
</enum>
また, 必要に応じて <tt>/etc/gettytab</tt> を変更し, 上の 2で使用する
<tt/getty/ のエントリを追加してください. このドキュメントではこの方
法については特に解説しませんので, gettytab(5) および getty(8) のマニュ
アルをご覧ください.
以下では, 上のステップについて詳しく解説します. 実例を用いて, 何をす
べきかを解説していきます. Wyse-50 と, 古い IBM の 286 マシン上で通信
ソフト Procomm を使って VT-100 エミュレーションをおこなっているものを端
末の例として紹介します. また, Wyse は 2番目のポートに, 286マシンは 6
番目のポート (マルチポートのシリアルカード上のポート) に接続します.
<tt>/etc/ttys</tt> について, より詳しくは, ttys(5) のマニュアルをご覧
ください.
<sect2><heading> <tt>/etc/ttys</tt> へのエントリの追加<label
id="term:etcttys"></heading>
<p>既にエントリがある場合を除いて, まず初めに
<tt>/etc/ttys</tt> にエントリを追加しなければいけません.
<tt>/etc/ttys</tt> には, FreeBSDシステム上のログインを許可するすべての
ポートを記述します. たとえば, 一つ目の仮想コンソール <tt/ttyv0/ のエン
トリもこのファイルにあります. このエントリのおかげで, コンソールからの
ログインが可能になっています. このファイルには, 他の仮想コンソール, シ
リアルポートおよび仮想端末のエントリも含まれています. 端末を接続する
場合は, そのポートの <tt>/dev</tt> のエントリを, <tt>/dev</tt> の部分
を省略して記述します.
FreeBSD のインストール当初の状態では, <tt/ttyd0/ から <tt/ttyd3/ までの,
初めの四つのシリアルポートのエントリが <tt>/etc/ttys</tt> に記述され
ています. これらのポートのいずれかに端末を接続する場合は, 新たなエント
リを追加する必要はありません.
ここで紹介している例では, 既にファイルにエントリが存在する 2番目のシリ
アルポート, <tt/ttyd0/ に Wyse-50 を接続しています. 一方, 6番目のシ
リアルポートに接続する 286マシン用のエントリは, 新たに追加してやらな
ければなりません. 以下に, エントリを追加した後の <tt>/etc/ttys</tt> か
ら抜粋して示します.
<tscreen><verb>
ttyd1 "/usr/libexec/getty std.9600" unknown off secure
ttyd5
</verb></tscreen>
<sect2><heading><tt/getty/ タイプの指定<label
id="term:getty"></heading>
<p>次に, 端末からのログインを処理するプログラムの指定をおこな
います. FreeBSDでは, 標準的には <tt>/usr/libexec/getty</tt> をこの目的
で利用しています. <tt/login:/ プロンプトを送り出しているのは, このプロ
グラムです.
<tt/getty/ プログラムは, コマンドラインパラメータとして,
<em/<tt/getty/ タイプ/ をとります. ただし, このパラメータは必須ではあ
りません. <tt/getty/ タイプは, ボーレートやパリティといった, 接続され
た端末の特徴を表すものです. <tt/getty/ プログラムは, 与えられた
<tt/getty/ タイプに対応したこれらの特徴を <tt>/etc/gettytab</tt> から
読み込みます.
ファイル <tt>/etc/gettytab</tt> には, 新旧の端末に関する多数のエントリ
が記述されています. ほとんどの場合, <tt/std/ という文字列で始まる名前
のエントリを使えば, 接続された端末に対してログインセッションを提供す
ることができます. これらのエントリを利用した場合, パリティは無視されま
す. 110 bps から 115200 bps までのボーレートに対応した <tt/std/ のエン
トリがあります. 当然, 新たなエントリを追加することも可能です.
gettytab(5) のマニュアルに, さらに詳しく解説されています.
<tt>/etc/ttys</tt> の <tt/getty/ タイプの設定をする際は, 端末側の通信
パラメータの設定が, <tt/getty/ タイプのものと一致していることを確認し
てください.
紹介している実例では, Wyse50 はパリティなし 38400 bps で接続していま
す. また, 286 マシンの方は, パリティなし 19200 bps の接続です. 以下は,
この段階でのこの二つの端末に関する <tt>/etc/ttys</tt> の設定です.
<tscreen><verb>
ttyd1 "/usr/libexec/getty std.38400" unknown off secure
ttyd5 "/usr/libexec/getty std.19200"
</verb></tscreen>
ここで, 実行するプログラムを指定している 2番目のフィールドが, ダブルクォー
テーションに囲まれていることに注意してください. こうしないと,
<tt/getty/ のタイプの指定が, つぎのフィールドとして判断されてしまう可
能性があるので, 十分注意することが必要です.
<sect2><heading>デフォルトのターミナルタイプの指定<label
id="term:deftermtype"></heading>
<p><tt>/etc/ttys</tt> の 3番目のフィールドには, そのポートのター
ミナルタイプのデフォルトを指定します. ダイアルアップ用のポートの場合
は, ユーザがどのタイプの端末あるいは通信ソフトを利用してダイアルアップ
してくるかは分からないので, <tt/unknown/ や <tt/dialup/ を記述するの
が一般的です. 一方, 直結された端末の場合, ターミナルタイプが変わるこ
とはありませんから, このフィールドには実際のターミナルタイプを記述し
ます.
一般に, ユーザは <tt/.login/ や <tt/.profile/ などのファイル内で
<tt/tset/ コマンドを使って, ターミナルタイプをチェックし, 必要ならば
ターミナルタイプの入力を求めるプロンプトを表示するようにします. この
とき, <tt>/etc/ttys</tt> の中でターミナルタイプが指定されていれば,
このプロンプトを表示せずに先に進むことが可能です.
FreeBSD 上で, どのターミナルタイプを利用できるかは,
<tt>/usr/share/misc/termcap</tt> をご覧ください. このファイルには, お
よそ 600 のターミナルタイプが定義されています. 必要ならば, 新たなエン
トリを追加することも可能です. 詳しくは termcap(5) のマニュアルをご覧く
ださい.
紹介している例では, Wyse-50 のターミナルタイプは Wyse-50 です (もっ
とも他のタイプをエミュレートすることも可能ですが, ここでは Wyse-50 モー
ドで使用します. ). また, 286マシン上では Procomm が VT-100 エミュレー
ションをおこなうように設定されています. 以下が, まだ未完成の
<tt>/etc/ttys</tt> の関連部分です.
<tscreen><verb>
ttyd1 "/usr/libexec/getty std.38400" wy50 off secure
ttyd5 "/usr/libexec/getty std.19200" vt100
</verb></tscreen>
<sect2><heading>ポートを利用可能にする<label
id="term:enable"></heading>
<p><tt>/etc/ttys</tt> のつぎのフィールド, つまり 4番目のフィー
ルドは, そのポートをアクティブにするかどうかの設定です. このフィールド
に ``on'' を指定すると, <tt/init/ プロセスが2番目のフィールドに書かれ
たプログラム, <tt/getty/ を実行し, ログインのためのプロンプトを送り出
すようになります. このフィールドに ``off'' を記述すると, <tt/getty/
は起動されず, よってこのポートからのログインもできなくなります.
ということで, 当然このフィールドには <tt/on/ を指定します. 以下が
<tt>/etc/ttys</tt> です. それぞれのポートを <tt/on/ にしました.
<tscreen><verb>
ttyd1 "/usr/libexec/getty std.38400" wy50 on secure
ttyd5 "/usr/libexec/getty std.19200" vt100 on
</verb></tscreen>
<sect2><heading>``secure'' なポートの指定<label
id="term:secure"></heading>
<p>とうとう最後のフィールドの設定です. (実際にはここでは触れ
ませんが, オプショナルな<tt/window/ の設定のフィールドも存在するので,
ほぼ最後のフィールドといった方が正確かもしれません. ) 最後のフィールド
では, そのポートが安全かどうかを指定します.
ここで, 「安全」なポートとはどういうポートのことでしょう?
これは, root のアカウント (または, ユーザ ID が 0 のアカウント) がロ
グインしてもよいポートということです. 安全でないポートでは, root のロ
グインは許可されません.
では, どのように安全なポートとそうでないポートを使えばよいでしょう?
ポートを安全ではないとすることで, そのポートに接続された端末からは,
root のログインを禁止することができます. FreeBSDシステムの root のパス
ワードを知っている人は, まず一般ユーザとしてログインしなければなりませ
ん. スーパユーザの特権を得るためには, そのうえで <tt/su/ コマンドを
利用しなければいけません.
これによって, root アカウントが不正に利用された場合に, その経過を調査
する上で二つの記録を利用できるようになります. ユーザのログインと
<tt/su/ コマンドは, 共にシステムのログに記録を残します (また, ログイン
は wtmp にも記録を残します. ).
ポートを安全なものとして指定すると, その端末からの root のログインが可
能になります. root のパスワードを知っている人は, 単に root としてログ
インできます. この場合は, 当然ログインの記録や <tt/su/ コマンドのログ
は残りません.
では, どちらを使うべきでしょうか?
単純に ``insecure'' を使うのがよいでしょう. 公共の場所にある訳では<em/な
い/端末や, 鍵のかかったドアの内側にある端末<em/にも/ ``insecure'' を指
定する方がよいでしょう. スーパユーザの特権が必要な場合でも, ログイ
ンして <tt/su/ を実行するのは, ごく簡単なことなんですから.
以下に, ようやく完成した <tt>/etc/ttys</tt> のエントリに端末の場所を表
すコメントを追加したものを示します.
<tscreen><verb>
ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Kitchen
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom
</verb></tscreen>
<sect2><heading><tt/init/ にファイル <tt>/etc/ttys</tt> の再読み
込みをさせる<label id="term:hup">
</heading>
<p>FreeBSD をブートすると, 最初に起動されるプロセス, <tt/init/が
<tt>/etc/ttys</tt> を読み込んで, 記述されているプログラムを利用可能な
ポートに対して実行し, ログインプロンプトを送り出させます.
<tt>/etc/ttys</tt> の編集が終わった後, <tt/init/ に変更を認識させるた
めに, わざわざ FreeBSD をブートしなおしたくはないでしょう. このような
場合のために, <tt/init/ は, SIGHUP (hangup) シグナルを受信すると,
<tt>/etc/ttys</tt> を読み込みなおすようになっています.
<tt>/etc/ttys</tt> の変更を保存したら, 以下のようなコマンドを実行して,
<tt/init/ に対して SIGHUP を送信します.
<tscreen><verb>
kill -HUP 1
</verb></tscreen>
(<tt/init/ プロセスのプロセス ID は <em/常に/ 1です. )
すべての設定が正しくおこなわれ, すべてのケーブルがただしく接続されてい
て, かつ端末の電源が入っていれば, 端末にはログインプロンプトが表示され
ているはずです. これで, これらの端末からの最初のログインの準備が完了で
す!
<sect1><heading>トラブルシューティング<label
id="term:debug"></heading>
<p>細心の注意を払って設定をおこなっても, ときには端末の接続がう
まくいかない場合があるでしょう. 以下に, よく見られる問題とその解決方法
を示します.
<descrip>
<tag/ログインプロンプトが表示されない/
端末の電源が接続され, スイッチが入っていることを確認してください. もし,
PC を端末として利用している場合は, 通信ソフトが適切なシリアルポー
トを利用する設定になっているかどうか確かめてください.
ケーブルがしっかりと端末と FreeBSDが動作しているコンピュータの両方に接続され
ていることを確認してください. また, 正しい種類のケーブルを利用している
か確かめてください.
端末と FreeBSD の間の通信速度とパリティの設定が一致していることを確認
してください. 出力をモニタに表示するタイプの端末の場合は, モニタ
のコントラストと明るさの設定を確認してください. また, 出力が印刷
されるタイプの端末の場合は, 紙とインクが十分にあるかどうかを確かめてく
ださい.
<tt/getty/ が動いていて, 端末を認識していることを確認してください. 以
下のコマンドで動作中の <tt/getty/ プロセスのリストを得ることができます。
<tscreen><verb>
ps -axww|grep getty
</verb></tscreen>
その端末に対する <tt/getty/ の情報が表示されるはずです. たとえば, 以下
の表示例は, <tt/getty/ は 2番目のシリアルポート (<tt/ttyd1/) に対し
て <tt>/etc/gettytab</tt> 中の <tt/std.38400/ のエントリを使って動作し
ているということを示しています.
<tscreen><verb>
22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1
</verb></tscreen>
もし, <tt/getty/ プロセスが一つも動いていないようであれば,
<tt>/etc/ttys</tt> の中で, そのポートを利用可能にする設定をしたかどう
か確かめてください. また, <tt/kill -HUP 1/ を確実に実行してください.
<tag/ログインプロンプトの代わりにゴミが表示される/
端末と FreeBSDの間の通信速度およびパリティの設定が一致していることを確
かめてください. また, <tt/getty/ プロセスの情報を調べて, 適切な
<tt/getty/ のタイプが使用されていることを確認してください. 間違った
<tt/getty/ タイプが使用されている場合は, <tt>/etc/ttys</tt> を修正し
てから, <tt/kill -HUP 1/ を実行してください.
<tag/文字が重複して表示される, 入力したパスワードが表示され
る/
端末または通信ソフトの設定で, 「半二重 (half duplex)」あるいは「ローカ
ルエコー」となっているところを, 「全二重 (full duplex)」に変更してく
ださい.
</descrip>

File diff suppressed because it is too large Load Diff

@ -1,974 +0,0 @@
<!-- $Id: userppp.sgml,v 1.13 1998-02-12 04:12:32 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.28 -->
<sect>ユーザ ppp の設定<label id="userppp">
<!-- この FAQ あるいは手引は, <em>ユーザレベル ppp</em>または
単に<em>ppp</em>としても知られている ppp を,
あなたの FreeBSD 2.0.5 (以降) で動くようにすることを目的としています.
<p>また, ユーザ ppp を PPP サーバとして使う方法の概略についても述べています.
<p>このドキュメントは もともと Nik Clayton によって書かれたものですが,
現在では何年にもわたる共同作業の成果となっています.
-->
<p>ユーザ ppp は FreeBSD 2.0.5-RELEASE において,
既存のカーネル実装版の PPP に加えて導入されました.
それでは, これまでの pppd との違い, すなわち
この新しい PPP が追加された理由とは いったい何なのでしょうか?
マニュアルから引用してみます:
<quote>
これはユーザプロセス PPP ソフトウェアパッケージです.
通常, PPP は (例えば pppd でそうなっているように) カーネルの一部として
実装されていますので, デバッグや動作の変更が少々困難です.
しかし, この実装では, PPP はトンネルデバイスドライバ (tun) の
助けにより, ユーザプロセスとして実装されています.
</quote>
本質として, これは常に PPP デーモンを実行しておかなくても,
必要な時に ppp プログラムを実行できるということを意味します.
このプログラムはカーネルとのデータ送受のために一般のトンネルデバイスを
使うことができるため, PPP インターフェースをカーネルに組み込んでおく
必要がありません.
以降では, ユーザ ppp と pppd のような他の PPP クライアント/サーバ
ソフトウェアとを区別する必要が無い場合には, ユーザ ppp を単に ppp とだけ
呼びます. 特に断らない限り, このセクションのすべてのコマンドは root 権限で
実行する必要があります.
訳者注: 以前の日本語ハンドブックでは, iij-ppp のオリジナルアーカイブに
附属する日本語ドキュメントの参照をおすすめしていました.
しかし最近では FreeBSD 独自の拡張がいろいろと追加され, もともとの
iij-ppp のドキュメントではカバーしきれなくなって来ています.
ですが心配はいりません. 日本語マニュアルプロジェクトから
FreeBSD の日本語版マニュアルページが配布されるようになりました.
こちらもハンドブックとあわせて参照されることをおすすめします.
<sect1><heading>スタートの前に</heading>
<p>このドキュメントでは, あなたが
およそ以下のような状況にあると仮定しています:
PPP 接続の使えるインターネットサービスプロバイダ (ISP) のアカウントを
持っている. さらに, 接続済みのモデム (またはその他のデバイス) があり,
プロバイダとの接続が可能なように正しく設定されている.
以下の情報を手に入れておく必要があるでしょう:
<itemize>
<item><p>プロバイダの電話番号.
<item><p>ログイン名とパスワード. これは通常の unix 形式のログイン名と
パスワードの組かもしれませんし, PPP PAP または CHAP の
ログイン名とパスワードの組かもしれません.
<item><p>プロバイダのゲートウェイの IP アドレス.
ゲートウェイとは, あなたがそこに接続をおこなって,
<tt>デフォルトルート</tt>として設定することになるマシンです.
もしプロバイダがこのアドレスを明示していなくても大丈夫.
適当に設定しておいて, 接続時にプロバイダの PPP サーバから
教えてもらうことができます.
<p>このアドレスは, 以降<tt>HISADDR</tt>と呼ぶことにします.
<item><p>プロバイダのネットマスク設定. 繰り返しますが, 不明な場合には
ネットマスクとして 255.255.255.0 を使用しておけば問題ありません.
<item><p>一つ以上のネームサーバの IP アドレス. 通常, IP アドレスが二つ
プロバイダから指示されているはずです. 自分でネームサーバを
動かしているのでなければ, この情報は<bf>絶対に</bf>必要です.
<item><p>もしプロバイダから固定の IP アドレスとホスト名の割り当てを
受けているのなら, 同様にそれも必要になるでしょう.
そうでなければ, どのアドレス範囲から IP アドレスの割り当てが
おこなわれるかを知っておく必要があるでしょう.
もし範囲が示されていないとしても, 任意の IP アドレスを
受け入れるようにすることが可能です (後で説明します).
</itemize>
もし, これらの情報のうち不明なものがあれば, プロバイダに連絡して
確認しておいてください.
<sect1><heading>ppp 対応カーネルの構築</heading>
<p>説明でも述べているように, ``ppp'' はカーネルの ``tun'' デバイスを使います.
そのため, このデバイスがカーネルに組み込まれているかどうかを
確認しておかなくてはいけません.
これを確認するには, カーネルコンパイルディレクトリ
(<tt>/sys/i386/conf</tt> または <tt>/sys/pc98/conf</tt>) に移動して,
カーネルコンフィグレーションファイルを調べます.
以下の行がどこかに含まれている必要があります.
<tscreen><verb>
pseudo-device tun 1
</verb></tscreen>
元々の GENERIC カーネルは標準でこれを含んでいますので,
カスタムカーネルをインストールしているのではなかったり,
/sys ディレクトリが存在しないのであれば, 何も変更する必要はありません.
<p>この行がカーネルコンフィグレーションファイルに含まれていなかったり,
tun デバイスが一つでは足りない場合 (例えば, 同時に 16 本の
ダイアルアップ PPP 接続を処理できるサーバを立ち上げるとしたら,
``1'' のかわりに ``16'' を指定する必要があるでしょう), この行を追加して
カーネルの再コンパイルとインストールをおこなう必要があります.
それからこの新しいカーネルを使ってブートしてください.
カーネルコンフィグレーションの詳細については,
<ref id="kernelconfig" name="FreeBSD カーネルのコンフィグレーション">
を参照してください.
<p>以下のコマンドを実行することで, 現在のカーネルにトンネルデバイスが
いくつ組み込まれているかを調べることができます:
<tscreen><verb>
# ifconfig -a
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 200.10.100.1 --> 203.10.100.24 netmask 0xffffffff
tun1: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 576
tun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 203.10.100.1 --> 203.10.100.20 netmask 0xffffffff
tun3: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500
</verb></tscreen>
この例ではトンネルデバイスが四つあって, うち二つに設定がおこなわれていて
現在使用中であることがわかります.
<p>トンネルデバイスがカーネルに組み込まれておらず, 何らかの理由で
カーネルの再構築ができない場合でも, 方法がないわけではありません.
動的にデバイスをロードすることができるはずです. 詳細については
modload(8) や lkm(4) など, 適切なマニュアルを参照してください.
<p>この機会にファイアウォールも設定しておきたいと思っているのであれば,
詳細については<ref id="firewalls" name="ファイアウォール">セクションを
参照してください.
<sect1><heading>tun デバイスの確認</heading>
<p>ほとんどのユーザは ``tun'' デバイス (tun0) が一つあれば充分でしょう.
より多くのデバイスを使う場合 (すなわち, カーネルコンフィグレーション
ファイルで tun 疑似デバイスの行に `1' 以外の数値を指定している場合),
以下で ``tun0'' と書かれている部分をすべて, あなたが使うデバイスの番号に
あわせて読みかえてください.
tun0 デバイスが正しく作成されていることを確認する最も簡単な方法は,
それを作り直すことです. そのためには, 以下のコマンドを実行します:
<tscreen><verb>
# cd /dev
# ./MAKEDEV tun0
</verb></tscreen>
<p>カーネルに 16 個のトンネルデバイスを組み込んだのであれば,
tun0 だけでなく他の tun デバイスも作成しておく必要があるでしょう:
<tscreen><verb>
# cd /dev
# ./MAKEDEV tun15
</verb></tscreen>
<p>また, カーネルが正しく設定されているかどうかを調べるために
以下のコマンドを実行して, このような出力が得られることを確認します:
<tscreen><verb>
$ ifconfig tun0
tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500
$
</verb></tscreen>
<sect1><heading>名前の解決に関する設定</heading>
<p>リゾルバ (resolver) はシステムの一部分で, IP アドレスとホスト名との
変換をおこないます. IP アドレスとホスト名を対応させるためのマップを,
二つの場所のうちの一つから探すように設定できます.
一つめは<tt>/etc/hosts</tt> (<tt>man 5 hosts</tt>) と呼ばれるファイルです.
二つめはインターネット ドメインネームサービス (DNS) と呼ばれる
分散データベースですが, これに関する議論は このドキュメントで扱う範囲を
越えていますので, これについての説明はおこないません.
<p>このセクションではリゾルバの設定方法について簡単に説明します.
<p>リゾルバは名前のマッピングをおこなうシステムコールの集合体です. ただし
どこからマッピング情報を見つけるのかは, 最初に指示しておく必要があります.
これは まず<tt>/etc/host.conf</tt>ファイルを編集することでおこないます.
混乱の元になりますので, このファイルを<tt>/etc/hosts.conf</tt>と
呼んだりしては<bf>いけません</bf> (余分な ``s'' がついていますね).
<sect2><heading>/etc/host.conf ファイルの編集</heading>
<p>このファイルには 以下の 2 行が書かれているはずです:
<tscreen><verb>
hosts
bind
</verb></tscreen>
これは, 最初に<tt>/etc/hosts</tt>ファイルを調べ, そこで目的の名前が
見つけられなかった場合に DNS を引きにいくようリゾルバに指示します.
<sect2><heading>/etc/hosts(5) ファイルの編集</heading>
<p>このファイルはローカルネットワーク上に存在するマシンの IP アドレスと
ホスト名を含んでいるはずです. 最低でも ppp を動作させるマシンのエントリが
含まれている必要があります. そのマシンのホスト名が foo.bar.com で,
IP アドレスが 10.0.0.1 であると仮定すると, <tt>/etc/hosts</tt>は
以下の行を含んでいなければいけません:
<tscreen><verb>
127.0.0.1 localhost
10.0.0.1 foo.bar.com foo
</verb></tscreen>
一つめの行は ``localhost'' を現在のマシンの別名として定義しています.
マシン固有の IP アドレスが何であっても, この行の IP アドレスは
常に 127.0.0.1 でなければいけません. 二つめの行はホスト名 ``foo.bar.com''
(と, その省略形 ``foo'') を IP アドレス 10.0.0.1 にマップします.
もしプロバイダから固定の IP アドレスとホスト名を割り当てられて
いるのであれば, それを 10.0.0.1 エントリのかわりに使ってください.
<sect2><heading>/etc/resolv.conf ファイルの編集</heading>
<p><tt>/etc/resolv.conf</tt>はリゾルバの振舞いを指定します.
もし自前の DNS サーバを走らせているのなら, このファイルは空のままに
しておくこともできます. 通常は, 以下のように書いておく必要があるでしょう:
<tscreen><verb>
nameserver x.x.x.x
nameserver y.y.y.y
domain bar.com
</verb></tscreen>
<tt>x.x.x.x</tt> と <tt>y.y.y.y</tt> はプロバイダが指示するアドレスで,
接続するプロバイダが提供している「ネームサーバ」を すべて書いてください.
``domain'' に指定するのは このマシンのデフォルトのドメイン名で, おそらく
書かなくても問題は無いでしょう. このファイルの各エントリの詳細については,
resolv.conf のマニュアルページを参照してください.
<sect1><heading>ppp の設定</heading>
<p>ユーザ ppp と pppd (カーネルレベルの PPP 実装) は
どちらも<tt>/etc/ppp</tt>ディレクトリに置かれた設定ファイルを使います.
ここには設定ファイルのサンプルが用意されていて, ユーザ ppp の設定を
おこなう際に大変参考になりますので, 削除したりしないでください.
<p>ppp の設定をするためには, 必要に応じていくつかのファイルを編集する必要が
あります. 書き込む内容は, プロバイダが静的に IP アドレスを割り当てる
(つまり, 固定の IP アドレスを一つ与えられて, 常にそれを使う) か,
または動的に IP アドレスを割り当てる (つまり, PPP セッションごとに
IP アドレスが変化する可能性がある) かということに ある程度依存します.
<sect2><heading>静的 IP アドレスによる PPP 接続<label id="userppp:staticIP">
</heading>
<p>まず<tt>/etc/ppp/ppp.conf</tt>という設定ファイルを作成する必要があります.
これは以下の例とほとんど同じようなものになるでしょう. ``:'' で終る行は
1 カラム目から始め, その他の行はスペースまたはタブで以下の例のように
段をつける (インデントする) 必要があることに注意してください.
<tscreen><verb>
1 default:
2 set device /dev/cuaa0
3 set speed 115200
4 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK
\\dATDT\\T TIMEOUT 40 CONNECT"
5 provider:
6 set phone "(0123) 456 7890"
7 set login "TIMEOUT 10 gin:-BREAK-gin: foo word: bar col: ppp"
8 set timeout 300
9 deny lqr
10 set ifaddr x.x.x.x y.y.y.y
11 delete ALL
12 add 0 0 HISADDR
</verb></tscreen>
ファイルでは行番号を取り除いておいてください.
これは解説の際に参照する行を示すためにつけたものです.
<descrip>
<tag/Line 1:/ デフォルトエントリを指定します. このエントリ中のコマンドは
ppp が起動された際に自動的に実行されます.
<tag/Line 2:/ モデムが接続されているデバイスを指定します.
COM1: は<tt>/dev/cuaa0</tt>に,
COM2: は<tt>/dev/cuaa1</tt>になります.
<tag/Line 3:/ 通信速度 (DTE 速度) を指定します. もし 115200 が使えない
(最近のモデムなら大抵使えるはずですが) 場合には,
かわりに 38400 を指定してみてください.
<tag/Line 4:/ ダイアルスクリプトを指定します.
ユーザ ppp は<tt>chat(8)</tt>言語に似た, 受信待ち文字列と
送信文字列の対からなるスクリプトを使用します.
この言語の機能に関しては, マニュアルページを参照してください.
<tag/Line 5:/ 接続するプロバイダの名前 ``provider'' を
エントリ名として指定します.
<tag/Line 6:/ このプロバイダの電話番号を指定します. 複数の電話番号を
``:'' や ``|'' で区切って指定することができます.
これら区切り文字の違いについては, ppp のマニュアルページに
詳しく書かれています.
要約すると, 毎回違う番号に かけたいのであれば ``:'' を使います.
常に まず先頭の番号にかけてみて, つながらない時にだけ
2 番目以降の番号に かけたいのであれば ``|'' を使います.
例に示されているように, 常に電話番号全体を引用符で
くくって (クォートして) おきます.
<tag/Line 7:/ ダイアルスクリプトと同様に, ログインスクリプトも
chat 言語風の記述をおこないます.
この例は, 以下のようなログインセッションを使用する
プロバイダのためのものです:
<tscreen><verb>
J. Random Provider
login: foo
password: bar
protocol: ppp
</verb></tscreen>
このスクリプトは必要に応じて書きかえる必要があるでしょう.
PAP や CHAP を使うのなら, ここでログインは おこないませんので
ログイン文字列は空白のままにしておきます.
詳細については <ref id="userppp:PAPnCHAP"
name="PAP および CHAP による認証">を参照してください.
<tag/Line 8:/ デフォルトの接続タイムアウト時間を (秒数で) 指定します.
この例では, 300 秒間 通信がおこなわれなければ
自動的に接続を切るように指定しています.
タイムアウトさせたくない場合には, この値を 0 に設定します.
<tag/Line 9:/ Link Quality Report (LQR) パケットを交換するように
ppp を設定することもできます.
これらのパケットを使い, 物理リンクの品質を調査するのです.
LQR に対して ppp のとる戦略は, これらのパケットのうちの
いくつかが失われた時に接続を閉じるというものです.
この方法は, 2 台のマシンを直接シリアル回線で接続していて,
回線が接続されていることを示すために
モデムの DSR 信号が使えない場合に有効です.
回線がデータで飽和してしまうと LQR パケットが「失われ」るため,
ppp が早まって接続を閉じてしまうことがあります.
LQR の使用を拒否するように設定しておけば, このような問題は
起こりませんので, (モデムを介して接続する場合には) 用心のため
LQR 使用の提案を拒否するように設定しておくのが良いでしょう.
デフォルトの設定では, ppp は自分から LQR の使用を提案することは
ありませんが, 通信相手が LQR の使用を提案してくると, それを
受け入れてしまいます.
<tag/Line 10:/ インターフェースのアドレスを指定します. 文字列 x.x.x.x は
プロバイダに割り当てられた IP アドレスで置きかえてください.
文字列 y.y.y.y はプロバイダから指示されたゲートウェイ
(接続先となるマシン) の IP アドレスで置きかえてください.
プロバイダがゲートウェイのアドレスを指示していない場合は,
<tt>10.0.0.2/0</tt> を使用しておいてください.
もし「仮の」アドレスを使用する必要がある場合には,
<ref id="userppp:dynamicIP"
name="動的 IP アドレスによる PPP 接続">に関する指示に従って,
<tt>/etc/ppp/ppp.linkup</tt> にエントリを作成していることを
確認してください.
この行が省略されていると, ppp を <tt>-auto</tt> モードや
<tt>-dynamic</tt> モードで動作させることはできません.
<tag/Line 11:/ この PPP 接続で使用する tun デバイスに関する既存のエントリを
ルーティングテーブルから すべて削除します.
通常, これは必須というわけではありませんが,
クリーンな状態で ppp がスタートできるよう保証しておきます.
<tag/Line 12:/ プロバイダのゲートウェイへの経路をデフォルトルートとして
追加します. 特殊文字列 <tt>HISADDR</tt> は, 9 行目で指定された
ゲートウェイのアドレスで置きかえられます.
<tt>HISADDR</tt> は 9 行目までは初期化されていませんので,
その行よりも後でしか使えないことに注意してください.
</descrip>
<p>静的な IP アドレスを持っていて, 接続が完了する前にルーティングテーブルの
エントリが正しく設定されているのであれば, <tt>ppp.linkup</tt> に
エントリを追加する必要はありません.
しかし, この場合でもエントリを追加して, 接続が完了した時点で
プログラムを呼び出したいことがあるかもしれません.
これについては後ほど sendmail を例として説明します.
<p>これらの設定ファイルのサンプルが<tt>/etc/ppp</tt>ディレクトリに
置かれています.
<sect2><heading>動的 IP アドレスによる PPP 接続<label id="userppp:dynamicIP">
</heading>
<p>プロバイダが静的な IP アドレスの割り当てをおこなっていない場合,
<tt>ppp</tt>が相手側のホスト (ゲートウェイ) と交渉して,
こちら側と相手側のアドレスを決めるように設定することができます.
これは, 起動時には「仮の」アドレスを使っておいて,
接続後に IP コンフィグレーション プロトコル (IPCP) を使用して
ppp が IP アドレスを正しく設定できるようにすることで実現されます.
<ref id="userppp:staticIP" name="静的 IP アドレスによる PPP 接続">に
以下の変更を加える以外は, <tt>ppp.conf</tt> の設定は同じです:
<tscreen><verb>
10 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0
</verb></tscreen>
繰り返しますが, 行番号は取り除いておいてください.
これは解説の際に参照する行を示すためにつけたものです.
なお, 少なくともスペース 1 個分の段づけ (インデント) が必要です.
<descrip>
<tag/Line 10:/ ``/'' 文字の後ろの数字は, アドレス交渉の際に固定しておきたい
ビットの数です. 場合によっては, もっと適切な IP アドレスを
指定しておきたいこともあるかもしれませんが,
ほとんどの場合には 上の例の通りで問題無いはずです.
相手側の PPP 実装が壊れていて この設定では動かない場合,
最後に <tt>0.0.0.0</tt> を追加すると うまく動くように
なることがあります:
<tscreen><verb>
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
</verb></tscreen>
このようにすると, ppp は <tt>10.0.0.1</tt> のかわりに
<tt>0.0.0.0</tt> を使用して交渉を開始します.
ここで <tt>set ifaddr</tt> コマンドの最初の引数として
<tt>0.0.0.0/0</tt> を指定してはいけません.
さもないと, <tt>-auto</tt> モードや <tt>-ddial</tt> モードで
動作させる際に 初期経路を設定することができなくなります.
</descrip>
<p><tt>/etc/ppp/ppp.linkup</tt> にもエントリを作成しておく必要があります.
<tt>ppp.linkup</tt> は接続が確立された後に使用されます. この時点では,
ppp は<bf>実際に</bf>どの IP アドレスを使うべきなのか わかっているはずです.
以下のエントリは存在する仮の経路を削除し, 正しい経路を作成します:
<tscreen><verb>
1 provider:
2 delete ALL
3 add 0 0 HISADDR
</verb></tscreen>
<descrip>
<tag/Line 1:/ 接続を確立する際に, ppp は以下のルールに従って
<tt>ppp.linkup</tt> のエントリを検索します:
まず <tt>ppp.conf</tt> で使用されたのと同じラベルを探します.
もし見つからなければ, ゲートウェイの IP アドレスのエントリを
探します. このエントリは 4 オクテットの IP アドレス形式の
ラベルです. それでも まだエントリが見つからなければ,
<tt>MYADDR</tt> エントリを探します.
<tag/Line 2:/ この行は, 使用する tun インターフェースに関する既存の経路を
(ダイレクトルートのエントリを除き) すべて削除するよう
ppp に指示します.
<tag/Line 3:/ この行は <tt>HISADDR</tt> への経路をデフォルトルートとして
追加するように ppp に指示します. <tt>HISADDR</tt> は IPCP で
決定されたゲートウェイの IP アドレスで置きかえられます.
</descrip>
<p>詳細なサンプルについては, <tt>/etc/ppp/ppp.conf.sample</tt> ファイル中の
pmdemand エントリと <tt>/etc/ppp/ppp.linkup.sample</tt> を参照してください.
<sect2><heading>かかってきた電話を ppp で受けるには</heading>
<p>このセクションでは ppp をサーバとして設定する方法について説明します.
<p>かかってきた電話を<tt>ppp</tt>が受けるように設定する場合,
<tt>PPP</tt>接続についてだけパケットを転送するようにするのか,
すべてのインターフェースについて転送するようにするのか,
それとも一切転送をおこなわないのかを決定しなければいけません.
PPP 接続についてだけ転送をおこなうためには, <tt>ppp.conf</tt>ファイルに
以下の行を追加しておきます.
<tscreen><verb>
enable proxy
</verb></tscreen>
すべてのインターフェースについてパケットの転送をおこなう場合には,
<tt>/etc/rc.conf</tt>で以下のオプションを指定してください. (このファイルは
以前のバージョンの FreeBSD では<tt>/etc/sysconfig</tt>と呼ばれていました)
<tscreen><verb>
gateway=YES
</verb></tscreen>
<sect3><heading>どの getty を使いますか?</heading>
<p>getty でダイアルアップサービスをおこなう場合の優れた解説が <ref id="dialup"
name="FreeBSD でダイアルアップサービスをおこなうための設定">にあります.
<p>getty に代わるものとしては,
<url url="http://www.leo.org/~doering/mgetty/index.html" name="mgetty">
があります. これは getty をより柔軟にしたもので,
ダイアルアップ回線での使用を意図して設計されています.
<p>mgetty を使う場合の利点は, mgetty が積極的にモデムと<em>通信する</em>
ということです. つまり, もし<tt>/etc/ttys</tt>でポートを閉じている場合,
モデムは電話をとらなくなります.
<p>最近のバージョンの mgetty (0.99beta 以降) では, PPP ストリームの
自動検出もサポートされています. これにより, クライアント側で
スクリプトを準備しなくてもサーバにアクセスすることができます.
<p>mgetty に関する, より詳細な情報については <ref id="userppp:mgetty"
name="Mgetty と AutoPPP"> を参照してください.
<sect3><heading>ppp の実行許可</heading>
<p>ppp は通常, ID 0 のユーザ (root) として動作しなければいけませんが,
以下で説明するように, ppp を通常のユーザとしてサーバモードで実行させたい
場合には, そのユーザを <tt>/etc/group</tt> の <tt>network</tt> グループに
追加して, ppp を実行する許可を与えておかなければいけません.
<sect3><heading>動的 IP ユーザのための ppp シェルの設定</heading>
<p><tt>/etc/ppp/ppp-shell</tt>という名前で, 以下のような内容のファイルを
作成します:
<tscreen><verb>
#!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`
if [ x$IDENT = xdialup ]; then
IDENT=`basename $TTY`
fi
echo "PPP for $CALLEDAS on $TTY"
echo "Starting PPP for $IDENT"
exec /usr/sbin/ppp -direct $IDENT
</verb></tscreen>
<p>このスクリプトには実行可能属性をつけておきます.
次に, 以下のコマンドを実行し, <tt>ppp-dialup</tt>という名前で
このスクリプトへのリンクを作成します:
<tscreen><verb>
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-dialup
</verb></tscreen>
<p>すべてのダイアルアップ ppp ユーザのログイン<em>シェル</em>として
このスクリプトを使用します. 以下は pchilds というユーザ名の
ダイアルアップユーザを<tt>/etc/password</tt>へ登録した場合の例です.
(パスワードファイルを直接エディタで編集したりせず,
<tt>vipw</tt>を使ってください)
<tscreen><verb>
pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
</verb></tscreen>
<p>任意のユーザが読むことのできる, <tt>/home/ppp</tt>ディレクトリを
作成します. <tt>/etc/motd</tt>が表示されないようにするため,
このディレクトリには以下のように大きさが 0 バイトのファイルを
作成しておきます.
<tscreen><verb>
-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
-r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts
</verb></tscreen>
<sect3><heading>静的 IP ユーザのための PPP シェルの設定</heading>
<p>上記と同じように<tt>ppp-shell</tt>ファイルを作成し,
静的な IP アドレスを割り当てるアカウントそれぞれについて
<tt>ppp-shell</tt>へのシンボリックリンクを作成します.
<p>例えば, クラス C ネットワークの経路制御を必要とする,
三人のダイアルアップユーザ fred, sam, mary がいるとすると,
以下のコマンドを実行することになります:
<tscreen><verb>
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary
</verb></tscreen>
<p>これらのユーザのダイアルアップアカウントでは, 上で作成した
それぞれのシンボリックリンクをログインシェルとして設定しておきます.
(つまり, ユーザ mary のログインシェルは<tt>/etc/ppp/ppp-mary</tt>に
なります).
<sect3><heading>動的 IP ユーザのための ppp.conf の設定</heading>
<p><tt>/etc/ppp/ppp.conf</tt>ファイルは, 大体以下のような内容になるでしょう:
<tscreen><verb>
default:
set debug phase lcp chat
set timeout 0
ttyd0:
set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
enable proxy
ttyd1:
set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
enable proxy
</verb></tscreen>
<p>上の例のように段をつける (インデントする) 必要があることに注意してください.
<p><tt>default:</tt> エントリはセッションごとにロードされます.
<tt>/etc/ttys</tt>で有効にしてある各ダイアルアップ回線ごとに一つ,
上記の<tt>ttyd0:</tt>のようなエントリを作成します.
各行の相手側アドレスとして, それぞれ別の IP アドレスを
動的 IP ユーザのための IP アドレスのプールから割り当てておく必要があります.
<sect3><heading>静的 IP ユーザのための ppp.conf の設定</heading>
<p>上のサンプルの<tt>/etc/ppp/ppp.conf</tt>の内容に加えて,
静的に IP を割り当てられたダイアルアップユーザ
それぞれのためのエントリを追加する必要があります.
ここでも fred, sam, mary の例を使うことにしましょう.
<tscreen><verb>
fred:
set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
sam:
set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255
mary:
set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255
</verb></tscreen>
<p>必要であれば, それぞれの静的 IP ユーザに対する経路制御情報も
<tt>/etc/ppp/ppp.linkup</tt>ファイルに書いておくべきでしょう.
以下の例ではクライアントの PPP リンクを経由する,
クラス C の<tt>203.14.101.0</tt>ネットワークへの経路を追加しています.
<tscreen><verb>
fred:
add 203.14.101.0 netmask 255.255.255.0 HISADDR
sam:
add 203.14.102.0 netmask 255.255.255.0 HISADDR
mary:
add 203.14.103.0 netmask 255.255.255.0 HISADDR
</verb></tscreen>
<sect3><heading>mgetty, AutoPPP, マイクロソフト拡張の詳細</heading>
<sect4><heading>Mgetty と AutoPPP<label id="userppp:mgetty">
</heading>
<p>AUTO_PPP オプションつきでコンパイルした mgetty を使えば, mgetty が
PPP 接続の LCP フェーズを検出して, 自動的に PPP シェルを起動するように
設定することができます.
しかし この場合, デフォルトの login/password シーケンスは発生しないので,
ユーザの認証は PAP または CHAP を使っておこなう必要があります.
<p>このセクションでは, ユーザ (あなた) が問題なく
AUTO_PPP オプションつきの mgetty (v0.99beta またはそれ以降) の設定,
コンパイル, インストールができているものと仮定しています.
<p><tt>/usr/local/etc/mgetty+sendfax/login.config</tt>ファイルが
以下の行を含んでいることを確認してください:
<tscreen><verb>
/AutoPPP/ - - /etc/ppp/ppp-pap-dialup
</verb></tscreen>
<p>これにより, PPP 接続を検出したら mgetty が<tt>ppp-pap-dialup</tt>
スクリプトを実行するようになります.
<p><tt>/etc/ppp/ppp-pap-dialup</tt>という名前で, 以下のような内容のファイルを
作成します (このファイルには実行可能属性をつけておく必要があります):
<tscreen><verb>
#!/bin/sh
TTY=`tty`
IDENT=`basename $TTY`
exec /usr/sbin/ppp -direct pap$IDENT
</verb></tscreen>
<p><tt>/etc/ttys</tt>で有効になっている各ダイアルアップ回線ごとに,
対応するエントリを一つ<tt>/etc/ppp/ppp.conf</tt>に作成します.
これは上で作成した定義と問題なく共存できるでしょう.
<tscreen><verb>
papttyd0:
enable pap
set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
enable proxy
papttyd1:
enable pap
set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
enable proxy
</verb></tscreen>
<p>この方法でログインする それぞれのユーザは, PAP によるユーザ認証を
おこなうために<tt>/etc/ppp/ppp.secret</tt>ファイルにユーザ名とパスワードを
書いておくか, または<tt>/etc/password</tt>ファイルを使うように,
<tscreen><verb>
enable passwdauth
</verb></tscreen>
オプションを (/etc/ppp/ppp.conf に) 追加しておく必要があるでしょう. (*)
<p>(*) このオプションは 2.2-961014-SNAP および それ以降のシステムか,
または 2.1.x のシステムにおいて ppp のコードを更新している場合にだけ
使用可能だということに注意してください.
(詳細に関しては, 以下のマイクロソフト拡張を参照してください)
<sect4><heading>マイクロソフト拡張</heading>
<p>2.2-961014-SNAP 以降では,
DNS と NetBIOS ネームサーバの自動交渉 (negotiation) をサポートしている
クライアント (例えば Win95/NT クライアント) との間で
この機能を使うことができます.
プロトコルの詳細については RFC1877 を参照してください.
<p>これらの拡張機能を<tt>/etc/ppp/ppp.conf</tt>ファイルで有効にした例を
以下に示します.
<tscreen><verb>
default:
set debug phase lcp chat
set timeout 0
enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5
</verb></tscreen>
<p>これにより, クライアントはプライマリとセカンダリのネームサーバアドレス
および NetBIOS ネームサーバホストを知ることができます.
<sect2><heading>PAP および CHAP による認証<label id="userppp:PAPnCHAP">
</heading>
<p>いくつかのプロバイダでは、PAP または CHAP のいずれかの認証メカニズムを
使用して接続時の認証をおこなうようにシステムを設定しています.
この場合, プロバイダは接続の際に <tt>login:</tt> プロンプトを送信せず,
最初から PPP で通信を始めようとするでしょう.
PAP ではパスワードがそのまま送られてしまうため, CHAP に比べると安全性が
低くなりますが, このパスワードはシリアル回線のみを通して送られます.
そのため, クラッカーが「盗み聞き」する余地は多くないので, 通常ここの
セキュリティは問題にはなりません.
<ref id="userppp:staticIP" name="静的 IP アドレスによる PPP 接続">または
<ref id="userppp:dynamicIP" name="動的 IP アドレスによる PPP 接続">の
セクションに戻って, 以下の変更をおこないます:
<tscreen><verb>
7 set login
.....
13 set authname MyUserName
14 set authkey MyPassword
</verb></tscreen>
これまでと同様に, 行番号は取り除いておいてください.
これは解説の際に参照する行を示すためにつけたものです.
なお, 少なくともスペース 1 個分の段づけ (インデント) が必要です.
<descrip>
<tag/Line 7:/ PAP または CHAP を使用する場合, 通常 プロバイダはサーバへの
ログインを必要としません. そのため, "set login" 文字列を
無効にしておかなければいけません.
<tag/Line 13:/ この行は PAP/CHAP ユーザ名を指定します. <tt>MyUserName</tt> に
正しい値を入れておく必要があります.
<tag/Line 14:/ この行は PAP/CHAP パスワードを指定します. <tt>MyPassword</tt> に
正しい値を入れておく必要があります.
PAP と CHAP はデフォルトで受け付けられるようになっていますが,
PAP や CHAP を使用するという意思を明示するために,
<tscreen><verb>
15 accept PAP
</verb></tscreen>
または
<tscreen><verb>
15 accept CHAP
</verb></tscreen>
という行を追加しておくのも良いでしょう.
</descrip>
<p><bf>注:</bf>(<tt>set log +command</tt>で) コマンド記録をオンにしていると,
<tt>authkey</tt> も記録されてしまいます. ppp のログファイルの許可モードを
決定する際には, このことに注意しておいてください.
<sect2><heading>動作中の ppp の設定変更</heading>
<p>適切なパスワードさえ設定されていれば, バックグラウンドで動作している
ppp プログラムと通信することができます.
<p>通常の設定では, ppp は 3000 + <tt>tunno</tt> 番の TCP ポートをモニタして
コマンドを待ちうけます. ここで <tt>tunno</tt> は, その ppp が使用する
tun デバイスの番号です.
ただし, ローカルマシン用のパスワードが <tt>/etc/ppp/ppp.secret</tt> で
設定されていなければ, その ppp サーバに接続することはできません.
パスワードを設定するためには, 以下の行を内容とするファイルを
<tt>/etc/ppp/ppp.secret</tt> として作成しておきます:
<tscreen><verb>
foo MyPassword
</verb></tscreen>
ここで <tt>foo</tt> はローカルのホスト名 (正しい名前を知るためには
<tt>hostname -s</tt> を実行してください) で, <tt>MyPassword</tt> は
暗号化されていないパスワードそのものです.
<tt>/etc/ppp/ppp.secret</tt> は ID 0 のユーザ (root) 以外の誰からも
アクセス可能であっては<bf>いけません</bf>.
つまり, <tt>/</tt>, <tt>/etc</tt> および <tt>/etc/ppp</tt> は
書き込み可能であってはならず, また <tt>ppp.secret</tt> は
ID 0 のユーザ (root) に所有され, 許可モード 0600 であるべきです.
<p>また, ppp が使用するポート番号を変更することや, TCP ソケットではなく
ローカル UNIX ドメインのソケットをモニタするように指定することも可能です.
詳細に関しては, マニュアルページの <tt>set socket</tt> コマンドを
参照してください.
<p>一旦ソケットの設定が終了したら, スクリプト中で <tt>pppctl(8)</tt> を
使用して, 動作中の ppp を操作することができるでしょう.
<sect1><heading>システムの最終設定<label id="userppp:final">
</heading>
<p>これで ppp の設定は終りました.
しかし ppp を動かす前に, まだ少し必要なことがあります.
それらの設定は, すべて<tt>/etc/rc.conf</tt>ファイルを
編集することでおこないます.
(このファイルは以前には<tt>/etc/sysconfig</tt>と呼ばれていました)
このファイルを上から順に設定していきます.
まずは ``hostname='' の行が設定されていることを確認します.
例えば以下のように:
<tscreen><verb>
hostname=foo.bar.com
</verb></tscreen>
<p>もしプロバイダが静的な IP アドレスとホスト名を割り当てているのなら,
ホスト名としてそれを使うのが おそらくベストでしょう.
<p>次に network_interfaces 変数を調べます. 必要に応じて (on demand)
プロバイダにダイアルするようにシステムを設定したい場合には,
tun0 デバイスがこのリストに追加されていることを確認しておきます.
それ以外の場合には, tun0 デバイスをリストから削除しておきます.
<tscreen><verb>
network_interfaces="lo0 tun0"
ifconfig_tun0=
</verb></tscreen>
<tt>ifconfig_tun0</tt>変数が空で, /etc/start_if.tun0 という名前の
ファイルが作成されていなければならない ということに注意してください.
このファイルの内容は以下のようになります.
<tscreen><verb>
ppp -auto mysystem
</verb></tscreen>
このスクリプトはネットワークの設定時に実行され,
ppp デーモンを自動モードで立ち上げます.
このマシンがもし LAN のゲートウェイであれば,
<tt>-alias</tt> スイッチも使用したいと思うかもしれません.
詳細に関しては, マニュアルページを参照してください.
<p>以下のようにルータプログラムを ``NO'' に設定します.
<tscreen><verb>
router_enable=NO (/etc/rc.conf)
router=NO (/etc/sysconfig)
</verb></tscreen>
<tt>routed</tt>は, ppp が作成したデフォルトのルーティングテーブル
エントリを削除してしまう場合がありますので,
(初期設定では起動されるようになっている) <tt>routed</tt>デーモンが
起動されないようにしておくことが重要です.
<p>``sendmail_flags'' 行が ``-q'' オプションを含まないように
設定しておいた方がよいでしょう. さもないと, sendmail が
アドレスを調べようとして発信をおこなってしまう場合があります.
以下のような設定で良いでしょう:
<tscreen><verb>
sendmail_flags="-bd"
</verb></tscreen>
この結果, PPP リンクを立ち上げた時には
いつでも以下のコマンドを実行して, キューにたまっているメールを
sendmail に送信させる作業が必要になるでしょう.
<tscreen><verb>
# /usr/sbin/sendmail -q
</verb></tscreen>
<p>ppp.linkup 中で <tt>!bg</tt> コマンドを使用することで, これを自動的に
おこなうこともできます:
<tscreen><verb>
1 provider:
2 delete ALL
3 add 0 0 HISADDR
4 !bg sendmail -bd -q30m
</verb></tscreen>
<p>こうするのが嫌であれば, SMTP トラフィックをブロックするように
"dfilter" を設定しておくこともできます.
詳細についてはサンプルファイルを参照してください.
<p>後はマシンをリブートするだけです.
<p>リブートが終ったら,
<tscreen><verb>
# ppp
</verb></tscreen>
コマンドを実行し, 続いて PPP セッションを開始させるために
``dial provider'' と入力することもできますし,
(start_if.tun0 スクリプトを作成していない場合に),
外部へのトラフィックが発生した時に, ppp が自動的に
セッションを確立してくれるようにしたいのであれば,
以下のコマンドを実行することもできます.
<tscreen><verb>
# ppp -auto provider
</verb></tscreen>
<sect1><heading>まとめ</heading>
<p>要約すると, 初めて ppp を設定する際には, 以下のステップが不可欠です:
<p>クライアント側:
<itemize>
<item>カーネルに tun デバイスが組み込まれていることを確認.
<item><tt>/dev</tt>ディレクトリに tunX デバイスファイルが
存在することを確認.
<item><tt>/etc/ppp/ppp.conf</tt>にエントリを作成.
ほとんどのプロバイダでは, <tt>pmdemand</tt> の例で充分でしょう.
<item>動的 IP アドレスを使用するなら, <tt>/etc/ppp/ppp.linkup</tt>に
エントリを作成.
<item><tt>/etc/rc.conf</tt> (または <tt>sysconfig</tt>) ファイルを更新.
<item>必要に応じてダイヤル (demand dialing) したいのであれば,
start_if.tun0 スクリプトを作成.
</itemize>
<p>サーバ側:
<itemize>
<item>カーネルに tun デバイスが組み込まれていることを確認.
<item><tt>/dev</tt>ディレクトリに tunX デバイスファイルが
存在することを確認.
<item>(vipw(8) コマンドを使って) /etc/passwd にエントリを作成.
<item>このユーザのホームディレクトリに
``ppp -direct direct-server'' か何かを実行するプロファイルを作成.
<item><tt>/etc/ppp/ppp.conf</tt>にエントリを作成.
<tt>direct-server</tt>の例で充分でしょう.
<item><tt>/etc/ppp/ppp.linkup</tt>にエントリを作成.
<item><tt>/etc/rc.conf</tt> (または <tt>sysconfig</tt>) ファイルを更新.
</itemize>
<sect1><heading>謝辞</heading>
<p>ハンドブックの このセクションは, 1997 年 9 月 7 日に &a.brian によって
更新されました.
<p>以下の人々による情報提供, 批評そして提案に感謝します:
<p>&a.nik
<p>&a.dirkvangulik
<p>&a.pjc
Loading…
Cancel
Save