diff --git a/ja_JP.eucJP/articles/contributing/article.sgml b/ja_JP.eucJP/articles/contributing/article.sgml
index 8fb977dd2f..c671ea55be 100644
--- a/ja_JP.eucJP/articles/contributing/article.sgml
+++ b/ja_JP.eucJP/articles/contributing/article.sgml
@@ -1,6074 +1,6065 @@
FreeBSD への貢献
原作: &a.jkh;.
- 訳: &a.jp.iwasaki;. 27 April 1997.
+ 訳: &a.jp.iwasaki;, 1997 年 4 月 27 日.
あなたも何か FreeBSD のために貢献したくなりましたか?
素晴らしい! 私たちは常に支援を受ける用意がありますし, FreeBSD
は生き残るためにユー
ザベースの貢献に頼る ようなシステムの一つです.
あなたの貢献は 感謝されるだけではなく, FreeBSD
が成長し続けるために極めて重要なものな のです!
一部の人達が言っているのとは逆に,
貢献を受け付けてもらうために腕利 きのプログラマーになるとか
FreeBSD コアチームの人と親友になる必要はあ りません. FreeBSD
プロジェクトの開発は, 多くのそして益々増加する世界中
の貢献者達によってなされており, 彼らの年齢,
専門技術分野は多岐に渡りま す.
そして手の空いている人よりも
成されるべき仕事の方が常に多いのです.
FreeBSD
プロジェクトがカーネルや散在しているユーティリティよりも,
オペレーティングシステム環境 (と, そのインストール)
に対して責任を持つ ようになったため,
私たちのTODO リストはドキュメンテーション,
ベータテ スト,
高度に専門化されたタイプのカーネル開発の好例を紹介するなど非常に
広い範囲のタスクに渡ります. あなたの技能レベルに関わらず,
プロジェクト を支援できることが必ず何かあります!
FreeBSD
関連の事業に従事している商業団体が私たちにコンタクトすること
も歓迎します. あなたの製品を (FreeBSD 上で) 動作させるには,
特別な拡張 が必要ではありませんか?
あまりにも風変わりな要求でなければ, それを受け
入れる用意が私たちにあるとわかるはずです.
付加価値のある製品ですか? 私たちに知らせてください! 多分私たちは,
ある 面において共同して作業をすることができるでしょう.
フリーソフトウェア界 は,
ソフトウェアがそのライフサイクルを通してどのように開発され,
売られ, 保守されていくかについて, 既存の仮説に挑戦しています.
少なくとももう一
度考慮してみることを私たちは強くお奨めします.
何が必要?
次のタスクとサブプロジェクトのリストは, コアチームの色々な
TODO リ
ストと最近2ヶ月で集めたユーザリクエストを合わせたものです.
可能なとこ ろでは, 緊急度によってタスクがランクづけされています.
もしここにあるタ スクの実行に興味があるのでしたら,
コーディネータの名前をクリックしてメー ルを送ってください.
もしコーディネータが決まっていなければ, あなたがボ
ランティアしてみませんか?
優先度の高いタスク
次のタスクは通常, ひどく壊れているとか,
とても必要とされている何かを 表しているため,
急務と考えられています:
第3ステージ・ブート問題. 全体コーディネーション:
&a.hackers;
第3ステージがディスクの BIOS
ジオメトリの正確なマッピングを提供 できるように WinNT
コンパチブルなドライブの追跡をおこなう.
ファイルシステム問題. 全体コーディネーション:
&a.fs;
nullfs ファイルシステムコードのクリーンアップと
ドキュメンテーション. コーディネータ: &a.eivind;
union ファイルシステムの修正. コーディネータ:
&a.dg;
カーネル vm86 及びユーザ vm86 サポート実装.
コーディネータ: &a.jlemon;
Int13 vm86 ディスクドライバの実装. コーディネータ:
&a.hackers;
カーネル問題. 全体コーディネーション:
&a.hackers;
すべての現存ドライバの eisaconf 変換の達成.
すべての割り込みルーチンを
ユニット番号を使う代わりに (void *) を
取るように変更.
EISA/PCI/ISAの割り込み登録コードの統合.
PCI/EISA/ISA デバイス検出を bt742a.c(WIP)
のようなドライバから分割.
syscons の ALT-Fn/vt 切替えによるハングの修正.
コーディネータ: &a.sos;
3c509と3c590 ドライバの統合 (本質的には PCI
デバイス検出の ep.c への提供).
優先度がさほど高くないタスク
次のタスクはやっておくべきではありますが,
特にさし迫っているわけで はありません:
MCA サポート?
これは続けるにしても止めてしまうにしても結論を出
すべき.
完全な KLD ベースのドライバのサポート /
コンフィグレーションマネー ジャ.
ld なしですべての LKM
の登録をおこなう方法を考案する. これは
カーネル中にある種のシンボルテーブルを
持たせることを意味します.
穏やかな方法でハードウェアを検知する
コンフィグレーションマネージャ の作成
(第3ステージ・ブートの中に?). ハードウェアが必要とする
KLD だけを 残す等.
PCMCIA/PCCARD. コーディネータ: &a.msmith; と &a.imp;
ドキュメンテーション!
pcic ドライバの信頼性のある操作 (テスト要).
sio.c
のリコグナイザとハンドラ (ほぼ完了).
ed.c のリコグナイザとハンドラ
(ほぼ完了).
ep.c のリコグナイザとハンドラ
(ほぼ完了).
User-mode のリコグナイザとハンドラ
(部分的に完了).
先進的なパワーマネージメント. コーディネータ: &a.nate;
と &a.phk;
APM サブドライバ (ほぼ完了).
IDE/ATA ディスクサブドライバ (部分的に完了).
syscons/pcvt サブドライバ.
PCMCIA/PCCARD ドライバ群との統合 (サスペンド /
レジューム).
優先度の低いタスク
次のタスクは全くのあら隠し,
または誰もすぐにおこないそうもない投資
のような仕事を表します:
最初の20項目は Terry Lambert
terry@lambert.org からのもので す.
プロセッサ上で V86 モードを使用して,
プロテクトモードからの BIOS コールができるようにし,
マップされた割り込み IPC 機構を経由してプロテ
クトモードの呼出し元に結果を返すようにする.
DOS と同じように,
実際の下位ハードウェアから独立になるよう, BIOS
コール機構を使用したカーネルの中に組み込まれたドライバ.
これは DOS ベー スのローダプログラムで BSD
がロードされる前に DOS にロードされていたネッ
トワークドライバや ASPI ドライバも含みます.
このことは潜在的なポーリン グ,
つまりプロテクトモードカーネルによる V86 マシンのための
DOS-not-busy 割り込みの生成を意味します.
ハードウェア固有のプロテクトモードの
ドライバがロードされて活性化 された後で,
デフォルトのカーネル実行形式の中の, そのようなドライバデー
タとテキストエリアを追跡して,
カーネルアドレス空間のその部分が回復され
るようにするためのイメージ形式. これは個々の BIOS
ベースのドライバを互いに分離することを含みます. なぜ
なら全く実行しないよりも, すべてのケースにおいて BIOS
ベースのドライバ と共に実行した方が良いためです.
バスインタフェース機構の抽象化. 現在のところ, PCMCIA,
EISA そし て PCI バスはブリッジで ISA
バスに接続されていると仮定しています. こう
いった仮定はおこなうべきではありません.
パワーマネージメントイベント, カードの挿入, 取り出し,
そしてバス (PNPISA と PCMCIA とのブリッジチップ)
対カードのレベルのイベント管理を 含む PNP
イベントを解釈するコンフィグレーションマネージャ.
固定デバイスによる他の再割当可・不可の
デバイス空間リソースの使用 と衝突しない,
再割当可能なアドレスの割り当てのためのトポロジカルソート
機構.
ハードウェアサービス登録のための登録ベースの機構.
特にタイマ, サウンドおよび他の
システムクリティカルなサービス供給源のためのデバイス
中心の登録機構.
単一の独立していないサービス供給源の一つの例として
Timer2, Timer0
そしてスピーカサービスを考慮する必要があります.
ネットワークカードと一緒に提供される ODI
カードドライバを使用で きるようにする, NetWare サーバ
(プロテクトモードの ODI ドライバ) ロー ダとサブサービス.
NDIS ドライバと NetWare の SCSI ドライバについても同
様.
前のリビジョンの FreeBSD マシンではなく, Linux
マシンで動作する 「アップグレード
システム」オプション.
移植を簡単にするためと, X, ThinkPad, PS/2マウス, LED,
コンソール スイッチング, しつこい NumLock
などの問題を全部一度に片付けるためのコ
ンソールドライバの抽象レイヤへの分割.
機会が許したら,
他の外部ドライバのための他のカーネルのエミュレー
ション環境. SCO と Solaris は UnixWare
などに続く良い候補です.
異なるアーキテクチャのバイナリの実行のための
プロセッサエミュレーション環境.
これはシステムコールインタフェースがあまり変わらなければ,
思ったより簡単です.
商用のストリームドライバを使用可能にするための
ストリーム機構.
カーネルのマルチスレッド化
(カーネルのプリエンプションが必要).
カーネルのプリエンプション付き対称マルチプロセッシング
(カーネル のプリエンプションが必要).
ポータブルコンピュータのサポートにおける協調の試み.
これは PCMCIA
ブリッジング規則と電源管理イベント処理の変更により, いく
らかは処理できます. しかし,
内蔵ディスプレイと外部ディスプレイの検出, この 2
種類のディスプレイがあるという事実に基づく
異なる解像度の選択, マシンがドックにある場合には
ディスクのモータ停止を防止すること, マシンの
ブート能力に影響を与えずにドックベースのカードの消滅を
可能にすること (PCMCIA と同じ問題)
などの問題があります.
マルチプラットフォームへの移植のための
ソースツリーの再組織化.
make
world できちんと「世界を創造する」
ができるようにする. (もしmake
regress (訳注: 後退する)と呼び方が適当であれば,
そのように 名前を変える)
最小必要メモリ 4MB 化 (もっと小さければなお良し!).
もっと簡単なタスク
上のセクションで挙げたタスクは膨大な時間の投資または
FreeBSD のカーネルに関する深い知識を必要とします
(もしくはそのどちらも). しかしながら,
"週末ハッカー"やプログラミングのスキルを持
たない人々に適した立派なタスクも数多くあります.
FreeBSD-current を運用しており,
状態の良いインターネット接続があ るならば, current.FreeBSD.org
という一日に一回フルリリースを行っている マシンがあります
— 時おり最新のリリースをそこからインストールし, その
過程で何か問題があるなら報告して下さい.
freebsd-bugs
メーリングリストを読んでください. そこではあなたが建
設的なコメントを付けたりテストできるパッチが
提供されているような問題がある かもしれません.
もしくはそれらの問題の一つをあなた自身で修正することさえ
できるかもしれません.
定期的に FAQ とハンドブックを通して読んでみてください.
もしまずい説明や古い事柄や完全に間違っていることなどが
あれば我々に しらせて下さい.
さらに良いのは我々に修正案を送ることです (SGML
は学ぶのにそれほど難しくありませんが,
プレインテキストでも問題は ありません).
(もしまだないならば) FreeBSD
のドキュメントを自分の母国語に翻訳
するのを手伝ってください —
作業している人がいるかどうか &a.doc; にメールを
送って聞くだけです. とはいっても,
そうすることによってあなたが全ての FreeBSD
ドキュメントの翻訳に携わるように
なるというわけではないですから ね — 実際,
もっとも翻訳が必要とされているドキュメントはインストール方
法です.
たまに(もしくは定期的に) freebsd-questions
メーリングリストや
comp.unix.bsd.freebsd.misc
を読んでください. これは, あなたの持ってい
る専門知識を共有したり誰かが抱えている問題を
解決するのに非常に有効な ものになり得ることです.
時にはあなた自身で新しいことを学ぶことさえ
できるかもしれません.
これらのフォーラムはやるべきことのアイディア
の源にもなり得るのです.
-current に正しく当てられるがしばらく経っても(通常は
2, 3 週間) -stable
に取り込まれてないようなバグフィックスがあるならば
コミッターに 丁寧に思い出させてください.
寄贈ソフトウェアをソースツリーの
src/contrib
に移動させてください.
src/contrib
以下のコードが最新のものであるか確認してください.
2000 年問題に関するバグを探してください(そして,
見つけたら修正してください!).
ソースツリー全体(もしくはその一部)を,
警告を詳細に報告するようにして構築してみてください.
そして警告が出ないようにしてください.
ports で, gets() を使っているとか malloc.h
をインクルードしている
などといった警告が出ないようにしてください.
もしなんらかの ports に関わっているなら,
あなたのパッチを作者に フィードバックしてください
(次のバージョンが出た時にあなたが楽になります).
このリストに追加するタスクを提案して下さい!
障害報告(PR; Problem Report)データベースにおける作業
FreeBSD 障害報告リスト では, 現在問題となっている報告と,
FreeBSD の利用者によって提出された改良の要望に関する
全てのリストを公開しています.
open 状態の障害情報を見て, 興味を引く内容かどうか確かめて下さい.
本当に複雑なものも含まれているでしょうし,
例えば, 障害報告に対する修正がちゃんとしたものであるかどうか
単にチェックするだけのとても簡単な作業もあるでしょう.
まず, まだ誰にも割り当てられていない障害報告から作業を
始めて下さい. もし, 誰か他の人に割り当てが決まっているけれども
自分が作業可能だ, というものがあれば, 作業ができるかどうか—
既にテスト用パッチが用意されているのかどうか, あるいは
その問題についてあなたが考えている,
より進んだ考えに関して議論ができるかどうか,
割り当てられている人に電子メールで問い合わせて下さい.
貢献の仕方
一般的に, システムへの貢献は次の 6
つのカテゴリの1つ以上に分類されます:
バグ報告と一般的な論評
報告するべきバグがあったり, 提案したいことがあれば:
一般的な
技術的関心事に関するアイデアや提案は &a.hackers;
へメールしてください. 同様に, このような事柄に興味のある
(そして膨大な メール! に耐えられる) 人は,
&a.majordomo; へメールを送って hackers
メーリングリストに参加すると良いでしょう. 情報については
メーリングリスト
を参照してください.
バグを発見したり変更を送付しようとしている場合は
&man.send-pr.1; プログラムか WEB ベースの
send-pr を使用して報告してください.
バグレポートの各項目を埋めるようにしてください. 65KB
を超えるのでなければ, レポート中に直接
パッチを入れてくださって結構です.
その場合, カット&ペーストはしないで
ください. カット&ペーストではタブがスペースに展開されて
パッチが使い物にならなくなってしまいます.
20KB を超える場合は,
それらを compress して &man.uuencode.1;
することも検討してください. とても大きくなる場合は
ftp.FreeBSD.org:/pub/FreeBSD/incoming/
を利用してください.
レポートがファイリングされれば, バグ報告の確認と
トラッキング番号をメールで受け取るはずです.
このトラッキング番号を覚えておき, 問題に関する詳細情報を
bug-followup@FreeBSD.org に
メールで送って更新できるようにしてください. 例えば
"Re: kern/3377" のように,
この番号をサブジェクト行に使用してください.
すべてのバグレポートの追加情報は,
この方法で送付されなければいけません.
もしタイムリに (あなたの電子メール接続形態にもよりますが,
3日から 1週間) 確認を受けとれないとか, 何らかの理由で
&man.send-pr.1; コマンドが 使用できない場合には, &a.bugs;
へメールを送り, 誰か代りにバグ報告を
送付してもらうようたずねてください.
文書の変更
文書の変更は &a.doc; が監督しています. バグ報告と一般的な論評
に記述されているように send-pr
コマンドを使用して, 提案や変更
(どんな些細なものでも歓迎します!) を送ってください.
現存のソースコードの変更
現存のソースコードへの追加または変更は,
いくらかトリッキーな仕事で あり, core の FreeBSD
開発の現状にあなたがどれだけ通じているかに大 きく依存します.
“FreeBSD-current”として知られる FreeBSD の特別な
継続的リリースがあります. FreeBSD-current
は開発者の積極的な活動の 便宜のために,
色々な方法で利用可能になっています. FreeBSD-current
の入手と使用方法についての詳しい情報については 最新の FreeBSD を追いかける
を参照してください.
不幸にして古いソースをもとに仕事をすることは,
時々あなたの変更が時 代遅れ, または FreeBSD
への簡単な再統合に合わなくなっていることを意 味します.
システムの現状に関する議論がおこなわれている &a.announce; と
&a.current; へ参加することで,
この可能性を最小限にすることができます.
完全な最新のソースを変更のベースにできることが
確実になったと仮定し て, 次のステップは FreeBSD
の保守担当者へ送る差分ファイルの生成です. これは &man.diff.1;
コマンドを使用しておこないますが, “context
diff”形式が好まれるようです. 例えば:
&prompt.user; diff -c oldfile newfile
または
&prompt.user; diff -c -r olddir newdir
これで指定されたソースファイルまたはディレクトリ階層に
対するコンテ キスト形式の差分が生成されます. 詳しい説明は
&man.diff.1; のマ ニュアルページを参照してください.
差分ファイル (&man.patch.1; コマンドでテストできます)
を作ったら, それらを FreeBSD
に含めてもらうようメールで送ってください. バグ報告と一般的な論評
に記述されているように &man.send-pr.1;
コマンドを使用してください. 差分ファイルだけを &a.hackers;
へ送ってはいけません. 途方にくれてしまいます!
私たちは多忙なので, あなたの提案に大変感謝します
(これはボランティアのプロジェクトです!).
すぐに取りかかることはできませんが, 処理されるまでは ちゃんと
pr データベースに残っています.
あなたがそうした方がいいと思う場合 (例えば,
ファイルの追加, 削除または名称変更など), 変更を
tar ファイルにまとめ, &man.uuencode.1;
プログラムにかけてください. shar
アーカイブも歓迎します.
例えばあなたがそれ自身のさらなる配布を管理する
コピーライト問題を良 く分かっていないとか,
単に厳しいレビューをおこなっておらず, リリース
する準備ができていないなど,
あなたの変更が潜在的に不安定な性質をも つものである場合,
&man.send-pr.1; で送付するよりむしろ &a.core;
へ直接送ってください. コアチームメーリングリスト宛のメールは,
日々の仕事のほとんどを FreeBSD でおこなっている人たちの,
より小さなグルー プに届きます.
このグループもまたとても忙しい
ことに注意し て, 本当に必要な場合にコアチームの彼らにメールを
送るだけにしてください.
コーディングスタイルに関する情報は man 9
intro および man 9 style
を参照してください. コードを提出する前には,
少なくともこの情報を意識しておいてくださるようお願いします.
新たなコードやメジャーな付加価値の高いパッケージ
重要な大きい仕事の寄贈や, 重要な新しいフィーチャーを
FreeBSD に追加する稀な場合には, 変更点を tar/uuencode
したファイルにして送るか, それらを私たちの ftp サイト
ftp://ftp.FreeBSD.org/pub/FreeBSD/incoming/
へアップロードす ることのどちらかが通常必要になります.
大量のコードを伴った仕事の場合,
コピーライトの神経過敏な問題が常に出てきます. FreeBSD
に含めるコードのコピーライトとして受け入れることができるのは,
以下の二つです:
BSD コピーライト.
このコピーライトは“権利に縛られない”性格
と商用企業にとって一般的な魅力をもつために最も好まれます.
FreeBSD プロジェクトは商用利用を阻んだりせず, 何かを
FreeBSD
へ投資する気になった商業関係者による参加を積極的に奨励
します.
GNU一般公有使用許諾, または“GPL”.
このライセンスはコード
を商用目的に使用する場合に余分な努力が求められるため,
私たちにあまり評判が良いというわけではありません. しかし,
私たちは既に GPL 下の高品質なコード (コンパイラ,
アセンブラ, テキストフォーマッタ等) の提供を受けており,
私たちは現在それを必要としています. そのため,
このライセンスによる新たな貢献を拒絶す
るというのは愚かなことでしょう. GPL
下のコードはソースツリー の別の部分, 現在のところ
/sys/gnu か
/usr/src/gnu に入っています.
そのため, GPL が問題となるような人は,
誰でも簡単にそれとわかるようになっています.
これ以外のタイプのコピーライトによる寄贈は, FreeBSD
へ含めることを考慮する前に,
注意深いレビューを受けなければなりません. 作者が独自
のチャネルを通して配布しており,
そのような変更をおこなうことを常に奨励している場合でも,
特に限定的な商用のコピーライトが適用される寄
贈は一般に拒否されます.
あなたの作品に “BSD-スタイル”
のコピーライトを付けるには, 保護した
いソースコードファイルすべての一番最初に
以下のテキストを入れて, %%
の間を適切な情報に置き換えください.
Copyright (c) %%適切な年%%
%%あなたの名前%%, %%あなたの州%% %%郵便番号%%.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer as
the first lines of this file unmodified.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY %%あなたの名前%% ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL %%あなたの名前%% 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.
$Id$
便宜をはかるため,
このテキストのコピーは次の場所に置いてあります.
/usr/share/examples/etc/bsd-style-copyright .
(訳注: 以下は神田敏広氏より寄贈された bsd-style-copyright
の日本語訳です.
ソースファイルに含めるものは原文の方であることに注意して
ご利用ください. また, 原文との間に趣旨の差異が生じた場合,
原文の内容が FreeBSD プロジェクトの
意思であるものとします.)
Copyright (C) [年]
[あなたの名前] All rights reserved.
ソースとバイナリ形式の再配布および使用は, 変更の有無にかかわらず以下の
条件を満たす場合に限り許可される:
1. ソースコードの再配布は, 上記の著作権表示・この条件のリスト・下記の
否認声明文を保持しなければならない.
2. バイナリ形式の再配布は, 上記の著作権表示・この条件のリスト・下記の
否認声明文を, 配布物と共に提供される文書および/または他の資料の中に
含めなければならない.
(訳注:ここから「否認声明文」です)
このソフトウェアは[あなたの名前]および貢献者によって ``あるがままの状態''
で提供され, 商品性と特定の目的に対する適合性についての暗黙の保証に留ま
らず, いかなる明示および暗黙の保証を認めない. [あなたの名前]および貢献
者は, あらゆる直接的・間接的・偶発的・特殊的・典型的・必然的な損害 (代
替製品または代替サービスの獲得費; 効用・データ・利益の喪失; または業務
中断を含み, またそれだけに留まらない損害) に対して, たとえどのようにし
て生じたとしても, そしてこのソフトウェアの使用によってどのようにであれ
生じる, 契約上であろうと, 厳密な責任内であろうと, あるいは不正行為 (過
失やそうでない場合を含む) における場合であろうとも, いかなる責任論上も,
たとえそのような損害の可能性が予見されていたとしても, 一切の責任を持た
ない.
翻訳: 神田敏広
御協力 (五十音順・敬称略):
池田研二, 内川 喜章, 藤村 英治, むらたしゅういちろう
杢野 雅一, 横田@宇都宮
金銭, ハードウェアまたはインターネットアクセス
FreeBSD プロジェクトの目的を進めるための寄付や,
私たちと同じような ボランティアの細く長い! 努力を,
私たちは常に喜んで受け入れています.
また一般的に私たちは自分達で
周辺機器を買う資金が不足しているため,
周辺機器のサポートを充実させるのに
ハードウェアの寄付はとても重要です.
資金の寄付
FreeBSD プロジェクトは501(C3) (非営利) 企業ではないため,
いかなる寄付に対しても特別な税金の優遇措置を提供することができません.
このような 寄付はプロジェクトを代表して FreeBSD, Inc.
により感謝をもって受け入れられるでしょう.
FreeBSD, Inc. は FreeBSD
プロジェクトの推進とプロジェクトに企業とし
ての最小限の体裁を持たせることを目的として, 1995年の初めに
&a.jkh; と &a.dg; により設立されました.
寄付されたすべての資金は (最終的に FreeBSD,
Inc.によりもたらされるであろうすべての利益も同様に)
プロジェクトの目標を推進するためだけに使われるでしょう.
支払い先を FreeBSD, Inc. とした小切手を,
次の住所気付けで送ってください:
FreeBSD, Inc.
c/o Jordan Hubbard
4041 Pike Lane, Suite F
Concord
CA , 94520
[現在 私書箱が開設されるまで一時的に Walnut Creek CDROM
の住所を使用]
電信振替は次の所まで直接送れるでしょう:
Bank Of America
Concord Main Office
P.O. Box 37176
San Francisco
CA , 94137-5176
Routing #: 121-000-358
Account #: 01411-07441 (FreeBSD, Inc.)
寄付に関することは全て電子メールもしくは上記 FreeBSD,
Inc. の住所宛の郵政省メールにて &a.jkh
までお送りくださるようお願いします.
もし 寄贈者ギャラリー
の節で匿名を希望される方は, 寄付の際にその旨お伝えください.
Thanks!
ハードウェアの寄贈
FreeBSD プロジェクトは,
次の3つのカテゴリのどんなハードウェアの寄贈も,
喜んで受け付けます:
ディスクドライブ,
メモリまたは完全なシステムといった一般用途のハードウェアは,
資金の寄付 の節にある
FreeBSD, Inc. の住所まで送っ てください.
進行中の受け入れテストのための
ハードウェアが必要とされていま す.
新たなリリース毎に適切な逆行テストができるように,
私たちは現在, FreeBSD
がサポートするすべてのコンポーネントの
テストラボを設置しよう としています. 私たちにはまだ,
たくさんの重要な部品 (ネットワークカード,
マザーボードなど) が不足していますので,
このような寄贈をしたいと思って いるならば, &a.dg;
へコンタクトしてどの部品がまだ必要とされているか
の情報を得てください.
現在 FreeBSD にサポートされていないハードウェアで,
サポートに追加して欲しいもの.
私たちが新しいハードウェアを受けとる前にそのタスクを
引き受けてくれる開発者を探す必要があるため,
その部品を送る前に &a.core;
にコンタクトを取ってください.
インターネットアクセスの寄付
私たちは常に FTP, WWW や cvsup
の新しいミラーサイトを募集しています.
ミラーサイトになりたい場合には the FreeBSD project
administrators hubs@FreeBSD.org
にコンタクトを取って, 詳しい情報を手に入れてください.
寄贈者ギャラリー
FreeBSD プロジェクトは次の寄贈者に恩義を受けており,
ここに公表して感謝の意を表したいと思います.
セントラルサーバプロジェクトへの寄贈者:
次に挙げる個人および企業からは,
セントラルサーバマシンのための 部品の寄贈を頂いており,
それによって freefall.FreeBSD.org
をリプレースして新たに FreeBSD
プロジェクトのセントラルサーバマシンを
構築することができました:
&a.mbarkah
と彼の所属する Hemisphere Online
は, Pentium Pro (P6) 200Mhz CPU
を寄贈してくださいました.
ASA
Computers は, Tyan 1662
マザーボード
を寄贈してくださいました.
ViaNet
Communications の Joe McGuckin
joe@via.net は, Kingston
イーサネットコントローラ
を寄贈してくださいました.
Jack O'Neill
jack@diamond.xtalwind.net は,
NCR 53C875 SCSI コントローラカード
を寄贈してくださいました.
Alameda
Networks の Ulf Zimmermann
ulf@Alameda.net は, 128MB
のメモリ , そして 4 GB
のディスクドライブと匡体
を寄贈してくださいました.
直接的な資金提供:
次に挙げる個人および企業からは FreeBSD
プロジェクトに対する直接的な
資金提供を頂いております:
Annelise Anderson
ANDRSN@HOOVER.STANFORD.EDU
&a.dillon
Blue Mountain
Arts
Epilogue Technology Corporation
&a.sef
Global Technology
Associates, Inc
Don Scott Wilde
Gianmarco Giovannelli
gmarco@masternet.it
Josef C. Grosch joeg@truenorth.org
Robert T. Morris
&a.chuckr
Imaginary Landscape, LLC.
の Kenneth P. Stox
ken@stox.sa.enteract.com
Dmitry S. Kohmanyuk dk@dog.farm.org
日本の
Laser5
は, さまざまな種類の FreeBSD CD の販売利益の一部を
寄付してくれました.
蕗出版 は, はじめての FreeBSD
の売り上げの一部を FreeBSD プロジェクト及び
XFree86 プロジェクトへ寄付してくれました.
アスキー
は FreeBSD 関連の書籍の売り上げの一部を FreeBSD
プロジェクト及び FreeBSD 友の会へ寄付してくれました.
横河電機株式会社 からは FreeBSD
プロジェクトへ多大な寄付をいただきました.
BuffNET
Pacific
Solutions
Siemens AG
via Andre
Albsmeier
Chris Silva
ハードウェアの寄贈者:
次に挙げる個人および企業からは,
テストやデバイスドライバの開発 / サポート
のためのハードウェアの寄贈を頂いております:
Walnut Creek CDROM は,
ネットワークへのアクセスおよび
他のハードウェアリソースの寄贈はいうまでもなく,
開発に使うための Pentium P5-90 と 486/DX2-66 EISA/VL
のシステム数台を提供してくださいました.
TRW Financial Sysytems 社は, PC 130台, 68 GB
のファイルサーバ 3台, 12のイーサネット,
ディスクレスコードのデバッグをおこなうための ルータ
2台及び ATM スイッチを提供してくださいました. また,
彼らは 2, 3人の FreeBSD ハッカーを雇って, FreeBSD
に専念させてくださっております.
ありがとうございます!
Dermot McDonnell は, 東芝 XM3401B CD-ROM ドライブを
寄贈してくださいました. その CD-ROM ドライブは現在
freefall で使用されています.
&a.chuck; は, 実験用のフロッピーテープストリーマを
寄付してくださいました.
Larry Altneu larry@ALR.COM と
&a.wilko;は, wt
ドライバを改良するために Wangtek と Archive の QIC-02
テープドライブを提供してくださいました.
Ernst Winter ewinter@lobo.muc.de は,
このプロジェクトへ 2.88 MB
のフロッピードライブを提供してくださいました.
うまくいけば,
これでフロッピーディスクドライバを書き直すための
プレッシャーが増えるでしょう. ;-)
Tekram
Technologies は NCR ドライバや AMD
ドライバと自社のカードの逆行テストのため FAST/ULTRA
SCSI ホストアダプタ DC-390, DC-390U, DC-390F を
各1枚提供してくださいました. また, フリーな OS
のためのドライバの ソースを自社の FTP サーバ
ftp://ftp.tekram.com/scsi/FreeBSD/
で公開されていることも称賛に値するでしょう.
Larry M. Augustin
は Symbios Sym8751S SCSI
カードを寄贈してくださっただけでなく, Ultra-2 や LVD
をサポートする次期チップ Sym53c895 のものを含む
データブックのセットと, 最新の Symbios SCSI
チップが持つ先進的機能を安全に使う方法について書かれた
最新のプログラミングマニュアルも寄贈してくださいました.
本当にありがとうございます!
Christoph Kukulies kuku@FreeBSD.org
は, IDE CD-ROM ドライバ開発用の FX120 12 倍速 Mitsumi
CD-ROM ドライブを提供してくださいました.
特筆すべき寄贈者:
Walnut Creek
CDROM は,
言い表せないほど多くの寄付をしてくださいました (詳細は
FreeBSD 小史を参照).
特に, 私たちのもともとのプライマリ開発マシンである
freefall.FreeBSD.org ,
テストおよびビルドマシンである thud.FreeBSD.org
で使用しているハードウェアに対し感謝したいと思います.
また彼らには, 数年にわたる色々な貢献者への資金提供や,
インターネットへの T1 コネクションの無制限使用を提供して
頂いた恩義があります.
interface
business GmbH, Dresden は, &a.joerg;
を根気よくサポートしてくださいました. 彼は本職より
FreeBSD の仕事を好みがちであり, 彼個人の接続があまりに
遅くなったり途切れたりして仕事にならない時は必ず
interface business の (非常に高価な) EUnet
インターネット接続に頼ったものです...
Berkeley Software
Design, Inc. は, 同社の DOS
エミュレータのコードを
BSD コミュニティ全体に対して提供してくれました. このコードは,
doscmd
コマンドに利用されています.
コアチームの卒業生
次に挙げる人々は()で記した期間, FreeBSD
コアチームのメンバーでした. FreeBSD
プロジェクトにおける彼らの努力に感謝の意を表します.
だいたいの年代順:
&a.guido (1995 - 1999)
&a.dyson (1993 - 1998)
&a.nate (1992 - 1996)
&a.rgrimes (1992 - 1995)
Andreas Schulz (1992 - 1995)
&a.csgr (1993 - 1995)
&a.paul (1992 - 1995)
&a.smace (1993 - 1994)
Andrew Moore (1993 - 1994)
Christoph Robitschko (1993 - 1994)
J. T. Conklin (1992 - 1993)
BSD 派生ソフトウェアへのコントリビュータ
このソフトウェアは最初は William F. Jolitz の 386BSD release
0.1 から派生しましたが, オリジナルの 386BSD
に固有のコードはほとんど残っていません.
このソフトウェアは基本的にはカリフォルニア大学 バークレイ校の
Computer Science Research Group (CSRG) とその共同研究者
たちによる 4.4BSD-Lite リリースから再実装されました.
また, NetBSD や OpenBSD の一部も FreeBSD
に取り込まれています. したがって私たちは NetBSD と OpenBSD
へ貢献した人々すべてに感謝します.
その他の FreeBSD へのコントリビュータ
(名前でアルファベット順に):
ABURAYA Ryushirou rewsirow@ff.iij4u.or.jp
AMAGAI Yoshiji amagai@nue.org
Aaron Bornstein aaronb@j51.com
Aaron Smith aaron@mutex.org
Achim Patzner ap@noses.com
Ada T Lim ada@bsd.org
Adam Baran badam@mw.mil.pl
Adam Glass glass@postgres.berkeley.edu
Adam McDougall mcdouga9@egr.msu.edu
+
+
+ Adam Strohl troll@digitalspark.net
+
Adrian Colley aecolley@ois.ie
Adrian Hall adrian@ibmpcug.co.uk
Adrian Mariano adrian@cam.cornell.edu
Adrian Steinmann ast@marabu.ch
-
- Adam Strohl troll@digitalspark.net
-
-
Adrian T. Filipi-Martin
atf3r@agate.cs.virginia.edu
Ajit Thyagarajan unknown
Akinori MUSHA aka knu
knu@idaemons.org
Akio Morita
amorita@meadow.scphys.kyoto-u.ac.jp
Akira SAWADA unknown
Akira Watanabe
akira@myaw.ei.meisei-u.ac.jp
Akito Fujita fujita@zoo.ncl.omron.co.jp
Alain Kalker
A.C.P.M.Kalker@student.utwente.nl
Alan Bawden alan@curry.epilogue.com
Alec Wolman wolman@cs.washington.edu
Aled Morris aledm@routers.co.uk
Alex garbanzo@hooked.net
Alex D. Chen
dhchen@Canvas.dorm7.nccu.edu.tw
Alex G. Bulushev bag@demos.su
Alex Le Heux alexlh@funk.org
Alex Perel veers@disturbed.net
Alex Varju varju@webct.com
Alexander B. Povolotsky tarkhil@mgt.msk.ru
- Alexander Leidinger
- netchild@wurzelausix.CS.Uni-SB.DE
+ Alexander Langer alex@cichlids.com
- Alexander Langer alex@cichlids.com
+ Alexander Leidinger
+ netchild@wurzelausix.CS.Uni-SB.DE
Alexandre Snarskii snar@paranoia.ru
Alistair G. Crooks agc@uts.amdahl.com
Allan Saddi asaddi@philosophysw.com
Allen Campbell allenc@verinet.com
Amakawa Shuhei amakawa@hoh.t.u-tokyo.ac.jp
Amancio Hasty hasty@star-gate.com
Amir Farah amir@comtrol.com
Amy Baron amee@beer.org
Anatoly A. Orehovsky tolik@mpeks.tomsk.su
Anatoly Vorobey mellon@pobox.com
Anders Nordby anders@fix.no
Anders Thulin Anders.X.Thulin@telia.se
Andras Olah olah@cs.utwente.nl
Andre Albsmeier
Andre.Albsmeier@mchp.siemens.de
Andre Oppermann andre@pipeline.ch
Andreas Haakh ah@alman.robin.de
Andreas Kohout shanee@rabbit.augusta.de
Andreas Lohr andreas@marvin.RoBIN.de
Andreas Schulz unknown
Andreas Wetzel mickey@deadline.snafu.de
Andreas Wrede andreas@planix.com
Andres Vega Garcia unknown
Andrew Atrens atreand@statcan.ca
Andrew Boothman andrew@cream.org
Andrew Gillham gillham@andrews.edu
Andrew Gordon andrew.gordon@net-tel.co.uk
Andrew Herbert andrew@werple.apana.org.au
Andrew J. Korty ajk@purdue.edu
Andrew L. Moore alm@mclink.com
Andrew McRae amcrae@cisco.com
Andrew Stevenson andrew@ugh.net.au
Andrew Timonin tim@pool1.convey.ru
Andrew V. Stesin stesin@elvisti.kiev.ua
Andrew Webster awebster@dataradio.com
Andy Farkas andyf@speednet.com.au
Andy Valencia ajv@csd.mot.com
Andy Whitcroft andy@sarc.city.ac.uk
Angelo Turetta ATuretta@stylo.it
Anthony C. Chavez magus@xmission.com
Anthony Yee-Hang Chan yeehang@netcom.com
Anton Berezin tobez@plab.ku.dk
Antti Kaipila anttik@iki.fi
+
+ arci vega@sophia.inria.fr
+
+
Are Bryne are.bryne@communique.no
Ari Suutari ari@suutari.iki.fi
Arjan de Vet devet@IAEhv.nl
Arne Henrik Juul arnej@Lise.Unit.NO
Assar Westerlund assar@sics.se
Atsushi Furuta furuta@sra.co.jp
Atsushi Murai amurai@spec.co.jp
Bakul Shah bvs@bitblocks.com
Barry Bierbauch pivrnec@vszbr.cz
Barry Lustig barry@ictv.com
Ben Hutchinson benhutch@xfiles.org.uk
Ben Jackson unknown
Ben Smithurst ben@scientia.demon.co.uk
Ben Walter bwalter@itachi.swcp.com
Benjamin Lewis bhlewis@gte.net
Bernd Rosauer br@schiele-ct.de
Bill Kish kish@osf.org
Bill Trost trost@cloud.rain.com
Blaz Zupan blaz@amis.net
Bob Van Valzah Bob@whitebarn.com
+
+ Bob Wilcox bob@obiwan.uucp
+
+
Bob Willcox bob@luke.pmr.com
Boris Staeblow balu@dva.in-berlin.de
+
+ Boyd Faulkner faulkner@mpd.tandem.com
+
+
Boyd R. Faulkner faulkner@asgard.bga.com
Brad Karp karp@eecs.harvard.edu
Bradley Dunn bradley@dunn.org
Brandon Fosdick bfoz@glue.umd.edu
Brandon Gillespie brandon@roguetrader.com
&a.wlloyd
-
- Bob Wilcox bob@obiwan.uucp
-
-
-
- Boyd Faulkner faulkner@mpd.tandem.com
-
-
Brent J. Nordquist bjn@visi.com
Brett Lymn blymn@mulga.awadi.com.AU
Brett Taylor
brett@peloton.runet.edu
Brian Campbell brianc@pobox.com
Brian Clapper bmc@willscreek.com
Brian Cully shmit@kublai.com
Brian Handy
handy@lambic.space.lockheed.com
Brian Litzinger brian@MediaCity.com
Brian McGovern bmcgover@cisco.com
Brian Moore ziff@houdini.eecs.umich.edu
Brian R. Haug haug@conterra.com
Brian Tao taob@risc.org
Brion Moss brion@queeg.com
Bruce A. Mah bmah@ca.sandia.gov
Bruce Albrecht bruce@zuhause.mn.org
Bruce Gingery bgingery@gtcs.com
Bruce J. Keeler loodvrij@gridpoint.com
Bruce Murphy packrat@iinet.net.au
Bruce Walter walter@fortean.com
Carey Jones mcj@acquiesce.org
Carl Fongheiser cmf@netins.net
Carl Mascott cmascott@world.std.com
Casper casper@acc.am
Castor Fu castor@geocast.com
Cejka Rudolf cejkar@dcse.fee.vutbr.cz
Chain Lee chain@110.net
Charles Hannum mycroft@ai.mit.edu
Charles Henrich henrich@msu.edu
Charles Mott cmott@srv.net
Charles Owens owensc@enc.edu
Chet Ramey chet@odin.INS.CWRU.Edu
Chia-liang Kao clkao@CirX.ORG
Chiharu Shibata chi@bd.mbn.or.jp
Chip Norkus unknown
Choi Jun Ho junker@jazz.snu.ac.kr
Chris Csanady cc@tarsier.ca.sandia.gov
Chris Dabrowski chris@vader.org
Chris Dillon cdillon@wolves.k12.mo.us
Chris Shenton
cshenton@angst.it.hq.nasa.gov
Chris Stenton jacs@gnome.co.uk
Chris Timmons skynyrd@opus.cts.cwu.edu
Chris Torek torek@ee.lbl.gov
Christian Gusenbauer
cg@fimp01.fim.uni-linz.ac.at
Christian Haury Christian.Haury@sagem.fr
Christian Weisgerber
naddy@bigeye.rhein-neckar.de
Christoph P. Kukulies kuku@FreeBSD.org
Christoph Robitschko
chmr@edvz.tu-graz.ac.at
Christoph Weber-Fahr
wefa@callcenter.systemhaus.net
Christopher G. Demetriou
cgd@postgres.berkeley.edu
Christopher T. Johnson
cjohnson@neunacht.netgsi.com
Chrisy Luke chrisy@flix.net
Chuck Hein chein@cisco.com
Clive Lin clive@CiRX.ORG
Colman Reilly careilly@tcd.ie
Conrad Sabatier conrads@neosoft.com
Coranth Gryphon gryphon@healer.com
Cornelis van der Laan
nils@guru.ims.uni-stuttgart.de
Cove Schneider cove@brazil.nbn.com
Craig Leres leres@ee.lbl.gov
Craig Loomis unknown
Craig Metz cmetz@inner.net
Craig Spannring cts@internetcds.com
Craig Struble cstruble@vt.edu
Cristian Ferretti cfs@riemann.mat.puc.cl
Curt Mayer curt@toad.com
Cy Schubert cschuber@uumail.gov.bc.ca
-
- DI. Christian Gusenbauer
- cg@scotty.edvz.uni-linz.ac.at
-
-
Dai Ishijima ishijima@tri.pref.osaka.jp
Daisuke Watanabe NU7D-WTNB@asahi-net.or.jp
Damian Hamill damian@cablenet.net
Dan Cross tenser@spitfire.ecsel.psu.edu
Dan Lukes dan@obluda.cz
Dan Nelson dnelson@emsphone.com
Dan Walters hannibal@cyberstation.net
Daniel M. Eischen
deischen@iworks.InterWorks.org
Daniel O'Connor doconnor@gsoft.com.au
Daniel Poirot poirot@aio.jsc.nasa.gov
Daniel Rock rock@cs.uni-sb.de
Danny Egen unknown
Danny J. Zerkel dzerkel@phofarm.com
Darren Reed avalon@coombs.anu.edu.au
Dave Adkins adkin003@tc.umn.edu
Dave Andersen angio@aros.net
Dave Blizzard dblizzar@sprynet.com
Dave Bodenstab imdave@synet.net
Dave Burgess burgess@hrd769.brooks.af.mil
Dave Chapeskie dchapes@ddm.on.ca
Dave Cornejo dave@dogwood.com
Dave Edmondson davided@sco.com
Dave Glowacki dglo@ssec.wisc.edu
Dave Marquardt marquard@austin.ibm.com
Dave Tweten tweten@FreeBSD.org
David A. Adkins adkin003@tc.umn.edu
David A. Bader dbader@umiacs.umd.edu
David Borman dab@bsdi.com
David Dawes dawes@XFree86.org
David Filo filo@yahoo.com
David Holland dholland@eecs.harvard.edu
David Holloway daveh@gwythaint.tamis.com
David Horwitt dhorwitt@ucsd.edu
David Hovemeyer daveho@infocom.com
David Jones dej@qpoint.torfree.net
David Kelly dkelly@tomcat1.tbe.com
David Kulp dkulp@neomorphic.com
David L. Nugent davidn@blaze.net.au
David Leonard d@scry.dstc.edu.au
David Malone dwmalone@maths.tcd.ie
David Muir Sharnoff muir@idiom.com
David S. Miller davem@jenolan.rutgers.edu
David Wolfskill dhw@whistle.com
Dean Gaudet dgaudet@arctic.org
Dean Huxley dean@fsa.ca
Denis Fortin unknown
Dennis Glatting
dennis.glatting@software-munitions.com
Denton Gentry denny1@home.com
+
+ der Mouse mouse@Collatz.McRCIM.McGill.EDU
+
+
Derek Inksetter derek@saidev.com
+
+ DI. Christian Gusenbauer
+ cg@scotty.edvz.uni-linz.ac.at
+
+
Dima Sivachenko dima@Chg.RU
Dirk Keunecke dk@panda.rhein-main.de
Dirk Nehrling nerle@pdv.de
Dmitry Khrustalev dima@xyzzy.machaon.ru
Dmitry Kohmanyuk dk@farm.org
Dom Mitchell dom@myrddin.demon.co.uk
Dominik Brettnacher domi@saargate.de
Dominik Rother dr@domix.de
Don Croyle croyle@gelemna.ft-wayne.in.us
&a.whiteside;
Don Morrison dmorrisn@u.washington.edu
Don Yuniskis dgy@rtd.com
Donald Maddox dmaddox@conterra.com
Doug Barton Doug@gorean.org
Douglas Ambrisko ambrisko@whistle.com
Douglas Carmichael dcarmich@mcs.com
Douglas Crosher dtc@scrooge.ee.swin.oz.au
Drew Derbyshire ahd@kew.com
Duncan Barclay dmlb@ragnet.demon.co.uk
Dustin Sallings dustin@spy.net
Eckart "Isegrim" Hofmann
Isegrim@Wunder-Nett.org
Ed Gold
vegold01@starbase.spd.louisville.edu
Ed Hudson elh@p5.spnet.com
+
+ Edward Chuang edwardc@firebird.org.tw
+
+
Edward Wang edward@edcom.com
Edwin Groothus edwin@nwm.wan.philips.com
+
+ Ege Rekk aagero@aage.priv.no
+
+
Eiji-usagi-MATSUmoto usagi@clave.gr.jp
ELISA Font Project
Elmar Bartel
bartel@informatik.tu-muenchen.de
Eric A. Griff eagriff@global2000.net
Eric Blood eblood@cs.unr.edu
Eric J. Haug ejh@slustl.slu.edu
Eric J. Schwertfeger eric@cybernut.com
Eric L. Hernes erich@lodgenet.com
Eric P. Scott eps@sirius.com
Eric Sprinkle eric@ennovatenetworks.com
Erich Stefan Boleyn erich@uruk.org
Erik E. Rantapaa rantapaa@math.umn.edu
Erik H. Moe ehm@cris.com
Ernst Winter ewinter@lobo.muc.de
Espen Skoglund esk@ira.uka.de
Eugene M. Kim astralblue@usa.net
Eugene Radchenko genie@qsar.chem.msu.su
Eugeny Kuzakov CoreDumped@lab321.ru
Evan Champion evanc@synapse.net
Faried Nawaz fn@Hungry.COM
Flemming Jacobsen fj@tfs.com
Fong-Ching Liaw fong@juniper.net
Francis M J Hsieh mjshieh@life.nthu.edu.tw
Frank Bartels knarf@camelot.de
Frank Chen Hsiung Chan
frankch@waru.life.nthu.edu.tw
Frank Durda IV uhclem@nemesis.lonestar.org
Frank MacLachlan fpm@n2.net
Frank Nobis fn@Radio-do.de
- Frank Volf volf@oasis.IAEhv.nl
+ Frank ten Wolde franky@pinewood.nl
- Frank ten Wolde franky@pinewood.nl
+ Frank van der Linden frank@fwi.uva.nl
- Frank van der Linden frank@fwi.uva.nl
+ Frank Volf volf@oasis.IAEhv.nl
Fred Cawthorne fcawth@jjarray.umn.edu
Fred Gilham gilham@csl.sri.com
Fred Templin templin@erg.sri.com
Frederick Earl Gray fgray@rice.edu
FUJIMOTO Kensaku
fujimoto@oscar.elec.waseda.ac.jp
FUJISHIMA Satsuki k5@respo.or.jp
FURUSAWA Kazuhisa
furusawa@com.cs.osakafu-u.ac.jp
- Gabor Kincses gabor@acm.org
+ G. Adam Stanislavadam@whizkidtech.net
- Gabor Zahemszky zgabor@CoDe.hu
+ Gabor Kincses gabor@acm.org
- G. Adam Stanislavadam@whizkidtech.net
+ Gabor Zahemszky zgabor@CoDe.hu
Garance A Drosehn gad@eclipse.its.rpi.edu
Gareth McCaughan gjm11@dpmms.cam.ac.uk
Gary A. Browning gab10@griffcd.amdahl.com
Gary Howland gary@hotlava.com
Gary J. garyj@rks32.pcs.dec.com
Gary Kline kline@thought.org
Gaspar Chilingarov nightmar@lemming.acc.am
Gea-Suan Lin gsl@tpts4.seed.net.tw
Geoff Rehmet csgr@alpha.ru.ac.za
Georg Wagner georg.wagner@ubs.com
Gianmarco Giovannelli
gmarco@giovannelli.it
Gil Kloepfer Jr. gil@limbic.ssdl.com
Gilad Rom rom_glsa@ein-hashofet.co.il
- Ginga Kawaguti
- ginga@amalthea.phys.s.u-tokyo.ac.jp
+ Giles Lean giles@nemeton.com.au
- Giles Lean giles@nemeton.com.au
+ Ginga Kawaguti
+ ginga@amalthea.phys.s.u-tokyo.ac.jp
Glen Foster gfoster@gfoster.com
Glenn Johnson gljohns@bellsouth.net
Godmar Back gback@facility.cs.utah.edu
Goran Hammarback goran@astro.uu.se
Gord Matzigkeit gord@enci.ucalgary.ca
Gordon Greeff gvg@uunet.co.za
Graham Wheeler gram@cdsec.com
Greg A. Woods woods@zeus.leitch.com
Greg Ansley gja@ansley.com
Greg Troxel gdt@ir.bbn.com
Greg Ungerer gerg@stallion.oz.au
Gregory Bond gnb@itga.com.au
Gregory D. Moncreaff
moncrg@bt340707.res.ray.com
Guy Harris guy@netapp.com
Guy Helmer ghelmer@cs.iastate.edu
HAMADA Naoki hamada@astec.co.jp
-
- HONDA Yasuhiro
- honda@kashio.info.mie-u.ac.jp
-
-
-
- HOSOBUCHI Noriyuki hoso@buchi.tama.or.jp
-
-
Hannu Savolainen hannu@voxware.pp.fi
Hans Huebner hans@artcom.de
Hans Petter Bieker zerium@webindex.no
Hans Zuidam hans@brandinnovators.com
Harlan Stenn Harlan.Stenn@pfcs.com
Harold Barker hbarker@dsms.com
Havard Eidnes
Havard.Eidnes@runit.sintef.no
Heikki Suonsivu hsu@cs.hut.fi
Heiko W. Rupp unknown
Helmut F. Wirth hfwirth@ping.at
Henrik Vestergaard Draboel
hvd@terry.ping.dk
Herb Peyerl hpeyerl@NetBSD.org
Hideaki Ohmon ohmon@tom.sfc.keio.ac.jp
Hidekazu Kuroki hidekazu@cs.titech.ac.jp
Hideki Yamamoto hyama@acm.org
Hideyuki Suzuki
hideyuki@sat.t.u-tokyo.ac.jp
Hirayama Issei iss@mail.wbs.ne.jp
Hiroaki Sakai sakai@miya.ee.kagu.sut.ac.jp
Hiroharu Tamaru tamaru@ap.t.u-tokyo.ac.jp
Hironori Ikura hikura@kaisei.org
Hiroshi Nishikawa nis@pluto.dti.ne.jp
Hiroya Tsubakimoto unknown
Holger Veit Holger.Veit@gmd.de
Holm Tiffe holm@geophysik.tu-freiberg.de
+
+ HONDA Yasuhiro
+ honda@kashio.info.mie-u.ac.jp
+
+
Horance Chou
horance@freedom.ie.cycu.edu.tw
Horihiro Kumagai kuma@jp.FreeBSD.org
+
+ HOSOBUCHI Noriyuki hoso@buchi.tama.or.jp
+
+
HOTARU-YA hotaru@tail.net
Hr.Ladavac lada@ws2301.gud.siemens.co.at
Hubert Feyrer hubertf@NetBSD.ORG
Hugh F. Mahon hugh@nsmdserv.cnd.hp.com
Hugh Mahon h_mahon@fc.hp.com
Hung-Chi Chu hcchu@r350.ee.ntu.edu.tw
-
- IMAI Takeshi take-i@ceres.dti.ne.jp
-
-
-
- IMAMURA Tomoaki
- tomoak-i@is.aist-nara.ac.jp
-
-
Ian Dowse iedowse@maths.tcd.ie
Ian Holland ianh@tortuga.com.au
Ian Struble ian@broken.net
Ian Vaudrey i.vaudrey@bigfoot.com
Igor Khasilev igor@jabber.paco.odessa.ua
Igor Roshchin str@giganda.komkon.org
Igor Sviridov siac@ua.net
Igor Vinokurov igor@zynaps.ru
Ikuo Nakagawa ikuo@isl.intec.co.jp
Ilya V. Komarov mur@lynx.ru
+
+ IMAI Takeshi take-i@ceres.dti.ne.jp
+
+
+
+ IMAMURA Tomoaki
+ tomoak-i@is.aist-nara.ac.jp
+
+
Issei Suzuki issei@jp.FreeBSD.org
Itsuro Saito saito@miv.t.u-tokyo.ac.jp
IWASHITA Yoji shuna@pop16.odn.ne.jp
IWASHITA Yoji shuna@pop16.odn.ne.jp
J. Bryant jbryant@argus.flash.net
J. David Lowe lowe@saturn5.com
J. Han hjh@best.com
J. Hawk jhawk@MIT.EDU
J.T. Conklin jtc@cygnus.com
J.T. Jang keith@email.gcn.net.tw
Jack jack@zeus.xtalwind.net
Jacob Bohn Lorensen jacob@jblhome.ping.mk
Jagane D Sundar jagane@netcom.com
Jake Burkholder jake@checker.org
Jake Hamby jehamby@lightside.com
James Clark jjc@jclark.com
James D. Stewart jds@c4systm.com
+
+ James da Silva jds@cs.umd.edu
+
+
James Jegers jimj@miller.cs.uwm.edu
James Raynard
fhackers@jraynard.demon.co.uk
James T. Liu jtliu@phlebas.rockefeller.edu
-
- James da Silva jds@cs.umd.edu
-
-
Jan Conard
charly@fachschaften.tu-muenchen.de
Jan Koum jkb@FreeBSD.org
Janick Taillandier
Janick.Taillandier@ratp.fr
Janusz Kokot janek@gaja.ipan.lublin.pl
Jarle Greipsland jarle@idt.unit.no
Jason Garman init@risen.org
Jason Thorpe thorpej@NetBSD.org
Jason Wright jason@OpenBSD.org
Jason Young
doogie@forbidden-donut.anet-stl.com
Javier Martin Rueda jmrueda@diatel.upm.es
Jay Fenlason hack@datacube.com
Jaye Mathisen mrcpu@cdsnet.net
Jeff Bartig jeffb@doit.wisc.edu
+
+ Jeff Brown jabrown@caida.org
+
+
Jeff Forys jeff@forys.cranbury.nj.us
Jeff Kletsky Jeff@Wagsky.com
Jeffrey Evans evans@scnc.k12.mi.us
Jeffrey Wheat jeff@cetlink.net
Jens Schweikhardt schweikh@noc.dfn.d
Jeremy Allison jallison@whistle.com
Jeremy Chatfield jdc@xinside.com
Jeremy Prior unknown
Jeremy Shaffner jeremy@external.org
Jesse Rosenstock jmr@ugcs.caltech.edu
Jian-Da Li jdli@csie.nctu.edu.tw
Jim Babb babb@FreeBSD.org
Jim Binkley jrb@cs.pdx.edu
Jim Carroll jim@carroll.com
Jim Flowers jflowers@ezo.net
Jim Leppek jleppek@harris.com
Jim Lowe james@cs.uwm.edu
Jim Mattson jmattson@sonic.net
Jim Mercer jim@komodo.reptiles.org
Jim Wilson wilson@moria.cygnus.com
Jimbo Bahooli
griffin@blackhole.iceworld.org
Jin Guojun jin@george.lbl.gov
Joachim Kuebart unknown
Joao Carlos Mendes Luis jonny@jonny.eng.br
Jochen Pohl jpo.drs@sni.de
Joe "Marcus" Clarke marcus@miami.edu
Joe Abley jabley@clear.co.nz
Joe Jih-Shian Lu jslu@dns.ntu.edu.tw
Joe Orthoefer j_orthoefer@tia.net
Joe Traister traister@mojozone.org
Joel Faedi Joel.Faedi@esial.u-nancy.fr
Joel Ray Holveck joelh@gnu.org
Joel Sutton jsutton@bbcon.com.au
Johan Granlund johan@granlund.nu
Johan Karlsson k@numeri.campus.luth.se
Johan Larsson johan@moon.campus.luth.se
Johann Tonsing jtonsing@mikom.csir.co.za
Johannes Helander unknown
Johannes Stille unknown
John Beckett jbeckett@southern.edu
John Beukema jbeukema@hk.super.net
John Brezak unknown
John Capo jc@irbs.com
John F. Woods jfw@jfwhome.funhouse.com
John Goerzen
jgoerzen@alexanderwohl.complete.org
John Hay jhay@mikom.csir.co.za
John Heidemann johnh@isi.edu
John Hood cgull@owl.org
John Kohl unknown
John Lind john@starfire.mn.org
John Mackin john@physiol.su.oz.au
John P johnp@lodgenet.com
John Perry perry@vishnu.alias.net
John Preisler john@vapornet.com
John Rochester jr@cs.mun.ca
John Sadler john_sadler@alum.mit.edu
John Saunders john@pacer.nlc.net.au
John W. DeBoskey jwd@unx.sas.com
John Wehle john@feith.com
John Woods jfw@eddie.mit.edu
Jon Morgan morgan@terminus.trailblazer.com
Jonathan H N Chin jc254@newton.cam.ac.uk
Jonathan Hanna
jh@pc-21490.bc.rogers.wave.ca
Jorge Goncalves j@bug.fe.up.pt
Jorge M. Goncalves ee96199@tom.fe.up.pt
Jos Backus jbackus@plex.nl
Jose M. Alcaide jose@we.lc.ehu.es
Jose Marques jose@nobody.org
Josef Grosch
jgrosch@superior.mooseriver.com
Joseph Stein joes@wstein.com
Josh Gilliam josh@quick.net
Josh Tiefenbach josh@ican.net
Juergen Lock nox@jelal.hb.north.de
Juha Inkari inkari@cc.hut.fi
Jukka A. Ukkonen jua@iki.fi
Julian Assange proff@suburbia.net
Julian Coleman j.d.coleman@ncl.ac.uk
&a.jhs
Julian Jenkins kaveman@magna.com.au
Junichi Satoh junichi@jp.FreeBSD.org
Junji SAKAI sakai@jp.FreeBSD.org
Junya WATANABE junya-w@remus.dti.ne.jp
K.Higashino a00303@cc.hc.keio.ac.jp
-
- KUNISHIMA Takeo kunishi@c.oka-pu.ac.jp
-
-
Kai Vorma vode@snakemail.hut.fi
Kaleb S. Keithley kaleb@ics.com
Kaneda Hiloshi vanitas@ma3.seikyou.ne.jp
Kapil Chowksey kchowksey@hss.hns.com
Karl Denninger karl@mcs.com
Karl Dietz Karl.Dietz@triplan.com
Karl Lehenbauer karl@NeoSoft.com
-
- Kato Takenori
- kato@eclogite.eps.nagoya-u.ac.jp
-
-
KATO Tsuguru tkato@prontomail.ne.jp
Kawanobe Koh kawanobe@st.rim.or.jp
Kazuhiko Kiriyama kiri@kiri.toba-cmt.ac.jp
Kazuo Horikawa horikawa@jp.FreeBSD.org
Kees Jan Koster kjk1@ukc.ac.uk
Keith Bostic bostic@bostic.com
Keith E. Walker unknown
Keith Moore unknown
Keith Sklower unknown
Kelly Yancey kbyanc@posi.net
Ken Hornstein unknown
Ken Key key@cs.utk.edu
Ken Mayer kmayer@freegate.com
Kenji Saito marukun@mx2.nisiq.net
Kenji Tomita tommyk@da2.so-net.or.jp
Kenneth Furge kenneth.furge@us.endress.com
Kenneth Monville desmo@bandwidth.org
Kenneth R. Westerback krw@tcn.net
Kenneth Stailey kstailey@gnu.ai.mit.edu
Kent Talarico kent@shipwreck.tsoft.net
Kent Vander Velden graphix@iastate.edu
Kentaro Inagaki JBD01226@niftyserve.ne.jp
Kevin Bracey kbracey@art.acorn.co.uk
Kevin Day toasty@dragondata.com
Kevin Lahey kml@nas.nasa.gov
Kevin Lokevlo@hello.com.tw
Kevin Street street@iname.com
Kevin Van Maren vanmaren@fast.cs.utah.edu
Kiril Mitev kiril@ideaglobal.com
Kiroh HARADA kiroh@kh.rim.or.jp
Klaus Klein kleink@layla.inka.de
Klaus-J. Wolf Yanestra@t-online.de
Koichi Sato copan@ppp.fastnet.or.jp
Kostya Lukin lukin@okbmei.msk.su
Kouichi Hirabayashi kh@mogami-wire.co.jp
+
+ KUNISHIMA Takeo kunishi@c.oka-pu.ac.jp
+
+
Kurt D. Zeilenga Kurt@Boolean.NET
Kurt Olsen kurto@tiny.mcs.usu.edu
L. Jonas Olsson
ljo@ljo-slip.DIALIN.CWRU.Edu
- Lars Köller
- Lars.Koeller@Uni-Bielefeld.DE
+ Larry Altneu larry@ALR.COM
- Larry Altneu larry@ALR.COM
+ Lars Köller
+ Lars.Koeller@Uni-Bielefeld.DE
Laurence Lopez lopez@mv.mv.com
Lee Cremeans lcremean@tidalwave.net
Liang Tai-hwa
avatar@www.mmlab.cse.yzu.edu.tw
Lon Willett lon%softt.uucp@math.utah.edu
Louis A. Mamakos louie@TransSys.COM
Louis Mamakos loiue@TransSys.com
Lowell Gilbert lowell@world.std.com
Lucas James Lucas.James@ldjpc.apana.org.au
Lyndon Nerenberg lyndon@orthanc.com
M.C. Wong unknown
-
- MANTANI Nobutaka nobutaka@nobutaka.com
-
-
-
- MIHIRA Sanpei Yoshiro sanpei@sanpei.org
-
-
-
- MITA Yoshio mita@jp.FreeBSD.org
-
-
-
- MITSUNAGA Noriaki
- mitchy@er.ams.eng.osaka-u.ac.jp
-
-
-
- MOROHOSHI Akihiko moro@race.u-tokyo.ac.jp
-
-
Magnus Enbom dot@tinto.campus.luth.se
Mahesh Neelakanta mahesh@gcomm.com
Makoto MATSUSHITA matusita@jp.FreeBSD.org
Makoto WATANABE
watanabe@zlab.phys.nagoya-u.ac.jp
Malte Lance malte.lance@gmx.net
+
+ MANTANI Nobutaka nobutaka@nobutaka.com
+
+
Manu Iyengar
iyengar@grunthos.pscwa.psca.com
Marc Frajola marc@dev.com
Marc Ramirez mrami@mramirez.sy.yale.edu
Marc Slemko marcs@znep.com
Marc van Kempen wmbfmk@urc.tue.nl
Marc van Woerkom van.woerkom@netcologne.de
Marcin Cieslak saper@system.pl
Mario Sergio Fujikawa Ferreira
lioux@gns.com.br
Mark Andrews unknown
Mark Cammidge mark@gmtunx.ee.uct.ac.za
Mark Diekhans markd@grizzly.com
Mark Huizer xaa@stack.nl
Mark J. Taylor mtaylor@cybernet.com
Mark Krentel krentel@rice.edu
Mark Mayo markm@vmunix.com
Mark Thompson thompson@tgsoft.com
Mark Tinguely tinguely@plains.nodak.edu
Mark Treacy unknown
Mark Valentine mark@linus.demon.co.uk
Markus Holmberg saska@acc.umu.se
Martin Birgmeier
Martin Blapp blapp@attic.ch
Martin Ibert mib@ppe.bb-data.de
Martin Kammerhofer dada@sbox.tu-graz.ac.at
Martin Renters martin@tdc.on.ca
Martti Kuparinen
martti.kuparinen@ericsson.com
- Masachika ISHIZUKA
- ishizuka@isis.min.ntt.jp
+ Mas.TAKEMURA unknown
- Mas.TAKEMURA unknown
+ Masachika ISHIZUKA
+ ishizuka@isis.min.ntt.jp
Masafumi NAKANE max@wide.ad.jp
Masahiro Sekiguchi
seki@sysrap.cs.fujitsu.co.jp
Masanobu Saitoh msaitoh@spa.is.uec.ac.jp
Masanori Kanaoka kana@saijo.mke.mei.co.jp
Masanori Kiriake seiken@ARGV.AC
Masatoshi TAMURA
tamrin@shinzan.kuee.kyoto-u.ac.jp
Mats Lofkvist mal@algonet.se
Matt Bartley mbartley@lear35.cytex.com
Matt Thomas matt@3am-software.com
Matt White mwhite+@CMU.EDU
Matthew C. Mead mmead@Glock.COM
Matthew Cashdollar mattc@rfcnet.com
Matthew Flatt mflatt@cs.rice.edu
Matthew Fuller fullermd@futuresouth.com
Matthew Stein matt@bdd.net
+
+ Matthew West mwest@uct.ac.za
+
+
Matthias Pfaller leo@dachau.marco.de
Matthias Scheler tron@netbsd.org
Mattias Gronlund
Mattias.Gronlund@sa.erisoft.se
Mattias Pantzare pantzer@ludd.luth.se
Maurice Castro
maurice@planet.serc.rmit.edu.au
Max Euston meuston@jmrodgers.com
Max Khon fjoe@husky.iclub.nsu.ru
Maxim Bolotin max@rsu.ru
Maxim V. Sobolev sobomax@altavista.net
Micha Class
michael_class@hpbbse.bbn.hp.com
Michael Butler imb@scgt.oz.au
Michael Butschky butsch@computi.erols.com
Michael Clay mclay@weareb.org
Michael Elbel me@FreeBSD.org
Michael Galassi nerd@percival.rain.com
Michael Hancock michaelh@cet.co.jp
Michael Hohmuth hohmuth@inf.tu-dresden.de
Michael Perlman canuck@caam.rice.edu
Michael Petry petry@netwolf.NetMasters.com
Michael Reifenberger root@totum.plaut.de
Michael Sardo jaeger16@yahoo.com
Michael Searle searle@longacre.demon.co.uk
Michal Listos mcl@Amnesiac.123.org
Michio Karl Jinbo
karl@marcer.nagaokaut.ac.jp
Miguel Angel Sagreras
msagre@cactus.fi.uba.ar
+
+ MIHIRA Sanpei Yoshiro sanpei@sanpei.org
+
+
Mihoko Tanaka m_tonaka@pa.yokogawa.co.jp
Mika Nystrom mika@cs.caltech.edu
Mikael Hybsch micke@dynas.se
Mikael Karpberg
karpen@ocean.campus.luth.se
Mike Del repenting@hotmail.com
Mike Durian durian@plutotech.com
Mike Durkin mdurkin@tsoft.sf-bay.org
Mike E. Matsnev mike@azog.cs.msu.su
Mike Evans mevans@candle.com
Mike Grupenhoff kashmir@umiacs.umd.edu
Mike Hibler mike@marker.cs.utah.edu
Mike Karels unknown
Mike McGaughey mmcg@cs.monash.edu.au
Mike Meyer mwm@shiva.the-park.com
Mike Mitchell mitchell@ref.tfs.com
Mike Murphy mrm@alpharel.com
Mike Peck mike@binghamton.edu
Mike Spengler mks@msc.edu
Mikhail A. Sokolov mishania@demos.su
Mikhail Teterin mi@aldan.ziplink.net
Ming-I Hseh PA@FreeBSD.ee.Ntu.edu.TW
+
+ MITA Yoshio mita@jp.FreeBSD.org
+
+
+
+ MITSUNAGA Noriaki
+ mitchy@er.ams.eng.osaka-u.ac.jp
+
+
Mitsuru Yoshida mitsuru@riken.go.jp
Monte Mitzelfelt monte@gonefishing.org
Morgan Davis root@io.cts.com
+
+ MOROHOSHI Akihiko moro@race.u-tokyo.ac.jp
+
+
Mostyn Lewis mostyn@mrl.com
Motomichi Matsuzaki mzaki@e-mail.ne.jp
Motoyuki Kasahara m-kasahr@sra.co.jp
- Motoyuki Konno motoyuki@snipe.rim.or.jp
+ Murray Stokely murray@cdrom.com
- Murray Stokely murray@cdrom.com
+ N.G.Smith ngs@sesame.hensa.ac.uk
- N.G.Smith ngs@sesame.hensa.ac.uk
+ Nadav Eiron nadav@barcode.co.il
NAGAO Tadaaki nagao@cs.titech.ac.jp
NAKAJI Hiroyuki
nakaji@tutrp.tut.ac.jp
NAKAMURA Kazushi nkazushi@highway.or.jp
NAKAMURA Motonori
motonori@econ.kyoto-u.ac.jp
-
- NIIMI Satoshi sa2c@and.or.jp
-
-
-
- NOKUBI Hirotaka h-nokubi@yyy.or.jp
-
-
-
- Nadav Eiron nadav@barcode.co.il
-
-
Nanbor Wang nw1@cs.wustl.edu
Naofumi Honda
honda@Kururu.math.sci.hokudai.ac.jp
Naoki Hamada nao@tom-yam.or.jp
Narvi narvi@haldjas.folklore.ee
Nathan Ahlstrom nrahlstr@winternet.com
Nathan Dorfman nathan@rtfm.net
Neal Fachan kneel@ishiboo.com
Niall Smart rotel@indigo.ie
Nick Barnes Nick.Barnes@pobox.com
Nick Handel nhandel@NeoSoft.com
Nick Hilliard nick@foobar.org
Nick Johnson freebsd@spatula.net
&a.nsayer;
Nick Williams njw@cs.city.ac.uk
Nickolay N. Dudorov nnd@itfs.nsk.su
- Niklas Hallqvist niklas@filippa.appli.se
+ NIIMI Satoshi sa2c@and.or.jp
- Nisha Talagala nisha@cs.berkeley.edu
+ Niklas Hallqvist niklas@filippa.appli.se
- No Name ZW6T-KND@j.asahi-net.or.jp
+ Nisha Talagala nisha@cs.berkeley.edu
No Name adrian@virginia.edu
No Name alex@elvisti.kiev.ua
No Name anto@netscape.net
No Name bobson@egg.ics.nitch.ac.jp
No Name bovynf@awe.be
No Name burg@is.ge.com
No Name chris@gnome.co.uk
No Name colsen@usa.net
No Name coredump@nervosa.com
No Name dannyman@arh0300.urh.uiuc.edu
No Name davids@SECNET.COM
No Name derek@free.org
No Name devet@adv.IAEhv.nl
No Name djv@bedford.net
No Name dvv@sprint.net
No Name enami@ba2.so-net.or.jp
No Name flash@eru.tubank.msk.su
No Name flash@hway.ru
No Name fn@pain.csrv.uidaho.edu
+
+ No Name frf@xocolatl.com
+
+
No Name gclarkii@netport.neosoft.com
No Name gordon@sheaky.lonestar.org
No Name graaf@iae.nl
No Name greg@greg.rim.or.jp
No Name grossman@cygnus.com
No Name gusw@fub46.zedat.fu-berlin.de
No Name hfir@math.rochester.edu
No Name hnokubi@yyy.or.jp
No Name iaint@css.tuu.utas.edu.au
No Name invis@visi.com
No Name ishisone@sra.co.jp
No Name iverson@lionheart.com
No Name jpt@magic.net
No Name junker@jazz.snu.ac.kr
No Name k-sugyou@ccs.mt.nec.co.jp
No Name kenji@reseau.toyonaka.osaka.jp
No Name kfurge@worldnet.att.net
No Name lh@aus.org
No Name lhecking@nmrc.ucc.ie
No Name mrgreen@mame.mu.oz.au
No Name nakagawa@jp.FreeBSD.org
No Name ohki@gssm.otsuka.tsukuba.ac.jp
No Name owaki@st.rim.or.jp
No Name pechter@shell.monmouth.com
No Name pete@pelican.pelican.com
No Name pritc003@maroon.tc.umn.edu
No Name risner@stdio.com
No Name roman@rpd.univ.kiev.ua
No Name root@ns2.redline.ru
No Name root@uglabgw.ug.cs.sunysb.edu
No Name stephen.ma@jtec.com.au
No Name sumii@is.s.u-tokyo.ac.jp
No Name takas-su@is.aist-nara.ac.jp
No Name tamone@eig.unige.ch
No Name tjevans@raleigh.ibm.com
No Name tony-o@iij.ad.jp amurai@spec.co.jp
No Name torii@tcd.hitachi.co.jp
No Name uenami@imasy.or.jp
No Name uhlar@netlab.sk
No Name vode@hut.fi
No Name wlloyd@mpd.ca
No Name wlr@furball.wellsfargo.com
No Name wmbfmk@urc.tue.nl
No Name yamagata@nwgpc.kek.jp
No Name ziggy@ryan.org
+
+ No Name ZW6T-KND@j.asahi-net.or.jp
+
+
Nobuhiro Yasutomi nobu@psrc.isac.co.jp
Nobuyuki Koganemaru
kogane@koganemaru.co.jp
+
+ NOKUBI Hirotaka h-nokubi@yyy.or.jp
+
+
Norio Suzuki nosuzuki@e-mail.ne.jp
Noritaka Ishizumi graphite@jp.FreeBSD.org
Noriyuki Soda soda@sra.co.jp
Oh Junseon hollywar@mail.holywar.net
Olaf Wagner wagner@luthien.in-berlin.de
Oleg Semyonov os@altavista.net
Oleg Sharoiko os@rsu.ru
Oleg V. Volkov rover@lglobus.ru
Oliver Breuninger ob@seicom.NET
Oliver Friedrichs oliver@secnet.com
Oliver Fromme
oliver.fromme@heim3.tu-clausthal.de
Oliver Laumann
net@informatik.uni-bremen.de
Oliver Oberdorf oly@world.std.com
Olof Johansson offe@ludd.luth.se
Osokin Sergey aka oZZ ozz@FreeBSD.org.ru
Pace Willisson pace@blitz.com
Paco Rosich rosich@modico.eleinf.uv.es
Palle Girgensohn girgen@partitur.se
Parag Patel parag@cgt.com
Pascal Pederiva pascal@zuo.dec.com
Pasvorn Boonmark boonmark@juniper.net
Patrick Hausen unknown
Paul Antonov apg@demos.su
Paul F. Werkowski unknown
Paul Fox pgf@foxharp.boston.ma.us
Paul Koch koch@thehub.com.au
Paul Kranenburg pk@NetBSD.org
Paul M. Lambert plambert@plambert.net
Paul Mackerras paulus@cs.anu.edu.au
Paul Popelka paulp@uts.amdahl.com
Paul S. LaFollette, Jr. unknown
-
- Paul Saab paul@mu.org
-
-
Paul Sandys myj@nyct.net
Paul T. Root proot@horton.iaces.com
Paul Vixie paul@vix.com
Paulo Menezes paulo@isr.uc.pt
Paulo Menezes pm@dee.uc.pt
Pedro A M Vazquez vazquez@IQM.Unicamp.BR
Pedro Giffuni giffunip@asme.org
Pete Bentley pete@demon.net
Peter Childs pjchilds@imforei.apana.org.au
Peter Cornelius pc@inr.fzk.de
Peter Haight peterh@prognet.com
Peter Jeremy perer.jeremy@alcatel.com.au
Peter M. Chen pmchen@eecs.umich.edu
Peter Much peter@citylink.dinoex.sub.org
Peter Olsson unknown
Peter Philipp pjp@bsd-daemon.net
Peter Stubbs PETERS@staidan.qld.edu.au
Phil Maker pjm@cs.ntu.edu.au
Phil Sutherland
philsuth@mycroft.dialix.oz.au
Phil Taylor phil@zipmail.co.uk
Philip Musumeci philip@rmit.edu.au
Pierre Y. Dampure pierre.dampure@k2c.co.uk
Pius Fischer pius@ienet.com
Pomegranate daver@flag.blackened.net
Powerdog Industries
kevin.ruddy@powerdog.com
Priit Järv priit@cc.ttu.ee
R. Kym Horsell
Rajesh Vaidheeswarran rv@fore.com
Ralf Friedl friedl@informatik.uni-kl.de
Randal S. Masutani randal@comtest.com
Randall Hopper rhh@ct.picker.com
Randall W. Dean rwd@osf.org
Randy Bush rbush@bainbridge.verio.net
Reinier Bezuidenhout
rbezuide@mikom.csir.co.za
Remy Card Remy.Card@masi.ibp.fr
Ricardas Cepas rch@richard.eu.org
Riccardo Veraldi veraldi@cs.unibo.it
Rich Wood rich@FreeBSD.org.uk
Richard Henderson richard@atheist.tamu.edu
Richard Hwang rhwang@bigpanda.com
Richard Kiss richard@homemail.com
Richard J Kuhns rjk@watson.grauel.com
Richard M. Neswold
rneswold@drmemory.fnal.gov
Richard Seaman, Jr. dick@tar.com
Richard Stallman rms@gnu.ai.mit.edu
Richard Straka straka@user1.inficad.com
Richard Tobin richard@cogsci.ed.ac.uk
Richard Wackerbarth rkw@Dataplex.NET
Richard Winkel rich@math.missouri.edu
Richard Wiwatowski rjwiwat@adelaide.on.net
Rick Macklem rick@snowhite.cis.uoguelph.ca
Rick Macklin unknown
Rob Austein sra@epilogue.com
Rob Mallory rmallory@qualcomm.com
Rob Snow rsnow@txdirect.net
Robert Crowe bob@speakez.com
Robert D. Thrush rd@phoenix.aii.com
Robert Eckardt
roberte@MEP.Ruhr-Uni-Bochum.de
Robert Sanders rsanders@mindspring.com
Robert Sexton robert@kudra.com
Robert Shady rls@id.net
Robert Swindells swindellsr@genrad.co.uk
Robert Withrow witr@rwwa.com
Robert Yoder unknown
Robin Carey
robin@mailgate.dtc.rankxerox.co.uk
Roger Hardiman roger@cs.strath.ac.uk
Roland Jesse jesse@cs.uni-magdeburg.de
Ron Bickers rbickers@intercenter.net
Ron Lenk rlenk@widget.xmission.com
Ronald Kuehn kuehn@rz.tu-clausthal.de
Rudolf Cejka unknown
Ruslan Belkin rus@home2.UA.net
Ruslan Shevchenko rssh@cam.grad.kiev.ua
Russell L. Carter rcarter@pinyon.org
Russell Vincent rv@groa.uct.ac.za
Ryan Younce ryany@pobox.com
-
- SANETO Takanori sanewo@strg.sony.co.jp
-
-
-
- SASAKI Shunsuke ele@pop17.odn.ne.jp
-
-
-
- SAWADA Mizuki miz@qb3.so-net.ne.jp
-
-
-
- SUGIMURA Takashi sugimura@jp.FreeBSD.org
-
-
-
- SURANYI Peter
- suranyip@jks.is.tsukuba.ac.jp
-
-
Sakai Hiroaki sakai@miya.ee.kagu.sut.ac.jp
Sakari Jalovaara sja@tekla.fi
Sam Hartman hartmans@mit.edu
Samuel Lam skl@ScalableNetwork.com
Samuele Zannoli zannoli@cs.unibo.it
Sander Janssen janssen@rendo.dekooi.nl
Sander Vesik sander@haldjas.folklore.ee
Sandro Sigala ssigala@globalnet.it
+
+ SANETO Takanori sanewo@strg.sony.co.jp
+
+
+
+ SASAKI Shunsuke ele@pop17.odn.ne.jp
+
+
Sascha Blank blank@fox.uni-trier.de
Sascha Wildner swildner@channelz.GUN.de
Satoh Junichi junichi@astec.co.jp
+
+ SAWADA Mizuki miz@qb3.so-net.ne.jp
+
+
Scot Elliott scot@poptart.org
Scot W. Hetzel hetzels@westbend.net
Scott A. Kenney saken@rmta.ml.org
Scott Blachowicz
scott.blachowicz@seaslug.org
Scott Burris scott@pita.cns.ucla.edu
Scott Hazen Mueller scott@zorch.sf-bay.org
Scott Michel scottm@cs.ucla.edu
Scott Mitchel scott@uk.FreeBSD.org
Scott Reynolds scott@clmqt.marquette.mi.us
Sebastian Strollo seb@erix.ericsson.se
Serge A. Babkin babkin@hq.icb.chel.su
Serge V. Vakulenko vak@zebub.msk.su
Sergei Chechetkin
csl@whale.sunbay.crimea.ua
Sergei S. Laskavy laskavy@pc759.cs.msu.su
Sergey Gershtein sg@mplik.ru
Sergey Kosyakov ks@itp.ac.ru
Sergey Potapov sp@alkor.ru
Sergey Shkonda serg@bcs.zp.ua
Sergey V.Dorokhov svd@kbtelecom.nalnet.ru
Sergio Lenzi lenzi@bsi.com.br
Shaun Courtney shaun@emma.eng.uct.ac.za
Shawn M. Carey smcarey@mailbox.syr.edu
Shigio Yamaguchi shigio@wtamacom.com
Shinya Esu esu@yk.rim.or.jp
Shuichi Tanaka stanaka@bb.mbn.or.jp
Shunsuke Akiyama akiyama@jp.FreeBSD.org
Simon simon@masi.ibp.fr
Simon Burge simonb@telstra.com.au
Simon J Gerraty sjg@melb.bull.oz.au
Simon Marlow simonm@dcs.gla.ac.uk
Simon Shapiro shimon@simon-shapiro.org
Sin'ichiro MIYATANI siu@phaseone.co.jp
Slaven Rezic eserte@cs.tu-berlin.de
Soochon Radee slr@mitre.org
Soren Dayton csdayton@midway.uchicago.edu
Soren Dossing sauber@netcom.com
Soren S. Jorvang soren@dt.dk
Stefan Bethke stb@hanse.de
Stefan Eggers seggers@semyam.dinoco.de
Stefan Moeding s.moeding@ndh.net
Stefan Petri unknown
Stefan `Sec` Zehl sec@42.org
Steinar Haug sthaug@nethelp.no
Stephane E. Potvin sepotvin@videotron.ca
Stephane Legrand stephane@lituus.fr
Stephen Clawson
sclawson@marker.cs.utah.edu
Stephen F. Combs combssf@salem.ge.com
Stephen Farrell stephen@farrell.org
Stephen Hocking sysseh@devetir.qld.gov.au
Stephen J. Roznowski sjr@home.net
Stephen McKay syssgm@devetir.qld.gov.au
Stephen Melvin melvin@zytek.com
Steve Bauer sbauer@rock.sdsmt.edu
Steve Coltrin spcoltri@unm.edu
Steve Deering unknown
Steve Gerakines steve2@genesis.tiac.net
Steve Gericke steveg@comtrol.com
Steve Piette steve@simon.chi.il.US
Steve Schwarz schwarz@alpharel.com
Steven G. Kargl
kargl@troutmask.apl.washington.edu
Steven H. Samorodin samorodi@NUXI.com
Steven McCanne mccanne@cs.berkeley.edu
Steven Plite splite@purdue.edu
Steven Wallace unknown
Stuart Henderson
stuart@internationalschool.co.uk
Sue Blake sue@welearn.com.au
Sugimoto Sadahiro ixtl@komaba.utmc.or.jp
+
+ SUGIMURA Takashi sugimura@jp.FreeBSD.org
+
+
Sugiura Shiro ssugiura@duo.co.jp
Sujal Patel smpatel@wam.umd.edu
Sune Stjerneby stjerneby@usa.net
+
+ SURANYI Peter
+ suranyip@jks.is.tsukuba.ac.jp
+
+
Suzuki Yoshiaki
zensyo@ann.tama.kawasaki.jp
Tadashi Kumano kumano@strl.nhk.or.jp
Taguchi Takeshi taguchi@tohoku.iij.ad.jp
Takahiro Yugawa yugawa@orleans.rim.or.jp
Takanori Watanabe
takawata@shidahara1.planet.sci.kobe-u.ac.jp
Takashi Mega mega@minz.org
Takashi Uozu j1594016@ed.kagu.sut.ac.jp
Takayuki Ariga a00821@cc.hc.keio.ac.jp
Takeru NAIKI naiki@bfd.es.hokudai.ac.jp
Takeshi Amaike amaike@iri.co.jp
Takeshi MUTOH mutoh@info.nara-k.ac.jp
Takeshi Ohashi
ohashi@mickey.ai.kyutech.ac.jp
Takeshi WATANABE
watanabe@crayon.earth.s.kobe-u.ac.jp
Takuya SHIOZAKI
tshiozak@makino.ise.chuo-u.ac.jp
Tatoku Ogaito tacha@tera.fukui-med.ac.jp
-
- Tatsumi HOSOKAWA hosokawa@jp.FreeBSD.org
-
-
Ted Buswell tbuswell@mediaone.net
Ted Faber faber@isi.edu
Ted Lemon mellon@isc.org
Terry Lambert terry@lambert.org
Terry Lee terry@uivlsi.csl.uiuc.edu
Tetsuya Furukawa tetsuya@secom-sis.co.jp
Theo de Raadt deraadt@OpenBSD.org
Thomas thomas@mathematik.uni-Bremen.de
Thomas D. Dean tomdean@ix.netcom.com
Thomas David Rivers rivers@dignus.com
Thomas G. McWilliams tgm@netcom.com
Thomas Graichen
graichen@omega.physik.fu-berlin.de
Thomas König
Thomas.Koenig@ciw.uni-karlsruhe.de
Thomas Ptacek unknown
Thomas A. Stevens tas@stevens.org
Thomas Stromberg tstrombe@rtci.com
Thomas Valentino Crimi
tcrimi+@andrew.cmu.edu
Thomas Wintergerst thomas@lemur.nord.de
Þórður Ívarsson
totii@est.is
Tim Kientzle kientzle@netcom.com
Tim Singletary
tsingle@sunland.gsfc.nasa.gov
Tim Wilkinson tim@sarc.city.ac.uk
Timo J. Rinne tri@iki.fi
Todd Miller millert@openbsd.org
Tom root@majestix.cmr.no
Tom tom@sdf.com
Tom Gray - DCA dcasba@rain.org
Tom Jobbins tom@tom.tj
Tom Pusateri pusateri@juniper.net
Tom Rush tarush@mindspring.com
Tom Samplonius tom@misery.sdf.com
Tomohiko Kurahashi
kura@melchior.q.t.u-tokyo.ac.jp
Tony Kimball alk@Think.COM
Tony Li tli@jnx.com
Tony Lynn wing@cc.nsysu.edu.tw
Tony Maher tonym@angis.org.au
Torbjorn Granlund tege@matematik.su.se
Toshihiko ARAI toshi@tenchi.ne.jp
Toshihiko SHIMOKAWA toshi@tea.forus.or.jp
Toshihiro Kanda candy@kgc.co.jp
Toshiomi Moriki
Toshiomi.Moriki@ma1.seikyou.ne.jp
Trefor S. trefor@flevel.co.uk
Trevor Blackwell tlb@viaweb.com
Trevor Johnson trevor@jpj.net
-
- URATA Shuichiro s-urata@nmit.tmg.nec.co.jp
-
-
Udo Schweigert ust@cert.siemens.de
Ugo Paternostro paterno@dsi.unifi.it
Ulf Kieber kieber@sax.de
Ulli Linzen ulli@perceval.camelot.de
+
+ URATA Shuichiro s-urata@nmit.tmg.nec.co.jp
+
+
Ustimenko Semen semen@iclub.nsu.ru
Uwe Arndt arndt@mailhost.uni-koblenz.de
Vadim Chekan vadim@gc.lviv.ua
Vadim Kolontsov vadim@tversu.ac.ru
Vadim Mikhailov mvp@braz.ru
Valentin Nechayev netch@lucky.net
Van Jacobson van@ee.lbl.gov
Vasily V. Grechishnikov
bazilio@ns1.ied-vorstu.ac.ru
Vasim Valejev vasim@uddias.diaspro.com
Vernon J. Schryver vjs@mica.denver.sgi.com
Vic Abell abe@cc.purdue.edu
Ville Eerola ve@sci.fi
Vincent Poy vince@venus.gaianet.net
Vincenzo Capuano
VCAPUANO@vmprofs.esoc.esa.de
Virgil Champlin champlin@pa.dec.com
Vladimir A. Jakovenko
vovik@ntu-kpi.kiev.ua
Vladimir Kushnir kushn@mail.kar.net
Vsevolod Lobko seva@alex-ua.com
W. Gerald Hicks wghicks@bellsouth.net
W. Richard Stevens rstevens@noao.edu
Walt Howard howard@ee.utah.edu
Warren Toomey wkt@csadfa.cs.adfa.oz.au
Wayne Scott wscott@ichips.intel.com
Werner Griessl
werner@btp1da.phy.uni-bayreuth.de
Wes Santee wsantee@wsantee.oz.net
Wietse Venema wietse@wzv.win.tue.nl
Wiljo Heinen wiljo@freeside.ki.open.de
-
- Wilko Bulte wilko@yedi.iaf.nl
-
-
Will Andrews andrews@technologist.com
Willem Jan Withagen wjw@surf.IAE.nl
William Jolitz withheld
William Liao william@tale.net
Wojtek Pilorz
wpilorz@celebris.bdk.lublin.pl
Wolfgang Helbig helbig@ba-stuttgart.de
Wolfgang Solfrank ws@tools.de
Wolfgang Stanglmeier wolf@FreeBSD.org
Yuuki SAWADA mami@whale.cc.muroran-it.ac.jp
Wu Ching-hong woju@FreeBSD.ee.Ntu.edu.TW
Yarema yds@ingress.com
Yaroslav Terletsky ts@polynet.lviv.ua
- Yasuhito FUTATSUKI futatuki@fureai.or.jp
+ Yasuhiro Fukama yasuf@big.or.jp
- Yasuhiro Fukama yasuf@big.or.jp
+ Yasuhito FUTATSUKI futatuki@fureai.or.jp
Yen-Shuo Su yssu@CCCA.NCTU.edu.tw
Yin-Jieh Chen yinjieh@Crazyman.Dorm13.NCTU.edu.tw
Ying-Chieh Liao ijliao@csie.NCTU.edu.tw
Yixin Jin yjin@rain.cs.ucla.edu
- Yoichi Asai yatt@msc.biglobe.ne.jp
+ Yoichi Asai yatt@msc.biglobe.ne.jp
- Yoshiaki Uchikawa yoshiaki@kt.rim.or.jp
+ Yoshiaki Uchikawa yoshiaki@kt.rim.or.jp
- Yoshihiko OHTA yohta@bres.tsukuba.ac.jp
+ Yoshihiko OHTA yohta@bres.tsukuba.ac.jp
- Yoshihisa NAKAGAWA
- y-nakaga@ccs.mt.nec.co.jp
+ Yoshihisa NAKAGAWA
+ y-nakaga@ccs.mt.nec.co.jp
- Yoshikazu Goto gotoh@ae.anritsu.co.jp
+ Yoshikazu Goto gotoh@ae.anritsu.co.jp
- Yoshimasa Ohnishi
+ Yoshimasa Ohnishi
ohnishi@isc.kyutech.ac.jp
- Yoshishige Arai ryo2@on.rim.or.jp
+ Yoshishige Arai ryo2@on.rim.or.jp
- Yuichi MATSUTAKA matutaka@osa.att.ne.jp
+ Yuichi MATSUTAKA matutaka@osa.att.ne.jp
- Yujiro MIYATA
+ Yujiro MIYATA
miyata@bioele.nuee.nagoya-u.ac.jp
- Yusuke Nawano azuki@azkey.org
-
-
-
- Yuu Yashiki s974123@cc.matsuyama-u.ac.jp
-
-
-
- Yuuichi Narahara aconitum@po.teleway.ne.jp
-
-
-
- Yuval Yarom yval@cs.huji.ac.il
+ Yusuke Nawano azuki@azkey.org
- Yves Fonk yves@cpcoup5.tn.tudelft.nl
+ Yuu Yashiki s974123@cc.matsuyama-u.ac.jp
- Yves Fonk yves@dutncp8.tn.tudelft.nl
+ Yuuichi Narahara aconitum@po.teleway.ne.jp
- Zach Heilig zach@gaffaneys.com
-
-
-
- Zahemszhky Gabor zgabor@code.hu
+ Yuval Yarom yval@cs.huji.ac.il
- Zhong Ming-Xun zmx@mail.CDPA.nsysu.edu.tw
+ Yves Fonk yves@cpcoup5.tn.tudelft.nl
arci vega@sophia.inria.fr
- der Mouse mouse@Collatz.McRCIM.McGill.EDU
+ Zach Heilig zach@gaffaneys.com
- frf frf@xocolatl.com
+ Zahemszhky Gabor zgabor@code.hu
- Ege Rekk aagero@aage.priv.no
+ Zhong Ming-Xun zmx@mail.CDPA.nsysu.edu.tw
386BSD パッチキットへのパッチ提供者
(名前でアルファベット順):
Adam Glass glass@postgres.berkeley.edu
Adrian Hall adrian@ibmpcug.co.uk
Andrey A. Chernov ache@astral.msk.su
Andrew Herbert andrew@werple.apana.org.au
Andrew Moore alm@netcom.com
Andy Valencia ajv@csd.mot.com
jtk@netcom.com
Arne Henrik Juul arnej@Lise.Unit.NO
Bakul Shah bvs@bitblocks.com
Barry Lustig barry@ictv.com
Bob Wilcox bob@obiwan.uucp
Branko Lankester
Brett Lymn blymn@mulga.awadi.com.AU
Charles Hannum mycroft@ai.mit.edu
Chris G. Demetriou
cgd@postgres.berkeley.edu
Chris Torek torek@ee.lbl.gov
Christoph Robitschko
chmr@edvz.tu-graz.ac.at
Daniel Poirot poirot@aio.jsc.nasa.gov
Dave Burgess burgess@hrd769.brooks.af.mil
Dave Rivers rivers@ponds.uucp
David Dawes dawes@physics.su.OZ.AU
David Greenman dg@Root.COM
Eric J. Haug ejh@slustl.slu.edu
Felix Gaehtgens
felix@escape.vsse.in-berlin.de
Frank Maclachlan fpm@crash.cts.com
Gary A. Browning gab10@griffcd.amdahl.com
Gary Howland gary@hotlava.com
Geoff Rehmet csgr@alpha.ru.ac.za
Goran Hammarback goran@astro.uu.se
Guido van Rooij guido@gvr.org
Guy Harris guy@auspex.com
Havard Eidnes
Havard.Eidnes@runit.sintef.no
Herb Peyerl hpeyerl@novatel.cuc.ab.ca
Holger Veit Holger.Veit@gmd.de
Ishii Masahiro, R. Kym Horsell
J.T. Conklin jtc@cygnus.com
Jagane D Sundar jagane@netcom.com
James Clark jjc@jclark.com
James Jegers jimj@miller.cs.uwm.edu
James W. Dolter
James da Silva jds@cs.umd.edu et al
Jay Fenlason hack@datacube.com
Jim Wilson wilson@moria.cygnus.com
Jörg Lohse
lohse@tech7.informatik.uni-hamburg.de
Jörg Wunsch
joerg_wunsch@uriah.heep.sax.de
John Dyson
John Woods jfw@eddie.mit.edu
Jordan K. Hubbard jkh@whisker.hubbard.ie
Julian Elischer julian@dialix.oz.au
Julian Stacey jhs@FreeBSD.org
Karl Dietz Karl.Dietz@triplan.com
Karl Lehenbauer karl@NeoSoft.com
karl@one.neosoft.com
Keith Bostic bostic@toe.CS.Berkeley.EDU
Ken Hughes
Kent Talarico kent@shipwreck.tsoft.net
Kevin Lahey kml%rokkaku.UUCP@mathcs.emory.edu
kml@mosquito.cis.ufl.edu
Marc Frajola marc@dev.com
Mark Tinguely tinguely@plains.nodak.edu
tinguely@hookie.cs.ndsu.NoDak.edu
Martin Renters martin@tdc.on.ca
Michael Clay mclay@weareb.org
Michael Galassi nerd@percival.rain.com
Mike Durkin mdurkin@tsoft.sf-bay.org
Naoki Hamada nao@tom-yam.or.jp
Nate Williams nate@bsd.coe.montana.edu
Nick Handel nhandel@NeoSoft.com
nick@madhouse.neosoft.com
Pace Willisson pace@blitz.com
Paul Kranenburg pk@cs.few.eur.nl
Paul Mackerras paulus@cs.anu.edu.au
Paul Popelka paulp@uts.amdahl.com
Peter da Silva peter@NeoSoft.com
Phil Sutherland
philsuth@mycroft.dialix.oz.au
Poul-Henning Kampphk@FreeBSD.org
Ralf Friedl friedl@informatik.uni-kl.de
Rick Macklem root@snowhite.cis.uoguelph.ca
Robert D. Thrush rd@phoenix.aii.com
Rod Taylor rod@idiotswitch.org
Rodney W. Grimes rgrimes@cdrom.com
Sascha Wildner swildner@channelz.GUN.de
Scott Burris scott@pita.cns.ucla.edu
Scott Reynolds scott@clmqt.marquette.mi.us
Sean Eric Fagan sef@kithrup.com
Simon J Gerraty sjg@melb.bull.oz.au
sjg@zen.void.oz.au
Stephen McKay syssgm@devetir.qld.gov.au
Terry Lambert terry@icarus.weber.edu
Terry Lee terry@uivlsi.csl.uiuc.edu
Tor Egge Tor.Egge@idi.ntnu.no
Warren Toomey wkt@csadfa.cs.adfa.oz.au
Wiljo Heinen wiljo@freeside.ki.open.de
William Jolitz withheld
Wolfgang Solfrank ws@tools.de
Wolfgang Stanglmeier wolf@dentaro.GUN.de
Yuval Yarom yval@cs.huji.ac.il
diff --git a/ja_JP.eucJP/books/handbook/advanced-networking/chapter.sgml b/ja_JP.eucJP/books/handbook/advanced-networking/chapter.sgml
index c9efb36082..d15330974e 100644
--- a/ja_JP.eucJP/books/handbook/advanced-networking/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/advanced-networking/chapter.sgml
@@ -1,1086 +1,1665 @@
高度なネットワーク
ゲートウェイとルート
原作: &a.gryphon;.
6 October 1995.
訳: &a.jp.yuki;.
6 September 1996.
ある計算機が他の計算機をみつけることができるようにするには,
ある計算機から他の計算機へ,
どのようにたどり着くかを適切に記述するための仕組みが必要です.
この仕組みをルーティングと呼びます. “ルート(経路)”は
“destination (目的地) ”と “gateway
(ゲートウェイ) ”の 2つのアドレスの組で定義します. あなたが
destination へアクセスしようとした場合,
gateway
を通って送られることをこのペアは示しています. destination
には個々のホスト, サブネット, “デフォルト”の 3つの
タイプがあります.
“デフォルトルート”は他への経路が適用できない
場合に使われます. のちほどデフォルトルートについて少し述べること
するとして, ここでは, 個々のホスト, インタフェース
(“リンク”と も呼ばれます),
イーサネットハードウェアアドレスという 3つのタイ
プのゲートウェイについて説明します.
例
以下に示す netstat -r
の出力の例を使って, ルーティン
グがいろいろと異なっている様子を説明することにします.
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
最初の2行はデフォルトルート(次の節で詳しく説明します)と,
localhost への経路を示しています.
localhost のためのインタフェース
(Netif の欄)
はlo0 で,
これはループバックデバイスとして知られています.
結局のところ戻るだけなので, この
destinationへのすべてのトラフィックが
内部的に処理されるのであって, LAN
を経由して送られるのではありません.
次の行では
0:e0:...
というアドレスに注目しましょう.
これはイーサネットハードウェアアドレスです. FreeBSDは自動的に
ローカルなイーサネット上の任意のホスト
(この例ではtest0 ) を見つけ,
イーサネットインタフェース ed0
の所にそのホストへの経路を直接つけ加えます. タイムアウト時間
(Expire の 欄)
も経路のタイプと結びついており, 指定された時間が経過しても応
答がないときに使用します. この場合,
経路情報は自動的に削除されま す. これらのホストは, RIP(Routing
Information Protocol) という,
最短パスの判定に基づいてローカルホストへの経路を
決定する仕組みを利用することで認識されます.
更に, FreeBSDではローカルサブネット
(10.20.30.255 は
10.20.30
というサブネットに対するブロードキャストアドレスで,
foobar.com
はこのサブネットに結びつけられているドメイン名)
への経路情報も加えることができます.
link#1 というのは,
この計算機の最初のイーサネットカードのことをさします. これら
については,
何も追加インタフェースが指定されていないことに気づく
でしょう.
これらの2つのグループ(ローカルネットワークホストと
ローカルサブネット) の両方とも, routed
と呼ばれるデーモンによって自動的に経路が設定されます.
routed を動かさなければ,
静的に定義した (つまり具体的に設定した)
経路のみ存在することになります.
host1 の行は私たちのホストのことで,
イーサネットアドレスで示されています. 送信側のホストの場合,
FreeBSDはイーサネットインタフェースへ送るのではなく,
ループバックインタフェース
(lo0 )を使います.
2つあるhost2 の行は,
ifconfigのエイリアス (このようなことをする理由については
ethernetの章を参照してください) を使ったとき
にどのようになるかを示す例です.
lo0 の後にある=>
は, インタフェースが
(このアドレスがローカルなホストを参照しているので)
ループバックを使っているというだけでなく,
エイリアスになっていることも示しています.
このような経路はエイリアスをサポートしている
ホストにのみ現れます.
ローカルネットワーク上の他のすべてのホストでは
単にlink#1 となります.
最後の行 (destinationが224 のサブネット)
はマルチキャストで扱うものですが,
これは他の章で説明します.
他の欄については Flags
について説明する必要があります.
それぞれの経路は欄に示されているように違った属性を
もっています.
以下にいくつかのフラグとこれらが何を意味しているかを示します.
U
Up: この経路はアクティブです.
H
Host: 経路の destinationが単一のホストです.
G
Gateway: この destinationへ送られると, どこへ送れ
ばよいかを明らかにして,
そのリモートシステムへ送られます.
S
Static: この経路はシステムによって自動的に生成
されたのではなく, 手動で作成されました.
C
Clone: マシンに接続したときにこの経路に基づく
新しい経路が作られます. このタイプの経路は通常は
ローカルネットワークで使われます.
W
WasCloned: ローカルエリアネットワーク(Clone)
の経路に基づいて
自動的に生成された経路であることを示します.
L
Link: イーサネットハードウェアへの参照を含む
経路です.
デフォルトルート
ローカルシステムからリモートホストにコネクションを張る
必要がある場合, 既知のパスが存在するかどうかを確認するためにル
ーティングテーブルをチェックします.
到達するためのパスを知っているサブネットの内部に
リモートホストがある場合 (Cloned routes), システムはインタフェース
から接続できるかどうかをチェックします.
知っているパスがすべて駄目だった場合でも, システムには
最後の切り札の “デフォルト”ルートがあります.
このルートは ゲートウェイルート (普通はシステムに
1つしかありません) の特別なものです. そして,
フラグフィールドは必ず c
がマークされています. このゲートウェイは, LAN 内のホストにとっ
て, 外部 (PPPのリンクを経由する場合や,
データラインに接続するハードウェアデバイスなど)
へ直接接続するマシンすべてのためのものです.
外部に対するゲートウェイとして機能するマシンで
デフォルトルートを設定する場合,
デフォルトルートはインターネットサービスプロバイダ (ISP)
のサイトのゲートウェイマシンになるでしょう.
それではデフォルトルートの一例を見てみましょう.
一般的な構成を示します.
[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW]
ホスト Local1 とホスト Local2
を PPP で ISP のターミナルサーバと接続されているあなたの
サイトだとします.
ISP はサイト内にロー カルなネットワークを持っていて,
そこにはまざまなものがあり,
あなたの接続するサーバや ISP のインターネットへの
接続点であるハードウェアデバイス (T1-GW) などがあります.
あなたのマシンのデフォルトルートは
それぞれ次のようになります.
host
default gateway
interface
Local2
Local1
ethernet
Local1
T1-GW
PPP
“なぜ (あるいは, どうやって) Local1 の
デフォルトゲートウェイをISPのサーバでなく
T1-GWにセットするのか”という質問がよくあります.
コネクションのローカルの側については,
PPPのインタフェースは
ISPのローカルネットワーク上のアドレスを用いているため,
ISPのローカルネットワーク上のすべてのマシンへの経路は
自動的に生成されています. つまり, あなたのマシンは,
どのようにT1-GW
まで届くかという経路を既に知っていることになりますから,
ISPサーバに媒介的なトラフィックをかける必要はありません.
最後になりましたが, 一般的にローカルネットワークでは
...1
というアドレスをゲートウェイアドレスとして使います. ですから
(同じ例を用います), あなたのclass-Cのアドレス空間が
10.20.30 で ISPが
10.9.9 を用いている場合,
デフォルトルートは次のようになります.
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)
マルチホームホスト
ここで扱うべき他のタイプの設定があります.
それは2つの異なるネットワークにまたがるホストです.
技術的にはゲートウェイとして機能するマシン (上 の例では
PPPコネクションを用いています) はマルチホームホストで す.
しかし実際にはこの言葉は,
2つのローカルエリアネットワーク上のサ
イトであるマシンを指す言葉としてのみ使われます.
2枚のイーサネットカードを持つマシンが, 別のサブネット
上にそれぞれアドレスを持っている場合があります. あるいは,
イーサネットカードを1枚持っているマシンで,
ifconfigのエイリアスを使っているかもしれません.
物理的に分かれている2つのイーサネットのネットワークが使われて
いるならば前者が用いられます. 後者は, 物理的には1つのネットワ
ークセグメントで, 論理的には分かれている 2つのサブネットとする
場合に用いられます.
どちらにしても,
このマシンがお互いのサブネットへのゲートウェイ (inbound
route) として定義されていることが分かるように, おのお
ののサブネットでルーティングテーブルを設定します. このマシンが
2 つのサブネットの間のブリッジとして動作するという構成は, パケ
ットのフィルタリングを実装する必要がある場合や, 一方向または双
方向のファイアウォールを利用したセキュリティを構築する場合によ
く用いられます.
ルーティングの伝播
すでに外部との経路をどのように定義したらよいかは
説明しました.
しかし外部から私たちのマシンをどのようにして
見つけるのかについては説明していません.
ある特定のアドレス空間 (この例では class-C のサブネット)
におけるすべてのトラフィックが,
到着したパケットを内部で転送するネ
ットワーク上の特定のホストに送られるようにルーティングテーブル
を設定することができるのは分かっています.
あなたのサイトにアドレス空間を割り当てる場合,
あなたのサブネットへのすべてのトラフィックがすべて
PPPリンクを通じてサイトに送
ってくるようにサービスプロバイダはルーティングテーブルを設定し
ます. しかし, 国境の向こう側のサイトはどのようにしてあなたの
ISPへ送ることを知るのでしょうか?
割り当てられているすべてのアドレス空間の経路を維持する
(分散している DNS 情報とよく似た) システムがあり,
そのインターネット バックボーンへの接続点を定義しています.
“バックボーン” とは国を越え,
世界中のインターネットのトラフィックを運ぶ主要
な信用できる幹線のことです. どのバックボーンマシンも,
あるネットワークから特定のバックボーンのマシンへ
向かうトラフィックと,
そのバックボーンのマシンからあなたのネットワークに届くサービス
プロバイダまでのチェーンのマスタテーブルのコピーを持っていま
す.
あなたのサイトが接続(プロバイダからみて内側にある
ことになります) したということを, プロバイダからバックボー
ンサイトへ通知することはプロバイダの仕事です. これが経
路の伝搬です.
トラブルシューティング
ルーティングの伝搬に問題が生じて, いくつかのサイトが
接続をおこなうことができなくなることがあります.
ルーティングがどこでおかしくなっているかを明らかにするのに
最も有効なコマンドはおそらく &man.traceroute.8; コマンドでしょ
う. このコマンドは,
あなたがリモートマシンに対して接続をおこなう
ことができない(例えば &man.ping.8; に失敗するような場合)
場合も, 同じように有効です.
&man.traceroute.8; コマンドは,
接続を試みているリモートホストを引数にして実行します.
試みているパスの経由するゲートウェイホストを表示し,
最終的には目的のホストにたどり着くか,
コネクションの欠如によって終ってしまうかのどちら
かになります.
より詳しい情報は, &man.traceroute.8;
のマニュアルページをみてください.
NFS
原作: &a.jlind;.
訳: &a.jp.tomo;.
6 September 1996.
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 の /etc/fstab
に次のように書いて下さい:
fastws:/sharedfs /project nfs rw,-r=1024 0 0
freebox 上で手動で mount
コマンドを実行する場合は次のようにして下さい:
&prompt.root; mount -t nfs -o -r=1024 fastws:/sharedfs /project
サーバ側FreeBSDシステムの例は: fastws の
/etc/fstab に次のように書いて下さい:
freebox:/sharedfs /project nfs rw,-w=1024 0 0
fastws 上で手動で mount
コマンドで実行する場合は次のようにして下さい:
&prompt.root; mount -t nfs -o -w=1024 freebox:/sharedfs /project
近いうちにどのような 16 ビットのイーサネットアダプタでも
上記の読み出し,
書き込みサイズの制限なしの操作ができるようになるでしょう.
失敗が発生したとき何が起きているか関心のある人に,
なぜ回復不可能なのかも含めて説明します. NFSは通常
(より小さいサイズへ分割されるかもしれませんが)
8Kの“ブロック” サイズで働きます.
イーサネットのパケットサイズは最大1500バイト程度なので,
上位階層のコードにとっては1つのユニットのままなのですが,
NFS“ブロック”は
複数のイーサネットパケットに分割されます. そして受信され,
組み立て直されてから肯定応答
されなければなりません.
高性能のWSは次々に NFSユニットを構成するパケットを,
基準の範囲内で間隔を詰めて次々に送り出すことができます. 小さく,
容量の低いカードでは, 同じユニットの
前のパケットがホストに転送される前に, 後のパケットがそれを
踏みつぶし てしまいます.
このため全体としてのユニットは再構成もされないし,
肯定応答もされません. その結果,
WSはタイムアウトして再送を試みますが,
8Kのユニット全体を再送しようとするので, このプロセスは
際限無く繰り返されてしまいます.
ユニットサイズをイーサネットのパケットサイズの
制限以下に抑えることにより, 受信された完全な
イーサネットパケットは個々に肯定応答を受けられることが
保証されるので,
デッドロック状態を避けることができるようになります.
高性能のカードを使っている場合でも, 高性能な WS
が力任せに次々と PC システムにデータを送ったときには
踏みつぶし が起きるかもしれません.
そのような踏みつぶし
は NFS “ユニット”
では保証されていません.
踏みつぶし が起こったとき,
影響を受けたユニットは再送されます. そして受信され,
組み立てられ,
肯定応答される公平な機会が与えられるでしょう.
Diskless operation
原作: &a.martin;
訳: &a.jp.yasu;
netboot.com /netboot.rom
によって, ディスクのないクライアントでネットワーク経由で
FreeBSD マシンのブートを行い FreeBSD を走らせることができます.
2.0 ではローカルなスワップを持つことができます.
NFS 経由のスワッピングもサポートされています.
サポートされているイーサネットカード:
Western Digital/SMC 8003, 8013, 8216 とその互換ボード,
NE1000/NE2000 とその互換カード (再コンパイルが必要)
セットアップの手順
サーバにするマシンを見つけます.
このマシンには, FreeBSD 2.0のバイナリとbootpを
記憶するだけの十分なディスクスペースが必要です.
tftp と NFS も使えます.
テストしたマシン:
HP9000/8xx / HP-UX 9.04以降
(9.04以前では動きません)
Sun/Solaris 2.3. (bootpが必要)
クライアントにIP,gateway,netmaskを提供する
bootpサーバをセットアップします.
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:
クライアントにブート情報を提供する TFTP サーバを
(bootp サーバと同じマシンに) セットアップします.
このファイルの名前は,
cfg.X.X.X.X
(もしくは
/tftpboot/cfg.X.X.X.X
)で,
ここで X.X.X.X はクライアントの
IP アドレスです.
このファイルの内容は netboot コマンドで有効です.
2.0では, netboot は以下のようなコマンドを持ちます:
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
b c
d h
s v
ブートフラグの設定
完全にディスクレスな場合の一般的な cfg
ファイルは以下のようになります:
rootfs 192.1.2.3:/rootfs/myclient
swapfs 192.1.2.3:/swapfs
swapsize 20000
hostname myclient.mydomain
ローカルに swap
を持つマシンについては以下のようになります:
rootfs 192.1.2.3:/rootfs/myclient
hostname myclient.mydomain
NFS サーバがクライアントにroot(必要ならswapも)
ファイルシステムをexportしているか, また,
クライアントがこれらのファイルシステムに
ルートアクセスできるか確認します. FreeBSDにおける一般的な
/etc/exports ファイルは
以下のようになります:
/rootfs/myclient -maproot=0:0 myclient.mydomain
/swapfs -maproot=0:0 myclient.mydomain
そして, HP-UX側では以下のようになります:
/rootfs/myclient -root=myclient.mydomain
/swapfs -root=myclient.mydomain
NFS経由でスワッピングを行う場合
(完全にディスクレスな場合の設定), クライアントが使用する
swap ファイルを dd で作成します.
もし, swapfs コマンドが上記の例のように
引数 /swapfs を持ちそのサイズが 20000
である場合, myclientに対するスワップファイルは
/swapfs/swap.X.X.X.X
で呼び出されます. ここで
X.X.X.X はクライアントの IP
アドレスです. 例:
&prompt.root; dd if=/dev/zero of=/swapfs/swap.192.1.2.4 bs=1k count=20000
また, スワッピングが開始されるとクライアントの
スワップスペースはセンシティブな情報を含むようになるので,
不正なアクセスを防止するため, このファイルへの
読み書きのアクセス制限がなされていることを確認して下さい:
&prompt.root; chmod 0600 /swapfs/swap.192.1.2.4
クライアントがそれぞれのrootファイルシステムとして使う
ディレクトリにrootファイルシステムを展開します.
(上記の例では/rootfs/myclient ).
HP-UX システム: サーバはHP9000/800
シリーズのマシンで, HP-UX 9.04 以降が必要です.
これ以前のバージョンでは NFS
を経由するデバイスファイルが作成ができません.
/rootfs/myclient に
/dev を
展開する際に, いくつかのシステム (HPUX) では
FreeBSD に合った デバイスファイルが作成されないので
注意してください.
その際には最初の起動時にシングルユーザモードに
移行して (ブートの段階でCtrl-Cを押す),
/dev に移って
sh ./MAKEDEV all として,
クライアントからこれを 修正してください.
クライアントで netboot.com
を実行するか, netboot.rom
ファイルから EPROMを作成します.
/ および /usr
ファイルシステムを共有して使用する
今のところ, これを行う公式に認められた方法はありませんが,
私はそれぞれのクライアントで /usr
ファイルシステムと個々の /
ファイルシステムを共有して使っています.
どなたかこれをきちんと行うやり方の提案がありましたら,
私に, もしくは &a.core; グループに知らせてください.
特定の設定についてnetbootをコンパイルする
/sys/i386/boot/netboot/Makefile
の中の設定を変更して
コンパイルすることで, netbootでNE1000/2000
カードをサポートします.
このファイルの先頭にあるコメントを見てください.
ISDN
最終更新: &a.wlloyd; .
訳: &a.jp.kiroh;.
11 December 1996.
ISDN 技術とハードウェアに関しては,
Dan Kegel's ISDN Page がよい参考になるでしょう.
ISDN の導入手順は, 簡単にいって以下のようになります.
ヨーロッパ在住の方は, ISDN
カードの節に進んでください.
ISDN を使って,
インターネットプロバイダに(専用線は使用せず), ダ
イアルアップ接続しようとしている場合は,
ターミナルアダプタの使用を考えてみてください.
この方法はもっとも柔軟性があり, プロバイダを変更した場
合の問題も少ないでしょう.
2つの LAN の間を接続しようする場合や, ISDN
専用線を使用する場合 には,
スタンドアローンルータ/ブリッジの使用を勧めます.
どの方法を用いるかを決定するには,
費用が重要な要素になってきます. 以下に, 最も安価な方法から,
高価な方法まで順に説明していきます.
ISDN カード
著者:&a.hm;.
このセクションの記述は, DSS1/Q.931 ISDN
標準がサポートされている国のユーザにのみ有効です.
最近増えてきている PC ISDN カードのうちいくつかは, FreeBSD
2.2.x 以降で isdn4bsd
ドライバパッケージによりサポートされています.
依然として開発中ではありますが,
ヨーロッパ中でうまく動作しているという報告があります.
最新の isdn4bsd は,
ftp://isdn4bsd@ftp.consol.de/pub/ から入手できます.
この ftp サイトでは, ユーザ名として isdn4bsd
を使い, パスワードにメールアドレスを使ってログインする
必要があります. ログインできたら pub
ディレクトリに移動してください. ユーザー名
ftp や anonymous
によるログインでは, 必要なファイルにたどりつけません.
isdn4bsd は, IP over raw HDLC もしくは同期 PPP
を利用して他の ISDN ルータと接続できます.
留守番電話アプリケーションも使えます.
Siemens ISDN チップセット (ISAC/HSCX)
を使用したものを主に多くのカードがサポートされています.
他のチップセット (Motorola, Cologn ChipDesigns)
のサポートは現在開発中です.
サポートされるカードの最新のリストは,
README
を参照してください.
他の ISDN プロトコルを追加したい場合や,
サポートされていない ISDN PC カード サポートしたい場合など
isdn4bsd を拡張したい場合は, hm@kts.org
までご連絡ください.
majordomoによるメーリングリストが利用できます.
参加するには, 本文に
subscribe freebsd-isdn
と記入したメールを
&a.majordomo; 宛てに送ってください.
ISDN ターミナルアダプタ
ターミナルアダプタ (TA) はISDN に対して,
通常の電話線に対するモデムに相当するものです.
ほとんどの TA は, 標準のヘイズ AT
コマンドセットを使用しているので,
単にモデムと置き換えて使うことができます.
TA は, 基本的にはモデムと同じように動作しますが,
接続方法は異なり, 通信速度も古いモデムよりはるかに速くなります.
PPP の設定を,
モデムの場合と同じように行ってください. とくにシリアル速度を
使用できる最高速度に設定するのを忘れないでください.
プロバイダへの接続に TA を使用する最大のメリットは, 動的
PPP を行えることです. 最近 IP アドレスが不足してきているため,
ほとんどのプロバイダは, 専用の IP
アドレスを割り当てないようになっています.
ほとんどのスタンドアローンルータは, 動的 IP
アドレスに対応していません.
訳注: 最近の ISDN ルータでは, IP
アドレスの動的割り当てに対応しているものも多いようです.
ただし制限がある場合もありますので, 詳しくはメーカ
に問い合わせてください.
TA を使用した場合の機能や接続の安定性は, 使用している PPP
デーモンに完全に依存します. そのため, FreeBSD で PPP
の設定が完了していれば, 使用している既存のモデムを ISDN の TA
に簡単にアップグレードすることができます. ただし, それまでの
PPP のプログラムに問題があった場合, その問題は TA
に置き換えてもそのまま残ります.
最高の安定性を求めるのであれば, ユーザープロセス
iijPPP ではなく, カーネル
PPPを使用してください.
以下の TA は, FreeBSD で動作確認ずみです.
Motorola BitSurfer および Bitsurfer Pro
Adtran
他の TA もほとんどの場合うまく動作するでしょう. TA
のメーカーでは, TA がほとんどの標準モデム AT
コマンドセットを受け付けるようにするよう,
努力しているようです.
外部 TA を使う際の最大の問題点は,
モデムの場合と同じく良いシリアルカー
ドが必要であるということです.
シリアルデバイスの詳細,
そして非同期シリアルポートと同期シリアルポートの差については,
ハンドブックの シリアルポート の
節を参照してください.
標準の PC シリアルポート(非同期)に接続された TA は, 128Kbs
の接続を行っていても, 最大通信速度が 115.2Kbs
に制限されてしまいます. 128Kbs の ISDN
の性能を最大限に生かすためには, TA
を同期シリアルカードに接続しなければなりません.
内蔵 TA を購入して,
同期/非同期問題を片付けてしまおうとは思わないでく ださい.
内蔵 TA には, 単に標準 PC シリアルポートのチップが内蔵されてい
るだけです. 内蔵 TA の利点といえば,
シリアルケーブルを買わなくていいと いうことと,
電源コンセントが一つ少なくて済むということくらいでしょう.
同期カードと TA の組合せは 386 の FreeBSD
マシンの場合でも, スタンドア
ローンのルータと同程度の速度は確保できます.
またこの組合せでは, ルータより柔軟な設定が可能です.
同期カード/TA を選ぶか, スタンドアローンルータを選ぶかは,
多分に宗教的な問題です.
メーリングリストでもいくつか議論がありました. 議論の内容に
ついては, archives
を参照してください.
スタンドアローン ISDN ブリッジ/ルータ
ISDN ブリッジやルータは, OS 特有のものではありません.
もちろん FreeBSD 特有のものでもありません.
ルーティングやブリッジング技術に関する詳細は,
ネットワークの参考書をご覧ください.
このページでは,
ルータとブリッジにどちらでもあてはまるように記述します.
ISDN ルータ/ブリッジは,
ローエンドの製品のコストが下がってきていることもあり,
より一般的に使用されるようになるでしょう. ISDN ルータは,
外見は小さな箱で,
ローカルのイーサネットネットワーク(もしくはカード)と直接,
接続します. また,
自身で他のブリッジ/ルータとの接続を制御します. PPP
や他のプロトコルを使用するためのソフトウェアは,
すべて組み込まれています.
ルータは, 完全な同期 ISDN 接続を使用するため, 通常の TA
と比較してスループットが大幅に向上します.
ISDN ルータ/ブリッジを使用する場合の最大の問題点は,
各メーカーの製品間に相性の問題がまだ存在することです.
インターネットプロバイダとの接続を考えている場合には,
プロバイダと相談することをお勧めします.
事務所の LAN と家庭の LAN の間など, 二つの LAN
セグメントの間を接続しようとしている場合は,
ブリッジ/ルータの使用がもっともメンテナンスが 簡単で,
努力が少なくてすむ方法です. 両側の機材を購入するのであれば,
メーカー間の接続性の問題もないでしょう.
たとえば家庭の LAN や出張所の LAN
を本社のネットワークに接続するためには,
以下のような設定が使用できます.
出張所 LAN または 家庭 LAN
ネットワークは, 10 Base T イーサネットです.
ルータとネットワークの間は, 必要に応じて AUI/10BT
トランシーバを使って接続します.
---Sun ワークステーション
|
---FreeBSD マシン
|
---Windows 95 (別に勧めているわけじゃありません)
|
スタンドアローンルータ
|
ISDN BRI ライン
家庭/出張所 LAN で,
一台しかコンピュータを接続しないのであれば, クロス
のツイストペアケーブルを使用して,
スタンドアローンルータと直結も可能です.
本社 LAN や他の LAN
ネットワークは, ツイストペアイーサネットです.
-------Novell サーバ
| |
|ハ ---Sun
| |
| ---FreeBSD
| |
|ブ ---Windows 95
| |
|___---スタンドアローンルータ
|
ISDN BRI ライン
ほとんどのルータ/ブリッジでは, 別々の二つのサイトに対して,
同時 にそれ
ぞれ独立した 二つの PPP 接続が可能です.
これは, 通常の TA ではサポートされない機能で,
ルータ/ブリッジ接続の大きな利点です (シリアルポートを
二つもつ特殊(そして高価な) TA では可能です).
チャンネル割り当てや MPP などと混同しないでください.
これは, 大変便利な機能です.
たとえば事務所で専用線インターネット ISDN 接続を使用していて,
別の ISDN ラインを購入したくないとします. この場合,
事務所のルータは, 一つの専用線 B
チャンネル接続(64Kbs)を維持しつつ, 別 の B
チャンネルを他の用途に使用することができます. たとえば,
他の場所 とのダイアルイン, ダイアルアウトに使用したり,
バンド幅を増やすために,
インターネットとの接続への動的に割り当て(MPP
など)に使用したりすることが可能です.
またイーサネットブリッジは, IP パケットだけでなく IPX/SPX
などすべての
プロトコルのパケットを中継することが可能です.
+
+
+ NIS/YP
+
+ 原作: &a.unfurl;, 2000 年 1 月 21 日.
+
+
+ NIS/YP とは?
+
+ NIS は RPC を使ったクライアント/サーバシステムです. これを
+ 使うことで. NISドメイン内のマシン間で共通の設定ファイルを共有すること
+ ができます. また, NIS を使うことでシステム管理者は最小限の設定データ
+ で NIS クライアントを立ち上げることができ, 1 ヶ所から設定データの
+ 追加, 削除, 変更が可能です.
+
+
+
+ 動作のしくみ
+
+ NIS 環境にあるホストは, 次の 3 種類に分類されます. それは,
+ マスターサーバ, スレーブサーバ, クライアントです.
+ サーバは, ホストの設定情報の中心的な情報格納庫の役割をします.
+ マスターサーバは元となる信頼できる情報を保持し,
+ スレーブサーバは, 冗長性を確保するため, この情報をミラーします.
+ そしてクライアントは, サーバから情報の提供を受けて動作します.
+
+ この方法を用いることで, 数多くのファイルにある情報が共有できます.
+ よく NIS で共有されるのは,
+ master.passwd や group ,
+ hosts といったファイルです.
+ クライアント上のプロセスで, 通常ローカルのファイルにある情報が必要
+ となったとき,
+ クライアントは接続しているサーバに問い合わせを行い, その情報を得ます.
+
+
+
+
+ NIS/YP を使う
+
+
+ 計画を立てる
+
+ もし NIS によるシステム管理の設定を行なうのが初めてなら,
+ どのようにしたいのか, ひととおり最後まで考えてみることをお勧めします.
+ ネットワークの規模によらず, いくつか決めるべきことがあるためです.
+
+
+ NIS ドメイン名を決める
+
+ ここでいうドメイン名は, 今まであなたが使っていた,
+ いわゆる“ドメイン名”
+ と呼んでいたものとは違います.
+ 正確には“NIS ドメイン名”と呼ばれます.
+ クライアントがサーバに情報を要求するとき,
+ その要求には自分が属する NIS ドメインの名前が含まれています.
+ これは, 1 つのネットワークに複数のサーバがある場合に,
+ どのサーバが要求を処理すれば良いかを決めるために使われます.
+ NIS ドメイン名とは, 関連のあるホストをグループ化するための名前である,
+ と考えると良いでしょう.
+
+ 組織によってはインターネットのドメイン名を
+ NIS ドメイン名に使っているところがありますが,
+ これはネットワークのトラブルをデバッグするときに混乱の原因となるため,
+ お勧めできません.
+ NIS ドメイン名はネットワーク内で一意なければならないので,
+ ドメイン名がドメインに含まれるマシンを表すようなものであれば,
+ 分かりやすくなります. たとえば
+ Acme 社のアート(Art)部門であれば,
+ NIS ドメイン名を"acme-art"とすれば良いでしょう.
+
+
+
+ サーバマシンの物理的な条件とは
+
+ NIS サーバとして使うマシンを選ぶ際には,
+ いくつかの注意点があります.
+ NIS における困ったことの一つに,
+ クライアントのサーバへの依存度があります.
+ クライアントが自分の NIS ドメインのサーバに接続できない場合,
+ マシンが使用不能になることがよくあります.
+ もし, ユーザやグループに関する情報が得られなければ,
+ ほとんどのシステムは一時的にですが停止してしまいます.
+ こういったことを念頭に置いて,
+ しょっちゅうリブートされるマシンや,
+ 開発に使われそうなマシンを選ばないようにしなければなりません.
+ 理想的には, NIS サーバはスタンドアロンで
+ NIS サーバ専用となるマシンにするべきです.
+ ネットワークの負荷が重くなければ,
+ 他のサービスを走らせているマシンを NIS
+ サーバにしてもかまいません. ただし NIS
+ サーバが使えなくなると,
+ すべての クライアントに影響をおよぼす,
+ という点には注意しなければなりません.
+
+
+
+
+ NIS サーバ
+
+ 元となるすべての NIS 情報は,
+ NIS マスターサーバと呼ばれる 1 台のマシンに置かれます.
+ この情報が格納されるデータベースを NIS マップと呼びます.
+ FreeBSDでは, このマップは
+ /var/yp/[domainname] に置かれます.
+ [domainname] は,
+ サーバがサービスする NIS ドメインです.
+ 1 台の NIS サーバが複数のドメインをサポートすることも可能です.
+ つまり, このディレクトリを各々のドメインごとに作ることができ,
+ 各ドメインごと, 独立したマップの集合を持つことになります.
+
+ NIS のマスターサーバとスレーブサーバ上では,
+ ypserv デーモンがすべての NIS 要求を処理します.
+ ypserv は NIS クライアントからの要求を受け付け,
+ ドメイン名とマップ名を対応するデータベースファイルへのパスに変換し,
+ データをクライアントに返送します.
+
+
+ NIS マスターサーバの設定
+
+ やりたいことにもよりますが,
+ NIS マスターサーバの設定は比較的単純です.
+ FreeBSD には ypinit
+ という便利なスクリプトがあり, これを使うと初期設定を
+ 非常に簡単に行なうことができます.
+ この設定を順調に進めるためには,
+ いくつか事前にやらなければならないことがあります.
+
+
+
+ NIS ドメイン名が設定されていることを,
+ domainname コマンドで確認してください.
+ ホストが属していないドメインに対しても
+ ypinit を実行することはできますが,
+ domainname が設定されていなければ
+ この段階で設定すると良いでしょう.
+
+
+
+ master.passwd ファイルが
+ /var/yp
+ に置かれていることを確認してください.
+ NIS は, クライアントと共有するパスワードを
+ このファイルから取得します.
+ このファイルがない場合, ypinit
+ はエラー終了します. これは, 新しい
+ master.passwd でも,
+ すでに存在する /etc/master.passwd を
+ コピーしたものでもかまいません.
+ コピーする場合には,
+ ユーザ全体やグループに対する読み出し許可属性が
+ 設定されていないことを確認してください.
+
+
+
+
+ ypserv デーモンを起動してください.
+ ypinit が動作するには,
+ ypserv が RPC(Remote Procedure Call)
+ の呼び出しに反応することが必要になります.
+ 通常の設定では,
+ ypserv
+ にオプションフラグを指定する必要はありません.
+
+
+
+ 以上の手順が終了したら,
+ -m フラグを付けて ypinit を
+ 実行してください.
+ 立てようとしているマスターサーバのドメイン名が
+ domainname に設定したものと異なっているなら,
+ そのドメインを指定することができます.
+ 下の例では, NIS のドメイン名を
+ test-domain としています.
+
+
+
+# ypinit -m test-domain
+Server Type: MASTER Domain: test-domain
+
+Creating an YP server will require that you answer a few questions.
+Questions will all be asked at the beginning of the procedure.
+
+Do you want this procedure to quit on non-fatal errors? [y/n: n] n
+
+Ok, please remember to go back and redo manually whatever fails.
+If you don't, something might not work.
+
+At this point, we have to construct a list of this domains YP servers.
+master.example.com is already known as master server.
+Please continue to add any slave servers, one per line. When you are
+done with the list, type a <Control D>.
+ master server : master.example.com
+ next host to add: ^D
+The current list of NIS servers looks like this:
+
+master.example.com
+
+Is this correct? [y/n: y] y
+Building /var/yp/test-domain/ypservers...
+Running /var/yp/Makefile...
+NIS Map update started on Fri Dec 3 16:54:12 PST 1999 for domain test-domain
+Updating hosts.byname...
+Creating new /var/yp/passwd file from /var/yp/master.passwd...
+Updating netid.byname...
+Updating hosts.byaddr...
+Updating networks.byaddr...
+Updating networks.byname...
+Updating protocols.bynumber...
+Updating protocols.byname...
+Updating rpc.byname...
+Updating rpc.bynumber...
+Updating services.byname...
+Updating group.byname...
+Updating group.bygid...
+Updating passwd.byname...
+Updating passwd.byuid...
+Updating master.passwd.byname...
+Updating master.passwd.byuid...
+NIS Map update completed.
+
+master.example.com has been setup as an YP master server without any errors.
+
+
+ NIS サーバをきちんと動作させるためには,
+ /etc/rc.conf に数行, 追加する必要があります.
+ 次のような行があることを確認して下さい.
+
+
+
+nis_server_enable="YES"
+nis_server_flags=""
+nis_yppasswdd_enable="YES"
+nis_yppasswdd_flags=""
+
+
+ ほとんどの場合, NIS サーバで yppasswd を
+ 実行させることを考えるでしょう.
+ こうすると, クライアントマシンにいるユーザが,
+ パスワードなどのユーザ情報をリモートから変更することが可能になります.
+
+
+
+
+ NIS スレーブサーバの設定
+
+
+ NIS スレーブサーバの設定は, マスターサーバの設定よりも簡単で,
+ ypinit コマンドを使うだけでほとんど終わりです.
+ 前述の例と同じように, NIS ドメイン名として “test-domain”
+ を使っています.
+
+
+
+# ypinit -s master.example.com test-domain
+
+Server Type: SLAVE Domain: test-domain Master: master.example.com
+
+Creating an YP server will require that you answer a few questions.
+Questions will all be asked at the beginning of the procedure.
+
+Do you want this procedure to quit on non-fatal errors? [y/n: n] n
+
+Ok, please remember to go back and redo manually whatever fails.
+If you don't, something might not work.
+There will be no further questions. The remainder of the procedure
+should take a few minutes, to copy the databases from master.example.com.
+Transfering netgroup...
+ypxfr: Exiting: Map successfully transfered
+Transfering netgroup.byuser...
+ypxfr: Exiting: Map successfully transfered
+Transfering netgroup.byhost...
+ypxfr: Exiting: Map successfully transfered
+Transfering master.passwd.byuid...
+ypxfr: Exiting: Map successfully transfered
+Transfering passwd.byuid...
+ypxfr: Exiting: Map successfully transfered
+Transfering passwd.byname...
+ypxfr: Exiting: Map successfully transfered
+Transfering group.bygid...
+ypxfr: Exiting: Map successfully transfered
+Transfering group.byname...
+ypxfr: Exiting: Map successfully transfered
+Transfering services.byname...
+ypxfr: Exiting: Map successfully transfered
+Transfering rpc.bynumber...
+ypxfr: Exiting: Map successfully transfered
+Transfering rpc.byname...
+ypxfr: Exiting: Map successfully transfered
+Transfering protocols.byname...
+ypxfr: Exiting: Map successfully transfered
+Transfering master.passwd.byname...
+ypxfr: Exiting: Map successfully transfered
+Transfering networks.byname...
+ypxfr: Exiting: Map successfully transfered
+Transfering networks.byaddr...
+ypxfr: Exiting: Map successfully transfered
+Transfering netid.byname...
+ypxfr: Exiting: Map successfully transfered
+Transfering hosts.byaddr...
+ypxfr: Exiting: Map successfully transfered
+Transfering protocols.bynumber...
+ypxfr: Exiting: Map successfully transfered
+Transfering ypservers...
+ypxfr: Exiting: Map successfully transfered
+Transfering hosts.byname...
+ypxfr: Exiting: Map successfully transfered
+
+slave.example.com has been setup as an YP slave server without any errors.
+Don't forget to update map ypservers on master.example.com.
+
+
+ この例の場合, /var/yp/test-domain
+ というディレクトリが必要になります.
+ NIS マスターサーバのマップファイルのコピーは,
+ このディレクトリに置かれ,
+ 最新のものに維持されていなければなりません.
+ 次のエントリをスレーブサーバの /etc/crontab
+ に追加することで, 最新のものに保つことができます.
+
+
+
+20 * * * * root /usr/libexec/ypxfr passwd.byname
+21 * * * * root /usr/libexec/ypxfr passwd.byuid
+
+
+ この二行は, スレーブサーバにあるマップファイルを,
+ マスターサーバのマップファイルと同期させるものですが,
+ 必須というわけではありません. なぜなら,
+ マスターサーバは, NIS マップに対する変更を
+ スレーブサーバに伝えようとするからです.
+ しかし, サーバが管理するシステムにとってパスワード情報はとても重要なものですので,
+ 強制的に更新してしまう方が良いでしょう.
+ 特に, マップファイルの更新がきちんと行なわれるかどうか
+ わからないくらい混雑するネットワークでは, 重要なポイントになります.
+
+
+
+
+
+ NIS クライアント
+
+ NIS クライアントは ypbind
+ デーモンを使って, 特定の NIS
+ サーバとの間に結合(binding)と呼ばれる関係を成立させます.
+ ypbind は,
+ システムのデフォルトのドメイン(domainname
+ コマンドで設定されます)をチェックし, RPC 要求を
+ ブロードキャストパケットとしてローカルネットワークに送信します.
+ この RPC 要求により, ypbind
+ が結合を成立させようとしているドメイン名が指定されます.
+ 要求されているドメイン名に対してサービスするよう設定されたサーバが
+ ブロードキャストパケットを受信すると, サーバは
+ ypbind に応答し,
+ ypbind は応答のあったサーバのアドレスを記録します.
+ 複数のサーバがある(たとえば一つのマスターサーバと,
+ 複数のスレーブサーバがある)場合,
+ ypbind は,
+ 最初に応答したサーバのアドレスを使用します.
+ これ以降, クライアントのシステムは,
+ すべての NIS の要求をそのサーバに向けて送信します.
+ ypbind は,
+ サーバが順調に動作していることを確認するため,
+ 時々 “ping” をサーバに送ります.
+ 反応が戻ってくるべき時間内に ping に対する応答が来なければ,
+ ypbind は,
+ そのドメインを結合不能(unbound)として記録し,
+ 別のサーバを見つけるべく, 再びブロードキャストパケットの送信を行います.
+
+
+
+ NIS クライアントの設定
+
+ FreeBSD マシンにおける NIS クライアントの設定,
+ 非常に簡単です.
+
+
+
+ まず, ホストの NIS ドメイン名を設定します.
+ これは, domainname
+ コマンドで設定するか,
+ 以下のエントリを
+ /etc/rc.conf
+ に追加して, ブート時に設定されるようにしてください.
+
+
+ nisdomainname="test-domain"
+
+
+
+ NIS サーバにある,
+ すべてのパスワードエントリを取り込むため,
+ vipw コマンドで以下の行を
+ /etc/master.passwd
+ に追加します.
+
+ +:::::::::
+
+
+ この行によって,
+ NIS サーバのパスワードマップにアカウントがある人全員に,
+ アカウントが与えられます.
+ この行を変更すると, さまざまな NIS
+ クライアントの設定を行なうことが可能です.
+ これ以上詳しく知りたい方は,
+ O'Reilly の
+ Managing NFS and NIS
+ をお読みください.
+
+
+
+
+
+ NIS サーバにある,
+ すべてのグループエントリを取り込むため,
+ 以下の行を
+ /etc/group
+ に追加します.
+
+
+ +:*::
+
+
+
+ 上記の手順がすべて完了すれば,
+ ypcat passwd によって
+ NIS サーバの passwd マップが参照できるようになっているはずです.
+
+
+
+
+
+
+ NIS セキュリティ
+
+ 一般に, ドメイン名さえ知っていれば,
+ どこにいるリモートユーザでも ypserv に RPC を発行し,
+ NIS マップの内容を引き出すことができます.
+ こういった不正なやりとりを防ぐため,
+ ypserv には securenets と呼ばれる機能があります.
+ これはアクセスを決められたホストだけに制限する機能です.
+ ypserv は起動時に,
+ /var/yp/securenets ファイルから
+ securenets に関する情報を読み込みます.
+
+
+ 上記のパス名は, -p
+ オプションで指定されたパス名によって変わります.
+ このファイルは, 空白で区切られた
+ ネットワーク指定とネットマスクのエントリからなっていて,
+ “#” で始まる行はコメントとみなされます.
+ 簡単な securenets ファイルの例を以下に示します.
+
+
+
+# allow connections from local host -- mandatory
+127.0.0.1 255.255.255.255
+# allow connections from any host
+# on the 192.168.128.0 network
+192.168.128.0 255.255.255.0
+# allow connections from any host
+# between 10.0.0.0 to 10.0.15.255
+10.0.0.0 255.255.240.0
+
+ ypserv が上記のルールの一つと合致するアドレスからの要求を受け取った場合,
+ 処理は通常に行なわれます.
+ もしアドレスがルールに合致しなければ,
+ その要求は無視されて警告メッセージがログに記録されます.
+ また, /var/yp/securenets
+ が存在しない場合, ypserv は, すべてのホストからの接続を受け入れます.
+
+
+ ypserv は,
+ Wietse Venema 氏による
+ tcpwrapper
+ パッケージもサポートしています.
+ そのため, /var/yp/securenets の代わりに
+ tcpwrapper の設定ファイルを使ってアクセス制御を行なうことも可能です.
+
+
+
+ これらのアクセス制御機能は一定のセキュリティを提供しますが,
+ どちらも特権ポートのテストのような “IP spoofing”
+ 攻撃に対して脆弱です.
+
+
+
+
+ NIS v1 との互換性
+
+ FreeBSD の
+ ypserv は,
+ NIS v1 クライアントを部分的にサポートします.
+ FreeBSD の NIS 実装は NIS v2 プロトコルのみを使用していますが,
+ ほかの実装では, 古いシステムとの下位互換性を持たせるため
+ v1 プロトコルをサポートしているものもあります.
+ そのようなシステムに付いている
+ ypbind デーモンは,
+ 必要がないにもかかわらず NIS v1
+ のサーバとの結合を成立させようとします(しかも
+ v2 サーバからの応答を受信した後でも,
+ ブロードキャストをし続けるかも知れません).
+ FreeBSD の ypserv は,
+ クライアントからの通常のリクエストはサポートしていますが,
+ v1 のマップ転送リクエストはサポートしていないことに注意してください.
+ つまり FreeBSD の ypserv を,
+ v1 だけをサポートするような古い NIS サーバと組み合わせて
+ マスターやスレーブサーバとして使うことはできません.
+ 幸いなことに, 現在, そのようなサーバが使われていることは
+ ほとんどないでしょう.
+
+
+
+ NIS クライアントとしても動作している NIS サーバ
+
+ 複数のサーバが存在し, サーバ自身が NIS
+ クライアントでもあるようなドメインで ypserv が実行される場合には,
+ 注意が必要です.
+ 一般的に良いとされているのは,
+ 他のサーバと結合をつくるようにブロードキャストパケットの送信をさせるのではなく,
+ サーバをそれ自身に結合させることです.
+ もし, サーバ同士が依存関係を持っていて, 一つのサーバが停止すると,
+ 奇妙なサービス不能状態に陥ることがあります.
+ その結果, すべてのクライアントはタイムアウトを起こして
+ 他のサーバに結合しようと試みますが,
+ これにかかる時間はかなり大きく,
+ サーバ同士がまた互いに結合してしまったりすると,
+ サービス不能状態はさらに継続することになります.
+
+
+ ypbind に
+ -S オプションフラグを指定して実行することで,
+ ホストを特定のサーバに結合することが可能です.
+
+
+
+
+ libscrypt 対 libdescrypt
+
+
+ NIS を実装しようする人の誰もがぶつかる問題の一つに,
+ 暗号ライブラリの互換性があります.
+ NIS サーバが DES 暗号ライブラリを使っている場合には,
+ 同様に DES を使用しているクライアントしかサポートできません.
+ サーバとクライアントがどのライブラリを使用しているかは,
+ /usr/lib
+ のシンボリックリンクを見ればわかります.
+ あるマシンが DES ライブラリを使うように設定されている場合,
+ リンクは以下のようになっています.
+
+
+&prompt.user; ls -l /usr/lib/*crypt*
+lrwxrwxrwx 1 root wheel 13 Jul 15 08:55 /usr/lib/libcrypt.a@ -> libdescrypt.a
+lrwxrwxrwx 1 root wheel 14 Jul 15 08:55 /usr/lib/libcrypt.so@ -> libdescrypt.so
+lrwxrwxrwx 1 root wheel 16 Jul 15 08:55 /usr/lib/libcrypt.so.2@ -> libdescrypt.so.2
+lrwxrwxrwx 1 root wheel 15 Jul 15 08:55 /usr/lib/libcrypt_p.a@ -> libdescrypt_p.a
+-r--r--r-- 1 root wheel 13018 Nov 8 14:27 /usr/lib/libdescrypt.a
+lrwxr-xr-x 1 root wheel 16 Nov 8 14:27 /usr/lib/libdescrypt.so@ -> libdescrypt.so.2
+-r--r--r-- 1 root wheel 12965 Nov 8 14:27 /usr/lib/libdescrypt.so.2
+-r--r--r-- 1 root wheel 14750 Nov 8 14:27 /usr/lib/libdescrypt_p.a
+
+ マシンが FreeBSD の標準の MD5 暗号ライブラリを使うように
+ 設定されている場合には, 以下のようになります.
+
+
+&prompt.user; ls -l /usr/lib/*crypt*
+lrwxrwxrwx 1 root wheel 13 Jul 15 08:55 /usr/lib/libcrypt.a@ -> libscrypt.a
+lrwxrwxrwx 1 root wheel 14 Jul 15 08:55 /usr/lib/libcrypt.so@ -> libscrypt.so
+lrwxrwxrwx 1 root wheel 16 Jul 15 08:55 /usr/lib/libcrypt.so.2@ -> libscrypt.so.2
+lrwxrwxrwx 1 root wheel 15 Jul 15 08:55 /usr/lib/libcrypt_p.a@ -> libscrypt_p.a
+-r--r--r-- 1 root wheel 6194 Nov 8 14:27 /usr/lib/libscrypt.a
+lrwxr-xr-x 1 root wheel 14 Nov 8 14:27 /usr/lib/libscrypt.so@ -> libscrypt.so.2
+-r--r--r-- 1 root wheel 7579 Nov 8 14:27 /usr/lib/libscrypt.so.2
+-r--r--r-- 1 root wheel 6684 Nov 8 14:27 /usr/lib/libscrypt_p.a
+
+ NIS クライアントの認証でトラブルが発生した場合には,
+ ここから問題となりそうな部分を探すと良いでしょう.
+
+
+
diff --git a/ja_JP.eucJP/books/handbook/authors.ent b/ja_JP.eucJP/books/handbook/authors.ent
index 04892db175..e0500e45c6 100644
--- a/ja_JP.eucJP/books/handbook/authors.ent
+++ b/ja_JP.eucJP/books/handbook/authors.ent
@@ -1,450 +1,458 @@
abial@FreeBSD.org">
ache@FreeBSD.org">
adam@FreeBSD.org">
ade@FreeBSD.org">
alc@FreeBSD.org">
alex@FreeBSD.org">
alfred@FreeBSD.org">
amurai@FreeBSD.org">
andreas@FreeBSD.org">
andy@FreeBSD.org">
archie@FreeBSD.org">
asami@FreeBSD.org">
asmodai@FreeBSD.org">
awebster@pubnix.net">
bde@FreeBSD.org">
billf@FreeBSD.org">
bp@FreeBSD.org">
brandon@FreeBSD.org">
brian@FreeBSD.org">
+bsd@FreeBSD.org">
+
cawimm@FreeBSD.org">
cg@FreeBSD.org">
charnier@FreeBSD.org">
chris@FreeBSD.org">
chuckr@glue.umd.edu">
chuckr@FreeBSD.org">
cpiazza@FreeBSD.org">
cracauer@FreeBSD.org">
csgr@FreeBSD.org">
cwt@FreeBSD.org">
dan@FreeBSD.org">
danny@FreeBSD.org">
darrenr@FreeBSD.org">
davidn@blaze.net.au">
dbaker@FreeBSD.org">
dburr@FreeBSD.org">
dcs@FreeBSD.org">
deischen@FreeBSD.org">
des@FreeBSD.org">
dfr@FreeBSD.org">
dg@FreeBSD.org">
dick@FreeBSD.org">
dillon@FreeBSD.org">
dima@FreeBSD.org">
dirk@FreeBSD.org">
Dirk.vanGulik@jrc.it">
dt@FreeBSD.org">
dufault@FreeBSD.org">
dwhite@FreeBSD.org">
dyson@FreeBSD.org">
eivind@FreeBSD.org">
ejc@FreeBSD.org">
erich@FreeBSD.org">
faq@FreeBSD.org">
fenner@FreeBSD.org">
flathill@FreeBSD.org">
foxfair@FreeBSD.org">
fsmp@FreeBSD.org">
gallatin@FreeBSD.org">
gclarkii@FreeBSD.org">
gehenna@FreeBSD.org">
gena@NetVision.net.il">
ghelmer@cs.iastate.edu">
gibbs@FreeBSD.org">
gioria@FreeBSD.org">
gj@FreeBSD.org">
gpalmer@FreeBSD.org">
graichen@FreeBSD.org">
green@FreeBSD.org">
grog@FreeBSD.org">
groudier@club-internet.fr">
gryphon@healer.com">
+gsutter@FreeBSD.org">
+
guido@FreeBSD.org">
hanai@FreeBSD.org">
handy@sxt4.physics.montana.edu">
roger@freebsd.org">
helbig@FreeBSD.org">
hm@FreeBSD.org">
hoek@FreeBSD.org">
hosokawa@FreeBSD.org">
hsu@FreeBSD.org">
imp@FreeBSD.org">
imura@FreeBSD.org">
itojun@itojun.org">
iwasaki@FreeBSD.org">
jasone@FreeBSD.org">
jb@cimlogic.com.au">
jdp@FreeBSD.org">
jedgar@FreeBSD.org">
jehamby@lightside.com">
jesusr@FreeBSD.org">
jfieber@FreeBSD.org">
jfitz@FreeBSD.org">
jhay@FreeBSD.org">
jhb@FreeBSD.org">
jhs@FreeBSD.org">
jim@FreeBSD.org">
jkh@FreeBSD.org">
jkoshy@FreeBSD.org">
jlemon@FreeBSD.org">
john@starfire.MN.ORG">
jlrobin@FreeBSD.org">
jmacd@FreeBSD.org">
jmas@FreeBSD.org">
jmb@FreeBSD.org">
jmg@FreeBSD.org">
jmz@FreeBSD.org">
joe@FreeBSD.org">
joerg@FreeBSD.org">
john@FreeBSD.org">
jraynard@FreeBSD.org">
jseger@FreeBSD.org">
julian@FreeBSD.org">
jvh@FreeBSD.org">
karl@FreeBSD.org">
kato@FreeBSD.org">
-kelly@plutotech.com">
+kelly@ad1440.net">
ken@FreeBSD.org">
kevlo@FreeBSD.org">
kjc@FreeBSD.org">
kris@FreeBSD.org">
kuriyama@FreeBSD.org">
lars@FreeBSD.org">
lile@FreeBSD.org">
ljo@FreeBSD.org">
luoqi@FreeBSD.org">
marcel@FreeBSD.org">
markm@FreeBSD.org">
martin@FreeBSD.org">
max@FreeBSD.org">
mark@vmunix.com">
mbarkah@FreeBSD.org">
mckay@FreeBSD.org">
mckusick@FreeBSD.org">
md@bsc.no">
winter@jurai.net">
mharo@FreeBSD.org">
mjacob@FreeBSD.org">
mks@FreeBSD.org">
motoyuki@FreeBSD.org">
mph@FreeBSD.org">
mpp@FreeBSD.org">
msmith@FreeBSD.org">
mtaylor@FreeBSD.org">
nakai@FreeBSD.org">
nate@FreeBSD.org">
nbm@FreeBSD.org">
nectar@FreeBSD.org">
newton@FreeBSD.org">
n_hibma@FreeBSD.org">
nik@FreeBSD.org">
nsayer@FreeBSD.org">
nsj@FreeBSD.org">
nyan@FreeBSD.org">
obrien@FreeBSD.org">
olah@FreeBSD.org">
opsys@open-systems.net">
patrick@FreeBSD.org">
paul@FreeBSD.org">
pb@fasterix.freenix.org">
pds@FreeBSD.org">
peter@FreeBSD.org">
phantom@FreeBSD.org">
phk@FreeBSD.org">
pho@FreeBSD.org">
pjchilds@imforei.apana.org.au">
proven@FreeBSD.org">
+ps@FreeBSD.org">
+
pst@FreeBSD.org">
reg@FreeBSD.org">
rgrimes@FreeBSD.org">
rhuff@cybercom.net">
ricardag@ag.com.br">
rich@FreeBSD.org">
rnordier@FreeBSD.org">
roberto@FreeBSD.org">
rse@FreeBSD.org">
ru@FreeBSD.org">
rwatson@FreeBSD.org">
sada@FreeBSD.org">
scrappy@FreeBSD.org">
se@FreeBSD.org">
sef@FreeBSD.org">
sheldonh@FreeBSD.org">
shige@FreeBSD.org">
shin@FreeBSD.org">
simokawa@FreeBSD.org">
smace@FreeBSD.org">
smpatel@FreeBSD.org">
sos@FreeBSD.org">
stark@FreeBSD.org">
stb@FreeBSD.org">
steve@FreeBSD.org">
sumikawa@FreeBSD.org">
swallace@FreeBSD.org">
tanimura@FreeBSD.org">
taoka@FreeBSD.org">
tedm@FreeBSD.org">
tegge@FreeBSD.org">
tg@FreeBSD.org">
thepish@FreeBSD.org">
tom@FreeBSD.org">
torstenb@FreeBSD.org">
truckman@FreeBSD.org">
ugen@FreeBSD.org">
uhclem@FreeBSD.org">
ulf@FreeBSD.org">
ume@FreeBSD.org">
+unfurl@FreeBSD.org">
+
vanilla@FreeBSD.org">
wes@FreeBSD.org">
whiteside@acm.org">
-wilko@yedi.iaf.nl">
+wilko@FreeBSD.org">
wlloyd@mpd.ca">
wollman@FreeBSD.org">
wosch@FreeBSD.org">
wpaul@FreeBSD.org">
wsanchez@FreeBSD.org">
yokota@FreeBSD.org">
www@FreeBSD.org">
diff --git a/ja_JP.eucJP/books/handbook/basics/chapter.sgml b/ja_JP.eucJP/books/handbook/basics/chapter.sgml
index dd4fcc2d20..7c70e965ea 100644
--- a/ja_JP.eucJP/books/handbook/basics/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/basics/chapter.sgml
@@ -1,155 +1,155 @@
Unix の基礎知識
- 訳: &a.jp.nakai;. 12 October 1996.
+ 訳: &a.jp.nakai;, 1996 年 10 月 12 日.
オンラインマニュアル
FreeBSD についてのもっとも包括的なドキュメントは
マニュアルページ の形式になっているものです.
FreeBSD システム上のほとんどすべてのプログラムには基本的な
操作方法とさまざまな引数を説明しているリファレンスマニュアル
がついています. これらのマニュアルは man
コマンドで見ることができます. man
コマンドの使い方は簡単です :
&prompt.user; man コマンド名
コマンド名
のところには知りたいコマンドの名前を入れます. たとえば,
ls コマンドについて知りたい場合には
次のように入力します:
&prompt.user; man ls
オンラインマニュアルは 数字のついたセクションに
分けられています :
ユーザコマンド
システムコールとエラー番号
C のライブラリ関数
デバイスドライバ
ファイル形式
ゲームとほかのお楽しみ
そのほかの情報
システムの管理と操作のためのコマンド
カーネル開発者のための情報
場合によっては, 同じことがらでもオンラインマニュアルでは
複数のセクションに記載されていることがあります. たとえば,
chmod ユーザコマンドと
chmod()
システムコールがあります. この場合, man
コマンドでどちらを参照したいかをセクションで指定することが
できます :
&prompt.user; man 1 chmod
とすればユーザコマンドとしての chmod
のマニュアルページが表示されます. オンラインマニュアル上の特定の
セクションへの参照は通常, 書かれているドキュメントの
括弧の中に示されています. ですから, &man.chmod.1; は
chmod
ユーザコマンドを, &man.chmod.2;
はシステムコールの方を示しています.
コマンドの名前を知っていて, 単純にその使い方が分かる場合は
よいのですが, もしコマンドの名前を思い出せない場合には
どうしたらいいのでしょう? man に
-k スイッチをつければ,
コマンドデスクリプション中のキーワードから検索することができます
:
&prompt.user; man -k mail
このコマンドを使うことで,
“mail”というキーワードを含むコマンドの
一覧を参照することができます. 実を言うと
apropos
コマンドを使うのと機能的には同じです.
それから, /usr/bin
にある優れたコマンドすべてを目にしても,
それらの大半がどういった働きをするのか
まったく見当もつかないときは どうしたらよいでしょう. 単純に,
&prompt.user; cd /usr/bin; man -f *
あるいは同じ働きをする
&prompt.user; cd /usr/bin; whatis *
としましょう.
GNU の Info ファイル
FreeBSD には Free Software Foundation (FSF)
によるアプリケーションや
ユーティリティがたくさんあります. こうしたプログラムには
manページに加えて, “info” ファイルと呼ばれる
ハイパーテキスト形式のドキュメントが付属になっていて,
info コマンドや, emacs
をインストールしているなら emacs の info
モードで見ることができます.
&man.info.1; コマンドを使うには, 単にこう入力します.
&prompt.user; info
おおまかなイントロダクションを
見るには, h と入力します.
クイックコマンドリファレンスは ?
とします.
diff --git a/ja_JP.eucJP/books/handbook/bibliography/chapter.sgml b/ja_JP.eucJP/books/handbook/bibliography/chapter.sgml
index 9fcc8cd2dc..5395314061 100644
--- a/ja_JP.eucJP/books/handbook/bibliography/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/bibliography/chapter.sgml
@@ -1,634 +1,634 @@
-
+
参考図書
- 訳: &a.jp.nakai;. 12 October 1996.
+ 訳: &a.jp.nakai;, 1996 年 10 月 12 日.
FreeBSD オペレーティングシステムの個々の部分については
マニュアルページで定義のような説明がなされていますが,
それらにはどうやってその部分どうしをつなぎあわせて
オペレーティングシステム全体を円滑に動作させるかを
説明していないという欠点がよく指摘されます.
それを補うためには UNIX システム管理についてのよい本や,
すぐれた利用者向けのマニュアルが欠かせません.
FreeBSDのためだけの書籍 & 雑誌
非英語文化圏の 書籍 & 雑誌:
FreeBSD 入門與應用 (in Chinese).
FreeBSD入門キット 98版第二版. 宮嵜忠臣 著.
秀和システム. ISBN 4-87966-535-5 C3055 2900円.
FreeBSD入門キット AT互換機版 第二版. 宮嵜忠臣 著.
秀和システム. ISBN 4-87966-535-5 C3055 2900円.
ここまでできる FreeBSD パワーガイド.
霜山 滋 仲道 嘉夫 山中右次 著. 秀和システム.
ISBN 4-87966-637-8 2600円.
FreeBSD徹底入門 .
あさだたくや 天川修平 衛藤敏寿 浜田直樹 細川達己 三田吉郎 著.
翔泳社 .
ISBN 4-88135-473-6 3600円.
パーソナルUNIXスターターキットFreeBSD .
民田雅人 古場正行 増田佳泰 天池健 宮川晋 共著.
アスキー .
ISBN 4-7561-1733-3 3000円.
FreeBSD ハンドブック (日本語版).
アスキー .
ISBN 4-7561-1580-2 3800円.
FreeBSD mit Methode (ドイツ語版).
Computer und Literatur Verlag/Vertrieb Hanser 発行.
1998. ISBN 3-932311-31-0
FreeBSD インストール & 活用マニュアル ,
published by
毎日コミュニケーションズ .
英語の書籍 & 雑誌:
The Complete FreeBSD ,
published by
Walnut Creek CDROM .
利用者向けのガイド
Computer Systems Research Group, UC Berkeley.
4.4BSD User's Reference Manual .
O'Reilly & Associates, Inc., 1994.
ISBN 1-56592-075-9
Computer Systems Research Group, UC Berkeley.
4.4BSD User's Supplementary Documents .
O'Reilly & Associates, Inc., 1994.
ISBN 1-56592-076-7
UNIX in a Nutshell .
O'Reilly & Associates, Inc., 1990.
ISBN 093717520X
Mui, Linda.
What You Need To Know When You Can't Find Your UNIX
System Administrator .
O'Reilly & Associates, Inc., 1995.
ISBN 1-56592-104-6
Ohio State University has written
a
UNIX Introductory Course which is available online
in HTML and postscript format.
FreeBSD 友の会 jpman プロジェクト . FreeBSD User's
Reference Manual (日本語訳). 毎日コミュニケーションズ
, 1998. ISBN4-8399-0088-4 P3800E.
管理者向けのガイド
Albitz, Paul and Liu, Cricket. DNS and
BIND , 2nd Ed.
O'Reilly & Associates, Inc., 1997.
ISBN ISBN 1-56592-236-0
(訳注: 邦訳は以下のものが出版されています.
高田広章 / 小島育夫 監訳 , 小舘光正 訳.
DNS & BIND 改訂版 .
オライリー・ジャパン, 1998.
ISBN 4-900900-42-7)
Computer Systems Research Group, UC Berkeley.
4.4BSD System Manager's Manual .
O'Reilly & Associates, Inc., 1994.
ISBN 1-56592-080-5
Costales, Brian, et al.
Sendmail , 2nd Ed. O'Reilly &
Associates, Inc., 1997.
ISBN 1-56592-222-0
(訳注: 邦訳は以下のものが出版されています.
2分冊になっています.
原著の3章までが「システム管理」, 4章が「リファレンス」
に対応します.)
ただし2分冊となり,原著のリファレンスの部分に当たる Volume2
は 1998年3月の時点では出版されていません.
中村 素典 監訳, 鈴木 克彦 訳.
sendmail システム管理 (Volume1) .
オライリー・ジャパン, 1997.
ISBN 4-900900-40-0)
中村 素典 監訳, 鈴木 克彦 訳.
sendmail システム管理 (Volume2) .
オライリー・ジャパン, 1998.
ISBN 4-900900-41-9)
Frisch, Æleen. Essential System
Administration , 2nd Ed. O'Reilly &
Associates, Inc., 1995. ISBN 1-56592-127-5
(訳注: 邦訳は以下のものが出版されています.
谷川 哲司 監訳 黒岩 真吾 , 株式会社ユニテック
訳. UNIX システム管理入門 改訂版 .
オライリー・ジャパン, 1998.
ISBN 4-900900-14-1)
Hunt, Craig. TCP/IP Network Administration .
O'Reilly & Associates, Inc., 1992.
ISBN 0-937175-82-X
(訳注: 邦訳は以下のものが出版されています.
村井純 監訳.
TCP/IP ネットワーク管理 .
インターナショナル・トムソン・パブリッシング・ジャパン, 1994.
ISBN 4-900718-01-7)
Nemeth, Evi. UNIX System Administration
Handbook . 2nd Ed. Prentice Hall, 1995.
ISBN 0131510517
(訳注: 邦訳は以下のものが出版されています.
井上尚司監訳.
UNIX システム管理入門 .
ソフトバンク, 1992.
ISBN 4-89052-362-6
原本は第2版だが, 訳出は第1版のみ)
Stern, Hal Managing NFS and NIS
O'Reilly & Associates, Inc., 1991.
ISBN 0-937175-75-7
FreeBSD 友の会 jpman プロジェクト . FreeBSD System
Administrator's Manual (日本語訳).
毎日コミュニケーションズ ,
1998. ISBN4-8399-0109-0 P3300E.
プログラマ向けのガイド
Asente, Paul. X Window System
Toolkit . Digital Press.
ISBN 1-55558-051-3
Computer Systems Research Group, UC Berkeley.
4.4BSD Programmer's Reference Manual .
O'Reilly & Associates, Inc., 1994.
ISBN 1-56592-078-3
Computer Systems Research Group, UC Berkeley.
4.4BSD Programmer's Supplementary Documents .
O'Reilly & Associates, Inc., 1994.
ISBN 1-56592-079-1
Harbison, Samuel P. and Steele, Guy
L. Jr. C: A Reference Manual . 4rd ed. Prentice
Hall, 1995. ISBN 0-13-326224-3
(訳注: 邦訳は以下のものが出版されています.
斎藤信男監訳.
新・詳説C言語リファレンス
[H&Sリファレンス] .
ソフトバンク, 1994.
ISBN 4-89052-506-8
原本は第4版だが, 訳出は第3版のみ。)
Kernighan, Brian and Dennis M. Ritchie.
The C Programming Language. .
PTR Prentice Hall, 1988.
ISBN 0-13-110362-9
(訳注: 邦訳は以下のものが出版されています.
石田晴久 訳.
プログラミング言語 C 第2版(訳書訂正版)
共立出版, 1989.
ISBN 4-320-02692-6)
Lehey, Greg.
Porting UNIX Software .
O'Reilly & Associates, Inc., 1995.
ISBN 1-56592-126-7
Plauger, P. J. The Standard C
Library . Prentice Hall, 1992.
ISBN 0-13-131509-9
(訳注: 邦訳は以下のものが出版されています.
福富寛 / 門倉明彦 / 清水恵介 訳.
標準 C ライブラリ ANSI/ISO/JIS C規格 .
トッパン, 1995.
ISBN 4-8101-8541-9)
Stevens, W. Richard. Advanced
Programming in the UNIX Environment .
Reading, Mass. : Addison-Wesley, 1992
ISBN 0-201-56317-7
(訳注: 邦訳は以下のものが出版されています.
大木敦雄 訳.
詳解 UNIX プログラミング . トッパン, 1994.
ISBN 4-89052-524-6)
Stevens, W. Richard. UNIX Network
Programming . 2nd Ed. PTR Prentice Hall, 1998.
ISBN 0-13-949876-1
(訳注:
第 1 版の邦訳は以下のものが出版されています.
篠田陽一 訳.
UNIX ネットワークプログラミング .
トッパン,1992.
ISBN 4-8101-8509-5)
Wells, Bill. “Writing Serial Drivers for UNIX”.
Dr. Dobb's Journal . 19(15), December
1994. pp68-71, 97-99.
オペレーティングシステム内部
Andleigh, Prabhat K.
UNIX System Architecture .
Prentice-Hall, Inc., 1990.
ISBN 0-13-949843-5
Jolitz, William. “Porting UNIX to the
386”. Dr. Dobb's Journal . January
1991-July 1992.
Leffler, Samuel J., Marshall Kirk McKusick,
Michael J Karels and John Quarterman The Design and
Implementation of the 4.3BSD UNIX Operating
System . Reading, Mass. : Addison-Wesley, 1989.
ISBN 0-201-06196-1
(訳注: 邦訳は以下のものが出版されています.
中村明 / 相田仁 / 計宇生 / 小池汎平 訳.
UNIX 4.3BSDの設計と実装 . 丸善, 1991.
ISBN 4-621-03607-6)
Leffler, Samuel J., Marshall Kirk McKusick,
The Design and Implementation of the 4.3BSD
UNIX Operating System: Answer Book .
Reading, Mass. : Addison-Wesley, 1991.
ISBN 0-201-54629-9
(訳注: 邦訳は以下のものが出版されています.
相田仁 / 計宇生 / 小池汎平 訳.
UNIX 4.3BSDの設計と実装 .
アンサーブック, トッパン, 1991.
ISBN 4-8101-8039-5)
McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
and John Quarterman. The Design and
Implementation of the 4.4BSD Operating
System . Reading, Mass. : Addison-Wesley, 1996.
ISBN 0-201-54979-4
Stevens, W. Richard. TCP/IP Illustrated,
Volume 1: The Protocols .
Reading, Mass. : Addison-Wesley, 1996.
ISBN 0-201-63346-9
Schimmel, Curt.
Unix Systems for Modern Architectures .
Reading, Mass. : Addison-Wesley, 1994.
ISBN 0-201-63338-8
Stevens, W. Richard. TCP/IP Illustrated,
Volume 3: TCP for Transactions, HTTP, NNTP
and the UNIX Domain Protocols .
Reading, Mass. : Addison-Wesley, 1996.
ISBN 0-201-63495-3
Vahalia, Uresh.
UNIX Internals -- The New Frontiers .
Prentice Hall, 1996.
ISBN 0-13-101908-2
Wright, Gary R. and W. Richard Stevens.
TCP/IP Illustrated, Volume 2:
The Implementation .
Reading, Mass. : Addison-Wesley, 1995.
ISBN 0-201-63354-X
セキュリティの参考資料
Cheswick, William R. and Steven M. Bellovin.
Firewalls and Internet Security:
Repelling the Wily Hacker .
Reading, Mass. : Addison-Wesley, 1995.
ISBN 0-201-63357-4
(訳注: 邦訳は以下のものが出版されています.
川副博 監訳. ファイアウォール .
ソフトバンク, 1995.
ISBN 4-89052-672-2)
Garfinkel, Simson and Gene Spafford.
Practical UNIX Security . 2nd Ed.
O'Reilly & Associates, Inc., 1996.
ISBN 1-56592-148-8
(訳注: 邦訳は以下のものが出版されています.
山口英監訳. UNIX セキュリティ .
アスキー, 1993.
ISBN 4-7561-0274-3
原本は第2版だが, 訳出は第1版のみ)
Garfinkel, Simson.
PGP Pretty Good Privacy
O'Reilly & Associates, Inc., 1995.
ISBN 1-56592-098-8
ハードウェアの参考資料
Anderson, Don and Tom Shanley.
Pentium Processor System Architecture .
2nd Ed. Reading, Mass. : Addison-Wesley, 1995.
ISBN 0-201-40992-5
Ferraro, Richard F. Programmer's Guide
to the EGA, VGA, and Super VGA Cards .
3rd ed. Reading, Mass. : Addison-Wesley, 1995.
ISBN 0-201-62490-7
Intel Corporation は, 自社の CPU
やチップセットに関する文書を自社の 開発者向け Web
サイト で公開しています. 文書のフォーマットは通常
PDF です.
Shanley, Tom. 80486 System
Architecture . 3rd ed. Reading, Mass. :
Addison-Wesley, 1995.
ISBN 0-201-40994-1
Shanley, Tom. ISA System
Architecture . 3rd ed. Reading, Mass. :
Addison-Wesley, 1995.
ISBN 0-201-40996-8
Shanley, Tom. PCI System
Architecture . 3rd ed. Reading, Mass. :
Addison-Wesley, 1995.
ISBN 0-201-40993-3
Van Gilluwe, Frank. The Undocumented PC .
Reading, Mass: Addison-Wesley Pub. Co., 1994.
ISBN 0-201-62277-7
UNIX の歴史
Lion, John Lion's Commentary on UNIX, 6th Ed.
With Source Code .
ITP Media Group, 1996.
ISBN 1573980137
Raymond, Eric s. The New Hacker's Dictionary,
3rd edition . MIT Press, 1996.
ISBN 0-262-68092-0
Also known as the
Jargon File
Saulus, Peter H. A quarter century of UNIX .
Addison-Wesley Publishing Company, Inc., 1994.
ISBN 0-201-54777-5
Simon Garfinkel, Daniel Weise, Steven Strassmann.
The UNIX-HATERS Handbook .
IDG Books Worldwide, Inc., 1994.
ISBN 1-56884-203-1
Don Libes, Sandy Ressler Life with UNIX
— special
edition. Prentice-Hall, Inc., 1989.
ISBN 0-13-536657-7
(訳注: 邦訳は以下のものが出版されています.
坂本文 監訳. Life with UNIX .
アスキー, 1990.
ISBN 4-7561-0783-4
邦訳がSpecial 版の訳出か否かは不明)
BSD 系 OS の系譜図 . 1997年.
ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree
または, FreeBSD-current マシンの
ローカルファイル .
BSD リリース告知コレクション . 1997.
http://www.de.FreeBSD.ORG/de/ftp/releases/
Networked Computer Science Technical Reports Library
.
http://www.ncstrl.org/
Computer Systems Research group (CSRG) からの古い
BSD リリース集
http://www.mckusick.com/csrg/ :
この 4 枚 CD セットには, 1BSD から 4.4BSD までと 4.4BSD-Lite2
が含まれます (残念ながら 2.11BSD は含まれていません).
また 4 枚目の CD には, 最終ソースおよび SCCS
ファイルが含まれています.
雑誌とジャーナル
The C/C++ Users Journal . R&D Publications
Inc. ISSN 1075-2838
Sys Admin — The Journal for UNIX System
Administrators
Miller Freeman, Inc., ISSN 1061-2688
-
+
diff --git a/ja_JP.eucJP/books/handbook/book.sgml b/ja_JP.eucJP/books/handbook/book.sgml
index 3995228918..1e87ae03c5 100644
--- a/ja_JP.eucJP/books/handbook/book.sgml
+++ b/ja_JP.eucJP/books/handbook/book.sgml
@@ -1,158 +1,158 @@
%man;
%bookinfo;
%chapters;
%authors;
%jauthors;
%mailing-lists;
%newsgroups;
]>
FreeBSD ハンドブック
FreeBSD ドキュメンテーションプロジェクト
doc@FreeBSD.org
1999 年 2 月
1995
1996
1997
1998
1999
2000
The FreeBSD Documentation Project
&bookinfo.legalnotice;
FreeBSD へようこそ! このハンドブックは
FreeBSD Release &rel.current;
のインストールおよび, 日常での使い方について記述したもので,
FreeBSD ドキュメンテーションプロジェクトによって
編集されています. 日本語版の作成は FreeBSD
日本語ドキュメンテーションプロジェクトがおこなっています.
本書は現在進行中の作業 であって,
多くの個人の手からなる仕事です.
多くのセクションはまだ存在しませんし, いま存在するセクションの
いくつかはアップデートが必要です. この FreeBSD
ドキュメンテーションプロジェクトに協力したいと思ったら,
&a.doc; まで (英語で) 電子メールを送ってください.
ハンドブックそのものに関する議論は, こちらで
おこなわれています. (もちろん英語でです.) 日本語訳および,
日本語版のみに関することは FreeBSD &a.jp.doc-jp;
において日本語で議論されています.
必要に応じて日本語ドキュメンテーションプロジェクトから
本家ドキュメンテーションプロジェクトに対して
フィードバックをおこないますので, 英語が得意でない方は FreeBSD
&a.jp.doc-jp;
まで日本語でコメントをお寄せください.
このドキュメントの最新バージョンは, いつでも
日本国内版 FreeBSD World
Wide Web サーバ や
FreeBSD World Wide Web
サーバ で見ることができますし, さまざまな形式のものや
圧縮されたものを
FreeBSD FTP
サーバ や, たくさんの
ミラーサイト からダウンロードすること
ができます. また,
ハンドブックの検索 も可能です.
導入
&chap.introduction;
&chap.install;
&chap.basics;
&chap.ports;
システム管理
&chap.kernelconfig;
&chap.security;
&chap.printing;
&chap.disks;
&chap.backups;
&chap.quotas;
&chap.x11;
- &chap.hw;
&chap.l10n;
ネットワーク通信
&chap.serialcomms;
&chap.ppp-and-slip;
&chap.advanced-networking;
&chap.mail;
さらに進んだ話題
&chap.cutting-edge;
&chap.contrib;
&chap.policies;
&chap.kernelopts;
&chap.kerneldebug;
&chap.linuxemu;
&chap.internals;
付録
&chap.mirrors;
&chap.bibliography;
&chap.eresources;
&chap.staff;
&chap.pgpkeys;
+ &chap.hw;
&chap.jcontrib;
diff --git a/ja_JP.eucJP/books/handbook/contrib/chapter.sgml b/ja_JP.eucJP/books/handbook/contrib/chapter.sgml
index 8fb977dd2f..c671ea55be 100644
--- a/ja_JP.eucJP/books/handbook/contrib/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/contrib/chapter.sgml
@@ -1,6074 +1,6065 @@
FreeBSD への貢献
原作: &a.jkh;.
- 訳: &a.jp.iwasaki;. 27 April 1997.
+ 訳: &a.jp.iwasaki;, 1997 年 4 月 27 日.
あなたも何か FreeBSD のために貢献したくなりましたか?
素晴らしい! 私たちは常に支援を受ける用意がありますし, FreeBSD
は生き残るためにユー
ザベースの貢献に頼る ようなシステムの一つです.
あなたの貢献は 感謝されるだけではなく, FreeBSD
が成長し続けるために極めて重要なものな のです!
一部の人達が言っているのとは逆に,
貢献を受け付けてもらうために腕利 きのプログラマーになるとか
FreeBSD コアチームの人と親友になる必要はあ りません. FreeBSD
プロジェクトの開発は, 多くのそして益々増加する世界中
の貢献者達によってなされており, 彼らの年齢,
専門技術分野は多岐に渡りま す.
そして手の空いている人よりも
成されるべき仕事の方が常に多いのです.
FreeBSD
プロジェクトがカーネルや散在しているユーティリティよりも,
オペレーティングシステム環境 (と, そのインストール)
に対して責任を持つ ようになったため,
私たちのTODO リストはドキュメンテーション,
ベータテ スト,
高度に専門化されたタイプのカーネル開発の好例を紹介するなど非常に
広い範囲のタスクに渡ります. あなたの技能レベルに関わらず,
プロジェクト を支援できることが必ず何かあります!
FreeBSD
関連の事業に従事している商業団体が私たちにコンタクトすること
も歓迎します. あなたの製品を (FreeBSD 上で) 動作させるには,
特別な拡張 が必要ではありませんか?
あまりにも風変わりな要求でなければ, それを受け
入れる用意が私たちにあるとわかるはずです.
付加価値のある製品ですか? 私たちに知らせてください! 多分私たちは,
ある 面において共同して作業をすることができるでしょう.
フリーソフトウェア界 は,
ソフトウェアがそのライフサイクルを通してどのように開発され,
売られ, 保守されていくかについて, 既存の仮説に挑戦しています.
少なくとももう一
度考慮してみることを私たちは強くお奨めします.
何が必要?
次のタスクとサブプロジェクトのリストは, コアチームの色々な
TODO リ
ストと最近2ヶ月で集めたユーザリクエストを合わせたものです.
可能なとこ ろでは, 緊急度によってタスクがランクづけされています.
もしここにあるタ スクの実行に興味があるのでしたら,
コーディネータの名前をクリックしてメー ルを送ってください.
もしコーディネータが決まっていなければ, あなたがボ
ランティアしてみませんか?
優先度の高いタスク
次のタスクは通常, ひどく壊れているとか,
とても必要とされている何かを 表しているため,
急務と考えられています:
第3ステージ・ブート問題. 全体コーディネーション:
&a.hackers;
第3ステージがディスクの BIOS
ジオメトリの正確なマッピングを提供 できるように WinNT
コンパチブルなドライブの追跡をおこなう.
ファイルシステム問題. 全体コーディネーション:
&a.fs;
nullfs ファイルシステムコードのクリーンアップと
ドキュメンテーション. コーディネータ: &a.eivind;
union ファイルシステムの修正. コーディネータ:
&a.dg;
カーネル vm86 及びユーザ vm86 サポート実装.
コーディネータ: &a.jlemon;
Int13 vm86 ディスクドライバの実装. コーディネータ:
&a.hackers;
カーネル問題. 全体コーディネーション:
&a.hackers;
すべての現存ドライバの eisaconf 変換の達成.
すべての割り込みルーチンを
ユニット番号を使う代わりに (void *) を
取るように変更.
EISA/PCI/ISAの割り込み登録コードの統合.
PCI/EISA/ISA デバイス検出を bt742a.c(WIP)
のようなドライバから分割.
syscons の ALT-Fn/vt 切替えによるハングの修正.
コーディネータ: &a.sos;
3c509と3c590 ドライバの統合 (本質的には PCI
デバイス検出の ep.c への提供).
優先度がさほど高くないタスク
次のタスクはやっておくべきではありますが,
特にさし迫っているわけで はありません:
MCA サポート?
これは続けるにしても止めてしまうにしても結論を出
すべき.
完全な KLD ベースのドライバのサポート /
コンフィグレーションマネー ジャ.
ld なしですべての LKM
の登録をおこなう方法を考案する. これは
カーネル中にある種のシンボルテーブルを
持たせることを意味します.
穏やかな方法でハードウェアを検知する
コンフィグレーションマネージャ の作成
(第3ステージ・ブートの中に?). ハードウェアが必要とする
KLD だけを 残す等.
PCMCIA/PCCARD. コーディネータ: &a.msmith; と &a.imp;
ドキュメンテーション!
pcic ドライバの信頼性のある操作 (テスト要).
sio.c
のリコグナイザとハンドラ (ほぼ完了).
ed.c のリコグナイザとハンドラ
(ほぼ完了).
ep.c のリコグナイザとハンドラ
(ほぼ完了).
User-mode のリコグナイザとハンドラ
(部分的に完了).
先進的なパワーマネージメント. コーディネータ: &a.nate;
と &a.phk;
APM サブドライバ (ほぼ完了).
IDE/ATA ディスクサブドライバ (部分的に完了).
syscons/pcvt サブドライバ.
PCMCIA/PCCARD ドライバ群との統合 (サスペンド /
レジューム).
優先度の低いタスク
次のタスクは全くのあら隠し,
または誰もすぐにおこないそうもない投資
のような仕事を表します:
最初の20項目は Terry Lambert
terry@lambert.org からのもので す.
プロセッサ上で V86 モードを使用して,
プロテクトモードからの BIOS コールができるようにし,
マップされた割り込み IPC 機構を経由してプロテ
クトモードの呼出し元に結果を返すようにする.
DOS と同じように,
実際の下位ハードウェアから独立になるよう, BIOS
コール機構を使用したカーネルの中に組み込まれたドライバ.
これは DOS ベー スのローダプログラムで BSD
がロードされる前に DOS にロードされていたネッ
トワークドライバや ASPI ドライバも含みます.
このことは潜在的なポーリン グ,
つまりプロテクトモードカーネルによる V86 マシンのための
DOS-not-busy 割り込みの生成を意味します.
ハードウェア固有のプロテクトモードの
ドライバがロードされて活性化 された後で,
デフォルトのカーネル実行形式の中の, そのようなドライバデー
タとテキストエリアを追跡して,
カーネルアドレス空間のその部分が回復され
るようにするためのイメージ形式. これは個々の BIOS
ベースのドライバを互いに分離することを含みます. なぜ
なら全く実行しないよりも, すべてのケースにおいて BIOS
ベースのドライバ と共に実行した方が良いためです.
バスインタフェース機構の抽象化. 現在のところ, PCMCIA,
EISA そし て PCI バスはブリッジで ISA
バスに接続されていると仮定しています. こう
いった仮定はおこなうべきではありません.
パワーマネージメントイベント, カードの挿入, 取り出し,
そしてバス (PNPISA と PCMCIA とのブリッジチップ)
対カードのレベルのイベント管理を 含む PNP
イベントを解釈するコンフィグレーションマネージャ.
固定デバイスによる他の再割当可・不可の
デバイス空間リソースの使用 と衝突しない,
再割当可能なアドレスの割り当てのためのトポロジカルソート
機構.
ハードウェアサービス登録のための登録ベースの機構.
特にタイマ, サウンドおよび他の
システムクリティカルなサービス供給源のためのデバイス
中心の登録機構.
単一の独立していないサービス供給源の一つの例として
Timer2, Timer0
そしてスピーカサービスを考慮する必要があります.
ネットワークカードと一緒に提供される ODI
カードドライバを使用で きるようにする, NetWare サーバ
(プロテクトモードの ODI ドライバ) ロー ダとサブサービス.
NDIS ドライバと NetWare の SCSI ドライバについても同
様.
前のリビジョンの FreeBSD マシンではなく, Linux
マシンで動作する 「アップグレード
システム」オプション.
移植を簡単にするためと, X, ThinkPad, PS/2マウス, LED,
コンソール スイッチング, しつこい NumLock
などの問題を全部一度に片付けるためのコ
ンソールドライバの抽象レイヤへの分割.
機会が許したら,
他の外部ドライバのための他のカーネルのエミュレー
ション環境. SCO と Solaris は UnixWare
などに続く良い候補です.
異なるアーキテクチャのバイナリの実行のための
プロセッサエミュレーション環境.
これはシステムコールインタフェースがあまり変わらなければ,
思ったより簡単です.
商用のストリームドライバを使用可能にするための
ストリーム機構.
カーネルのマルチスレッド化
(カーネルのプリエンプションが必要).
カーネルのプリエンプション付き対称マルチプロセッシング
(カーネル のプリエンプションが必要).
ポータブルコンピュータのサポートにおける協調の試み.
これは PCMCIA
ブリッジング規則と電源管理イベント処理の変更により, いく
らかは処理できます. しかし,
内蔵ディスプレイと外部ディスプレイの検出, この 2
種類のディスプレイがあるという事実に基づく
異なる解像度の選択, マシンがドックにある場合には
ディスクのモータ停止を防止すること, マシンの
ブート能力に影響を与えずにドックベースのカードの消滅を
可能にすること (PCMCIA と同じ問題)
などの問題があります.
マルチプラットフォームへの移植のための
ソースツリーの再組織化.
make
world できちんと「世界を創造する」
ができるようにする. (もしmake
regress (訳注: 後退する)と呼び方が適当であれば,
そのように 名前を変える)
最小必要メモリ 4MB 化 (もっと小さければなお良し!).
もっと簡単なタスク
上のセクションで挙げたタスクは膨大な時間の投資または
FreeBSD のカーネルに関する深い知識を必要とします
(もしくはそのどちらも). しかしながら,
"週末ハッカー"やプログラミングのスキルを持
たない人々に適した立派なタスクも数多くあります.
FreeBSD-current を運用しており,
状態の良いインターネット接続があ るならば, current.FreeBSD.org
という一日に一回フルリリースを行っている マシンがあります
— 時おり最新のリリースをそこからインストールし, その
過程で何か問題があるなら報告して下さい.
freebsd-bugs
メーリングリストを読んでください. そこではあなたが建
設的なコメントを付けたりテストできるパッチが
提供されているような問題がある かもしれません.
もしくはそれらの問題の一つをあなた自身で修正することさえ
できるかもしれません.
定期的に FAQ とハンドブックを通して読んでみてください.
もしまずい説明や古い事柄や完全に間違っていることなどが
あれば我々に しらせて下さい.
さらに良いのは我々に修正案を送ることです (SGML
は学ぶのにそれほど難しくありませんが,
プレインテキストでも問題は ありません).
(もしまだないならば) FreeBSD
のドキュメントを自分の母国語に翻訳
するのを手伝ってください —
作業している人がいるかどうか &a.doc; にメールを
送って聞くだけです. とはいっても,
そうすることによってあなたが全ての FreeBSD
ドキュメントの翻訳に携わるように
なるというわけではないですから ね — 実際,
もっとも翻訳が必要とされているドキュメントはインストール方
法です.
たまに(もしくは定期的に) freebsd-questions
メーリングリストや
comp.unix.bsd.freebsd.misc
を読んでください. これは, あなたの持ってい
る専門知識を共有したり誰かが抱えている問題を
解決するのに非常に有効な ものになり得ることです.
時にはあなた自身で新しいことを学ぶことさえ
できるかもしれません.
これらのフォーラムはやるべきことのアイディア
の源にもなり得るのです.
-current に正しく当てられるがしばらく経っても(通常は
2, 3 週間) -stable
に取り込まれてないようなバグフィックスがあるならば
コミッターに 丁寧に思い出させてください.
寄贈ソフトウェアをソースツリーの
src/contrib
に移動させてください.
src/contrib
以下のコードが最新のものであるか確認してください.
2000 年問題に関するバグを探してください(そして,
見つけたら修正してください!).
ソースツリー全体(もしくはその一部)を,
警告を詳細に報告するようにして構築してみてください.
そして警告が出ないようにしてください.
ports で, gets() を使っているとか malloc.h
をインクルードしている
などといった警告が出ないようにしてください.
もしなんらかの ports に関わっているなら,
あなたのパッチを作者に フィードバックしてください
(次のバージョンが出た時にあなたが楽になります).
このリストに追加するタスクを提案して下さい!
障害報告(PR; Problem Report)データベースにおける作業
FreeBSD 障害報告リスト では, 現在問題となっている報告と,
FreeBSD の利用者によって提出された改良の要望に関する
全てのリストを公開しています.
open 状態の障害情報を見て, 興味を引く内容かどうか確かめて下さい.
本当に複雑なものも含まれているでしょうし,
例えば, 障害報告に対する修正がちゃんとしたものであるかどうか
単にチェックするだけのとても簡単な作業もあるでしょう.
まず, まだ誰にも割り当てられていない障害報告から作業を
始めて下さい. もし, 誰か他の人に割り当てが決まっているけれども
自分が作業可能だ, というものがあれば, 作業ができるかどうか—
既にテスト用パッチが用意されているのかどうか, あるいは
その問題についてあなたが考えている,
より進んだ考えに関して議論ができるかどうか,
割り当てられている人に電子メールで問い合わせて下さい.
貢献の仕方
一般的に, システムへの貢献は次の 6
つのカテゴリの1つ以上に分類されます:
バグ報告と一般的な論評
報告するべきバグがあったり, 提案したいことがあれば:
一般的な
技術的関心事に関するアイデアや提案は &a.hackers;
へメールしてください. 同様に, このような事柄に興味のある
(そして膨大な メール! に耐えられる) 人は,
&a.majordomo; へメールを送って hackers
メーリングリストに参加すると良いでしょう. 情報については
メーリングリスト
を参照してください.
バグを発見したり変更を送付しようとしている場合は
&man.send-pr.1; プログラムか WEB ベースの
send-pr を使用して報告してください.
バグレポートの各項目を埋めるようにしてください. 65KB
を超えるのでなければ, レポート中に直接
パッチを入れてくださって結構です.
その場合, カット&ペーストはしないで
ください. カット&ペーストではタブがスペースに展開されて
パッチが使い物にならなくなってしまいます.
20KB を超える場合は,
それらを compress して &man.uuencode.1;
することも検討してください. とても大きくなる場合は
ftp.FreeBSD.org:/pub/FreeBSD/incoming/
を利用してください.
レポートがファイリングされれば, バグ報告の確認と
トラッキング番号をメールで受け取るはずです.
このトラッキング番号を覚えておき, 問題に関する詳細情報を
bug-followup@FreeBSD.org に
メールで送って更新できるようにしてください. 例えば
"Re: kern/3377" のように,
この番号をサブジェクト行に使用してください.
すべてのバグレポートの追加情報は,
この方法で送付されなければいけません.
もしタイムリに (あなたの電子メール接続形態にもよりますが,
3日から 1週間) 確認を受けとれないとか, 何らかの理由で
&man.send-pr.1; コマンドが 使用できない場合には, &a.bugs;
へメールを送り, 誰か代りにバグ報告を
送付してもらうようたずねてください.
文書の変更
文書の変更は &a.doc; が監督しています. バグ報告と一般的な論評
に記述されているように send-pr
コマンドを使用して, 提案や変更
(どんな些細なものでも歓迎します!) を送ってください.
現存のソースコードの変更
現存のソースコードへの追加または変更は,
いくらかトリッキーな仕事で あり, core の FreeBSD
開発の現状にあなたがどれだけ通じているかに大 きく依存します.
“FreeBSD-current”として知られる FreeBSD の特別な
継続的リリースがあります. FreeBSD-current
は開発者の積極的な活動の 便宜のために,
色々な方法で利用可能になっています. FreeBSD-current
の入手と使用方法についての詳しい情報については 最新の FreeBSD を追いかける
を参照してください.
不幸にして古いソースをもとに仕事をすることは,
時々あなたの変更が時 代遅れ, または FreeBSD
への簡単な再統合に合わなくなっていることを意 味します.
システムの現状に関する議論がおこなわれている &a.announce; と
&a.current; へ参加することで,
この可能性を最小限にすることができます.
完全な最新のソースを変更のベースにできることが
確実になったと仮定し て, 次のステップは FreeBSD
の保守担当者へ送る差分ファイルの生成です. これは &man.diff.1;
コマンドを使用しておこないますが, “context
diff”形式が好まれるようです. 例えば:
&prompt.user; diff -c oldfile newfile
または
&prompt.user; diff -c -r olddir newdir
これで指定されたソースファイルまたはディレクトリ階層に
対するコンテ キスト形式の差分が生成されます. 詳しい説明は
&man.diff.1; のマ ニュアルページを参照してください.
差分ファイル (&man.patch.1; コマンドでテストできます)
を作ったら, それらを FreeBSD
に含めてもらうようメールで送ってください. バグ報告と一般的な論評
に記述されているように &man.send-pr.1;
コマンドを使用してください. 差分ファイルだけを &a.hackers;
へ送ってはいけません. 途方にくれてしまいます!
私たちは多忙なので, あなたの提案に大変感謝します
(これはボランティアのプロジェクトです!).
すぐに取りかかることはできませんが, 処理されるまでは ちゃんと
pr データベースに残っています.
あなたがそうした方がいいと思う場合 (例えば,
ファイルの追加, 削除または名称変更など), 変更を
tar ファイルにまとめ, &man.uuencode.1;
プログラムにかけてください. shar
アーカイブも歓迎します.
例えばあなたがそれ自身のさらなる配布を管理する
コピーライト問題を良 く分かっていないとか,
単に厳しいレビューをおこなっておらず, リリース
する準備ができていないなど,
あなたの変更が潜在的に不安定な性質をも つものである場合,
&man.send-pr.1; で送付するよりむしろ &a.core;
へ直接送ってください. コアチームメーリングリスト宛のメールは,
日々の仕事のほとんどを FreeBSD でおこなっている人たちの,
より小さなグルー プに届きます.
このグループもまたとても忙しい
ことに注意し て, 本当に必要な場合にコアチームの彼らにメールを
送るだけにしてください.
コーディングスタイルに関する情報は man 9
intro および man 9 style
を参照してください. コードを提出する前には,
少なくともこの情報を意識しておいてくださるようお願いします.
新たなコードやメジャーな付加価値の高いパッケージ
重要な大きい仕事の寄贈や, 重要な新しいフィーチャーを
FreeBSD に追加する稀な場合には, 変更点を tar/uuencode
したファイルにして送るか, それらを私たちの ftp サイト
ftp://ftp.FreeBSD.org/pub/FreeBSD/incoming/
へアップロードす ることのどちらかが通常必要になります.
大量のコードを伴った仕事の場合,
コピーライトの神経過敏な問題が常に出てきます. FreeBSD
に含めるコードのコピーライトとして受け入れることができるのは,
以下の二つです:
BSD コピーライト.
このコピーライトは“権利に縛られない”性格
と商用企業にとって一般的な魅力をもつために最も好まれます.
FreeBSD プロジェクトは商用利用を阻んだりせず, 何かを
FreeBSD
へ投資する気になった商業関係者による参加を積極的に奨励
します.
GNU一般公有使用許諾, または“GPL”.
このライセンスはコード
を商用目的に使用する場合に余分な努力が求められるため,
私たちにあまり評判が良いというわけではありません. しかし,
私たちは既に GPL 下の高品質なコード (コンパイラ,
アセンブラ, テキストフォーマッタ等) の提供を受けており,
私たちは現在それを必要としています. そのため,
このライセンスによる新たな貢献を拒絶す
るというのは愚かなことでしょう. GPL
下のコードはソースツリー の別の部分, 現在のところ
/sys/gnu か
/usr/src/gnu に入っています.
そのため, GPL が問題となるような人は,
誰でも簡単にそれとわかるようになっています.
これ以外のタイプのコピーライトによる寄贈は, FreeBSD
へ含めることを考慮する前に,
注意深いレビューを受けなければなりません. 作者が独自
のチャネルを通して配布しており,
そのような変更をおこなうことを常に奨励している場合でも,
特に限定的な商用のコピーライトが適用される寄
贈は一般に拒否されます.
あなたの作品に “BSD-スタイル”
のコピーライトを付けるには, 保護した
いソースコードファイルすべての一番最初に
以下のテキストを入れて, %%
の間を適切な情報に置き換えください.
Copyright (c) %%適切な年%%
%%あなたの名前%%, %%あなたの州%% %%郵便番号%%.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer as
the first lines of this file unmodified.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY %%あなたの名前%% ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL %%あなたの名前%% 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.
$Id$
便宜をはかるため,
このテキストのコピーは次の場所に置いてあります.
/usr/share/examples/etc/bsd-style-copyright .
(訳注: 以下は神田敏広氏より寄贈された bsd-style-copyright
の日本語訳です.
ソースファイルに含めるものは原文の方であることに注意して
ご利用ください. また, 原文との間に趣旨の差異が生じた場合,
原文の内容が FreeBSD プロジェクトの
意思であるものとします.)
Copyright (C) [年]
[あなたの名前] All rights reserved.
ソースとバイナリ形式の再配布および使用は, 変更の有無にかかわらず以下の
条件を満たす場合に限り許可される:
1. ソースコードの再配布は, 上記の著作権表示・この条件のリスト・下記の
否認声明文を保持しなければならない.
2. バイナリ形式の再配布は, 上記の著作権表示・この条件のリスト・下記の
否認声明文を, 配布物と共に提供される文書および/または他の資料の中に
含めなければならない.
(訳注:ここから「否認声明文」です)
このソフトウェアは[あなたの名前]および貢献者によって ``あるがままの状態''
で提供され, 商品性と特定の目的に対する適合性についての暗黙の保証に留ま
らず, いかなる明示および暗黙の保証を認めない. [あなたの名前]および貢献
者は, あらゆる直接的・間接的・偶発的・特殊的・典型的・必然的な損害 (代
替製品または代替サービスの獲得費; 効用・データ・利益の喪失; または業務
中断を含み, またそれだけに留まらない損害) に対して, たとえどのようにし
て生じたとしても, そしてこのソフトウェアの使用によってどのようにであれ
生じる, 契約上であろうと, 厳密な責任内であろうと, あるいは不正行為 (過
失やそうでない場合を含む) における場合であろうとも, いかなる責任論上も,
たとえそのような損害の可能性が予見されていたとしても, 一切の責任を持た
ない.
翻訳: 神田敏広
御協力 (五十音順・敬称略):
池田研二, 内川 喜章, 藤村 英治, むらたしゅういちろう
杢野 雅一, 横田@宇都宮
金銭, ハードウェアまたはインターネットアクセス
FreeBSD プロジェクトの目的を進めるための寄付や,
私たちと同じような ボランティアの細く長い! 努力を,
私たちは常に喜んで受け入れています.
また一般的に私たちは自分達で
周辺機器を買う資金が不足しているため,
周辺機器のサポートを充実させるのに
ハードウェアの寄付はとても重要です.
資金の寄付
FreeBSD プロジェクトは501(C3) (非営利) 企業ではないため,
いかなる寄付に対しても特別な税金の優遇措置を提供することができません.
このような 寄付はプロジェクトを代表して FreeBSD, Inc.
により感謝をもって受け入れられるでしょう.
FreeBSD, Inc. は FreeBSD
プロジェクトの推進とプロジェクトに企業とし
ての最小限の体裁を持たせることを目的として, 1995年の初めに
&a.jkh; と &a.dg; により設立されました.
寄付されたすべての資金は (最終的に FreeBSD,
Inc.によりもたらされるであろうすべての利益も同様に)
プロジェクトの目標を推進するためだけに使われるでしょう.
支払い先を FreeBSD, Inc. とした小切手を,
次の住所気付けで送ってください:
FreeBSD, Inc.
c/o Jordan Hubbard
4041 Pike Lane, Suite F
Concord
CA , 94520
[現在 私書箱が開設されるまで一時的に Walnut Creek CDROM
の住所を使用]
電信振替は次の所まで直接送れるでしょう:
Bank Of America
Concord Main Office
P.O. Box 37176
San Francisco
CA , 94137-5176
Routing #: 121-000-358
Account #: 01411-07441 (FreeBSD, Inc.)
寄付に関することは全て電子メールもしくは上記 FreeBSD,
Inc. の住所宛の郵政省メールにて &a.jkh
までお送りくださるようお願いします.
もし 寄贈者ギャラリー
の節で匿名を希望される方は, 寄付の際にその旨お伝えください.
Thanks!
ハードウェアの寄贈
FreeBSD プロジェクトは,
次の3つのカテゴリのどんなハードウェアの寄贈も,
喜んで受け付けます:
ディスクドライブ,
メモリまたは完全なシステムといった一般用途のハードウェアは,
資金の寄付 の節にある
FreeBSD, Inc. の住所まで送っ てください.
進行中の受け入れテストのための
ハードウェアが必要とされていま す.
新たなリリース毎に適切な逆行テストができるように,
私たちは現在, FreeBSD
がサポートするすべてのコンポーネントの
テストラボを設置しよう としています. 私たちにはまだ,
たくさんの重要な部品 (ネットワークカード,
マザーボードなど) が不足していますので,
このような寄贈をしたいと思って いるならば, &a.dg;
へコンタクトしてどの部品がまだ必要とされているか
の情報を得てください.
現在 FreeBSD にサポートされていないハードウェアで,
サポートに追加して欲しいもの.
私たちが新しいハードウェアを受けとる前にそのタスクを
引き受けてくれる開発者を探す必要があるため,
その部品を送る前に &a.core;
にコンタクトを取ってください.
インターネットアクセスの寄付
私たちは常に FTP, WWW や cvsup
の新しいミラーサイトを募集しています.
ミラーサイトになりたい場合には the FreeBSD project
administrators hubs@FreeBSD.org
にコンタクトを取って, 詳しい情報を手に入れてください.
寄贈者ギャラリー
FreeBSD プロジェクトは次の寄贈者に恩義を受けており,
ここに公表して感謝の意を表したいと思います.
セントラルサーバプロジェクトへの寄贈者:
次に挙げる個人および企業からは,
セントラルサーバマシンのための 部品の寄贈を頂いており,
それによって freefall.FreeBSD.org
をリプレースして新たに FreeBSD
プロジェクトのセントラルサーバマシンを
構築することができました:
&a.mbarkah
と彼の所属する Hemisphere Online
は, Pentium Pro (P6) 200Mhz CPU
を寄贈してくださいました.
ASA
Computers は, Tyan 1662
マザーボード
を寄贈してくださいました.
ViaNet
Communications の Joe McGuckin
joe@via.net は, Kingston
イーサネットコントローラ
を寄贈してくださいました.
Jack O'Neill
jack@diamond.xtalwind.net は,
NCR 53C875 SCSI コントローラカード
を寄贈してくださいました.
Alameda
Networks の Ulf Zimmermann
ulf@Alameda.net は, 128MB
のメモリ , そして 4 GB
のディスクドライブと匡体
を寄贈してくださいました.
直接的な資金提供:
次に挙げる個人および企業からは FreeBSD
プロジェクトに対する直接的な
資金提供を頂いております:
Annelise Anderson
ANDRSN@HOOVER.STANFORD.EDU
&a.dillon
Blue Mountain
Arts
Epilogue Technology Corporation
&a.sef
Global Technology
Associates, Inc
Don Scott Wilde
Gianmarco Giovannelli
gmarco@masternet.it
Josef C. Grosch joeg@truenorth.org
Robert T. Morris
&a.chuckr
Imaginary Landscape, LLC.
の Kenneth P. Stox
ken@stox.sa.enteract.com
Dmitry S. Kohmanyuk dk@dog.farm.org
日本の
Laser5
は, さまざまな種類の FreeBSD CD の販売利益の一部を
寄付してくれました.
蕗出版 は, はじめての FreeBSD
の売り上げの一部を FreeBSD プロジェクト及び
XFree86 プロジェクトへ寄付してくれました.
アスキー
は FreeBSD 関連の書籍の売り上げの一部を FreeBSD
プロジェクト及び FreeBSD 友の会へ寄付してくれました.
横河電機株式会社 からは FreeBSD
プロジェクトへ多大な寄付をいただきました.
BuffNET
Pacific
Solutions
Siemens AG
via Andre
Albsmeier
Chris Silva
ハードウェアの寄贈者:
次に挙げる個人および企業からは,
テストやデバイスドライバの開発 / サポート
のためのハードウェアの寄贈を頂いております:
Walnut Creek CDROM は,
ネットワークへのアクセスおよび
他のハードウェアリソースの寄贈はいうまでもなく,
開発に使うための Pentium P5-90 と 486/DX2-66 EISA/VL
のシステム数台を提供してくださいました.
TRW Financial Sysytems 社は, PC 130台, 68 GB
のファイルサーバ 3台, 12のイーサネット,
ディスクレスコードのデバッグをおこなうための ルータ
2台及び ATM スイッチを提供してくださいました. また,
彼らは 2, 3人の FreeBSD ハッカーを雇って, FreeBSD
に専念させてくださっております.
ありがとうございます!
Dermot McDonnell は, 東芝 XM3401B CD-ROM ドライブを
寄贈してくださいました. その CD-ROM ドライブは現在
freefall で使用されています.
&a.chuck; は, 実験用のフロッピーテープストリーマを
寄付してくださいました.
Larry Altneu larry@ALR.COM と
&a.wilko;は, wt
ドライバを改良するために Wangtek と Archive の QIC-02
テープドライブを提供してくださいました.
Ernst Winter ewinter@lobo.muc.de は,
このプロジェクトへ 2.88 MB
のフロッピードライブを提供してくださいました.
うまくいけば,
これでフロッピーディスクドライバを書き直すための
プレッシャーが増えるでしょう. ;-)
Tekram
Technologies は NCR ドライバや AMD
ドライバと自社のカードの逆行テストのため FAST/ULTRA
SCSI ホストアダプタ DC-390, DC-390U, DC-390F を
各1枚提供してくださいました. また, フリーな OS
のためのドライバの ソースを自社の FTP サーバ
ftp://ftp.tekram.com/scsi/FreeBSD/
で公開されていることも称賛に値するでしょう.
Larry M. Augustin
は Symbios Sym8751S SCSI
カードを寄贈してくださっただけでなく, Ultra-2 や LVD
をサポートする次期チップ Sym53c895 のものを含む
データブックのセットと, 最新の Symbios SCSI
チップが持つ先進的機能を安全に使う方法について書かれた
最新のプログラミングマニュアルも寄贈してくださいました.
本当にありがとうございます!
Christoph Kukulies kuku@FreeBSD.org
は, IDE CD-ROM ドライバ開発用の FX120 12 倍速 Mitsumi
CD-ROM ドライブを提供してくださいました.
特筆すべき寄贈者:
Walnut Creek
CDROM は,
言い表せないほど多くの寄付をしてくださいました (詳細は
FreeBSD 小史を参照).
特に, 私たちのもともとのプライマリ開発マシンである
freefall.FreeBSD.org ,
テストおよびビルドマシンである thud.FreeBSD.org
で使用しているハードウェアに対し感謝したいと思います.
また彼らには, 数年にわたる色々な貢献者への資金提供や,
インターネットへの T1 コネクションの無制限使用を提供して
頂いた恩義があります.
interface
business GmbH, Dresden は, &a.joerg;
を根気よくサポートしてくださいました. 彼は本職より
FreeBSD の仕事を好みがちであり, 彼個人の接続があまりに
遅くなったり途切れたりして仕事にならない時は必ず
interface business の (非常に高価な) EUnet
インターネット接続に頼ったものです...
Berkeley Software
Design, Inc. は, 同社の DOS
エミュレータのコードを
BSD コミュニティ全体に対して提供してくれました. このコードは,
doscmd
コマンドに利用されています.
コアチームの卒業生
次に挙げる人々は()で記した期間, FreeBSD
コアチームのメンバーでした. FreeBSD
プロジェクトにおける彼らの努力に感謝の意を表します.
だいたいの年代順:
&a.guido (1995 - 1999)
&a.dyson (1993 - 1998)
&a.nate (1992 - 1996)
&a.rgrimes (1992 - 1995)
Andreas Schulz (1992 - 1995)
&a.csgr (1993 - 1995)
&a.paul (1992 - 1995)
&a.smace (1993 - 1994)
Andrew Moore (1993 - 1994)
Christoph Robitschko (1993 - 1994)
J. T. Conklin (1992 - 1993)
BSD 派生ソフトウェアへのコントリビュータ
このソフトウェアは最初は William F. Jolitz の 386BSD release
0.1 から派生しましたが, オリジナルの 386BSD
に固有のコードはほとんど残っていません.
このソフトウェアは基本的にはカリフォルニア大学 バークレイ校の
Computer Science Research Group (CSRG) とその共同研究者
たちによる 4.4BSD-Lite リリースから再実装されました.
また, NetBSD や OpenBSD の一部も FreeBSD
に取り込まれています. したがって私たちは NetBSD と OpenBSD
へ貢献した人々すべてに感謝します.
その他の FreeBSD へのコントリビュータ
(名前でアルファベット順に):
ABURAYA Ryushirou rewsirow@ff.iij4u.or.jp
AMAGAI Yoshiji amagai@nue.org
Aaron Bornstein aaronb@j51.com
Aaron Smith aaron@mutex.org
Achim Patzner ap@noses.com
Ada T Lim ada@bsd.org
Adam Baran badam@mw.mil.pl
Adam Glass glass@postgres.berkeley.edu
Adam McDougall mcdouga9@egr.msu.edu
+
+
+ Adam Strohl troll@digitalspark.net
+
Adrian Colley aecolley@ois.ie
Adrian Hall adrian@ibmpcug.co.uk
Adrian Mariano adrian@cam.cornell.edu
Adrian Steinmann ast@marabu.ch
-
- Adam Strohl troll@digitalspark.net
-
-
Adrian T. Filipi-Martin
atf3r@agate.cs.virginia.edu
Ajit Thyagarajan unknown
Akinori MUSHA aka knu
knu@idaemons.org
Akio Morita
amorita@meadow.scphys.kyoto-u.ac.jp
Akira SAWADA unknown
Akira Watanabe
akira@myaw.ei.meisei-u.ac.jp
Akito Fujita fujita@zoo.ncl.omron.co.jp
Alain Kalker
A.C.P.M.Kalker@student.utwente.nl
Alan Bawden alan@curry.epilogue.com
Alec Wolman wolman@cs.washington.edu
Aled Morris aledm@routers.co.uk
Alex garbanzo@hooked.net
Alex D. Chen
dhchen@Canvas.dorm7.nccu.edu.tw
Alex G. Bulushev bag@demos.su
Alex Le Heux alexlh@funk.org
Alex Perel veers@disturbed.net
Alex Varju varju@webct.com
Alexander B. Povolotsky tarkhil@mgt.msk.ru
- Alexander Leidinger
- netchild@wurzelausix.CS.Uni-SB.DE
+ Alexander Langer alex@cichlids.com
- Alexander Langer alex@cichlids.com
+ Alexander Leidinger
+ netchild@wurzelausix.CS.Uni-SB.DE
Alexandre Snarskii snar@paranoia.ru
Alistair G. Crooks agc@uts.amdahl.com
Allan Saddi asaddi@philosophysw.com
Allen Campbell allenc@verinet.com
Amakawa Shuhei amakawa@hoh.t.u-tokyo.ac.jp
Amancio Hasty hasty@star-gate.com
Amir Farah amir@comtrol.com
Amy Baron amee@beer.org
Anatoly A. Orehovsky tolik@mpeks.tomsk.su
Anatoly Vorobey mellon@pobox.com
Anders Nordby anders@fix.no
Anders Thulin Anders.X.Thulin@telia.se
Andras Olah olah@cs.utwente.nl
Andre Albsmeier
Andre.Albsmeier@mchp.siemens.de
Andre Oppermann andre@pipeline.ch
Andreas Haakh ah@alman.robin.de
Andreas Kohout shanee@rabbit.augusta.de
Andreas Lohr andreas@marvin.RoBIN.de
Andreas Schulz unknown
Andreas Wetzel mickey@deadline.snafu.de
Andreas Wrede andreas@planix.com
Andres Vega Garcia unknown
Andrew Atrens atreand@statcan.ca
Andrew Boothman andrew@cream.org
Andrew Gillham gillham@andrews.edu
Andrew Gordon andrew.gordon@net-tel.co.uk
Andrew Herbert andrew@werple.apana.org.au
Andrew J. Korty ajk@purdue.edu
Andrew L. Moore alm@mclink.com
Andrew McRae amcrae@cisco.com
Andrew Stevenson andrew@ugh.net.au
Andrew Timonin tim@pool1.convey.ru
Andrew V. Stesin stesin@elvisti.kiev.ua
Andrew Webster awebster@dataradio.com
Andy Farkas andyf@speednet.com.au
Andy Valencia ajv@csd.mot.com
Andy Whitcroft andy@sarc.city.ac.uk
Angelo Turetta ATuretta@stylo.it
Anthony C. Chavez magus@xmission.com
Anthony Yee-Hang Chan yeehang@netcom.com
Anton Berezin tobez@plab.ku.dk
Antti Kaipila anttik@iki.fi
+
+ arci vega@sophia.inria.fr
+
+
Are Bryne are.bryne@communique.no
Ari Suutari ari@suutari.iki.fi
Arjan de Vet devet@IAEhv.nl
Arne Henrik Juul arnej@Lise.Unit.NO
Assar Westerlund assar@sics.se
Atsushi Furuta furuta@sra.co.jp
Atsushi Murai amurai@spec.co.jp
Bakul Shah bvs@bitblocks.com
Barry Bierbauch pivrnec@vszbr.cz
Barry Lustig barry@ictv.com
Ben Hutchinson benhutch@xfiles.org.uk
Ben Jackson unknown
Ben Smithurst ben@scientia.demon.co.uk
Ben Walter bwalter@itachi.swcp.com
Benjamin Lewis bhlewis@gte.net
Bernd Rosauer br@schiele-ct.de
Bill Kish kish@osf.org
Bill Trost trost@cloud.rain.com
Blaz Zupan blaz@amis.net
Bob Van Valzah Bob@whitebarn.com
+
+ Bob Wilcox bob@obiwan.uucp
+
+
Bob Willcox bob@luke.pmr.com
Boris Staeblow balu@dva.in-berlin.de
+
+ Boyd Faulkner faulkner@mpd.tandem.com
+
+
Boyd R. Faulkner faulkner@asgard.bga.com
Brad Karp karp@eecs.harvard.edu
Bradley Dunn bradley@dunn.org
Brandon Fosdick bfoz@glue.umd.edu
Brandon Gillespie brandon@roguetrader.com
&a.wlloyd
-
- Bob Wilcox bob@obiwan.uucp
-
-
-
- Boyd Faulkner faulkner@mpd.tandem.com
-
-
Brent J. Nordquist bjn@visi.com
Brett Lymn blymn@mulga.awadi.com.AU
Brett Taylor
brett@peloton.runet.edu
Brian Campbell brianc@pobox.com
Brian Clapper bmc@willscreek.com
Brian Cully shmit@kublai.com
Brian Handy
handy@lambic.space.lockheed.com
Brian Litzinger brian@MediaCity.com
Brian McGovern bmcgover@cisco.com
Brian Moore ziff@houdini.eecs.umich.edu
Brian R. Haug haug@conterra.com
Brian Tao taob@risc.org
Brion Moss brion@queeg.com
Bruce A. Mah bmah@ca.sandia.gov
Bruce Albrecht bruce@zuhause.mn.org
Bruce Gingery bgingery@gtcs.com
Bruce J. Keeler loodvrij@gridpoint.com
Bruce Murphy packrat@iinet.net.au
Bruce Walter walter@fortean.com
Carey Jones mcj@acquiesce.org
Carl Fongheiser cmf@netins.net
Carl Mascott cmascott@world.std.com
Casper casper@acc.am
Castor Fu castor@geocast.com
Cejka Rudolf cejkar@dcse.fee.vutbr.cz
Chain Lee chain@110.net
Charles Hannum mycroft@ai.mit.edu
Charles Henrich henrich@msu.edu
Charles Mott cmott@srv.net
Charles Owens owensc@enc.edu
Chet Ramey chet@odin.INS.CWRU.Edu
Chia-liang Kao clkao@CirX.ORG
Chiharu Shibata chi@bd.mbn.or.jp
Chip Norkus unknown
Choi Jun Ho junker@jazz.snu.ac.kr
Chris Csanady cc@tarsier.ca.sandia.gov
Chris Dabrowski chris@vader.org
Chris Dillon cdillon@wolves.k12.mo.us
Chris Shenton
cshenton@angst.it.hq.nasa.gov
Chris Stenton jacs@gnome.co.uk
Chris Timmons skynyrd@opus.cts.cwu.edu
Chris Torek torek@ee.lbl.gov
Christian Gusenbauer
cg@fimp01.fim.uni-linz.ac.at
Christian Haury Christian.Haury@sagem.fr
Christian Weisgerber
naddy@bigeye.rhein-neckar.de
Christoph P. Kukulies kuku@FreeBSD.org
Christoph Robitschko
chmr@edvz.tu-graz.ac.at
Christoph Weber-Fahr
wefa@callcenter.systemhaus.net
Christopher G. Demetriou
cgd@postgres.berkeley.edu
Christopher T. Johnson
cjohnson@neunacht.netgsi.com
Chrisy Luke chrisy@flix.net
Chuck Hein chein@cisco.com
Clive Lin clive@CiRX.ORG
Colman Reilly careilly@tcd.ie
Conrad Sabatier conrads@neosoft.com
Coranth Gryphon gryphon@healer.com
Cornelis van der Laan
nils@guru.ims.uni-stuttgart.de
Cove Schneider cove@brazil.nbn.com
Craig Leres leres@ee.lbl.gov
Craig Loomis unknown
Craig Metz cmetz@inner.net
Craig Spannring cts@internetcds.com
Craig Struble cstruble@vt.edu
Cristian Ferretti cfs@riemann.mat.puc.cl
Curt Mayer curt@toad.com
Cy Schubert cschuber@uumail.gov.bc.ca
-
- DI. Christian Gusenbauer
- cg@scotty.edvz.uni-linz.ac.at
-
-
Dai Ishijima ishijima@tri.pref.osaka.jp
Daisuke Watanabe NU7D-WTNB@asahi-net.or.jp
Damian Hamill damian@cablenet.net
Dan Cross tenser@spitfire.ecsel.psu.edu
Dan Lukes dan@obluda.cz
Dan Nelson dnelson@emsphone.com
Dan Walters hannibal@cyberstation.net
Daniel M. Eischen
deischen@iworks.InterWorks.org
Daniel O'Connor doconnor@gsoft.com.au
Daniel Poirot poirot@aio.jsc.nasa.gov
Daniel Rock rock@cs.uni-sb.de
Danny Egen unknown
Danny J. Zerkel dzerkel@phofarm.com
Darren Reed avalon@coombs.anu.edu.au
Dave Adkins adkin003@tc.umn.edu
Dave Andersen angio@aros.net
Dave Blizzard dblizzar@sprynet.com
Dave Bodenstab imdave@synet.net
Dave Burgess burgess@hrd769.brooks.af.mil
Dave Chapeskie dchapes@ddm.on.ca
Dave Cornejo dave@dogwood.com
Dave Edmondson davided@sco.com
Dave Glowacki dglo@ssec.wisc.edu
Dave Marquardt marquard@austin.ibm.com
Dave Tweten tweten@FreeBSD.org
David A. Adkins adkin003@tc.umn.edu
David A. Bader dbader@umiacs.umd.edu
David Borman dab@bsdi.com
David Dawes dawes@XFree86.org
David Filo filo@yahoo.com
David Holland dholland@eecs.harvard.edu
David Holloway daveh@gwythaint.tamis.com
David Horwitt dhorwitt@ucsd.edu
David Hovemeyer daveho@infocom.com
David Jones dej@qpoint.torfree.net
David Kelly dkelly@tomcat1.tbe.com
David Kulp dkulp@neomorphic.com
David L. Nugent davidn@blaze.net.au
David Leonard d@scry.dstc.edu.au
David Malone dwmalone@maths.tcd.ie
David Muir Sharnoff muir@idiom.com
David S. Miller davem@jenolan.rutgers.edu
David Wolfskill dhw@whistle.com
Dean Gaudet dgaudet@arctic.org
Dean Huxley dean@fsa.ca
Denis Fortin unknown
Dennis Glatting
dennis.glatting@software-munitions.com
Denton Gentry denny1@home.com
+
+ der Mouse mouse@Collatz.McRCIM.McGill.EDU
+
+
Derek Inksetter derek@saidev.com
+
+ DI. Christian Gusenbauer
+ cg@scotty.edvz.uni-linz.ac.at
+
+
Dima Sivachenko dima@Chg.RU
Dirk Keunecke dk@panda.rhein-main.de
Dirk Nehrling nerle@pdv.de
Dmitry Khrustalev dima@xyzzy.machaon.ru
Dmitry Kohmanyuk dk@farm.org
Dom Mitchell dom@myrddin.demon.co.uk
Dominik Brettnacher domi@saargate.de
Dominik Rother dr@domix.de
Don Croyle croyle@gelemna.ft-wayne.in.us
&a.whiteside;
Don Morrison dmorrisn@u.washington.edu
Don Yuniskis dgy@rtd.com
Donald Maddox dmaddox@conterra.com
Doug Barton Doug@gorean.org
Douglas Ambrisko ambrisko@whistle.com
Douglas Carmichael dcarmich@mcs.com
Douglas Crosher dtc@scrooge.ee.swin.oz.au
Drew Derbyshire ahd@kew.com
Duncan Barclay dmlb@ragnet.demon.co.uk
Dustin Sallings dustin@spy.net
Eckart "Isegrim" Hofmann
Isegrim@Wunder-Nett.org
Ed Gold
vegold01@starbase.spd.louisville.edu
Ed Hudson elh@p5.spnet.com
+
+ Edward Chuang edwardc@firebird.org.tw
+
+
Edward Wang edward@edcom.com
Edwin Groothus edwin@nwm.wan.philips.com
+
+ Ege Rekk aagero@aage.priv.no
+
+
Eiji-usagi-MATSUmoto usagi@clave.gr.jp
ELISA Font Project
Elmar Bartel
bartel@informatik.tu-muenchen.de
Eric A. Griff eagriff@global2000.net
Eric Blood eblood@cs.unr.edu
Eric J. Haug ejh@slustl.slu.edu
Eric J. Schwertfeger eric@cybernut.com
Eric L. Hernes erich@lodgenet.com
Eric P. Scott eps@sirius.com
Eric Sprinkle eric@ennovatenetworks.com
Erich Stefan Boleyn erich@uruk.org
Erik E. Rantapaa rantapaa@math.umn.edu
Erik H. Moe ehm@cris.com
Ernst Winter ewinter@lobo.muc.de
Espen Skoglund esk@ira.uka.de
Eugene M. Kim astralblue@usa.net
Eugene Radchenko genie@qsar.chem.msu.su
Eugeny Kuzakov CoreDumped@lab321.ru
Evan Champion evanc@synapse.net
Faried Nawaz fn@Hungry.COM
Flemming Jacobsen fj@tfs.com
Fong-Ching Liaw fong@juniper.net
Francis M J Hsieh mjshieh@life.nthu.edu.tw
Frank Bartels knarf@camelot.de
Frank Chen Hsiung Chan
frankch@waru.life.nthu.edu.tw
Frank Durda IV uhclem@nemesis.lonestar.org
Frank MacLachlan fpm@n2.net
Frank Nobis fn@Radio-do.de
- Frank Volf volf@oasis.IAEhv.nl
+ Frank ten Wolde franky@pinewood.nl
- Frank ten Wolde franky@pinewood.nl
+ Frank van der Linden frank@fwi.uva.nl
- Frank van der Linden frank@fwi.uva.nl
+ Frank Volf volf@oasis.IAEhv.nl
Fred Cawthorne fcawth@jjarray.umn.edu
Fred Gilham gilham@csl.sri.com
Fred Templin templin@erg.sri.com
Frederick Earl Gray fgray@rice.edu
FUJIMOTO Kensaku
fujimoto@oscar.elec.waseda.ac.jp
FUJISHIMA Satsuki k5@respo.or.jp
FURUSAWA Kazuhisa
furusawa@com.cs.osakafu-u.ac.jp
- Gabor Kincses gabor@acm.org
+ G. Adam Stanislavadam@whizkidtech.net
- Gabor Zahemszky zgabor@CoDe.hu
+ Gabor Kincses gabor@acm.org
- G. Adam Stanislavadam@whizkidtech.net
+ Gabor Zahemszky zgabor@CoDe.hu
Garance A Drosehn gad@eclipse.its.rpi.edu
Gareth McCaughan gjm11@dpmms.cam.ac.uk
Gary A. Browning gab10@griffcd.amdahl.com
Gary Howland gary@hotlava.com
Gary J. garyj@rks32.pcs.dec.com
Gary Kline kline@thought.org
Gaspar Chilingarov nightmar@lemming.acc.am
Gea-Suan Lin gsl@tpts4.seed.net.tw
Geoff Rehmet csgr@alpha.ru.ac.za
Georg Wagner georg.wagner@ubs.com
Gianmarco Giovannelli
gmarco@giovannelli.it
Gil Kloepfer Jr. gil@limbic.ssdl.com
Gilad Rom rom_glsa@ein-hashofet.co.il
- Ginga Kawaguti
- ginga@amalthea.phys.s.u-tokyo.ac.jp
+ Giles Lean giles@nemeton.com.au
- Giles Lean giles@nemeton.com.au
+ Ginga Kawaguti
+ ginga@amalthea.phys.s.u-tokyo.ac.jp
Glen Foster gfoster@gfoster.com
Glenn Johnson gljohns@bellsouth.net
Godmar Back gback@facility.cs.utah.edu
Goran Hammarback goran@astro.uu.se
Gord Matzigkeit gord@enci.ucalgary.ca
Gordon Greeff gvg@uunet.co.za
Graham Wheeler gram@cdsec.com
Greg A. Woods woods@zeus.leitch.com
Greg Ansley gja@ansley.com
Greg Troxel gdt@ir.bbn.com
Greg Ungerer gerg@stallion.oz.au
Gregory Bond gnb@itga.com.au
Gregory D. Moncreaff
moncrg@bt340707.res.ray.com
Guy Harris guy@netapp.com
Guy Helmer ghelmer@cs.iastate.edu
HAMADA Naoki hamada@astec.co.jp
-
- HONDA Yasuhiro
- honda@kashio.info.mie-u.ac.jp
-
-
-
- HOSOBUCHI Noriyuki hoso@buchi.tama.or.jp
-
-
Hannu Savolainen hannu@voxware.pp.fi
Hans Huebner hans@artcom.de
Hans Petter Bieker zerium@webindex.no
Hans Zuidam hans@brandinnovators.com
Harlan Stenn Harlan.Stenn@pfcs.com
Harold Barker hbarker@dsms.com
Havard Eidnes
Havard.Eidnes@runit.sintef.no
Heikki Suonsivu hsu@cs.hut.fi
Heiko W. Rupp unknown
Helmut F. Wirth hfwirth@ping.at
Henrik Vestergaard Draboel
hvd@terry.ping.dk
Herb Peyerl hpeyerl@NetBSD.org
Hideaki Ohmon ohmon@tom.sfc.keio.ac.jp
Hidekazu Kuroki hidekazu@cs.titech.ac.jp
Hideki Yamamoto hyama@acm.org
Hideyuki Suzuki
hideyuki@sat.t.u-tokyo.ac.jp
Hirayama Issei iss@mail.wbs.ne.jp
Hiroaki Sakai sakai@miya.ee.kagu.sut.ac.jp
Hiroharu Tamaru tamaru@ap.t.u-tokyo.ac.jp
Hironori Ikura hikura@kaisei.org
Hiroshi Nishikawa nis@pluto.dti.ne.jp
Hiroya Tsubakimoto unknown
Holger Veit Holger.Veit@gmd.de
Holm Tiffe holm@geophysik.tu-freiberg.de
+
+ HONDA Yasuhiro
+ honda@kashio.info.mie-u.ac.jp
+
+
Horance Chou
horance@freedom.ie.cycu.edu.tw
Horihiro Kumagai kuma@jp.FreeBSD.org
+
+ HOSOBUCHI Noriyuki hoso@buchi.tama.or.jp
+
+
HOTARU-YA hotaru@tail.net
Hr.Ladavac lada@ws2301.gud.siemens.co.at
Hubert Feyrer hubertf@NetBSD.ORG
Hugh F. Mahon hugh@nsmdserv.cnd.hp.com
Hugh Mahon h_mahon@fc.hp.com
Hung-Chi Chu hcchu@r350.ee.ntu.edu.tw
-
- IMAI Takeshi take-i@ceres.dti.ne.jp
-
-
-
- IMAMURA Tomoaki
- tomoak-i@is.aist-nara.ac.jp
-
-
Ian Dowse iedowse@maths.tcd.ie
Ian Holland ianh@tortuga.com.au
Ian Struble ian@broken.net
Ian Vaudrey i.vaudrey@bigfoot.com
Igor Khasilev igor@jabber.paco.odessa.ua
Igor Roshchin str@giganda.komkon.org
Igor Sviridov siac@ua.net
Igor Vinokurov igor@zynaps.ru
Ikuo Nakagawa ikuo@isl.intec.co.jp
Ilya V. Komarov mur@lynx.ru
+
+ IMAI Takeshi take-i@ceres.dti.ne.jp
+
+
+
+ IMAMURA Tomoaki
+ tomoak-i@is.aist-nara.ac.jp
+
+
Issei Suzuki issei@jp.FreeBSD.org
Itsuro Saito saito@miv.t.u-tokyo.ac.jp
IWASHITA Yoji shuna@pop16.odn.ne.jp
IWASHITA Yoji shuna@pop16.odn.ne.jp
J. Bryant jbryant@argus.flash.net
J. David Lowe lowe@saturn5.com
J. Han hjh@best.com
J. Hawk jhawk@MIT.EDU
J.T. Conklin jtc@cygnus.com
J.T. Jang keith@email.gcn.net.tw
Jack jack@zeus.xtalwind.net
Jacob Bohn Lorensen jacob@jblhome.ping.mk
Jagane D Sundar jagane@netcom.com
Jake Burkholder jake@checker.org
Jake Hamby jehamby@lightside.com
James Clark jjc@jclark.com
James D. Stewart jds@c4systm.com
+
+ James da Silva jds@cs.umd.edu
+
+
James Jegers jimj@miller.cs.uwm.edu
James Raynard
fhackers@jraynard.demon.co.uk
James T. Liu jtliu@phlebas.rockefeller.edu
-
- James da Silva jds@cs.umd.edu
-
-
Jan Conard
charly@fachschaften.tu-muenchen.de
Jan Koum jkb@FreeBSD.org
Janick Taillandier
Janick.Taillandier@ratp.fr
Janusz Kokot janek@gaja.ipan.lublin.pl
Jarle Greipsland jarle@idt.unit.no
Jason Garman init@risen.org
Jason Thorpe thorpej@NetBSD.org
Jason Wright jason@OpenBSD.org
Jason Young
doogie@forbidden-donut.anet-stl.com
Javier Martin Rueda jmrueda@diatel.upm.es
Jay Fenlason hack@datacube.com
Jaye Mathisen mrcpu@cdsnet.net
Jeff Bartig jeffb@doit.wisc.edu
+
+ Jeff Brown jabrown@caida.org
+
+
Jeff Forys jeff@forys.cranbury.nj.us
Jeff Kletsky Jeff@Wagsky.com
Jeffrey Evans evans@scnc.k12.mi.us
Jeffrey Wheat jeff@cetlink.net
Jens Schweikhardt schweikh@noc.dfn.d
Jeremy Allison jallison@whistle.com
Jeremy Chatfield jdc@xinside.com
Jeremy Prior unknown
Jeremy Shaffner jeremy@external.org
Jesse Rosenstock jmr@ugcs.caltech.edu
Jian-Da Li jdli@csie.nctu.edu.tw
Jim Babb babb@FreeBSD.org
Jim Binkley jrb@cs.pdx.edu
Jim Carroll jim@carroll.com
Jim Flowers jflowers@ezo.net
Jim Leppek jleppek@harris.com
Jim Lowe james@cs.uwm.edu
Jim Mattson jmattson@sonic.net
Jim Mercer jim@komodo.reptiles.org
Jim Wilson wilson@moria.cygnus.com
Jimbo Bahooli
griffin@blackhole.iceworld.org
Jin Guojun jin@george.lbl.gov
Joachim Kuebart unknown
Joao Carlos Mendes Luis jonny@jonny.eng.br
Jochen Pohl jpo.drs@sni.de
Joe "Marcus" Clarke marcus@miami.edu
Joe Abley jabley@clear.co.nz
Joe Jih-Shian Lu jslu@dns.ntu.edu.tw
Joe Orthoefer j_orthoefer@tia.net
Joe Traister traister@mojozone.org
Joel Faedi Joel.Faedi@esial.u-nancy.fr
Joel Ray Holveck joelh@gnu.org
Joel Sutton jsutton@bbcon.com.au
Johan Granlund johan@granlund.nu
Johan Karlsson k@numeri.campus.luth.se
Johan Larsson johan@moon.campus.luth.se
Johann Tonsing jtonsing@mikom.csir.co.za
Johannes Helander unknown
Johannes Stille unknown
John Beckett jbeckett@southern.edu
John Beukema jbeukema@hk.super.net
John Brezak unknown
John Capo jc@irbs.com
John F. Woods jfw@jfwhome.funhouse.com
John Goerzen
jgoerzen@alexanderwohl.complete.org
John Hay jhay@mikom.csir.co.za
John Heidemann johnh@isi.edu
John Hood cgull@owl.org
John Kohl unknown
John Lind john@starfire.mn.org
John Mackin john@physiol.su.oz.au
John P johnp@lodgenet.com
John Perry perry@vishnu.alias.net
John Preisler john@vapornet.com
John Rochester jr@cs.mun.ca
John Sadler john_sadler@alum.mit.edu
John Saunders john@pacer.nlc.net.au
John W. DeBoskey jwd@unx.sas.com
John Wehle john@feith.com
John Woods jfw@eddie.mit.edu
Jon Morgan morgan@terminus.trailblazer.com
Jonathan H N Chin jc254@newton.cam.ac.uk
Jonathan Hanna
jh@pc-21490.bc.rogers.wave.ca
Jorge Goncalves j@bug.fe.up.pt
Jorge M. Goncalves ee96199@tom.fe.up.pt
Jos Backus jbackus@plex.nl
Jose M. Alcaide jose@we.lc.ehu.es
Jose Marques jose@nobody.org
Josef Grosch
jgrosch@superior.mooseriver.com
Joseph Stein joes@wstein.com
Josh Gilliam josh@quick.net
Josh Tiefenbach josh@ican.net
Juergen Lock nox@jelal.hb.north.de
Juha Inkari inkari@cc.hut.fi
Jukka A. Ukkonen jua@iki.fi
Julian Assange proff@suburbia.net
Julian Coleman j.d.coleman@ncl.ac.uk
&a.jhs
Julian Jenkins kaveman@magna.com.au
Junichi Satoh junichi@jp.FreeBSD.org
Junji SAKAI sakai@jp.FreeBSD.org
Junya WATANABE junya-w@remus.dti.ne.jp
K.Higashino a00303@cc.hc.keio.ac.jp
-
- KUNISHIMA Takeo kunishi@c.oka-pu.ac.jp
-
-
Kai Vorma vode@snakemail.hut.fi
Kaleb S. Keithley kaleb@ics.com
Kaneda Hiloshi vanitas@ma3.seikyou.ne.jp
Kapil Chowksey kchowksey@hss.hns.com
Karl Denninger karl@mcs.com
Karl Dietz Karl.Dietz@triplan.com
Karl Lehenbauer karl@NeoSoft.com
-
- Kato Takenori
- kato@eclogite.eps.nagoya-u.ac.jp
-
-
KATO Tsuguru tkato@prontomail.ne.jp
Kawanobe Koh kawanobe@st.rim.or.jp
Kazuhiko Kiriyama kiri@kiri.toba-cmt.ac.jp
Kazuo Horikawa horikawa@jp.FreeBSD.org
Kees Jan Koster kjk1@ukc.ac.uk
Keith Bostic bostic@bostic.com
Keith E. Walker unknown
Keith Moore unknown
Keith Sklower unknown
Kelly Yancey kbyanc@posi.net
Ken Hornstein unknown
Ken Key key@cs.utk.edu
Ken Mayer kmayer@freegate.com
Kenji Saito marukun@mx2.nisiq.net
Kenji Tomita tommyk@da2.so-net.or.jp
Kenneth Furge kenneth.furge@us.endress.com
Kenneth Monville desmo@bandwidth.org
Kenneth R. Westerback krw@tcn.net
Kenneth Stailey kstailey@gnu.ai.mit.edu
Kent Talarico kent@shipwreck.tsoft.net
Kent Vander Velden graphix@iastate.edu
Kentaro Inagaki JBD01226@niftyserve.ne.jp
Kevin Bracey kbracey@art.acorn.co.uk
Kevin Day toasty@dragondata.com
Kevin Lahey kml@nas.nasa.gov
Kevin Lokevlo@hello.com.tw
Kevin Street street@iname.com
Kevin Van Maren vanmaren@fast.cs.utah.edu
Kiril Mitev kiril@ideaglobal.com
Kiroh HARADA kiroh@kh.rim.or.jp
Klaus Klein kleink@layla.inka.de
Klaus-J. Wolf Yanestra@t-online.de
Koichi Sato copan@ppp.fastnet.or.jp
Kostya Lukin lukin@okbmei.msk.su
Kouichi Hirabayashi kh@mogami-wire.co.jp
+
+ KUNISHIMA Takeo kunishi@c.oka-pu.ac.jp
+
+
Kurt D. Zeilenga Kurt@Boolean.NET
Kurt Olsen kurto@tiny.mcs.usu.edu
L. Jonas Olsson
ljo@ljo-slip.DIALIN.CWRU.Edu
- Lars Köller
- Lars.Koeller@Uni-Bielefeld.DE
+ Larry Altneu larry@ALR.COM
- Larry Altneu larry@ALR.COM
+ Lars Köller
+ Lars.Koeller@Uni-Bielefeld.DE
Laurence Lopez lopez@mv.mv.com
Lee Cremeans lcremean@tidalwave.net
Liang Tai-hwa
avatar@www.mmlab.cse.yzu.edu.tw
Lon Willett lon%softt.uucp@math.utah.edu
Louis A. Mamakos louie@TransSys.COM
Louis Mamakos loiue@TransSys.com
Lowell Gilbert lowell@world.std.com
Lucas James Lucas.James@ldjpc.apana.org.au
Lyndon Nerenberg lyndon@orthanc.com
M.C. Wong unknown
-
- MANTANI Nobutaka nobutaka@nobutaka.com
-
-
-
- MIHIRA Sanpei Yoshiro sanpei@sanpei.org
-
-
-
- MITA Yoshio mita@jp.FreeBSD.org
-
-
-
- MITSUNAGA Noriaki
- mitchy@er.ams.eng.osaka-u.ac.jp
-
-
-
- MOROHOSHI Akihiko moro@race.u-tokyo.ac.jp
-
-
Magnus Enbom dot@tinto.campus.luth.se
Mahesh Neelakanta mahesh@gcomm.com
Makoto MATSUSHITA matusita@jp.FreeBSD.org
Makoto WATANABE
watanabe@zlab.phys.nagoya-u.ac.jp
Malte Lance malte.lance@gmx.net
+
+ MANTANI Nobutaka nobutaka@nobutaka.com
+
+
Manu Iyengar
iyengar@grunthos.pscwa.psca.com
Marc Frajola marc@dev.com
Marc Ramirez mrami@mramirez.sy.yale.edu
Marc Slemko marcs@znep.com
Marc van Kempen wmbfmk@urc.tue.nl
Marc van Woerkom van.woerkom@netcologne.de
Marcin Cieslak saper@system.pl
Mario Sergio Fujikawa Ferreira
lioux@gns.com.br
Mark Andrews unknown
Mark Cammidge mark@gmtunx.ee.uct.ac.za
Mark Diekhans markd@grizzly.com
Mark Huizer xaa@stack.nl
Mark J. Taylor mtaylor@cybernet.com
Mark Krentel krentel@rice.edu
Mark Mayo markm@vmunix.com
Mark Thompson thompson@tgsoft.com
Mark Tinguely tinguely@plains.nodak.edu
Mark Treacy unknown
Mark Valentine mark@linus.demon.co.uk
Markus Holmberg saska@acc.umu.se
Martin Birgmeier
Martin Blapp blapp@attic.ch
Martin Ibert mib@ppe.bb-data.de
Martin Kammerhofer dada@sbox.tu-graz.ac.at
Martin Renters martin@tdc.on.ca
Martti Kuparinen
martti.kuparinen@ericsson.com
- Masachika ISHIZUKA
- ishizuka@isis.min.ntt.jp
+ Mas.TAKEMURA unknown
- Mas.TAKEMURA unknown
+ Masachika ISHIZUKA
+ ishizuka@isis.min.ntt.jp
Masafumi NAKANE max@wide.ad.jp
Masahiro Sekiguchi
seki@sysrap.cs.fujitsu.co.jp
Masanobu Saitoh msaitoh@spa.is.uec.ac.jp
Masanori Kanaoka kana@saijo.mke.mei.co.jp
Masanori Kiriake seiken@ARGV.AC
Masatoshi TAMURA
tamrin@shinzan.kuee.kyoto-u.ac.jp
Mats Lofkvist mal@algonet.se
Matt Bartley mbartley@lear35.cytex.com
Matt Thomas matt@3am-software.com
Matt White mwhite+@CMU.EDU
Matthew C. Mead mmead@Glock.COM
Matthew Cashdollar mattc@rfcnet.com
Matthew Flatt mflatt@cs.rice.edu
Matthew Fuller fullermd@futuresouth.com
Matthew Stein matt@bdd.net
+
+ Matthew West mwest@uct.ac.za
+
+
Matthias Pfaller leo@dachau.marco.de
Matthias Scheler tron@netbsd.org
Mattias Gronlund
Mattias.Gronlund@sa.erisoft.se
Mattias Pantzare pantzer@ludd.luth.se
Maurice Castro
maurice@planet.serc.rmit.edu.au
Max Euston meuston@jmrodgers.com
Max Khon fjoe@husky.iclub.nsu.ru
Maxim Bolotin max@rsu.ru
Maxim V. Sobolev sobomax@altavista.net
Micha Class
michael_class@hpbbse.bbn.hp.com
Michael Butler imb@scgt.oz.au
Michael Butschky butsch@computi.erols.com
Michael Clay mclay@weareb.org
Michael Elbel me@FreeBSD.org
Michael Galassi nerd@percival.rain.com
Michael Hancock michaelh@cet.co.jp
Michael Hohmuth hohmuth@inf.tu-dresden.de
Michael Perlman canuck@caam.rice.edu
Michael Petry petry@netwolf.NetMasters.com
Michael Reifenberger root@totum.plaut.de
Michael Sardo jaeger16@yahoo.com
Michael Searle searle@longacre.demon.co.uk
Michal Listos mcl@Amnesiac.123.org
Michio Karl Jinbo
karl@marcer.nagaokaut.ac.jp
Miguel Angel Sagreras
msagre@cactus.fi.uba.ar
+
+ MIHIRA Sanpei Yoshiro sanpei@sanpei.org
+
+
Mihoko Tanaka m_tonaka@pa.yokogawa.co.jp
Mika Nystrom mika@cs.caltech.edu
Mikael Hybsch micke@dynas.se
Mikael Karpberg
karpen@ocean.campus.luth.se
Mike Del repenting@hotmail.com
Mike Durian durian@plutotech.com
Mike Durkin mdurkin@tsoft.sf-bay.org
Mike E. Matsnev mike@azog.cs.msu.su
Mike Evans mevans@candle.com
Mike Grupenhoff kashmir@umiacs.umd.edu
Mike Hibler mike@marker.cs.utah.edu
Mike Karels unknown
Mike McGaughey mmcg@cs.monash.edu.au
Mike Meyer mwm@shiva.the-park.com
Mike Mitchell mitchell@ref.tfs.com
Mike Murphy mrm@alpharel.com
Mike Peck mike@binghamton.edu
Mike Spengler mks@msc.edu
Mikhail A. Sokolov mishania@demos.su
Mikhail Teterin mi@aldan.ziplink.net
Ming-I Hseh PA@FreeBSD.ee.Ntu.edu.TW
+
+ MITA Yoshio mita@jp.FreeBSD.org
+
+
+
+ MITSUNAGA Noriaki
+ mitchy@er.ams.eng.osaka-u.ac.jp
+
+
Mitsuru Yoshida mitsuru@riken.go.jp
Monte Mitzelfelt monte@gonefishing.org
Morgan Davis root@io.cts.com
+
+ MOROHOSHI Akihiko moro@race.u-tokyo.ac.jp
+
+
Mostyn Lewis mostyn@mrl.com
Motomichi Matsuzaki mzaki@e-mail.ne.jp
Motoyuki Kasahara m-kasahr@sra.co.jp
- Motoyuki Konno motoyuki@snipe.rim.or.jp
+ Murray Stokely murray@cdrom.com
- Murray Stokely murray@cdrom.com
+ N.G.Smith ngs@sesame.hensa.ac.uk
- N.G.Smith ngs@sesame.hensa.ac.uk
+ Nadav Eiron nadav@barcode.co.il
NAGAO Tadaaki nagao@cs.titech.ac.jp
NAKAJI Hiroyuki
nakaji@tutrp.tut.ac.jp
NAKAMURA Kazushi nkazushi@highway.or.jp
NAKAMURA Motonori
motonori@econ.kyoto-u.ac.jp
-
- NIIMI Satoshi sa2c@and.or.jp
-
-
-
- NOKUBI Hirotaka h-nokubi@yyy.or.jp
-
-
-
- Nadav Eiron nadav@barcode.co.il
-
-
Nanbor Wang nw1@cs.wustl.edu
Naofumi Honda
honda@Kururu.math.sci.hokudai.ac.jp
Naoki Hamada nao@tom-yam.or.jp
Narvi narvi@haldjas.folklore.ee
Nathan Ahlstrom nrahlstr@winternet.com
Nathan Dorfman nathan@rtfm.net
Neal Fachan kneel@ishiboo.com
Niall Smart rotel@indigo.ie
Nick Barnes Nick.Barnes@pobox.com
Nick Handel nhandel@NeoSoft.com
Nick Hilliard nick@foobar.org
Nick Johnson freebsd@spatula.net
&a.nsayer;
Nick Williams njw@cs.city.ac.uk
Nickolay N. Dudorov nnd@itfs.nsk.su
- Niklas Hallqvist niklas@filippa.appli.se
+ NIIMI Satoshi sa2c@and.or.jp
- Nisha Talagala nisha@cs.berkeley.edu
+ Niklas Hallqvist niklas@filippa.appli.se
- No Name ZW6T-KND@j.asahi-net.or.jp
+ Nisha Talagala nisha@cs.berkeley.edu
No Name adrian@virginia.edu
No Name alex@elvisti.kiev.ua
No Name anto@netscape.net
No Name bobson@egg.ics.nitch.ac.jp
No Name bovynf@awe.be
No Name burg@is.ge.com
No Name chris@gnome.co.uk
No Name colsen@usa.net
No Name coredump@nervosa.com
No Name dannyman@arh0300.urh.uiuc.edu
No Name davids@SECNET.COM
No Name derek@free.org
No Name devet@adv.IAEhv.nl
No Name djv@bedford.net
No Name dvv@sprint.net
No Name enami@ba2.so-net.or.jp
No Name flash@eru.tubank.msk.su
No Name flash@hway.ru
No Name fn@pain.csrv.uidaho.edu
+
+ No Name frf@xocolatl.com
+
+
No Name gclarkii@netport.neosoft.com
No Name gordon@sheaky.lonestar.org
No Name graaf@iae.nl
No Name greg@greg.rim.or.jp
No Name grossman@cygnus.com
No Name gusw@fub46.zedat.fu-berlin.de
No Name hfir@math.rochester.edu
No Name hnokubi@yyy.or.jp
No Name iaint@css.tuu.utas.edu.au
No Name invis@visi.com
No Name ishisone@sra.co.jp
No Name iverson@lionheart.com
No Name jpt@magic.net
No Name junker@jazz.snu.ac.kr
No Name k-sugyou@ccs.mt.nec.co.jp
No Name kenji@reseau.toyonaka.osaka.jp
No Name kfurge@worldnet.att.net
No Name lh@aus.org
No Name lhecking@nmrc.ucc.ie
No Name mrgreen@mame.mu.oz.au
No Name nakagawa@jp.FreeBSD.org
No Name ohki@gssm.otsuka.tsukuba.ac.jp
No Name owaki@st.rim.or.jp
No Name pechter@shell.monmouth.com
No Name pete@pelican.pelican.com
No Name pritc003@maroon.tc.umn.edu
No Name risner@stdio.com
No Name roman@rpd.univ.kiev.ua
No Name root@ns2.redline.ru
No Name root@uglabgw.ug.cs.sunysb.edu
No Name stephen.ma@jtec.com.au
No Name sumii@is.s.u-tokyo.ac.jp
No Name takas-su@is.aist-nara.ac.jp
No Name tamone@eig.unige.ch
No Name tjevans@raleigh.ibm.com
No Name tony-o@iij.ad.jp amurai@spec.co.jp
No Name torii@tcd.hitachi.co.jp
No Name uenami@imasy.or.jp
No Name uhlar@netlab.sk
No Name vode@hut.fi
No Name wlloyd@mpd.ca
No Name wlr@furball.wellsfargo.com
No Name wmbfmk@urc.tue.nl
No Name yamagata@nwgpc.kek.jp
No Name ziggy@ryan.org
+
+ No Name ZW6T-KND@j.asahi-net.or.jp
+
+
Nobuhiro Yasutomi nobu@psrc.isac.co.jp
Nobuyuki Koganemaru
kogane@koganemaru.co.jp
+
+ NOKUBI Hirotaka h-nokubi@yyy.or.jp
+
+
Norio Suzuki nosuzuki@e-mail.ne.jp
Noritaka Ishizumi graphite@jp.FreeBSD.org
Noriyuki Soda soda@sra.co.jp
Oh Junseon hollywar@mail.holywar.net
Olaf Wagner wagner@luthien.in-berlin.de
Oleg Semyonov os@altavista.net
Oleg Sharoiko os@rsu.ru
Oleg V. Volkov rover@lglobus.ru
Oliver Breuninger ob@seicom.NET
Oliver Friedrichs oliver@secnet.com
Oliver Fromme
oliver.fromme@heim3.tu-clausthal.de
Oliver Laumann
net@informatik.uni-bremen.de
Oliver Oberdorf oly@world.std.com
Olof Johansson offe@ludd.luth.se
Osokin Sergey aka oZZ ozz@FreeBSD.org.ru
Pace Willisson pace@blitz.com
Paco Rosich rosich@modico.eleinf.uv.es
Palle Girgensohn girgen@partitur.se
Parag Patel parag@cgt.com
Pascal Pederiva pascal@zuo.dec.com
Pasvorn Boonmark boonmark@juniper.net
Patrick Hausen unknown
Paul Antonov apg@demos.su
Paul F. Werkowski unknown
Paul Fox pgf@foxharp.boston.ma.us
Paul Koch koch@thehub.com.au
Paul Kranenburg pk@NetBSD.org
Paul M. Lambert plambert@plambert.net
Paul Mackerras paulus@cs.anu.edu.au
Paul Popelka paulp@uts.amdahl.com
Paul S. LaFollette, Jr. unknown
-
- Paul Saab paul@mu.org
-
-
Paul Sandys myj@nyct.net
Paul T. Root proot@horton.iaces.com
Paul Vixie paul@vix.com
Paulo Menezes paulo@isr.uc.pt
Paulo Menezes pm@dee.uc.pt
Pedro A M Vazquez vazquez@IQM.Unicamp.BR
Pedro Giffuni giffunip@asme.org
Pete Bentley pete@demon.net
Peter Childs pjchilds@imforei.apana.org.au
Peter Cornelius pc@inr.fzk.de
Peter Haight peterh@prognet.com
Peter Jeremy perer.jeremy@alcatel.com.au
Peter M. Chen pmchen@eecs.umich.edu
Peter Much peter@citylink.dinoex.sub.org
Peter Olsson unknown
Peter Philipp pjp@bsd-daemon.net
Peter Stubbs PETERS@staidan.qld.edu.au
Phil Maker pjm@cs.ntu.edu.au
Phil Sutherland
philsuth@mycroft.dialix.oz.au
Phil Taylor phil@zipmail.co.uk
Philip Musumeci philip@rmit.edu.au
Pierre Y. Dampure pierre.dampure@k2c.co.uk
Pius Fischer pius@ienet.com
Pomegranate daver@flag.blackened.net
Powerdog Industries
kevin.ruddy@powerdog.com
Priit Järv priit@cc.ttu.ee
R. Kym Horsell
Rajesh Vaidheeswarran rv@fore.com
Ralf Friedl friedl@informatik.uni-kl.de
Randal S. Masutani randal@comtest.com
Randall Hopper rhh@ct.picker.com
Randall W. Dean rwd@osf.org
Randy Bush rbush@bainbridge.verio.net
Reinier Bezuidenhout
rbezuide@mikom.csir.co.za
Remy Card Remy.Card@masi.ibp.fr
Ricardas Cepas rch@richard.eu.org
Riccardo Veraldi veraldi@cs.unibo.it
Rich Wood rich@FreeBSD.org.uk
Richard Henderson richard@atheist.tamu.edu
Richard Hwang rhwang@bigpanda.com
Richard Kiss richard@homemail.com
Richard J Kuhns rjk@watson.grauel.com
Richard M. Neswold
rneswold@drmemory.fnal.gov
Richard Seaman, Jr. dick@tar.com
Richard Stallman rms@gnu.ai.mit.edu
Richard Straka straka@user1.inficad.com
Richard Tobin richard@cogsci.ed.ac.uk
Richard Wackerbarth rkw@Dataplex.NET
Richard Winkel rich@math.missouri.edu
Richard Wiwatowski rjwiwat@adelaide.on.net
Rick Macklem rick@snowhite.cis.uoguelph.ca
Rick Macklin unknown
Rob Austein sra@epilogue.com
Rob Mallory rmallory@qualcomm.com
Rob Snow rsnow@txdirect.net
Robert Crowe bob@speakez.com
Robert D. Thrush rd@phoenix.aii.com
Robert Eckardt
roberte@MEP.Ruhr-Uni-Bochum.de
Robert Sanders rsanders@mindspring.com
Robert Sexton robert@kudra.com
Robert Shady rls@id.net
Robert Swindells swindellsr@genrad.co.uk
Robert Withrow witr@rwwa.com
Robert Yoder unknown
Robin Carey
robin@mailgate.dtc.rankxerox.co.uk
Roger Hardiman roger@cs.strath.ac.uk
Roland Jesse jesse@cs.uni-magdeburg.de
Ron Bickers rbickers@intercenter.net
Ron Lenk rlenk@widget.xmission.com
Ronald Kuehn kuehn@rz.tu-clausthal.de
Rudolf Cejka unknown
Ruslan Belkin rus@home2.UA.net
Ruslan Shevchenko rssh@cam.grad.kiev.ua
Russell L. Carter rcarter@pinyon.org
Russell Vincent rv@groa.uct.ac.za
Ryan Younce ryany@pobox.com
-
- SANETO Takanori sanewo@strg.sony.co.jp
-
-
-
- SASAKI Shunsuke ele@pop17.odn.ne.jp
-
-
-
- SAWADA Mizuki miz@qb3.so-net.ne.jp
-
-
-
- SUGIMURA Takashi sugimura@jp.FreeBSD.org
-
-
-
- SURANYI Peter
- suranyip@jks.is.tsukuba.ac.jp
-
-
Sakai Hiroaki sakai@miya.ee.kagu.sut.ac.jp
Sakari Jalovaara sja@tekla.fi
Sam Hartman hartmans@mit.edu
Samuel Lam skl@ScalableNetwork.com
Samuele Zannoli zannoli@cs.unibo.it
Sander Janssen janssen@rendo.dekooi.nl
Sander Vesik sander@haldjas.folklore.ee
Sandro Sigala ssigala@globalnet.it
+
+ SANETO Takanori sanewo@strg.sony.co.jp
+
+
+
+ SASAKI Shunsuke ele@pop17.odn.ne.jp
+
+
Sascha Blank blank@fox.uni-trier.de
Sascha Wildner swildner@channelz.GUN.de
Satoh Junichi junichi@astec.co.jp
+
+ SAWADA Mizuki miz@qb3.so-net.ne.jp
+
+
Scot Elliott scot@poptart.org
Scot W. Hetzel hetzels@westbend.net
Scott A. Kenney saken@rmta.ml.org
Scott Blachowicz
scott.blachowicz@seaslug.org
Scott Burris scott@pita.cns.ucla.edu
Scott Hazen Mueller scott@zorch.sf-bay.org
Scott Michel scottm@cs.ucla.edu
Scott Mitchel scott@uk.FreeBSD.org
Scott Reynolds scott@clmqt.marquette.mi.us
Sebastian Strollo seb@erix.ericsson.se
Serge A. Babkin babkin@hq.icb.chel.su
Serge V. Vakulenko vak@zebub.msk.su
Sergei Chechetkin
csl@whale.sunbay.crimea.ua
Sergei S. Laskavy laskavy@pc759.cs.msu.su
Sergey Gershtein sg@mplik.ru
Sergey Kosyakov ks@itp.ac.ru
Sergey Potapov sp@alkor.ru
Sergey Shkonda serg@bcs.zp.ua
Sergey V.Dorokhov svd@kbtelecom.nalnet.ru
Sergio Lenzi lenzi@bsi.com.br
Shaun Courtney shaun@emma.eng.uct.ac.za
Shawn M. Carey smcarey@mailbox.syr.edu
Shigio Yamaguchi shigio@wtamacom.com
Shinya Esu esu@yk.rim.or.jp
Shuichi Tanaka stanaka@bb.mbn.or.jp
Shunsuke Akiyama akiyama@jp.FreeBSD.org
Simon simon@masi.ibp.fr
Simon Burge simonb@telstra.com.au
Simon J Gerraty sjg@melb.bull.oz.au
Simon Marlow simonm@dcs.gla.ac.uk
Simon Shapiro shimon@simon-shapiro.org
Sin'ichiro MIYATANI siu@phaseone.co.jp
Slaven Rezic eserte@cs.tu-berlin.de
Soochon Radee slr@mitre.org
Soren Dayton csdayton@midway.uchicago.edu
Soren Dossing sauber@netcom.com
Soren S. Jorvang soren@dt.dk
Stefan Bethke stb@hanse.de
Stefan Eggers seggers@semyam.dinoco.de
Stefan Moeding s.moeding@ndh.net
Stefan Petri unknown
Stefan `Sec` Zehl sec@42.org
Steinar Haug sthaug@nethelp.no
Stephane E. Potvin sepotvin@videotron.ca
Stephane Legrand stephane@lituus.fr
Stephen Clawson
sclawson@marker.cs.utah.edu
Stephen F. Combs combssf@salem.ge.com
Stephen Farrell stephen@farrell.org
Stephen Hocking sysseh@devetir.qld.gov.au
Stephen J. Roznowski sjr@home.net
Stephen McKay syssgm@devetir.qld.gov.au
Stephen Melvin melvin@zytek.com
Steve Bauer sbauer@rock.sdsmt.edu
Steve Coltrin spcoltri@unm.edu
Steve Deering unknown
Steve Gerakines steve2@genesis.tiac.net
Steve Gericke steveg@comtrol.com
Steve Piette steve@simon.chi.il.US
Steve Schwarz schwarz@alpharel.com
Steven G. Kargl
kargl@troutmask.apl.washington.edu
Steven H. Samorodin samorodi@NUXI.com
Steven McCanne mccanne@cs.berkeley.edu
Steven Plite splite@purdue.edu
Steven Wallace unknown
Stuart Henderson
stuart@internationalschool.co.uk
Sue Blake sue@welearn.com.au
Sugimoto Sadahiro ixtl@komaba.utmc.or.jp
+
+ SUGIMURA Takashi sugimura@jp.FreeBSD.org
+
+
Sugiura Shiro ssugiura@duo.co.jp
Sujal Patel smpatel@wam.umd.edu
Sune Stjerneby stjerneby@usa.net
+
+ SURANYI Peter
+ suranyip@jks.is.tsukuba.ac.jp
+
+
Suzuki Yoshiaki
zensyo@ann.tama.kawasaki.jp
Tadashi Kumano kumano@strl.nhk.or.jp
Taguchi Takeshi taguchi@tohoku.iij.ad.jp
Takahiro Yugawa yugawa@orleans.rim.or.jp
Takanori Watanabe
takawata@shidahara1.planet.sci.kobe-u.ac.jp
Takashi Mega mega@minz.org
Takashi Uozu j1594016@ed.kagu.sut.ac.jp
Takayuki Ariga a00821@cc.hc.keio.ac.jp
Takeru NAIKI naiki@bfd.es.hokudai.ac.jp
Takeshi Amaike amaike@iri.co.jp
Takeshi MUTOH mutoh@info.nara-k.ac.jp
Takeshi Ohashi
ohashi@mickey.ai.kyutech.ac.jp
Takeshi WATANABE
watanabe@crayon.earth.s.kobe-u.ac.jp
Takuya SHIOZAKI
tshiozak@makino.ise.chuo-u.ac.jp
Tatoku Ogaito tacha@tera.fukui-med.ac.jp
-
- Tatsumi HOSOKAWA hosokawa@jp.FreeBSD.org
-
-
Ted Buswell tbuswell@mediaone.net
Ted Faber faber@isi.edu
Ted Lemon mellon@isc.org
Terry Lambert terry@lambert.org
Terry Lee terry@uivlsi.csl.uiuc.edu
Tetsuya Furukawa tetsuya@secom-sis.co.jp
Theo de Raadt deraadt@OpenBSD.org
Thomas thomas@mathematik.uni-Bremen.de
Thomas D. Dean tomdean@ix.netcom.com
Thomas David Rivers rivers@dignus.com
Thomas G. McWilliams tgm@netcom.com
Thomas Graichen
graichen@omega.physik.fu-berlin.de
Thomas König
Thomas.Koenig@ciw.uni-karlsruhe.de
Thomas Ptacek unknown
Thomas A. Stevens tas@stevens.org
Thomas Stromberg tstrombe@rtci.com
Thomas Valentino Crimi
tcrimi+@andrew.cmu.edu
Thomas Wintergerst thomas@lemur.nord.de
Þórður Ívarsson
totii@est.is
Tim Kientzle kientzle@netcom.com
Tim Singletary
tsingle@sunland.gsfc.nasa.gov
Tim Wilkinson tim@sarc.city.ac.uk
Timo J. Rinne tri@iki.fi
Todd Miller millert@openbsd.org
Tom root@majestix.cmr.no
Tom tom@sdf.com
Tom Gray - DCA dcasba@rain.org
Tom Jobbins tom@tom.tj
Tom Pusateri pusateri@juniper.net
Tom Rush tarush@mindspring.com
Tom Samplonius tom@misery.sdf.com
Tomohiko Kurahashi
kura@melchior.q.t.u-tokyo.ac.jp
Tony Kimball alk@Think.COM
Tony Li tli@jnx.com
Tony Lynn wing@cc.nsysu.edu.tw
Tony Maher tonym@angis.org.au
Torbjorn Granlund tege@matematik.su.se
Toshihiko ARAI toshi@tenchi.ne.jp
Toshihiko SHIMOKAWA toshi@tea.forus.or.jp
Toshihiro Kanda candy@kgc.co.jp
Toshiomi Moriki
Toshiomi.Moriki@ma1.seikyou.ne.jp
Trefor S. trefor@flevel.co.uk
Trevor Blackwell tlb@viaweb.com
Trevor Johnson trevor@jpj.net
-
- URATA Shuichiro s-urata@nmit.tmg.nec.co.jp
-
-
Udo Schweigert ust@cert.siemens.de
Ugo Paternostro paterno@dsi.unifi.it
Ulf Kieber kieber@sax.de
Ulli Linzen ulli@perceval.camelot.de
+
+ URATA Shuichiro s-urata@nmit.tmg.nec.co.jp
+
+
Ustimenko Semen semen@iclub.nsu.ru
Uwe Arndt arndt@mailhost.uni-koblenz.de
Vadim Chekan vadim@gc.lviv.ua
Vadim Kolontsov vadim@tversu.ac.ru
Vadim Mikhailov mvp@braz.ru
Valentin Nechayev netch@lucky.net
Van Jacobson van@ee.lbl.gov
Vasily V. Grechishnikov
bazilio@ns1.ied-vorstu.ac.ru
Vasim Valejev vasim@uddias.diaspro.com
Vernon J. Schryver vjs@mica.denver.sgi.com
Vic Abell abe@cc.purdue.edu
Ville Eerola ve@sci.fi
Vincent Poy vince@venus.gaianet.net
Vincenzo Capuano
VCAPUANO@vmprofs.esoc.esa.de
Virgil Champlin champlin@pa.dec.com
Vladimir A. Jakovenko
vovik@ntu-kpi.kiev.ua
Vladimir Kushnir kushn@mail.kar.net
Vsevolod Lobko seva@alex-ua.com
W. Gerald Hicks wghicks@bellsouth.net
W. Richard Stevens rstevens@noao.edu
Walt Howard howard@ee.utah.edu
Warren Toomey wkt@csadfa.cs.adfa.oz.au
Wayne Scott wscott@ichips.intel.com
Werner Griessl
werner@btp1da.phy.uni-bayreuth.de
Wes Santee wsantee@wsantee.oz.net
Wietse Venema wietse@wzv.win.tue.nl
Wiljo Heinen wiljo@freeside.ki.open.de
-
- Wilko Bulte wilko@yedi.iaf.nl
-
-
Will Andrews andrews@technologist.com
Willem Jan Withagen wjw@surf.IAE.nl
William Jolitz withheld
William Liao william@tale.net
Wojtek Pilorz
wpilorz@celebris.bdk.lublin.pl
Wolfgang Helbig helbig@ba-stuttgart.de
Wolfgang Solfrank ws@tools.de
Wolfgang Stanglmeier wolf@FreeBSD.org
Yuuki SAWADA mami@whale.cc.muroran-it.ac.jp
Wu Ching-hong woju@FreeBSD.ee.Ntu.edu.TW
Yarema yds@ingress.com
Yaroslav Terletsky ts@polynet.lviv.ua
- Yasuhito FUTATSUKI futatuki@fureai.or.jp
+ Yasuhiro Fukama yasuf@big.or.jp
- Yasuhiro Fukama yasuf@big.or.jp
+ Yasuhito FUTATSUKI futatuki@fureai.or.jp
Yen-Shuo Su yssu@CCCA.NCTU.edu.tw
Yin-Jieh Chen yinjieh@Crazyman.Dorm13.NCTU.edu.tw
Ying-Chieh Liao ijliao@csie.NCTU.edu.tw
Yixin Jin yjin@rain.cs.ucla.edu
- Yoichi Asai yatt@msc.biglobe.ne.jp
+ Yoichi Asai yatt@msc.biglobe.ne.jp
- Yoshiaki Uchikawa yoshiaki@kt.rim.or.jp
+ Yoshiaki Uchikawa yoshiaki@kt.rim.or.jp
- Yoshihiko OHTA yohta@bres.tsukuba.ac.jp
+ Yoshihiko OHTA yohta@bres.tsukuba.ac.jp
- Yoshihisa NAKAGAWA
- y-nakaga@ccs.mt.nec.co.jp
+ Yoshihisa NAKAGAWA
+ y-nakaga@ccs.mt.nec.co.jp
- Yoshikazu Goto gotoh@ae.anritsu.co.jp
+ Yoshikazu Goto gotoh@ae.anritsu.co.jp
- Yoshimasa Ohnishi
+ Yoshimasa Ohnishi
ohnishi@isc.kyutech.ac.jp
- Yoshishige Arai ryo2@on.rim.or.jp
+ Yoshishige Arai ryo2@on.rim.or.jp
- Yuichi MATSUTAKA matutaka@osa.att.ne.jp
+ Yuichi MATSUTAKA matutaka@osa.att.ne.jp
- Yujiro MIYATA
+ Yujiro MIYATA
miyata@bioele.nuee.nagoya-u.ac.jp
- Yusuke Nawano azuki@azkey.org
-
-
-
- Yuu Yashiki s974123@cc.matsuyama-u.ac.jp
-
-
-
- Yuuichi Narahara aconitum@po.teleway.ne.jp
-
-
-
- Yuval Yarom yval@cs.huji.ac.il
+ Yusuke Nawano azuki@azkey.org
- Yves Fonk yves@cpcoup5.tn.tudelft.nl
+ Yuu Yashiki s974123@cc.matsuyama-u.ac.jp
- Yves Fonk yves@dutncp8.tn.tudelft.nl
+ Yuuichi Narahara aconitum@po.teleway.ne.jp
- Zach Heilig zach@gaffaneys.com
-
-
-
- Zahemszhky Gabor zgabor@code.hu
+ Yuval Yarom yval@cs.huji.ac.il
- Zhong Ming-Xun zmx@mail.CDPA.nsysu.edu.tw
+ Yves Fonk yves@cpcoup5.tn.tudelft.nl
arci vega@sophia.inria.fr
- der Mouse mouse@Collatz.McRCIM.McGill.EDU
+ Zach Heilig zach@gaffaneys.com
- frf frf@xocolatl.com
+ Zahemszhky Gabor zgabor@code.hu
- Ege Rekk aagero@aage.priv.no
+ Zhong Ming-Xun zmx@mail.CDPA.nsysu.edu.tw
386BSD パッチキットへのパッチ提供者
(名前でアルファベット順):
Adam Glass glass@postgres.berkeley.edu
Adrian Hall adrian@ibmpcug.co.uk
Andrey A. Chernov ache@astral.msk.su
Andrew Herbert andrew@werple.apana.org.au
Andrew Moore alm@netcom.com
Andy Valencia ajv@csd.mot.com
jtk@netcom.com
Arne Henrik Juul arnej@Lise.Unit.NO
Bakul Shah bvs@bitblocks.com
Barry Lustig barry@ictv.com
Bob Wilcox bob@obiwan.uucp
Branko Lankester
Brett Lymn blymn@mulga.awadi.com.AU
Charles Hannum mycroft@ai.mit.edu
Chris G. Demetriou
cgd@postgres.berkeley.edu
Chris Torek torek@ee.lbl.gov
Christoph Robitschko
chmr@edvz.tu-graz.ac.at
Daniel Poirot poirot@aio.jsc.nasa.gov
Dave Burgess burgess@hrd769.brooks.af.mil
Dave Rivers rivers@ponds.uucp
David Dawes dawes@physics.su.OZ.AU
David Greenman dg@Root.COM
Eric J. Haug ejh@slustl.slu.edu
Felix Gaehtgens
felix@escape.vsse.in-berlin.de
Frank Maclachlan fpm@crash.cts.com
Gary A. Browning gab10@griffcd.amdahl.com
Gary Howland gary@hotlava.com
Geoff Rehmet csgr@alpha.ru.ac.za
Goran Hammarback goran@astro.uu.se
Guido van Rooij guido@gvr.org
Guy Harris guy@auspex.com
Havard Eidnes
Havard.Eidnes@runit.sintef.no
Herb Peyerl hpeyerl@novatel.cuc.ab.ca
Holger Veit Holger.Veit@gmd.de
Ishii Masahiro, R. Kym Horsell
J.T. Conklin jtc@cygnus.com
Jagane D Sundar jagane@netcom.com
James Clark jjc@jclark.com
James Jegers jimj@miller.cs.uwm.edu
James W. Dolter
James da Silva jds@cs.umd.edu et al
Jay Fenlason hack@datacube.com
Jim Wilson wilson@moria.cygnus.com
Jörg Lohse
lohse@tech7.informatik.uni-hamburg.de
Jörg Wunsch
joerg_wunsch@uriah.heep.sax.de
John Dyson
John Woods jfw@eddie.mit.edu
Jordan K. Hubbard jkh@whisker.hubbard.ie
Julian Elischer julian@dialix.oz.au
Julian Stacey jhs@FreeBSD.org
Karl Dietz Karl.Dietz@triplan.com
Karl Lehenbauer karl@NeoSoft.com
karl@one.neosoft.com
Keith Bostic bostic@toe.CS.Berkeley.EDU
Ken Hughes
Kent Talarico kent@shipwreck.tsoft.net
Kevin Lahey kml%rokkaku.UUCP@mathcs.emory.edu
kml@mosquito.cis.ufl.edu
Marc Frajola marc@dev.com
Mark Tinguely tinguely@plains.nodak.edu
tinguely@hookie.cs.ndsu.NoDak.edu
Martin Renters martin@tdc.on.ca
Michael Clay mclay@weareb.org
Michael Galassi nerd@percival.rain.com
Mike Durkin mdurkin@tsoft.sf-bay.org
Naoki Hamada nao@tom-yam.or.jp
Nate Williams nate@bsd.coe.montana.edu
Nick Handel nhandel@NeoSoft.com
nick@madhouse.neosoft.com
Pace Willisson pace@blitz.com
Paul Kranenburg pk@cs.few.eur.nl
Paul Mackerras paulus@cs.anu.edu.au
Paul Popelka paulp@uts.amdahl.com
Peter da Silva peter@NeoSoft.com
Phil Sutherland
philsuth@mycroft.dialix.oz.au
Poul-Henning Kampphk@FreeBSD.org
Ralf Friedl friedl@informatik.uni-kl.de
Rick Macklem root@snowhite.cis.uoguelph.ca
Robert D. Thrush rd@phoenix.aii.com
Rod Taylor rod@idiotswitch.org
Rodney W. Grimes rgrimes@cdrom.com
Sascha Wildner swildner@channelz.GUN.de
Scott Burris scott@pita.cns.ucla.edu
Scott Reynolds scott@clmqt.marquette.mi.us
Sean Eric Fagan sef@kithrup.com
Simon J Gerraty sjg@melb.bull.oz.au
sjg@zen.void.oz.au
Stephen McKay syssgm@devetir.qld.gov.au
Terry Lambert terry@icarus.weber.edu
Terry Lee terry@uivlsi.csl.uiuc.edu
Tor Egge Tor.Egge@idi.ntnu.no
Warren Toomey wkt@csadfa.cs.adfa.oz.au
Wiljo Heinen wiljo@freeside.ki.open.de
William Jolitz withheld
Wolfgang Solfrank ws@tools.de
Wolfgang Stanglmeier wolf@dentaro.GUN.de
Yuval Yarom yval@cs.huji.ac.il
diff --git a/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml b/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml
index dd0f3c8ead..c7ee075731 100644
--- a/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml
@@ -1,3926 +1,3926 @@
開発の最前線: FreeBSD-current と FreeBSD-stable
あるリリースから次のリリースまでの期間にも, FreeBSD の開発は
休みなく続けられています.
この開発の最前線に興味を持っている人のために,
手元のシステムを最新の開発ツリーに同期させておくための,
とても使いやすい仕掛けが何種類も用意されています. 注意:
開発の最前線は, 誰でもが扱えるという性質のものではありません!
もしもあなたが, 開発途中のシステムを追いかけようか,
それともリリース
バージョンのどれかを使い続けようかと迷っているのなら,
きっとこの章が参考になるでしょう.
最新のFreeBSDを追いかける
原作: &a.jkh;.
訳: &a.hanai; 6 November 1996.
FreeBSD-current ってなに?
FreeBSD-current とは,文字通りに,日々変更されている
FreeBSD のソース
のスナップショット以外の何ものでもありません.
中には現在開発途上のソフトウェア, 実験的な変更,
あるいは過渡的な機能などが含まれています. また,
この中に入っている機能がすべて次の公式リリースに
入るとはかぎりません. FreeBSD-current
をソースからほとんど毎日コンパイルしている人はたくさん
いますが, 時期によっては FreeBSD-current
はコンパイルさえできない状態になっていることもあります.
これらの問題は一般的には可能な限り素早く解決されますが,
FreeBSD-current のソースが不幸をもたらすか, それとも非常に
素晴らしい機能をもたらすかというのは文字通り,
ある与えられた 24 時間の間
のどの部分であなたがソースを手に入れたか,
による場合もあります.
誰が FreeBSD-current を必要としてるの?
FreeBSD-current は,
主に次の三つの重要なグループを対象としています.
ソースツリーのある部分に関して活発に作業している
FreeBSD グループのメンバー. 彼らにとっては
“最新のもの” にしておくのが
絶対に必要なことなのです.
活発にテストをする FreeBSD グループのメンバー. 彼らは,
FreeBSD-current を “健全である”
ことを出来るだけ確認するために種々の問題と戦うのに
時間を費やすのを厭わない人々です. 彼らはまた,
様々な変更に関する提案や FreeBSD
の大まかな方向付けを行ないたいと思っている
人々でもあります.
単に, 様々な事に目を向け, 参考のために
(例えば,動かすためではなく 読むため
に) 最新のソースを使いたいと思っている FreeBSD
(または他の) グループのまわりにいるメンバー.
これらの人々はまた,
時々コメントやコードを寄稿してくれます.
FreeBSD-current
に期待してはいけない ことは?
なにか新しくカッコイイモノがあると聞き, 自分の周囲では
一番にそれを持ちたいがためにリリース前のコードの断片を
追いかけること.
バグを修正するための素早い方法.
我々によって “公式にサポートされている”
こと. 私たちは 3 つの “公式な” FreeBSD-current
のグループの一つに実際に属する
人々を助けるのにベストを尽くしますが,
技術的なサポートを行なうには 単に「時間が足りない」のです.
これは我々が外の人を助けるの好まない,
ケチで意地悪い人間だと いうことではなく (もしそうなら
FreeBSD なんかやっていません), 文字通り我々は一日に 400
ものメッセージに答え かつ FreeBSD
の作業をすることなど出来ない! ということなのです. もし,
たくさんの質問に答えるか, それとも FreeBSD
を良くする作業を続けるかという選択が与えられた場合,
あなた方のほとんどは後者を支持する,
と私は確信しています.
FreeBSD-current を使う
&a.current;と&a.cvsall;に加わって下さい.
これは単に良い考えであるというだけでなく,
必須の ことなのです. もし
FreeBSD-current
メーリングリストに入っていなければ,
様々な人がシステムの現在の状態について
述べているコメントを決して見ることはありませんし,
従って他の人が既に見つけて解決している多くの問題に戸惑っ
てあきらめてしまうでしょう. さらに言うと,
システムを正常に保つための
重要な情報を見逃してしまう可能性もあります.
&a.cvsall; メーリングリストでは,
それぞれの変更についての commit
ログを見ることができますし,
それに関して起こり得る副作用の情報を得ることができ,
もう一つの加わるに値するメーリングリストです.
これらのメーリングリストに入るには, &a.majordomo;
へ
subscribe freebsd-current
subscribe cvs-all
と書いたメールを送って下さい. オプションとして本文に
help と書けば, Majordomo
はあなたへ我々がサポ ートする様々なメーリングリストに参加
/ 脱退する方法に関する詳しい ヘルプを送ります.
ftp.FreeBSD.org
からのソースの入手. 以下の3つの方法で行なうこと
が出来ます.
下に述べられている CTM を用いる.
均一なレートの, 良質の TCP/IP
接続を持っていない人には,
これが一番いい方法でしょう.
cvsup を この supfile
を用いて使用する. これは 2 番目に推薦される方法です.
なぜなら, cvsup によって一度全体を入手し,
後は変更されたところだけを入手することが
出来るからです.
たくさんの人が自動的にソースを最新のもに保つために
cvsup を cron から起動しています.
これを行なうための非常に簡単な方法は, 単に
&prompt.root; pkg_add -f \
ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz
とタイプすることです.
ftp を使う. FreeBSD-current
のソースツリーは常に
ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/
に “公開” されています.
我々はまた全体を compress/tar して入手できる
wu-ftpd を使っています. 例えば,
usr.bin/lex
があったとすると,
ftp> cd usr.bin
ftp> get lex.tar
とすることにより, ディレクトリ全体(この場合,
usr.bin/lex以下全体) を tar
ファイルとして入手することができます.
以上のことをまとめると,
必要に応じて迅速なアクセスをする必要があり,
接続のバンド幅が問題ではなければ cvsup
か ftp を使いましょう. そうではなければ
CTM を使いましょう.
もしソースを,
眺めるだけでなく走らせるために入手しているのであれば,
一部だけ選ぶのではなく, current
の全体 を手に入れてください. なぜなら,
ソースの様々な部分が他の部分の更新に依存しており,
一部のみをコンパイルしようとすると,
ほぼ間違いなくトラブルを起こすからです.
current をコンパイルする前に
/usr/src にある Makefile
をよく読んでください. アップグレードの処理の一部として,
少なくとも一回は最初に make
world を行なうべきでしょう. &a.current; を読めば,
次のリリースへ向けて, 時々必要になる
他のブートストラップの方法に関して
常に最新情報を得ることが出来ます.
アクティブになって下さい! もし FreeBSD-current
を走らせているなら我々はそれに関するコメント,
特に拡張やバグ潰しに関する提案, を欲しています.
コードを伴う提案はもっとも歓迎されるものです!
FreeBSD の安定状態の持続
原作: &a.jkh;.
訳: &a.jp.iwasaki;.
FreeBSD-stable ってなに?
FreeBSD-stable は,
次の本流のリリースを目指した新機能をあまり採り入
れない保守的な変更のための開発の支流です.
実験的またはテスト未完の変更はこの支流には取り入れられません
( 最新の FreeBSD を追いかける
参照).
誰が FreeBSD-stable を必要としているの?
もしあなたが仕事で使用しているとか, なによりも FreeBSD
システムの安定性を最重要視するなら,
stable を追いかけることを考えるべきで
しょう. stable
の支流は前のリリースに関して効果的にバグフィックスされた
流れであるため, 最新のリリース (
&rel.current;-RELEASE 執筆時点)
をインストールしているのであれば, 特にそうです.
stable
ツリーが常に完全に互換性があり安定するように努力し
ていますが, たまに間違いがあることに注意してください (結局,
内容が吟味
されずに素早く送られた変更を含むソースがまだあるのです).
また, current を
stable
へ移行する前に完璧なテストフィックスに最善を尽くしますが,
私たちのテストはすべてのケースを十分に網羅して
いるとは限りません. もし何か stable
で不具合があるようでしたら,
私たちにすぐに 教えてください
(次の節参照).
FreeBSD-stable を使う
&a.stable; へ加わってください. このメーリングリスト
では, stable の構築に関連する事柄や,
その他の注意すべき点 に関する情報が流れています.
また開発者は議論の余地がある修正や変更を考えている場合に,
このメーリングリストで公表し, 提案された変更に
関して問題が生じるかどうかを返答する機会を
ユーザに与えます.
また, &a.cvsall; メーリングリストでは,
それぞれの変更がなされると
起こりうる副作用に関するすべての適切な情報と一緒に commit
log を読むことができます. subscribe
しておきたいもう一つのメーリングリストです.
メーリングリストに参加するには, &a.majordomo
へメッセージの本文に
次のように書いたメールを送ってください:
subscribe freebsd-stable
subscribe cvs-all
オプションとして本文に `help' と書けば, Majordomo
は私たちがサポートする様々なメーリングリストに参加 /
脱退する方法に関する詳しいヘルプを送付します.
もし, あなたが新しいシステムを可能な限り -stable
に近いものにインストールしようとする場合には,
最新のブランチの snapshot を
ftp://releng3.freebsd.org/pub/FreeBSD
から取得し, これを一般のリリースのものと同様に
インストールしてください.
もし, 既に FreeBSD の以前のリリースが動いている場合で,
これをソースからアップグレードしようとするならば, ftp.FreeBSD.org より簡単に
これを行う事が出来ます. これには次の 3 つの方法があります.
CTM
機能を使用する. 転送レートが安定している TCP/IP
接続でない場合は, この方法が適しています.
cvsup を
この supfile を用いて使用する.
一度コレクション全体を入手してしまえば,
前回からの変更部分だけですむので, 2
番目に推奨される方法です.
多くの人が cron から cvsup を実行し,
自動的にソースコードを最新の状態に保っています.
これを簡単に扱うには次のようにタイプしてください.
&prompt.root; pkg_add -f \
ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz
ftp を使用する. FreeBSD-stable
用のソースツリーは
常に次のところで“公開”されています:
ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/
私たちはまた, tar/compress
でツリー全体を入手できる wu-ftpd
を使用しています. 例えば :
usr.bin/lex
に対して:
ftp> cd usr.bin
ftp> get lex.tar
とすることにより, ディレクトリ全体を tar
ファイルとして入手することができます.
基本的には,
ソースに迅速でオンデマンドなアクセスが必要で,
接続のバンド幅が問題でなければ, cvsup
か ftp を使いましょう. そうで
ない場合は CTM
を使いましょう.
stable をコンパイルする前に,
/usr/src にある Makefile をよ
く読んでください.
少なくとも一回はアップグレードの処理の一部として最初に
make world
を実行するべきでしょう. &a.stable; を読めば,
次のリリースに移行する
に当たって時々必要となる既存システムからの
新システムの構築手順に
ついての最新情報が得られるでしょう.
インターネットを通じたソースツリーの同期
原作: &a.jkh;.
訳: &a.jp.iwasaki;. 13 September 1997.
インターネット接続 (または電子メール) を使用して,
あなたの興味の対象によって FreeBSD
プロジェクトのソースのある一部分または全体の最新を
追いかける方法は色々あります.
私たちが提供している基本的なサービスは Anonymous CVS, CVSup と CTM
です:
Anonymous CVS と
CVSup は pull
同期モデルを採用しています.
CVSup の場合, ユーザ
(または cron スクリプト) が cvsup
起動し, どこかにある cvsupd
サーバとやりとりしてファイルを
最新状態にします.
届けられる更新情報はその時点の最新のものであり,
また必要な時にだけ取り寄せられます.
興味のある特定のファイルやディレクトリに
限定して更新することも簡単にできます.
クライアント側のソースツリーの状態・
設定ファイルの指定に従い, サーバによって更新情報が
素早く生成されます.
Anonymous CVS は,
このプログラムがリモートの CVS リポジトリから直接変更点を
pull できるようにした &man.cvs.1; への拡張であるという点で,
CVSup よりもずっと単純です.
CVSup
は効率の点ではるかにまさっていますが,
Anonymous CVS の方が簡単に利用できます.
一方, CTM
はあなたが持っているソースとマスタアーカイブ上に
あるそれとの対話的な比較をおこないませんし,
あるいは向こう側から変更点を pull したりもしません.
そのかわりに, 前回の実行時からの変更を認識するスクリプトが
マスタ CTM マシン上で一日に数回実行され,
すべての変更を compress して通し番号を振り,
さらに電子メールで転送できるようにエンコードします
(印字可能な ASCII
キャラクタのみです). 受信した後は,
これらの “CTM のデルタ” は自動
的にデコード, 検査してユーザのソースのコピーに変更を適用する
&man.ctm.rmail.1; によって処理可能となります.
この処理は CVSup や
Anonymous CVS よりずっと効率
的であり, pull モデルというよりむしろ
push モデルで
あるため, 私たちのサーバ資源の負荷は軽くなります.
もちろん他のトレードオフもあります. うっかりアーカイブ
の一部を消してしまっても, CVSup
は壊れた部分を検出して再構築してくれます.
CTM はこれをやってくれませんし,
Anonymous CVS
はおそらく他の何よりも深く混乱してしまうことが多いでしょう.
もしソースツリーの一部を消してしまったら, (最新の CVS
“ベースデルタ”から) 一からやり直し, CTM か anoncvs
を使って悪い部分を消去し, 再同期させることによって
すべてを再構築しなければなりません.
Anonymous CVS ,
CTM , CVSup
についての 詳しい情報については,
以下の節を参照してください:
Anonymous CVS
原作: &a.jkh;
訳: &a.jp.sugimura; . 19 July 1998.
導入
Anonymous CVS (もしくは, anoncvs
として知られています) は離れたところにある CVS
リポジトリと同期を取るために FreeBSD に付属している CVS
ユーティリティに含まれている機能です. 他にもありますが,
それは FreeBSD のユーザが, 特別な権限なしに FreeBSD
プロジェクトの公式な anoncvs サーバに読み取り専用で CVS
の操作をすることができるようにするためのものです.
それを使うには, 単に CVSROOT
環境変数を設定して適切な anoncvs サーバを指定し,
cvs login を使って
パスワード anoncvs
を入力して下さい.
そして次に, &man.cvs.1; コマンドを使うことで,
手元にあるリポジトリと同じようにアクセスでるようになります.
CVSup と
anoncvs
のサービスは本質的に同じ機能ではないか
ということも言われていますが,
ユーザが同期を取る方法を選ぶときに影響を与えるような
さまざまなトレードオフが存在します. 要約して言えば,
CVSup
はネットワーク資源の使い方においては非常に効率がよく,
またはるかに技術的に洗練されたものですが,
相当な手間がかかります. CVSup
を使うには,
特別なクライアントをまずインストールして設定しなくては 1bit
も取ってくることができず, またそのとき
CVSup では
collections
と呼んでいるかなり大きなかたまりだけからしか
取ってこれません.
それに対して anoncvs では,
CVS モジュールの名前を指定することで特定のプログラムの
(ls や grep のような)
個々のファイルから調べることができます. もちろん,
anoncvs は CVS
リポジトリの読み取り専用の操作に対してのみ適しているので,
もしあなたが FreeBSD プロジェクトのものと共有されたなにか
ローカルなリポジトリを作ってそこでの開発を
行おうというときには, CVSup
だけが唯一の手段となってしまいます.
Anonymous CVS を使う
&man.cvs.1; を設定して Anonymous CVS
リポジトリを使うには単に CVSROOT
環境変数を設定して FreeBSD プロジェクトの
anoncvs サーバを指定するだけのことです.
この文書を書いているときには,
次のサーバが利用できるようになっています.
USA :
:pserver:anoncvs@anoncvs.freebsd.org:/ncvs
(cvs login コマンドを使い,
プロンプトが表示されたらパスワード
anoncvs
を入力してください)
CVS はかつて存在した (もしくは,
時にはこれから存在するものも :)
ほとんどどんなバージョンの FreeBSD のソースを “check
out” することができますが, あなたは &man.cvs.1; の
リビジョン (-r ) のオプションや FreeBSD
プロジェクトのリポジトリの中で
それをどのように指定したらいいものかということを
よく知っておく必要があります.
タグには 2 種類あって,
リビジョンタグとブランチタグがあります.
リビジョンタグは特定の改訂版を指しており,
それはいつも同じものを意味しています. 一方ブランチタグは,
指定されたときの指定された開発の流れにおける
最も新しい改訂版を示しています.
ブランチタグは特定の改訂版を指していないために,
その意味はきょうと明日では違うものになっているでしょう.
ユーザが興味を持つと思われるブランチタグの一覧です.
HEAD
主要部をなす流れ, すなわち FreeBSD-current
のための名前です. また,
どのリビジョンも
指定されなかったときにはこれになります.
RELENG_3
FreeBSD-3.x の開発のための流れです.
FreeBSD-stable としても知られています.
このタグは ports コレクションには無効です.
RELENG_2_2
FreeBSD-2.2.x の開発のための流れです. 2.2-stable
としても知られています. このブランチは大部分が
すたれています.
このタグは ports コレクションには無効です.
ユーザが興味を持つであろうリビジョンタグの一覧です.
RELENG_3_4_0_RELEASE
FreeBSD-3.4 です.
このタグは ports コレクションには無効です.
RELENG_3_3_0_RELEASE
FreeBSD-3.3 です.
このタグは ports コレクションには無効です.
RELENG_3_2_0_RELEASE
FreeBSD-3.2 です.
このタグは ports コレクションには無効です.
RELENG_3_1_0_RELEASE
FreeBSD-3.1 です.
このタグは ports コレクションには無効です.
RELENG_3_0_0_RELEASE
FreeBSD-3.0 です.
このタグは ports コレクションには無効です.
RELENG_2_2_8_RELEASE
FreeBSD-2.2.8 です.
このタグは ports コレクションには無効です.
RELENG_2_2_7_RELEASE
FreeBSD-2.2.7 です.
このタグは ports コレクションには無効です.
RELENG_2_2_6_RELEASE
FreeBSD-2.2.6 です.
このタグは ports コレクションには無効です.
RELENG_2_2_5_RELEASE
FreeBSD-2.2.5 です.
このタグは ports コレクションには無効です.
RELENG_2_2_2_RELEASE
FreeBSD-2.2.2 です.
このタグは ports コレクションには無効です.
RELENG_2_2_1_RELEASE
FreeBSD-2.2.1 です.
このタグは ports コレクションには無効です.
RELENG_2_2_0_RELEASE
FreeBSD-2.2.0 です.
このタグは ports コレクションには無効です.
ブランチタグを指定したときには,
普通はその開発の流れにおける
最も新しいバージョンのファイルを受け取ることができます.
もし以前のバージョンのものが欲しいときには, 日付を
-D date
オプションを使って指定すればよいです.
例
本当はなにかする前には &man.cvs.1;
のマニュアルページの全体を
ちゃんと読んでからのほうがいいのですが, Anonymous CVS
の使い方の本質的なところを簡単に例を挙げて説明します.
-current (&man.ls.1;)
をちょっと確認してから消してみます.
&prompt.user; setenv CVSROOT
:pserver:anoncvs@anoncvs.freebsd.org:/ncvs
&prompt.user; cvs login
プロンプトが表示されたら, パスワード
anoncvs
を入力します.
&prompt.user; cvs co ls
&prompt.user; cvs release -d ls
&prompt.user; cvs logout
&man.ls.1; のバージョンを 2.2-stable
ブランチから調べてみます.
&prompt.user; setenv CVSROOT
:pserver:anoncvs@anoncvs.freebsd.org:/ncvs
&prompt.user; cvs login
プロンプトが表示されたら, パスワード
anoncvs
を入力します.
&prompt.user; cvs co -rRELENG_2_2 ls
&prompt.user; cvs release -d ls
&prompt.user; cvs logout
&man.ls.1; の変更点のリストを
(unidiff で) 作ってみます.
&prompt.user; setenv CVSROOT
:pserver:anoncvs@anoncvs.freebsd.org:/ncvs
&prompt.user; cvs login
プロンプトが表示されたら, パスワード
anoncvs
を入力します.
&prompt.user; cvs rdiff -u -rRELENG_2_2_2_RELEASE -rRELENG_2_2_6_RELEASE ls
&prompt.user; cvs logout
他のどんなモジュールの名前が
使われているか検索してみます.
&prompt.user; setenv CVSROOT
:pserver:anoncvs@anoncvs.freebsd.org:/ncvs
&prompt.user; cvs login
プロンプトが表示されたら, パスワード
anoncvs
を入力します.
&prompt.user; more modules/modules
&prompt.user; cvs release -d modules
&prompt.user; cvs logout
他の資料
次の資料は CVS を学ぶのに役に立つでしょう.
CVS チュートリアル . Cal Poly によります.
Cyclic
Software , 商用として CVS を維持しています.
CVSWeb
は FreeBSD Project の CVS のための web
インターフェースです.
CTM
原作: &a.phk;. 更新: 19-October-1997.
訳: &a.hanai; 13 September 1997.
CTM
はリモートのディレクトリツリーを中央のツリーに同期させるための
手段です.
これはFreeBSDのソースツリーの配布を行なうために開発されまし
たが, 時が経つにつれて別の目的にも有用であることがわかるかも
しれません.
デルタを作り出す処理に関するドキュメントは現在ほとんど
ありません. 従って, もしあなたがCTM
を他のことに使いたいなら
&a.phk;にさらなる情報を問い合わせてください.
なぜCTM を使うの?
CTM を使うことにより FreeBSD
ソースツリーのローカルコピーを手にいれることができます.
ソースツリーが使えることの魅力は数多くあります. 完全な cvs
ツリーを追いかけるにしても, ひとつのブランチを追いかける
にしても CTM
は必要な情報を与えてくれます.
もしあなたがFreeBSDのアクティブな開発者であるにもかかわらず
お粗末なTCP/IP接続しか持っていなかったり, またはTCP/IP接続が
行なえないとしたら, あるいは単に変更が自動的に送られてきて
ほしいというのであれば CTM
はそんなあなたのために 作られたのです.
アクティブなブランチでは 1
日に最大三つまでのデルタを受け取る必要があります.
これが自動的に e-mail で送られてくるという方法を
ぜひ検討してみてください.
デルタのサイズは常にできるだけ小さく保たれています.
大抵の場合5KBよりも小さく,
たまに(10回に1回程度)10-50KBになり,
ときおり100KBかもっと大きくなるでしょう.
開発ソースから直接に得られたものを使うことについては,
あらかじめパッケージにされたリリースとは違い,
いろいろと注意することが あります. これは特に
“current” のソースを選んでいるときは重要です.
最新の FreeBSD
を追いかけるを読むことをお勧めします.
CTM を使うには何が必要?
二つのものが必要でしょう: CTM
プログラムとそれに与える (“current”
レベルを得るための)最初のデルタです.
CTM
プログラムはバージョン2.0のリリース以来FreeBSDの一部にな
りました. もしソースのコピーを持っているなら
/usr/src/usr.sbin/CTM にあります.
もしFreeBSDの2.0以前のバージョンなら,
最新のCTM のソースを直接
ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm/
から入手できます. CTM
に与える “デルタ” は二つの方法, FTPまたはe-mail,
で得ること ができます.
もしインターネットにFTPアクセスできるなら,
次のFTPサイト:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/
または, その ミラーサイト が
CTM へのアクセスをサポートします.
適切なディレクトリに FTP して README
ファイルを入手し, そこからスタートしてください.
e-mail によってデルタを得たいという場合は:
CTM
配布メーリングリストのいずれかに参加するために &a.majordomo;
へ subscribe のメールを送ってください.
“ctm-cvs-cur” は完全な cvs ツリー
をサポートします. “ctm-src-cur”
は開発先端ブランチをサポートします “ctm-src-2_2”
は 2.2 リリースのブランチのサポートです.
(もし majordomo を使って参加する方法を知らないのであれば,
最初に help
という語を含むメッセージを送ってください. —
使い方の説明が送られてくるでしょう.)
メールで CTM
による更新ファイルを受け取り始めると, 中身を取り出して使用
するために ctm_rmail
プログラムを使うかもしれません. それを完全
に自動で行ないたいなら, /etc/aliases
から ctm_rmail プロ
グラムを直接使うこともできます.
さらに詳しいことはctm_rmail
manページを御覧ください.
CTM
デルタを得るためにどの方法を使うのであっても,
ctm-announce@FreeBSD.org
メーリングリストに参加するべきです.
このメーリングリストは将来的には
CTM システムの操作に関する
アナウンスがポストされる唯一の場になるでしょう.
メーリングリストに加わるためにはsubscribe
ctm-announce と書いた一行だけのメールを
&a.majordomo; へ送ってください.
はじめてCTM を使い始める
CTM
デルタを使い始めるためには, これは以降作られる全ての
デルタの出発点を手にいれる必要があります.
最初にあなたが何をすでに持っているかをはっきりさせましょう.
すべての人は
“空”のディレクトリから始めなければなりません.
ツリーをサポートしてるあなたの
CTM を稼働するためには
指定した“空”
のデルタを使う必要があります. いくつかの分岐点
では, あなたの都合により CD
内に分配されている“スタータ”
デルタを使用できるようになっています. しかしながら, これは
頻繁に行われることではありません.
適切な出発点が決まれば, その出発点を
CTM が
維持するツリーへ変換するための “スタータ”
初期デルタを使う必要が あります.
移行デルタは番号の後ろに X
をつけたものがそうです
(たとえばsrc-cur.3210XEmpty.gz ).
X
の後ろは最初の開始ポイントに対応します.
Empty は 空のディレクトリです.
ルールとして Empty からの移行デルタは
100 デルタごとに 作られます. ところで,
これらは非常に大きいです!
XEmpty のデルタは 数十MBの
gzip
で圧縮されたデータというのが普通です.
一度スタートするためのベースデルタを得ると,
それに続く多数の全てのデルタも必要になるでしょう.
CTM を日常で使う
デルタを適用するためには, 単に
&prompt.root; cd /where/ever/you/want/the/stuff
&prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.*
とします.
CTM
はどれがgzip されているか理解します.
従って最初に gunzipしておく必要はありません.
ディスクの節約にもなります.
全体の処理に関して確信するまでは
CTM は(ソース)ツリーに対して
何もしません. また, デルタを確かめるためには
-c フラグを使うことができます.
このフラグがあると CTM
はツリーに対して実際には何も行ないません.
単にデルタの完全性を確認し,
現在のツリーに問題なく使用できるかを確認
するだけです.
CTM
には他にもオプションがあります. 詳細に関しては
マニュアルページを参照するかソースを見てください.
もし誰かが “ユーザ インターフェース”
の部分に関して助けてくれるなら私はとても嬉しいです.
なぜならどういうオプションが何を, どのように,
いつ行なうようにするべきか決めかねているからです.
以上でやることは本当に全部です.
新しいデルタを入手した時には,
ソースを最新のものにするためにそれを
CTM に通すだけです.
もしデルタを再ダウンロードするのが
骨の折れる作業であれば, デルタを 消さないでおいてください.
なにかおかしなことが起こった場合には置いておけば良かった
と思うかもしれません.
もしフロッピーディスクしか持っていない状況
であってもコピーを取るのに
fdwrite を使うことを考えてください.
ローカルの変更を保存する
開発者としてはソースツリー中のファイルを
使って実験したり変更したく なるものです.
CTM
はローカルの変更を制限つきでサポートします: ファイル
foo の存在をチェックする前に,
foo.ctm を参照しにいきます.
このファイルが存在する場合, CTM は foo
の代りにこれを処理します.
この動作はローカルの変更を保持する簡単な手段を
提供します: 単に変更したいファイルを拡張子
.ctm 付きのファイル名で
コピーするだけです. あとは自由にコードをハックでき,
.ctm ファイルの方は CTM
が最新状態に保ってくれます.
CTM
のその他の面白いオプション
更新で変更されるファイルを正確に知る
CTM
のソースリポジトリに対する変更のリストを
-l
オプションを使って決定することができます.
これは, 変更のログを保存したい,
変更されたファイルをなんらかの方法で 前・後処理したい,
または単にこだわりたい :-) 場合には,
役に立つでしょう.
更新前にバックアップを取る
CTM
の更新によって変更されるファイルすべてのバックアップを
取りたくなることがあります.
-B backup-file オプションを指定すると
CTM は
デルタで変更されるファイルすべてを
backup-file
としてバックアップするようになります.
更新で変更されるファイルを制限する
CTM
の更新の範囲を制限したり一連のデルタのから
ほんの数ファイルを抽出したくなることがあります.
-e と -x
オプションを用い正規表現を指定することで,
CTM
が処理するファイルのリストを制御することが
できます.
例えば, lib/libc/Makefile
の最新のコピーを保存してある CTM
デルタのコレクションから抽出するには,
以下のコマンドを実行します.
&prompt.root; cd /where/ever/you/want/to/extract/it/
&prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*
CTM
デルタで指定されたファイルごとに, -e
そして -x
オプションがコマンドラインで指定された順序で適用されます.
すべての-e そして -x
オプションが適用された後に更新対象と選択された場合に限り,
CTM
はそのファイルを処理します.
CTM の将来計画
重要なもの
なんらかの CTM システムへの認証機構を用い, 不正な
CTM の更新の検出を可能とする.
CTM
へのオプションを整理する. さもないと混乱し,
直観に反したものになります.
残念なことに私は非常に忙しいです.
従ってこれを行なうどんな手助けでも歓迎します. その際,
自分が何をやりたいかを私に言うのを忘れずに.
その他
“DESに染まった” (例えば,
国外への持ち出しが規制された)ソースはまったく含まれません.
手に入るのは“国際”バージョンだけです.
もし興味のある人が多いようであれば,
我々はsec-cur シーケンスも
セットアップするつもりです. ports
コレクションに対するデルタのシーケンスもあります. しかし,
まだあまり興味は持たれていないようです.
もしこれに対するメーリング
リストが欲しい時も私に言ってください.
我々はセットアップすることを考えます.
ありがとう!
&a.bde;
鋭い記述とすばらしいコメントに対して.
&a.sos;
よく辛抱してくれました.
Stephen McKay
ctm_[rs]mail を書いてくれました.
とても感謝して います.
&a.jkh;
彼が頑固として譲らなかったため, 私もこの
CTM をもっと良いものに
しないわけにはいきませんでした.
彼の頑固さに感謝します.
ユーザの人みんな
気に入ってくれることを願っています...
CVSup
原作: &a.jdp; .
訳: &a.jp.iwasaki;. 27 February 1997.
CVSup の紹介
CVSup は,
リモートのサーバホストにあるマスタ CVS リポジトリから
ソースツリーを配布し更新するための
ソフトウェアパッケージです. FreeBSD のソースは,
カリフォルニアにある中心的な開発マシンの CVS リポジトリの
中でメンテナンスしています. CVSup
を使用することで, FreeBSD ユーザは
簡単に自分のソースツリーを最新の状態に
しておくことができます.
CVSup は
pull
モデルとよばれる更新のモデルを採用しています. pull
モデルでは,
各クライアントが更新したい場合に更新したい時点で,
サーバに更新の問い合わせをおこないます.
サーバはクライアントからの
更新の要求を受け身の状態で待ちます. したがって,
すべての更新はクライアント主導でおこなわれます.
サーバは頼まれもしない更新情報を送るようなことはしません.
ユーザは CVSup
クライアントを手動で実行して更新をおこなうか,
cron
ジョブを設定して定期的に自動実行する必要があります.
用語 CVSup
のように大文字で表記しているものは, ソフトウェアパッケージ
全体を指します. 主な構成物は,
各ユーザマシンで実行するクライアントである
cvsup , FreeBSD
の各ミラーサイトで実行するサーバ cvsupd
です.
FreeBSD の文書やメーリングリストを読んだ際に,
sup についての言及を
見かけたかもしれません. sup は
CVSup の前に存在していたもので,
同様の目的で使われていました.
CVSup は sup
と同じように使用されており, 実際, sup
と互換性のあるコンフィグレーションファイルを使用します.
CVSup
の方がより高速で柔軟性もあるので, もはや
sup は FreeBSD
プロジェクトでは使用されていません.
CVSup のインストール
CVSup をインストールする
最も簡単な方法は, FreeBSD
ports コレクション の
net/cvsup-bin をインストールすることです.
もしくは, net/cvsup でも構いません.
ただし, net/cvsup は
Modula-3 システムに依存していて, 構築にかかる時間,
メモリ, ディスクスペースは比較的大きくなります.
もし, あなたに cvsup に関して全く知識がなく,
自動で設定ファイルをセットアップして,
クリックするだけで転送を行なえるインターフェイスを提供してくれるような,
単一のパッケージをインストールしたいと考えているなら,
cvsupit パッケージを利用して下さい.
これは pkg_add(1) するだけで良く,
設定は, その際にメニュー形式で行なうことができるようになっています.
CVSup のコンフィグレーション
CVSup の動作は, supfile
と呼ばれるコンフィグレーションファイルで 制御します.
supfile のサンプルは, ディレクトリ /usr/share/examples/cvsup/
の下にあります.
supfile には以下の cvsup
に関する質問への答えを記述します:
どのファイルを受け取りたいのか?
どのバージョンのものが欲しいのか?
どこから入手したいのか?
自分のマシンのどこに置きたいのか?
どこに status ファイルを置きたいのか?
次のセクションで, これらの質問に順番に答えながら典型的な
supfile を組み立てていきます. 最初に
supfile の全体構造を説明します.
supfile はテキストファイルです.
コメントは # から行末までです.
空行とコメントだけの行は無視します.
残りの各行には,
ユーザが受け取りたいファイル群について記述します.
行の始めは,
サーバ側で定義した論理的なファイルのグループである
“コレクション”の名称です.
コレクションの名称を指定して, 欲しいファイル群を
サーバに伝えます. コレクション名の後には,
ホワイトスペースで区切られた 0 個以上のフィールドが続きます.
これらのフィールドが上記の質問に対する答えになります.
フィールドには 2 種類あります: flag フィールドと value
フィールドです. flag フィールドは delete
や compress のような
単独のキーワードから成ります. また, value
フィールドもキーワードで始まりますが,
キーワードの後にはホワイトスペースは入らず,
= と二つめの単語が続きます. 例えば,
release=cvs は value
フィールドです.
通常, supfile
には受け取りたいコレクションを一つ以上指定します.
supfile を組み立てる一つの方法として,
コレクション毎にすべての関係の
あるフィールドを明示的に指定する方法があります. しかし,
これでは supfile
のすべてのコレクションに対して
ほとんどのフィールドが同じになるため,
行が非常に長くなってしまい不便になります.
これらの問題を避けるため, CVSup
ではデフォルトを指定することのできる
メカニズムが提供されています. 特殊な擬似コレクション名
*default で始まる行は,
supfile 中の後続の
コレクションに対して使用する flag フィールドと value
フィールドのデフォルトを設定するために利用できます.
個々のコレクションで固有の値を指定すると,
デフォルト値を無効にできます. また *default
行を追加すると, supfile
の途中からデフォルト値の変更や追加が可能になります.
これまでの予備知識を基に,
FreeBSD-current
のメインのソースツリーを受け取って更新するための
supfile を組み立ててみましょう.
どのファイルを受け取りたいのか?
CVSup
を通して入手できるファイルは “コレクション”
と呼ばれる名前の付けられたグループにまとめられています.
利用可能なコレクションについては
ここ で説明しています.
ここでは, FreeBSD システムのメインのソースツリー全体
を受け取るための設定例を紹介します.
輸出規制されている暗号化サポートの
コード以外のすべてを含む src-all
という単一の大きなコレクションがあります.
この例では私たちがアメリカ合衆国か
カナダにいるものと仮定します. その場合,
cvs-crypto という一つの付化的な
コレクションで暗号化コードを入手することができます.
supfile
を組み立てる最初のステップとして,
これらのコレクションを一行に一つづつ記述します:
src-all
cvs-crypto
どのバージョンのものが欲しいのか?
CVSup を使用すると,
かつて存在していたことのある, 事実上どのバージョンの
ソースでも受け取ることができます. これは cvsupd
サーバがすべてのバージョンを含む CVS
リポジトリに基づいて動作することにより,
実現されています.
tag= および
date= の value フィールドを使用して,
欲しいバージョンの 一つを指定します.
tag=
のフィールドの指定は正確に行うように十分注意
してください. いくつかのタグは特定のコレクションに
対してのみ有効です.
タグの綴りが違っていたり不適切なタグを指定すると,
CVSupはユーザが消し
たくないファイルまで削除してしまいます. 特に
ports-* のコレクション に対しては
tag=. だけ
を指定するようにしてください.
tag=
フィールドはリポジトリ中のシンボリックタグを指定します.
tag には revision tag と branch tag の二種類があります.
revision tag は特定のリビジョンを指します. これは,
毎日同じ状態に保つことになります. 一方 branch tag は,
ある時点での開発分流の最新のリビジョンを指します.
branch tag
は特定のリビジョンを指定している訳ではないので,
今日と明日では
異なるリビジョンを参照することになるかもしれません.
以下はユーザが興味を持っていると思われる branch tag
です:
tag=.
メインの開発分流であり, FreeBSD-current
として知られています.
注意: .
は句読点ではありません. tag の名称です.
このタグの指定は総ての
コレクションに対して有効です.
tag=RELENG_3
FreeBSD-3.x 用の開発分流であり, FreeBSD-stable
として知られています. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_2
FreeBSD-2.2.x 用の開発分流であり, 2.2-stable
として知られています. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_1_0
FreeBSD-2.1.x 用の開発分流です.
この分流はほとんど利用されていません.
このタグの指定は ports-*
のコレクションに対しては無効です.
以下はユーザが興味を持っていると思われる revision
tag です:
tag=RELENG_3_3_0_RELEASE
FreeBSD-3.3. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_3_2_0_RELEASE
FreeBSD-3.2. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_3_1_0_RELEASE
FreeBSD-3.1. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_3_0_0_RELEASE
FreeBSD-3.0. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_2_8_RELEASE
FreeBSD-2.2.8. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_2_7_RELEASE
FreeBSD-2.2.7. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_2_6_RELEASE
FreeBSD-2.2.6. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_2_5_RELEASE
FreeBSD-2.2.5. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_2_2_RELEASE
FreeBSD-2.2.2. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_2_1_RELEASE
FreeBSD-2.2.1. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_2_0_RELEASE
FreeBSD-2.2.0. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_1_7_RELEASE
FreeBSD-2.1.7. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_1_6_1_RELEASE
FreeBSD-2.1.6.1. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_1_6_RELEASE
FreeBSD-2.1.6. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_1_5_RELEASE
FreeBSD-2.1.5. このタグの指定は ports-*
のコレクションに対しては無効です.
tag=RELENG_2_1_0_RELEASE
FreeBSD-2.1.0. このタグの指定は ports-*
のコレクションに対しては無効です.
tag
名を示した通りにタイプされているか十分注意してく
ださい. CVSup は tag
名が正しいかどうかを見分けることはできません. tag
が間違っていた場合,
たまたまファイルがまったく存在しない正しい tag が
指定されたものとしてCVSup
は動作します. その場合は, 現在あるソースが削
除されるでしょう.
branch tag を指定した際には,
通常はその開発分流の最新バージョンの
ファイルを受け取ります.
いくらか前のバージョンを受け取りたい場合は,
date= の value
フィールドを使って日付を指定することで,
これを実現することが できます. &man.cvsup.1;
のマニュアルページで,
その方法を説明しています.
例として, FreeBSD-current を受け取りたいとします.
次の行を supfile
の始めに追加します:
*default tag=.
tag= フィールドも
date=
フィールドも指定しなかった場合に
動き出す重要な特殊なケースがあります. そのケースでは,
特定のバージョンの ファイルを受け取るのではなく,
サーバの CVS リポジトリから実際の RCS
ファイルを直接受け取ります.
一般的に開発者はこの処理のモードが 好きなようです.
彼らのシステム上にリポジトリそのものの
コピーを維持することで,
リビジョン履歴を閲覧し過去のバージョンの
ファイルを検査できるようになります. しかし,
これには大きなディスクスペースが必要になります.
どこから入手したいのか?
更新情報をどこから入手するかを
cvsup に伝えるために
host= フィールドを使用します.
CVSup ミラーサイト
のどこからでも入手できますが,
ネット上での最寄りのサイトを選ぶべきでしょう.
この例では, 仮想上の FreeBSD 配布サイト
cvsup666.FreeBSD.org
を使用します:
*default host=cvsup666.FreeBSD.org
CVSup を実行する前にホスト名を
実在のものに変更する必要があります. どのように
cvsup を実行しても, この設定は
-h hostname
を
使用してコマンドラインで変更することができます.
自分のマシンのどこに置きたいのか?
prefix= フィールドは,
cvsup
に受け取ったファイルをどこに置くかを 伝えます.
この例では, ソースファイルを直接メインのソースツリー
/usr/src に置きます.
src
ディレクトリはすでにファイルを受け取るために
選択したコレクションで暗黙に指定しているので,
これは正しい仕様となります:
*default prefix=/usr
どこに status ファイルを置きたいのか?
cvsup クライアントは “base”
ディレクトリと呼ばれる場所に, ある status
ファイルを維持しています.
すでに受け取った更新情報を追従し続けることで,
これらのファイルは CVSup
がより効果的に動作することを支援します. 標準の base
ディレクトリ /usr/local/etc/cvsup
を使用します:
*default base=/usr/local/etc/cvsup
supfile に指定がない場合は,
この設定をデフォルトで使用しますので,
実際には上の行は必要ありません.
base
ディレクトリが存在しない場合は作成しておきましょう. base
ディレクトリが存在しない場合, cvsup
クライアントは実行を拒否します.
その他もろもろの supfile
の設定:
通常 supfile
に入れておくべき行がもう一つあります:
*default release=cvs delete use-rel-suffix compress
release=cvs は, サーバがメインの
FreeBSD CVS リポジトリから
その情報を取得するように指示します.
ほとんどの場合はこのようにしておきますが,
ここでの説明の範疇をこえるような
状況では他の指定をすることも可能です.
delete は
CVSup
にファイルを削除することを許可します.
CVSup が
ソースツリーを完全に最新の状態に
保てるようにするためには, これは常に
指定しておくべきでしょう.
CVSup は,
これらの責任範囲のファイルだけを 慎重に削除します.
たまたま存在する他の余分なファイルについては,
まったく手をつけずに残しておきます.
use-rel-suffix は ...
神秘的なものです. これについて本当に知りたい人は,
&man.cvsup.1; のマニュアルページをご覧ください.
でなければ, 何も考えずに指定してみてください.
compress は通信チャネルで gzip
形式の圧縮の使用を有効にします.
ご使用のネットワーク接続が T1 speed 以上である場合,
この圧縮を使用しない方がよいかもしれません.
そうでない場合は十分に役に立ちます.
supfile の例のまとめ:
以下は supfile の例の全体です:
*default tag=.
*default host=cvsup666.FreeBSD.org
*default prefix=/usr
*default base=/usr/local/etc/cvsup
*default release=cvs delete use-rel-suffix compress
src-all
cvs-crypto
CVSup の実行
さて, 更新の準備ができました.
これを実行するコマンドラインは実に簡単です:
&prompt.root; cvsup supfile
もちろん, ここでの
supfile
は作成したばかりの supfile のファイル名です. X11
環境で実行するものと仮定して, cvsup は
通常の操作に必要なボタンを持つ GUI ウィンドウを表示します.
“go” ボタンを押して,
実行を監視してください.
この例では実際の /usr/src
ツリーを更新しているので, cvsup
にファイルを更新するのに必要なパーミッションを与えるために,
ユーザ root で実行する必要があります.
コンフィグレーションファイルを作ったばかりで,
しかも以前にこのプログラムを実行したことがないので,
神経質になるのは無理もない話だと思います.
大切なファイルに触らずに試しに実行する簡単な方法があります.
どこか適当な場所に空のディレクトリを作成して,
コマンドラインの引数で指定するだけです:
&prompt.root; mkdir /var/tmp/dest
&prompt.root; cvsup supfile /var/tmp/dest
指定したディレクトリは, すべての更新されるファイルの
更新先ディレクトリとして使用します.
CVSup は
/usr/src の下のファイルを検査しますが,
変更や削除はまったくおこないません. かわりに
/var/tmp/dest/usr/src
に更新されたすべてのファイルが置かれるようになります.
この方法で実行した場合は, CVSup
は base ディレクトリの status
ファイルを更新せずにそのままにします.
これらのファイルの新しいバージョンは指定されたディレクトリ
に書き込まれます. /usr/src
の読み取り許可がある限り, このような試し実行のためにユーザ
root になる必要はありません.
X11 を利用していないとか単に GUI が気に入らない場合は,
cvsup 起動時にコマンドラインに
二つほどオプションを追加する必要があります:
&prompt.root; cvsup -g -L 2 supfile
-g オプションは cvsup に GUI
を使用しないように伝えます. X11
を利用していない場合には自動的に指定されますが,
そうでない場合は 明示的に指定します.
-L 2 オプションは cvsup
にファイル更新中の詳細情報をプリントアウト
するように伝えます. 冗長性には -L 0 から
-L 2 までの三つのレベル があります.
デフォルトは 0 であり, エラーメッセージ以外はまったく出力
しません.
たくさんの他のオプション変数があります.
それらの簡単な一覧は cvsup -H
で表示されます.
より詳しい説明はマニュアルページをご覧ください.
動作している更新の方法に満足したら, &man.cron.8;
を使って cvsup を定期的に
実行させる準備をすることができます. cron から起動する際には,
明示的に cvsup が GUI
を使わないようにする必要があります.
CVSup ファイルコレクション
CVSup
経由で入手できるファイルコレクションは
階層的に組織化されています.
いくつか大きなコレクションがあり,
それらは小さなサブコレクションに 分割されています.
大きなコレクションは, そのサブコレクション毎に
受信することと同じことになります.
下の一覧ではコレクション間の階層関係を
字下げして表現します.
最も一般的に使用するコレクションは
src-all , cvs-crypto ,
そして ports-all です.
他のコレクションは特別な目的を持つ人達だけが使用しており,
ミラーサイトはそれらのすべてを
持っていないかもしれません.
cvs-all release=cvs
メインの FreeBSD CVS リポジトリであり,
輸出規制された暗号化コードは含まれていません.
distrib release=cvs
FreeBSD
の配布とミラーに関連するファイルです.
doc-all release=cvs
FreeBSD
ハンドブックおよびその他のドキュメントの
ソースです.
ports-all release=cvs
FreeBSD の ports コレクションです.
ports-archivers release=cvs
アーカイビングのツール.
ports-astro release=cvs
天文学関連の ports.
ports-audio release=cvs
サウンドサポート.
ports-base release=cvs
/usr/ports
のトップにあるその他のファイル.
ports-benchmarks release=cvs
ベンチマークプログラム.
ports-biology release=cvs
植物学関連のプログラム.
ports-cad release=cvs
CAD ツール.
ports-chinese release=cvs
中国語サポート.
ports-comms release=cvs
通信ソフトウェア.
ports-converters release=cvs
文字コードコンバータ.
ports-databases release=cvs
データベース.
ports-deskutils release=cvs
コンピュータが発明される前に
卓上で使われていたものたち.
ports-devel release=cvs
開発ユーティリティ.
ports-editors release=cvs
エディタ.
ports-emulators release=cvs
他の OS のエミュレータ.
ports-ftp release=cvs
FTP クライアントとサーバ.
ports-games release=cvs
ゲーム.
ports-german release=cvs
ドイツ語サポート.
ports-graphics release=cvs
グラフィックユーティリティ.
ports-irc
release=cvs
インターネットリレーチャット(IRC)用のユーティリティ
ports-japanese release=cvs
日本語サポート.
ports-java
release=cvs
Java ユーティリティ
ports-korean release=cvs
韓国語サポート.
ports-lang release=cvs
プログラミング言語.
ports-mail release=cvs
メールソフトウェア.
ports-math release=cvs
数値計算ソフトウェア.
ports-mbone release=cvs
MBone アプリケーション.
ports-misc release=cvs
色々なユーティリティ.
ports-net release=cvs
ネットワーキングソフトウェア.
ports-news release=cvs
USENET ニュースのソフトウェア.
ports-palm
release=cvs
3Com Palm(tm) シリーズ用ソフトウェア.
ports-print release=cvs
印刷ソフトウェア.
ports-russian release=cvs
ロシア語サポート.
ports-security release=cvs
セキュリティユーティリティ.
ports-shells release=cvs
コマンドラインシェル.
ports-sysutils release=cvs
システムユーティリティ.
ports-textproc release=cvs
文書処理ユーティリティ
(デスクトップパブリッシングは含まない).
ports-vietnamese release=cvs
ベトナム語サポート.
ports-www release=cvs
World Wide Web 関連のソフトウェア.
ports-x11 release=cvs
X window システムをサポートする ports.
ports-x11-clocks release=cvs
X11 上で動作する時計の数々.
ports-x11-fm release=cvs
X11 上で動作するファイラ.
ports-x11-fonts release=cvs
X11 のフォントとフォントユーティリティ.
ports-x11-toolkits release=cvs
X11 のツールキット.
ports-x11-servers
各種 X11 サーバ
ports-x11-wm release=cvs
X11 のウィンドウマネージャ.
src-all release=cvs
メインの FreeBSD ソース群であり,
輸出規制された暗号化コードは
含まれていません.
src-base release=cvs
/usr/src
のトップにあるその他のファイル.
src-bin release=cvs
シングルユーザモードで必要な
ユーザユーティリティ
(/usr/src/bin ).
src-contrib release=cvs
FreeBSD プロジェクト外部からの
ユーティリティおよびライブラリ,
比較的無修正
(/usr/src/contrib ).
src-etc release=cvs
システムコンフィグレーションファイル
(/usr/src/etc ).
src-games release=cvs
ゲーム
(/usr/src/games ).
src-gnu release=cvs
GNU Public License
下にあるユーティリティ
(/usr/src/gnu ).
src-include release=cvs
ヘッダファイル
(/usr/src/include ).
src-kerberosIV release=cvs
KerberosIV セキュリティパッケージ
(/usr/src/kerberosIV ).
src-lib release=cvs
ライブラリ
(/usr/src/lib ).
src-libexec release=cvs
システムプログラムであり,
通常は他のプログラムから実行される
(/usr/src/libexec ).
src-release release=cvs
FreeBSD の release
を構築するために必要なファイル
(/usr/src/release ).
src-sbin release=cvs
シングルユーザモード用の
システムユーティリティ
(/usr/src/sbin ).
src-share release=cvs
多様なシステム間で共有可能なファイル
(/usr/src/share ).
src-sys release=cvs
カーネル
(/usr/src/sys ).
src-tools release=cvs
FreeBSD の保守用の色々なツール
(/usr/src/tools ).
src-usrbin release=cvs
ユーザユーティリティ
(/usr/src/usr.bin ).
src-usrsbin release=cvs
システムユーティリティ
(/usr/src/usr.sbin ).
www release=cvs
World Wide Web のデータ用のソースです.
cvs-crypto release=cvs
輸出規制された暗号化コードです.
src-crypto release=cvs
輸出規制された FreeBSD
プロジェクト外部からのユーティリティおよび
ライブラリ, 比較的無修正
(/usr/src/crypto ).
src-eBones release=cvs
Kerberos および DES
(/usr/src/eBones ).
FreeBSD の現在のリリースでは使われていません.
src-secure release=cvs
DES (/usr/src/secure ).
src-sys-crypto release=cvs
カーネルの暗号化コード
(/usr/src/sys/crypto ).
distrib release=self
CVSup
サーバ自身のコンフィグレーションファイルです. CVSup
ミラーサイトが使用します.
gnats release=current
GNATS バグトラッキングデータベースです.
mail-archive release=current
FreeBSD 関連メーリングリストのアーカイブ.
www release=current
インストールされた World Wide Web のデータです.
WWW ミラーサイトが使用します.
詳細について
CVSup の FAQ や CVSup に関するその他の情報については
The CVSup Home Page をご覧ください.
CVSup のほとんどの FreeBSD
関連の議論は &a.hackers; でおこなわれています.
ソフトウェアの新しいバージョンは &a.announce; で
アナウンスされます.
質問とバグ報告はプログラムの作者,
cvsup-bugs@polstra.com へ
送ってください.
make world によるシステムの再構築
寄稿: &a.nik;.
FreeBSD のどれか特定のバージョン (stable ,
current など)
について, ローカルのソースツリーを同期させたら,
そのソースツリーを使ってシステムを
再構築しなければなりません.
バックアップを作成する
システムを再構築する前に バックアップを
作成することの重要性は, いくら強調してもし過ぎると言うことはありません.
システム全体の再構築とは
(以降に書かれた手順に従っている限り)難しい作業ではありませんが,
どんなに注意していたとしても,
あなた自身, あるいはソースツリーで作業している他の人達に手違いがあった時には,
システムが起動しなくなってしまう状態になることがあるのです.
まず, バックアップがきちんと作成されていることを確認して下さい.
そして, fixit フロッピーを用意して下さい. 私は今までに,
一度もバックアップや fixit フロッピーのお世話になったことはありませんし,
これからもそうなるようなことはないと思っていますが,
どういう場合であっても用意しておいて損はないでしょう.
メーリングリストに参加する
もともと, -STABLE と -CURRENT のコードブランチは,
開発中のもの です.
FreeBSD の作業に貢献してくださっている人達も人間ですから,
時にはミスをすることだってあるでしょう.
そのような間違いは, 単に警告を示す見慣れない
診断メッセージをシステムが,表示するような,
全く害のないものであることもあれば, システムを起動できなくしたり,
ファイルシステムを破壊してしまうような,
恐ろしい結果を招くものかも知れません.
万が一, このような問題が生じた場合,
問題の詳細と, どのようなシステムが影響を受けるかについて書かれた
注意(heads up)
の記事が
適切なメーリングリストに投稿され, そして, その問題が解決されると,
問題解決(all clear)
のアナウンス記事が同様に
投稿されます.
-STABLE や -CURRENT ブランチを試したり, それらに
追随していくときに
FreeBSD-stable@FreeBSD.ORG や
FreeBSD-current@FreeBSD.ORG
を読まないというのは, 自ら災難を招くことになるでしょう.
訳注:
これらのメーリングリストは英語でやりとりされているため,
日本語での投稿は歓迎されません. 英語でのやりとりができない人は,
FreeBSD 友の会
の運営しているメーリングリストをあたってみるのがいいでしょう.
/etc/make.conf の確認
まず, /etc/make.conf を調べて下さい.
ここには, ソースを再構築する際に使用される
最初の状態では, すべてがコメントアウトされています.
必要だと思う項目のコメントをはずして下さい.
(開発者でない)標準的なユーザならおそらく,
CFLAGS と NOPROFILE のコメントをはずすことを考えると思います.
もし, 浮動小数点演算ユニット(386DX, 486DX, Pentium と,
それより上のクラスのマシン)がある場合には, HAVE_FPU
の行のコメントをはずすことができます.
この定義は, FreeBSD 2.2.2 以降で廃止されました.
他の定義 (COPTFLAGS, NOPORTDOCS など) の定義行についても,
コメントを外す必要があるかどうか調べておきましょう.
/etc/group の更新
/etc ディレクトリには,
システム起動時に実行されるスクリプトだけでなく,
あなたのシステムの設定に関連する情報の大部分が
含まれています. そのディレクトリに含まれる
スクリプトは, FreeBSD のバージョンによって多少異なります.
また, 設定ファイルのなかには, 稼働中のシステムが日々利用している
ものもあります. 実際には, /etc/group
などがそれに該当します.
make world
のインストールの段階では,
特定のユーザ名, あるいはグループが存在していることを
要求する場面があります. システムのアップグレードを行なう際には,
それらのグループが削除, あるいは変更されて存在していない可能性が
考えられますが, そういった場合, システムのアップグレードを
行なっている間に, 問題が発生する原因になります.
この種の例でもっとも記憶に新しいのは,
ppp サブシステムがインストールされる時,
そのサブシステムが利用する
解決方法は, /usr/src/etc/group を調べ,
自分のシステムのグループ名リストと比較することです.
最新のファイルに含まれていて, あなたのファイルに含まれていない
グループ名があれば, あなたのファイルにそのグループ名をコピーして下さい.
同様に, 名前が異なるにも関わらず,
/etc/group と
/usr/src/etc/group で同じ GID を持っているグループ名があれば,
/etc/group に含まれる,
該当するすべてのグループ名を変更しておかなければなりません.
もし, あなたがもっと神経質な人なら, あなたが名前を変更したり,
削除してしまったグループが所有しているファイルを,
次のようにして調べることもできます.
&prompt.root; find / -group GID -print
これは GID (グループ名もしくは数字で示されたグループ ID)で
指定されたグループが所有するすべてのファイルを表示します.
コンパイルは, シングルユーザモードで行なった方が良いでしょう.
そうすることで多少速度が向上する, というちょっとした利点が
あるだけでなく, システムの再インストールは重要なシステムファイル,
標準コマンド, ライブラリ, インクルードファイルなどを操作します.
稼働中のシステムに(特に他のユーザがログインしている時に)そのような
変更を加えることは, トラブルを引き起こす原因となります.
自信家の方は, このステップを省略しても構いません.
FreeBSD 2.2.5-RELEASE 以降の場合
以下に詳しく述べられているように, 2.2.5-RELEASE 以降,
ビルド(システムの構築)とインストールの行程を分離して行なうことが可能になりました.
そのため, マルチユーザモードで新しいシステムのビルド を行ない,
その後, シングルユーザモードに移行してから
インストールを行なうことができます.
稼働中のシステムでシングルユーザモードに移行するには,
スーパユーザ(root)権限で次のコマンドを実行します.
&prompt.root;
あるいはシステムを再起動し, ブートプロンプトから
-s フラグを設定することで, シングルユーザモードで
システムを起動させることができます. 起動後, シェルプロンプトから
次のように実行して下さい.
&prompt.root; fsck -p
&prompt.root; mount -u /
&prompt.root; mount -a -t ufs
&prompt.root; swapon -a
これはファイルシステムをチェックした後,
/ を読み書き可能にして再マウント,
/etc/fstab に指定されている,
それ以外の UFS ファイルシステムをすべてマウントしてから
スワップを有効にします.
/usr/obj の削除
システムが再構築される時, 構築されたものは(デフォルトで)
/usr/obj 以下のディレクトリに格納され,
そのディレクトリの下は /usr/src と同じ構造となります.
このディレクトリをあらかじめ削除しておくことにより,
make world
の行程にかかる時間を短縮させ,
依存問題に悩まされるようなトラブルを回避することができます.
/usr/obj 以下のファイルには,
変更不可(immutable)フラグ(詳細は
chflags(1) 参照)がセットされているものがあります.
そのため, まず最初にそのフラグを変更しなければなりません.
&prompt.root; cd /usr/obj
&prompt.root; chflags -R noschg *
&prompt.root; rm -rf *
全バージョンに共通すること
まず, カレントディレクトリを /usr/src に
変更しなければなりません. 次のように実行して下さい.
&prompt.root; cd /usr/src
(もちろん, ソースコードが他のディレクトリにある場合には,
/usr/src ではなく,
ソースコードのあるディレクトリに移動して下さい).
make world を行なうには, &man.make.1; コマンドを使用します.
このコマンドは, Makefile というファイルから,
FreeBSD を構成するプログラムの再構築方法や,
どういう順番でそれらを構築すべきかといったような
指示を読み込みます.
コマンドラインの一般的な書式は, 次のとおりです.
&prompt.root; make - -DVARIABLE target
この例では, -x が
&man.make.1; に渡されるオプションになります.
どのようなオプションが利用できるかについては, マニュアルページを
参照して下さい.
-DVARIABLE は,
Makefile に渡される変数であり,
この変数は Makefile の動作をコントロールします.
また, /etc/make.conf で設定される変数も
同様です. これは変数を設定するもう一つの方法として用意されています.
&prompt.root; make -DNOPROFILE=true target
は, プロファイル版のライブラリを構築しないことを指定する
もう一つの記法で, /etc/make.conf 中の
NOPROFILE= true
# Avoid compiling profiled libraries
の行に対応します.
target は, &man.make.1; に
どのように動作するのかを指示するためのものです.
各々の Makefile には, 数多くの異なる
ターゲット(target)
が定義されていて,
指定されたターゲットによって, 動作が決まります.
Makefile に書かれているターゲットには,
あなたが指定しても意味を持たないものも含まれます.
これらは, システムの再構築に必要な段階を, 多くの
さらに細かい段階に分割するため, 構築の過程で利用されるものです.
大抵の場合, &man.make.1; にパラメータを指定する必要はないでしょうから,
コマンドラインは次のようなものになるでしょう.
&prompt.root; make target
出力の保存
実行される &man.make.1; からの出力は, ファイルに保存すると良いでしょう.
もし, 何か障害が発生した場合, エラーメッセージのコピーに加え,
どの時点でそれが起こったのか, 完全なリストが手元に残ります.
何が悪かったのか, あなた自身がそれから理解することはできないかも
知れません. しかし, FreeBSD メーリングリストに投稿して,
誰か他の人からの助言を得るために利用することができます.
ファイルに保存する最も簡単な方法は, &man.script.1; コマンドを
使い, 引数に出力を保存したいファイル名を指定することです.
これを make world の直前に行ない, 再構築が終了してから
exit と入力すると, 出力を保存することができます.
&prompt.root; script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
&prompt.root; make world
… compile, compile, compile …
&prompt.root; exit
Script done, …
出力を保存する場合, /tmp ディレクトリの中に
保存してはいけません .
このディレクトリは, 次の再起動で削除されてしまう可能性があります.
出力の保存には, (上の例のように)/var/tmp や
root のホームディレクトリが適しています.
FreeBSD-2.2.2 と, それ以前のバージョン
/usr/src/Makefile には,
システム全体を再構築しインストールを行なう
world ターゲットが含まれています.
それを, 次のように使って下さい.
&prompt.root; make world
FreeBSD-2.2.5 と, それ以降のバージョン
FreeBSD-2.2.5 から(実際には, -CURRENT ブランチで最初に作成され,
2.2.2 と 2.2.5 の間の時点で -STABLE に導入されたのですが),
world ターゲットは
buildworld と
installworld の二つに分割されました.
その名前が示すように, buildworld は
/usr/obj 以下に新しい完全な
ディレクトリツリーを構築し,
installworld は, そのツリーを
現在のマシンにインストールします.
これは, 二つの理由から非常に有用です.
まず第一に, 稼働中のシステムに全く影響を与えることなく,
安全にシステムの構築作業を行えることです.
構築作業は何にも依存せず独立して行なわれる
ため,
マルチユーザモードで稼働中のシステムでも, 何一つ
悪影響を与えずに buildworld を
実行することができます.
ただし, installworld は
シングルユーザモードで行なうことをおすすめします.
第二に, NFS マウントを利用することで,
ネットワーク上の複数のマシンをアップグレードすることが
可能な点があげられます. 例えば三台のマシン, マシン A, マシン B,
マシン C をアップグレードしたい場合には, まず
マシン A で make buildworld と
make installworld を実行します.
それから, マシン B とマシン C で /usr/src を
NFS マウントし, make installworld とすることで
構築済みのシステムを各マシンにインストールすることができるのです.
一方, world ターゲットも残されていますので,
FreeBSD-2.2.2 の場合として示されている方法と同じように,
このターゲットを利用することもできます.
make world は,
make buildworld に続けて
make installworld を実行します.
make buildworld と
make installworld のコマンドを分けて実行する場合には,
それぞれ同じ引数を &man.make.1; に渡さなければなりません.
次のように実行したとすると,
&prompt.root; make -DNOPROFILE=true buildworld
構築されたシステムは次のようにしてインストールする必要があります.
&prompt.root; make -DNOPROFILE=true installworld
そうしないと, make buildworld の段階で
構築されていない, プロファイル版ライブラリのインストールを
試みることになります.
(訳注: もちろん, それには失敗するのでエラーが発生します. )
-CURRENT と, それ以降
もし, -CURRENT を追跡しているなら, make コマンドに
-j オプションを渡すことができます.
このオプションにより, make は
同時に複数のプロセスを生成するようになります.
これは, 実際に複数の CPU を備えているマシンに対して
非常に有効に働きます. また, コンパイルプロセスの大部分は
CPU の処理ではなく入出力の処理に費やされるため,
単一の CPU を持つマシンでも同じように有効です.
単一の CPU を持つ典型的なマシンでは, 次のように実行します.
&prompt.root; make -j4 target
この時 &man.make.1; は, 最大 4 個までのプロセスを同時に実行します.
メーリングリストに投稿された経験的な報告によると,
4 個という指定が最も良いパフォーマンスを示すようです.
もし, 複数の CPU を備えたマシンで SMP 設定が行なわれたカーネルを
利用しているなら, 6 から 10 の間の値を設定し, 速度がどれくらい
向上するか確認してみて下さい.
注意して欲しいのですが, (この原稿を書いている時点では)この機能はまだ
実験段階です. そのため, ソースツリーへ変更が加えられたときに
これが正常に機能しなくなる可能性があります.
もし, このオプションを用いてシステムの構築に失敗した場合には,
障害を報告する前に, もう一度オプションを付けずに試してみて下さい.
システムの構築にかかる時間
すべてが順調に進んでいたとしても,
一時間半から丸一日程度の時間がかかります.
一般的に言って, 200MHz の P6(訳注: Intel PentiumPro のこと) で
32MB 以上のメモリを搭載し, 標準的な SCSI ディスクドライブを利用していた
とすると, make world の完了までに
およそ一時間半の時間がかかります. この構成よりも性能が低ければ,
それよりもさらに時間がかかるでしょう.
/etc の更新
システムの再構築は, いくつかのディレクトリ (
特に, /etc , や /var や
/usr ) において,
新規に導入されたり, 変更された設定ファイルによる
ファイルの更新は行なわれません.
これは, あなた自身の手や目, そして適切な
&man.diff.1; の使用をによって行なわなければなりません.
単にファイルを
/usr/src/etc から /etc に
コピーしただけでは正常に動作させることはできません.
これらのファイルには, インストールという
手順を踏まなければならないもの
が含まれています.
/usr/src/etc ディレクトリは
/etc
ディレクトリにそのまま置き換えられるような
コピーではない からです.
また, /etc にあるべきファイルのうちで
/usr/src/etc にないものもあります.
一番簡単な方法は, ファイルを新しいディレクトリにインストールしてから,
以前のものと異なっている部分を調べて更新作業を行なうことです.
既存の /etc をバックアップする
理論的に考えて, このディレクトリが自動的に
処理されることはありませんが, 念には念を入れておいて
損はありません. たとえば以下のようにして,
既存の /etc ディレクトリを
どこか安全な場所にコピーしておきましょう.
&prompt.root; cp -Rp /etc /etc.old
-R は再帰的なコピーを行ない,
-p はファイルの更新時間や所有者などを保存します.
また, 新しい /etc やその他のファイルを
インストールするための, 仮のディレクトリを作っておく必要があります.
私はいつもこの仮のディレクトリを
/var/tmp/root に置くことにしています.
同様に, 必要なサブディレクトリもこの下に置きます.
&prompt.root; mkdir /var/tmp/root
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distribution
上の例は, 必要なディレクトリ構造をつくり, ファイルをインストールします.
/var/tmp/root 以下に作られる,
たくさんの空のディレクトリは削除する必要があります.
一番簡単なやり方は, 次のとおりです.
&prompt.root; cd /var/tmp/root
&prompt.root; find -d . -type d | /usr/bin/perl -lne \
'opendir(D,$_);@f=readdir(D);rmdir if $#f == 1;closedir(D);'
これは深さ優先探索で各ディレクトリを走査し,
含まれるファイルの数が 2 個(スクリプト中の
この段階の /var/tmp/root には,
本来 / 以下にあるべきファイルが
すべて含まれています.
各ファイルを順に見て, 既存のファイルと異なる部分を
調べて下さい.
/var/tmp/root 以下に
インストールされているファイルの中には,
/var/tmp/root/ と
/var/tmp/root/root/ の中にある
シェルスタートアップ ファイルだけですが,
他のものがあるかも知れません.
(これは, あなたがこれをどの時点で読んでいるかに依存するので,
もっとも簡単な方法は, 二つのファイルを比較するコマンド
&man.diff.1; を使うことです.
&prompt.root; diff /etc/shells /var/tmp/root/etc/shells
これは, あなたの
/etc/shells ファイルと
新しい /etc/shells ファイルの
異なる部分を表示します.
これらを, あなたが書き換えたものに変更点をマージするか,
それとも既存のファイルを新しいもので上書きするかを
判断する材料にして下さい.
新しい root ディレクトリ
(/var/tmp/root ) の名前に
タイムスタンプを付けておくと,
異なるバージョン間の比較を楽に行なうことができます.
頻繁にシステムの再構築を行なうということは,
/etc の更新もまた, 頻繁に行う必要がある
ということです. これはちょっと手間のかかる作業です.
この作業は, あなたが /etc にマージした,
新しく変更されたファイルの最新のセットのコピーを保存しておくことで
素早く行なうことができます.
下の手順は, それを実現するための一つの方法です.
普通に make world します. /etc や
他のディレクトリを更新したくなったときは, ターゲット
ディレクトリに, そのときの日付に基づく名前をつけてください.
たとえば 1998 年 2 月 14 日 だとすれば, 以下のようにします.
&prompt.root; mkdir /var/tmp/root-19980214
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root-19980214 \
distrib-dirs distribution
上に説明されているように,
このディレクトリから変更点をマージします.
その作業が終了しても,
/var/tmp/root-19980214 を
削除してはいけません .
最新版のソースをダウンロードして再構築したら,
ステップ 1 にしたがって下さい. 今度は,
/var/tmp/root-19980221
(更新作業が一週間おきだった場合)
のような名前の, 新しいディレクトリをつくることになるでしょう.
この段階で &man.diff.1; を使用し,
二つのディレクトリを比較する再帰的 diff を作成することで,
一週間の間に行なわれたソースへの変更による相違点を調べます.
&prompt.root; cd /var/tmp
&prompt.root; diff -r root-19980214 root-19980221
これによって報告される相違点は, 大抵の場合,
/var/tmp/root-19980221/etc と
/etc との場合に比べて
非常に少ないものになります.
相違点が少ないため, 変更点を既存の /etc
ディレクトリにマージすることは, 比較的容易になります.
ここまで終了したら, /var/tmp/root-* の
二つのうち, 古い方のディレクトリは削除して構いません.
&prompt.root; rm -rf /var/tmp/root-19980214
この工程を, /etc へ変更点をマージする
必要があるたび, 毎回繰り返します.
ディレクトリ名の生成を自動化するには, &man.date.1;
を利用することができます.
&prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"`
/dev の更新
DEVFS
もし, DEVFS を利用しているなら, この作業はおそらく必要ないでしょう.
安全のため, これはいくつかの段階に分けて行ないます.
/var/tmp/root/dev/MAKEDEV を
/dev にコピーします.
&prompt.root; cp /var/tmp/root/dev/MAKEDEV /dev
ここで, /dev のファイル一覧を記録しておきます.
この一覧は, 各ファイルの許可属性, 所有者, メジャー番号, マイナー番号が
含まれている必要がありますが, タイムスタンプは含まれていてはいけません.
これを行なう簡単な方法は, &man.awk.1; を使って,
いくつかの情報を取り除くことです.
&prompt.root; cd /dev
&prompt.root; ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.out
デバイスファイルをつくり直します.
&prompt.root;
もう一度, ディレクトリのファイル一覧を記録します.
今回は /var/tmp/dev2.out です.
この段階で, この二つのファイル一覧を調べて
作成に失敗したデバイスを探して下さい.
違いは一つもないはずなのですが, 安全のために一応チェックして下さい.
&prompt.root; diff /var/tmp/dev.out /var/tmp/dev2.out
次のようなコマンドを使用し, ディスクスライスエントリを
再作成することで, ディスクスライスの矛盾を検出することができます.
&prompt.root; sh MAKEDEV sd0s1
適当な組み合わせは, 環境によって異なります.
/stand の更新
この段階は, 完全な更新を行なう場合にだけ必要な内容を含んでいます.
悪影響はありませんので, 省略しても構いません.
完全な更新を行なうために,
/stand にあるファイルも同じように
更新したいと考えるかも知れません.
これらのファイルは, /stand/sysinstall という
バイナリファイルへのハードリンクです. このバイナリファイルは,
他のファイルシステム(特に /usr )が
マウントされていない場合にも動作できるよう,
静的にリンクされていなければなりません.
&prompt.root; cd /usr/src/release/sysinstall
&prompt.root; make all install
1998 年 4 月 2 日以前のソースの場合
もし, 1998 年 4 月 2 日より古いソースコードを使っているか,
Makefile のバージョンが 1.68
以降(FreeBSD-CURRENT および FreeBSD-3.X の場合),
1.48.2.21 以降(FreeBSD-2.2.X の場合)でなければ,
次のように NOSHARED=yes
オプションを追加する必要があります.
&prompt.root; make NOSHARED=yes all install
新しいカーネルのコンパイルとインストール
新しいシステムにおけるアドバンテージを完全に得るために,
カーネルの再コンパイルをすべきです.
再コンパイルは, ある種のメモリ構造が変更された時には必須です.
その場合, &man.ps.1; や &man.top.1; のようなプログラムは,
カーネルとソースコードのバージョンが一致しないと
正常に動作しないでしょう.
新しい kernel をコンパイルするには,
FreeBSD ハンドブックの指示にしたがってください.
過去に自分で設定したカーネルを構築している場合には,
LINT コンフィグレーションファイルを注意深く調べて,
利用できる新しいオプションがあるかどうか確かめて下さい.
この文書の以前の版では,
カーネルの再構築の前に再起動することを推奨していました.
これは以下の点で誤りです.
&man.ps.1;, や &man.ifconfig.8;,
&man.sysctl.8; といったコマンドが動作しなくなる恐れがあります.
そうなると, マシンがネットワークに接続できなくなってしまいます.
&man.mount.8; のような基本的なユーティリティが機能しなくなり,
/ や /usr 等を
マウントできなくなってしまうかも知れません.
これは, -STABLE の候補を追いかけている場合には
あまり発生することはありませんが,
-CURRENT を追いかけていて,
大規模なマージが行なわれている間には良く起こります.
ローダブルカーネルモジュール (FreeBSD-3.X 以前は
LKM と呼ばれていましたが, FreeBSD-3.X 以降は KLD
と呼んでいます)は world
の一部として
構築されるため, 古いカーネルがクラッシュする可能性があります.
これらの理由から, どんな場合においても,
再起動する前に新しいカーネルを再構築し, インストールすることが
最も良い手順になります.
新しいカーネルは, make world
(あるいは make installworld ) が完了した後で
構築しなければなりません. もし, そうしない場合には
(おそらく, あなたはシステムを更新する前にカーネルが構築されることを
確認したいのでしょう) 問題が起こるかも知れません. それは,
カーネルソースに対して &man.config.8; コマンドが古いことが原因です.
その場合には, 新しいバージョンの &man.config.8;
でカーネルを構築することができます.
&prompt.root; /usr/obj/usr/src/usr.sbin/config/config KERNELNAME
これは, いつもうまく行くとは限りませんので,
新しいをカーネルをコンパイルする前に
make world (あるいは make
installworld )を完了させることが推奨されています.
これで, 作業はおしまいです.
すべてがあるべき正しい場所に存在することをチェックしたら,
システムを再起動します. これは, 単に
&man.fastboot.8; を実行するだけです.
&prompt.root; fastboot
作業の完了
ここまで来れば, FreeBSD システムのアップグレードは成功です.
おめでとうございます.
さて, この時点で, 今までの間違った操作による小さな問題に
気付くことがあるかも知れません.
たとえば, 私はかつて /etc/magic
をアップグレードの途中で削除し, そのまま
/etc
にマージしてしまったことがあります.
その結果, file
コマンドは動作しなくなってしまったのです.
すぐに思いついたのは, これを修復するには
&prompt.root; cd /usr/src/usr.bin/file
&prompt.root;
だけで十分ではないか, ということでした.
変更が行なわれたら, その度にシステムの再構築が必要になるのでしょうか?
それは変更の性質によるので, なんとも言えません.
例えば, CVSup を実行したとき, 最後に実行したときから比べて
次にあげるようなファイルが更新されていたとします.
src/games/cribbage/instr.c
src/games/sail/pl_main.c
src/release/sysinstall/config.c
src/release/sysinstall/media.c
src/share/mk/bsd.port.mk
このときには, 改めてシステムを再構築する必要はありません.
わたしなら, 適切なサブディレクトリに移って
make all install を行うと思います.
しかし, もし何らかの大きな変更が行なわれているとき, 例えば
src/lib/libc/stdlib が変更されている場合には,
システムを再構築するか, もしくはそのうち,
少なくとも静的にリンクされているもの(と, わたしが追加した
他のプログラムのうち, 静的にリンクされたもの)を
作り直すことでしょう.
結局のところ, どの時点で現在のシステムをアップグレードするかは
あなたが決めることです.
2 週間ごとにシステムを再構築し, その 2 週間の変更を取り込めば
幸せかもしれませんし,
変更のあった部分だけ再構築し, 依存関係を確かめたいと考えるかも知れません.
もちろん, それらはどのくらいの頻度でアップグレードしたいか,
そして -STABLE か -CURRENT のどちらを追いかけているのかによります.
signal 12(もしくは他のシグナル番号)のエラーがたくさん出て
コンパイルが失敗します. 何が起こっているんでしょうか?
これは通常, ハードウェアに問題があることを示しています.
システムの再構築は, ハードウェアに対する負荷耐久試験を行なうための
有効な手段の一つで, メモリに関係する問題がよく報告されます.
その大部分は, コンパイラが奇妙なシグナルを受け取り,
不可解な異常終了となることで発見されます.
本当にこの問題によるものかどうかは, 再構築をもう一度実行し,
異なる段階で異常終了が発生するか, ということから確認できます.
この場合には, マシンの部品を交換して, どの部分が悪いのかを
調べてみることくらいしかできることはありません.
終了したら /usr/obj を削除しても
かまいませんか?
それはあなたが次の機会に,
システムの再構築をどう行なうつもりなのかによります.
/usr/obj には,
コンパイルの段階で生成された
すべてのオブジェクトファイルが含まれています.
通常 /usr/obj
を保存しておいても, あまり意味はありません.
削除すれば, 大きなディスクスペースを
(現在はだいたい 150MB あります) 解放することができます.
しかし, もしあなたが何を行なおうとしているのか理解しているなら,
この段階を省略して
もし, このような危険を承知した上でシステムの再構築を行なう場合には,
次のように変数 NOCLEAN を定義して構築します.
&prompt.root; make -DNOCLEAN world
構築を中断した場合, その構築を途中から再開することはできますか?
それは, あなたが問題に気付く前に,
どれだけの作業を終えているかによって変わります.
一般的に (そしてこれは確実でしっかりした
規則ではありませんが),
make world
の過程では,
基本的なツール ( &man.gcc.1;, や &man.make.1; のようなもの)
や, システムライブラリの新しいコピーが作成されます.
その後まず, これらのツールやライブラリはインストールされてから
自分自身の再構築に使われ, もう一度, インストールされます.
全体のシステム (ここでは &man.ls.1; や &man.grep.1; といった
標準的なユーザプログラムを含みます) は,
その新しいシステムファイルを用いて作り直されることになります.
もし, 再構築が最終段階に入っていること
が(記録しておいた出力を見たりすることで)わかっていたら,
(全く悪影響を与えることなく)次のようにすることができます,
… fix the problem …
&prompt.root; cd /usr/src
&prompt.root; make -DNOCLEAN all
これは, 前回の make world
の作業をやり直しません.
次のメッセージ
--------------------------------------------------------------
Building everything..
--------------------------------------------------------------
が make world
の出力にある場合には,
上のようにしてもほとんど悪影響が現れることはありません.
もしこのメッセージがないとか, よく分からないという場合には,
安全を確保し, 後悔するようなことがないよう,
システムの再構築を最初からやり直しましょう.
あるマシンを
すべてのコンパイル作業をあるマシンで行ない,
構築されたものを他のマシンにネットワークを経由で
make install
することができるかどうかは,
よく FreeBSD メーリングリストで尋ねられます.
これはわたしが行った作業ではありませんので,
下に書かれている提案は, 他の人々から頂いたか,
Makefile から推論したものです.
取るべき適切な方法については,
利用している FreeBSD のバージョンに依存します.
アップグレードしたマシンでは, この作業を行った後に
/etc や /dev の
更新を行わなくてはなりません.
2.1.7 とそれより古いものについて, Antonio Bemfica は
次に示すような方法を教えてくれました.
Date: Thu, 20 Feb 1997 14:05:01 -0400 (AST)
From: Antonio Bemfica <bemfica@militzer.me.tuns.ca>
To: freebsd-questions@freebsd.org
Message-ID: <Pine.BSI.3.94.970220135725.245C-100000@militzer.me.tuns.ca>
Josef Karthauser は質問しました:
> どなたかネットワークを通してマシンをアップグレードするよい方法は知りませんか
まず, メインとなるマシンで make world などをします.
そして次のように, リモートのマシンから / や /usr をマウントします:
main_machine% mount remote_machine:/ /mnt
main_machine% mount remote_machine:/usr /mnt/usr
そして, /mnt をインストール先に指定して 'make install' とします:
main_machine% make install DESTDIR=/mnt
これをネットワーク上の他のマシンについても繰り返してください.
わたしの場合には, これでうまくいきました.
Antonio
この仕組みは (わたしの知る限り) NFS サーバ上の
/usr/src が書き込み可能である場合にのみ
きちんと動作します. FreeBSD-2.1.7 とそれ以前では,
この作業に install ターゲットを使います.
FreeBSD-2.1.7 と FreeBSD-2.2.0 の間で
reinstall
ターゲットが導入されました.
上にあげた FreeBSD-2.1.7 向けの方法に加え,
install
の代わりに reinstall
を
使うことができます.
この方法では, NFS サーバ上の /usr/src
ディレクトリへの書き込み権限は必要
ありません .
Makefile の 1.68 から 1.107 の間のバージョンには,
このターゲットに関するバグがありました.
それは NFS サーバへの書き込み権限が
必要になる というもので,
このバグは FreeBSD-2.2.0 がリリースされる前に修正されました.
この時期の -STABLE が動いている古いサーバでは,
問題になるかも知れません.
FreeBSD-2.2.5 以降のバージョンでは,
buildworld
と
installworld
ターゲットが利用できます.
これらを使ってソースツリーを一つのマシンで構築し,
/usr/src と
/usr/obj をリモートマシンで
NFS マウントして, そこからインストールすることができます.
どのようにすれば make world を高速化できますか?
シングルユーザモードで動かしてください.
/usr/src と
/usr/obj ディレクトリを,
異なるディスク上の別のファイルシステムに置いてください.
また可能ならば, 異なるディスクコントローラに接続された
ディスクを使って下さい.
さらに高速化するには, これらのファイルシステムを
ccd
(連結ディスクドライバ) デバイスを
使って, 別々なディスク上に置いてください.
プロファイル版の作成を無効化して下さい.
(/etc/make.conf で
NOPROFILE=true
をセットします)
普通, それが必要になることはありません.
また, /etc/make.conf の中の
CFLAGS
を,
-O -pipe
のように指定しましょう.
-O2
の最適化はさらに多くの時間を必要とし,
しかも -O
と -O2
の
最適化には, ほtんど差はありません.
-pipe
を指定することで,
コンパイラはテンポラリファイルの代わりにパイプを利用します.
その結果, (メモリの利用は増えますが)ディスクアクセスが減ります.
(もしあなたが十分に最近のバージョンの FreeBSD を使っているなら)
複数のプロセスを並列に実行させるため,
make に -j<n> オプションを指定してください.
これはプロセッサが単一か複数かによらず,
どちらも同様に恩恵を得ることができます.
/usr/src のある
ファイルシステムを, noatime
オプションを付けてマウント(もしくは再マウント)してください.
これは, そのファイルシステムにおいて,
最後にアクセスされた時刻の書き込みを抑制します.
おそらく, この情報が必要になることはないでしょう.
noatime
が利用可能なのは,
FreeBSD-2.2.0 以降です.
&prompt.root; mount -u -o noatime /usr/src
上の例は,
/usr/src 自身が独立したファイルシステムで
あることを想定しています.
もしそうでないときには (例えば /usr の
一部である場合には),
/usr/src ではなく
適切なマウントポイントを指定する必要があります.
/usr/obj のあるファイルシステムを,
async
オプションをつけてマウント (もしくは
再マウント) してください. これによって,
ディスクへの書き込みが非同期になります.
つまり, 書き込み命令はすぐに完了するのに対し,
実際にデータがディスクに書き込まれるのは, その数秒後になります.
これによって, 書き込み処理の一括化が可能になるため,
劇的なパフォーマンスの向上が期待できます.
このオプションを指定すると, ファイルシステムは
壊れやすくなってしまうことに注意してください.
このオプションを付けていて, 突然電源が落ちた場合には,
再起動後にファイルシステムが復旧不能になる可能性が
非常に高くなります.
もし, /usr/obj 自身が独立した
ファイルシステムであるならば, これは問題になりません.
しかし, 同じファイルシステムに, 他の貴重なデータを置いているときには,
このオプションを有効にする前に,
バックアップをきちんと取っておきましょう.
&prompt.root; mount -u -o async /usr/obj
もし /usr/obj 自身が
ファイルシステムでない場合には, 適切なマウントポイントを指すように,
上の例の名前を置き換えて下さい.
貢献してくれた人々
次にあげられているのは, 何らかの形でこの文書に貢献された方々です.
それは, 変更点や改良点, 間違いの指摘を直接教えてくださったり,
わたしがそのまま参考資料とさせていただいた, FreeBSD メーリングリストに
投稿されたメッセージなどによるものです. ここに, みなさんへの感謝の意を表します.
Antonio Bemfica,
bemfica@militzer.me.tuns.ca
Sue Blake, sue@welearn.com.au
Brian Haskin, haskin@ptway.com
Kees Jan Koster, kjk1@ukc.ac.uk
A Joseph Kosy, koshy@india.hp.com
Greg Lehey, grog@lemis.com
Wes Peters, softweyr@xmission.com
Joseph Stein, joes@wstein.com
Studded, studded@dal.net
Axel Thimm,
Axel.Thimm@physik.fu-berlin.de
Matthew Thyer,
Matthew.Thyer@dsto.defence.gov.au
diff --git a/ja_JP.eucJP/books/handbook/eresources/chapter.sgml b/ja_JP.eucJP/books/handbook/eresources/chapter.sgml
index 3f511ed9d9..6b46ae743a 100644
--- a/ja_JP.eucJP/books/handbook/eresources/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/eresources/chapter.sgml
@@ -1,1400 +1,1397 @@
-
+
インターネット上のリソース
原作: &a.jkh;.
- 訳: &a.jp.yuki;.
- 28 August 1996
+ 訳: &a.jp.yuki;, 1996 年 8 月 28 日
FreeBSD の進歩が急速であるため,
最新の開発をフォローするためには,
印刷したメディアは実用的でなくなっています. 大抵の場合,
最新情報を入手する方法としては, 電子的なリソースが ベストです.
FreeBSDはボランティアの努力によって, ユーザコミュニティ自体が,
一種の“テクニカルサポート部門”としての
役割も通常果たしており,
電子メールやUsenetのニュースがこれらのコミュ
ニティにたどり着く最も効果的な方法になっています.
以下に, FreeBSD
ユーザコミュニティに連絡を取る場合の最も重要な点についての
概略を示します.
もしここに書かれていない他のリソースに気がついた場合は, それらを
&a.doc; に送って頂ければ,
それらをここに含めるかもしれません.
メーリングリスト
多くのFreeBSDの開発メンバはUSENETを読むことができますが,
もし, comp.unix.bsd.freebsd.*
のグループの一つに質問を投稿したとしても
タイムリにその質問を受け取るということは保証できません.
質問を適切なメーリングリストに投稿すれば,
私たちかFreeBSDの関係者から, よりよい
(そして少なくともより早い)
反応がいつでも得られることでしょう.
さまざまなメーリングリストの憲章を
このドキュメントの最後に記載しま す. 私たちは,
メーリングリストの質, 特に技術面に関する質を高く保つ
ために努力しているので,
メーリングリストに参加する前にその憲章を読んで ください.
私たちのメーリングリストの参加者のほとんどは,
現在非常 にたくさんの FreeBSD
に関連したメッセージを毎日受け取っており, メーリン
グリストに対するふさわしい
用いられ方をするための憲章やルールを決めるこ とによって,
メーリングリストの S/N 比を高くする保つように励んでいます.
そうしないと, 結果的に, メーリングリストがプロジェクトにとって
事実上のコミュニケーションの手段になってしまうでしょう.
メーリングリストはいずれもアーカイブされており, それらは
FreeBSD World Wide Web
server で検索することができます.
キーワード検索可能なアーカイブの提供は,
良くある質問に対する回答を見つけるすぐれた方法ですから,
質問を投稿する前に調べてみるべきでしょう.
メーリングリストの概説
一般的なメーリングリスト:
以下のものは誰でも自由に参加できる (そしておすすめの)
一般的なものです:
リスト
目的
freebsd-advocacy
FreeBSD の福音伝道
freebsd-announce
重要なイベントやプロジェクトのマイルストン
freebsd-arch
アーキテクチャ, 設計に関する議論
freebsd-bugs
バグレポート
freebsd-chat
FreeBSD
コミュニティに関連する技術的ではない話題
freebsd-current
FreeBSD-current の使用に関連する議論
freebsd-isp
FreeBSD を用いている
インターネットサービスプロバイダの話題
freebsd-jobs
FreeBSD 関連の雇用機会に関する話題
freebsd-newbies
FreeBSD 初心者ユーザの活動と議論
freebsd-policy
FreeBSD Core team のポリシーに関する議論.
流量は少なく, 投稿することはできません
freebsd-questions
ユーザからの質問と技術サポート
freebsd-stable
FreeBSD-stable の使用に関連する議論
技術的なメーリングリスト:
以下のメーリングリストは, 技術的な 議論のためのものです.
それらの利用や内容のためにしっかりとしたガイドラ
インがあるので, これらのメーリングリストに入ったり,
どれか一つにメール を送ったりする前には,
それらのメーリングリストの憲章を注意深く読むべきで す.
リスト
目的
freebsd-afs
FreeBSD へのAFSの移植
freebsd-alpha
FreeBSD の Alpha への移植
freebsd-doc
FreeBSD 関連ドキュメントの作成
freebsd-database
FreeBSD
上でのデータベースの利用や開発に関する議論
freebsd-emulation
Linux/DOS/Windows
のような他のシステムのエミュレーション
freebsd-fs
ファイルシステム
freebsd-hackers
一般的な技術の議論
freebsd-hardware
FreeBSD の走るハードウェアの一般的な議論
freebsd-ipfw
IP firewall コードの再設計に関する技術的議論
freebsd-isdn
ISDN 開発者
freebsd-java
Java 開発者や, FreeBSD へ JDK
を移植する人たち
freebsd-mobile
モーバイルコンピューティングについての議論
freebsd-mozilla
mozilla の FreeBSD への移植に関する議論
freebsd-net
ネットワークおよび TCP/IP
ソースコードに関する議論
freebsd-platforms
Intel 以外のアーキテクチャのプラットフォームへの移植
freebsd-ports
ports コレクションに関する議論
freebsd-scsi
SCSI サブシステム
freebsd-security
セキュリティに関する話題
freebsd-security-notifications
セキュリティに関する通知
freebsd-small
組み込みアプリケーションにおける FreeBSD の利用
freebsd-smp
対称 / 非対称の
マルチプロセッシングの設計に関する議論
freebsd-sparc
FreeBSD の Sparc への移植
freebsd-tokenring
FreeBSD でのトークンリングのサポート
制限されているメーリングリスト:
以下のメーリングリストはより特化された (そしてより厳しい)
メンバーのためのものであり, 一般的な興味を惹くようなものでは
ありません.
このようなメーリングリストに参加する前に, 技術的なメーリングリストで
自らの存在感をアピールするのは良い考えです.
そうすることにより, 議論の際のエチケットを学ぶことができるでしょう.
メーリングリスト
目的
freebsd-core
FreeBSDコアチーム
freebsd-hubs
ミラーサイトを運営している人達
(基盤のサポート)
freebsd-install
インストール関係の開発
freebsd-user-groups
ユーザグループの調整
freebsd-www
www.freebsd.org
の管理者
CVSメーリングリスト:
以下のメーリングリストはソースツリーの
さまざまな場所の変更のログメッセージを見ることに
興味のある人向けです.
これらは読み専用 のリストで,
これらにメールを送る事は出来ません.
メーリングリスト
ソースの範囲
(ソースの) 範囲の説明
cvs-all
/usr/src
ツリーのすべての変更 (スーパーセット)
参加方法
どのメーリングリストもFreeBSD.ORG にあるので,
メーリングリストにメールを送るには, ただ
<listname @FreeBSD.org>
にメールを送るだけです. すると,
メーリングリストに登録されている世界中のメンバに
再配布されます.
メーリングリストに参加するには,
subscribe <listname> [<optional
address>]
という内容をメッセージの本文に含むメールを &a.majordomo;
に送ります. 例えば, freebsd-announce
に参加したい場合は次のようにします:
&prompt.user; mail majordomo@FreeBSD.org
subscribe freebsd-announce
^D
もし, あなたが, 自分自身を違う名前 (メールアドレス)
で登録したい場合, あるいは, ローカルなメーリングリスト
(もしあなたのサイトに, 興味を持った仲間がいるなら,
これはより有効ですし, 私たちにとっても非常に嬉しいことです.)
を登録する申し込みをおこないたいのであれば, 次のようにします:
&prompt.user; mail majordomo@FreeBSD.org
subscribe freebsd-announce local-announce@somesite.com
^D
最後に, majordomo に対して
他のタイプのコントロールメッセージを送ることで
メーリングリストから脱退したり,
メーリングリストの他のメンバのリストを 得たり,
再びメーリングリストのリストを見たりすることも可能です.
利用できるコマンドの完全なリストを入手するには,
次のようにします:
&prompt.user; mail majordomo@FreeBSD.org
help
^D
再度言いますが,
私たちは技術的なメーリングリストでは技術的な議論を保つよう
- 要求します. もし,
- “高いレベル”にのみ興味があるなら, freebsd-announce
- に参加するように勧めます.
- これは少ないトラフィックの予定です.
-
+ 要求します. もし, 重要なアナウンスにのみ興味があるなら,
+ freebsd-announce への参加をお勧めします.
+ これには, あまりたくさんのメールは流れません.
メーリングリストの憲章
全て FreeBSD
メーリングリストは誰でもそれらを利用することに
固守しなければいけないという一定の簡単なルールがあります.
これらのルー ルに従わないと, 結果として FreeBSD の Postmaster
postmaster@FreeBSD.org から 2 回までは警
告を受けます. 3回違反すると,
投稿者は全てのFreeBSDのメーリングリストか ら削除され,
そのメーリングリストへのさらなる投稿から締め出されるでしょ う.
これらのルールや対策が必要なのは残念です.
しかし, 今日のインターネッ
トはずいぶんいやらしい環境になっており, 一般の人々は,
その(対策の) メカニズムがいかにもろいかという事すら
認識する事が出来ていないと思われます.
道標
いかなる投稿記事もそのメーリングリストの
基本的な憲章を守るべきで す. 例えば,
そのメーリングリストが技術的な問題に関するものであ れば,
技術的な議論を含む投稿でなければなりません. 現在継続中の
不適切な憲章やフレイムは,
所属している全ての人に対してメーリングリスト
の価値を下げてしまうだけですし,
許される行為ではないでしょう.
とくに話題のない自由形式の議論に対してはfreebsd-chat
freebsd-chat@FreeBSD.org メーリ
ングリストが自由に認可されているので,
かわりに使うべきでしょう.
一度に 3
つ以上のメーリングリストには決して投稿すべきでは
ありません. 2
つのメーリングリストには双方に明確な必要性がある場合にのみ
投稿すべきです. どのリ ストに対しても,
(メーリングリストの)参加者は(複数のメーリングリ
ストに)重複して参加しており, 関連する部分が少ない(例えば,
"-stable と -scsi")メーリングリストを除いては,
一度に複数のメー
リングリストに投稿する理由は全くありません. もし,
Ccに複数の メーリングリストがそのような形で現れて,
あなたに届いたのであれば, 再びそのメールに返事を出す前に,
ccの部分もまた編集するべきです.
元記事を書いたのが誰であっても,
あなた自身のクロスポストに
まだ 責任があります.
ユーザであれ開発者であれ, (議論の中で)
個人を攻撃したり冒涜した りすることは許されません.
個人的なメールを引用したり再投稿したり
する許可をもらえなかったり, もらえそうにない時に,
それをおこなう ようなネチケット (訳注:
ネットワークにおけるエチケット) に対する
ひどい違反は好まれませんが,
してはならないと特別に定められている わけではありません.
しかしながら , そのような内容がメー
リングリストの憲章に沿う場合はほとんどありません.
このため, メー
リングリストの憲章に違反しているということだけで警告
(または禁止) に値するものと考えていいでしょう.
FreeBSD 以外の関連する製品やサービスの広告は,
絶対に禁止し, spam
による違反者が宣伝していることが明確であったら,
すぐに禁止しま す.
個々のメーリングリストの憲章:
FREEBSD-AFS
Andrew ファイルシステム
このリストは, CMU/Transarc の AFS
の移植や使用に関する議論のためです.
FREEBSD-ANNOUNCE
重要なイベント/マイルストン
これは, 単にたまに発表される重要な freebsd
のイベントに関心がある人のた めのメーリングリストです.
これは, スナップショットやその他のリリースに
ついてのアナウンスを含みます.
そのアナウンスは新しいFreeBSDの機能のア
ナウンスを含んでいます.
ボランティア等の呼びかけがあるかもしれませ ん.
これは流通量の少ないメーリングリストで,
完全なモデレートメーリン グリストです.
FREEBSD-ARCH
アーキテクチャと設計の議論
これは, FreeBSD
の設計に関する議論を行うモデレートメーリングリストです.
内容は, 技術的な内容にほぼ限定されます. 稀に,
全てのリスト登録者に配送する必要があると
思われるメッセージを, モデレータが送る場合もあります.
適切な話題の例:
複数のカスタマイズされたビルドを同時に行うには,
ビルドシステムをどういじり直せばよいか
VFS で Heidemann レイヤを動作させるには,
何を修正する必要があるか
同一のドライバを複数のバスや
アーキテクチャで美しく使うには
デバイスドライバインターフェースを
どう改変すれば良いか
ネットワークドライバを
かくにはどうすればいいか
議長はこのリストに投稿されたメッセージに対し,
たいして重要ではない編集(スペルチェック,
文法の修正と整頓) を行う権限を持っています.
このメーリングリストの流通量は少ないでしょう.
活発な議論が行われている場合は,
論議がおさまるまで新たなトピックの投稿を
遅らせなければならないかも知れません.
FREEBSD-BUGS
バグレポート
これは, FreeBSD
のバグレポートのためのメーリングリストです. 可能である
場合はいつでも, バグは &man.send-pr.1;
を使うか, WEB
interface を用い
て送られる必要があります.
FREEBSD-CHAT
FreeBSDのコミュニティに関する
技術的ではない話題
このメーリングリストは技術的ではなく,
社会的な情報について,
他のメーリングリストでは取り扱わない話題を含みます.
これは, Jordanがシロイタチに似ているかどうか,
大文字で打つかどうか, 誰がたくさんコーヒーを飲むか,
どこのビールが一番うまいか,
誰が地下室でビールを作っているか,
などについての議論を含みます. 時々重要なイベント
(将来開催されるパーティーや, 結婚式, 誕生日,
新しい仕事など) のお知らせが,
技術的なメーリングリストから でてきます. しかし,
フォローは直接
-chatメーリングリストにするべきです.
FREEBSD-CORE
FreeBSDコアチーム
これは, コアメンバが使う内部メーリングリストです.
FreeBSDに関連する深 刻なやっかい事の裁定や
ハイレベルな綿密な調査を要求するときに, このメー
リングリストにメッセージを送る事が出来ます.
FREEBSD-CURRENT
FreeBSD-currentの使用に関する議論
これは freebsd-current
のユーザのためのメーリングリストです.
メーリングリストでの話題は, -current
で登場した新しい機能について,
その新機能によってユーザに影響することについての注意,
および -current
のままでいるために必要な手順についての説明を含みます.
“current”
を走らせている人はこのメーリングリストに
登録しなくてはなりません.
これは技術的なメーリングリストなので,
完全に技術的な内容を要求します.
FREEBSD-CURRENT-DIGEST
FreeBSD-currentの使用に関する議論
freebsd-current
メーリングリストのダイジェスト版です. こ
のダイジェストは freebsd-current
に送られたすべてのメッセージをまとめた ものを,
1つのメールにして送り出します.
平均のサイズは約40kbyteです. こ
のメーリングリストは 読み専用 で,
メールを送るような事はしない で下さい.
FREEBSD-DOC
ドキュメンテーションプロジェクト
このメーリングリストは, の発行物や FreeBSD
用のドキュメントの作成に関
わるプロジェクトに関する議論を行なうためのものです.
このメーリングリストに参加しているメンバーを “
FreeBSD ドキュメンテーションプロジェクト”
と呼びます.
このメーリングリストは公開されているので自由に参加
・投稿することができます.
FREEBSD-FS
ファイルシステム
FreeBSDのファイルシステムに関する議論
これは技術的なメーリングリストなので,
完全に技術的な内容を要求します.
FREEBSD-IPFW
IP Firewall
これは FreeBSD の IP firewall コードの再設計に関する
技術的な議論のためのフォーラムです.
これは技術的なメーリングリストなので,
完全に技術的な内容を要求します.
FREEBSD-ISDN
ISDNコミュニケーション
このメーリングリストは,
FreeBSDに対するISDNサポートの開発の議論を
おこなう人のためのものです.
FREEBSD-JAVA
Javaの開発
このメーリングリストは, FreeBSD
向けのの重要なJavaアプリケーションの開発や, JDK
の移植やメンテナンスの
議論をする人のためのものです.
FREEBSD-HACKERS
技術的な議論
これはFreeBSDに関する技術的な議論のための
フォーラムです.
これは最もテクニカルなメーリングリストです.
このメーリングリストは, FreeBSD
上でアクティブに活動をしている人のためのもので,
問題を持ち出したり, 代わりの解決法を議論します.
技術的な議論をフォローするのに興味がある人も歓迎します.
これは技術的なメーリングリストなので,
完全に技術的な内容を要求します.
FREEBSD-HACKERS-DIGEST
技術的な議論
freebsd-hackersメーリングリストのダイジェスト版です.
このダイジェスト はfreebsd-hackers
に送られたすべてのメッセージをまとめたものを, 1つのメー
ルにして送り出します. 平均のサイズは約40kbyteです.
このメーリングリス トは読み専用 で,
メールを送るような事はしないで下さい.
FREEBSD-HARDWARE
FreeBSDのハードウェアの一般的な議論
FreeBSDが走っているハードウェアのタイプや,
何を買ったり避けたりするかに関する様々な問題や,
提案に関する議論.
FREEBSD-HUBS
ミラーサイト
FreeBSD ミラーサイトを運用している人達向けの,
アナウンスと議論を行なうメーリングリストです.
FREEBSD-INSTALL
インストールに関する議論
このメーリングリストは将来のリリースの
インストールに関する開発の議論のためのものです.
FREEBSD-ISP
インターネットサービスプロバイダのについての話題
このメーリングリストは,
FreeBSDを用いたインターネット サービスプロバイダ (ISP)
に関する話題の議論のためのものです.
これは技術的なメーリングリストなので,
完全に技術的な内容を要求します.
FREEBSD-NEWBIES
初心者の活動の議論
どのメーリングリストでも扱われていなかった
初心者の活動すべてをカバーします. 独学や問題解決,
リソースの見つけ方や使い方, 質問のしかた,
メーリングリストの使い方,
どのメーリングリストを読めばいいのか, 普通の世間話,
間違いの犯し方, 自慢話, アイディアの共有, 物語, 道徳的な
(技術的でない) お手伝い, FreeBSD
コミュニティでの貢献のしかたなどの話題をが含まれます.
これらの問題を取り扱い, freebsd-questions
へ質問できるようサポートします. また,
初心者の頃にはまった同じ事柄に悩んでいる
他の初心者との出会いの場としてfreebsd-newbies
を活用してください.
FREEBSD-PLATFORMS
Intel以外のプラットフォームへの移植
クロスプラットフォームのFreeBSDの問題. Intel
以外のプラットフォームへの FreeBSD
の移植についての一般的な議論や提案.
これは技術的なメーリングリストなので,
完全に技術的な内容を要求します.
FREEBSD-POLICY
Core team のポリシーに関する議論
このメーリングリストは, FreeBSD Core Team のポリシーに
関する議論のためのものです.
流量は少なく, 投稿することはできません.
FREEBSD-PORTS
“ports” の議論
FreeBSD の “ports コレクション”
(/usr/ports ) や, 移植の提案, ports
コレクションの基盤の変更,
一般的な整合化活動についての議論.
これは技術的なメーリングリストなので,
完全に技術的な内容を要求します.
FREEBSD-QUESTIONS
ユーザからの質問
FreeBSDに関する質問のためののメーリングリストです.
その質問がかなり技術的だと思わないのであれば,
“どのようにして”
という質問を技術的なメーリングリストに
送るべきではありません.
FREEBSD-QUESTIONS-DIGEST
ユーザからの質問
freebsd-questions
メーリングリストのダイジェスト版です. このダイジェストは
freebsd-questions
に送られたすべてのメッセージをまとめたものを,
1つのメールにして送り出します.
平均のサイズは約40kbyteです.
FREEBSD-SCSI
SCSIサブシステム
これは FreeBSD のための scsi
サブシステムについて作業している人向けです.
これは技術的なメーリングリストなので,
完全に技術的な内容を要求します.
FREEBSD-SECURITY
セキュリティの関連の話題
FreeBSDコンピュータのセキュリティの話題 (DES,
Kerberos, よく知られている セキュリティホールや,
それらのふさぎ方など)
これは技術的なメーリングリストなので,
完全に技術的な内容を要求します.
FREEBSD-SECURITY-NOTIFICATIONS
セキュリティ関連の通知
FreeBSD のセキュリティ問題や,
修正に関する通知を行ないます.
このメーリングリストは議論を行なうための
メーリングリストではありません. 議論は FreeBSD-security
で行ないます.
FREEBSD-SMALL
FreeBSD 組み込み技術
特殊な FreeBSD 小型システムおよび FreeBSD
の組み込み技術に関する議論.
これは技術的なメーリングリストなので,
完全に技術的な内容を要求します.
FREEBSD-STABLE
FreeBSD-stable の使用に関する議論
これは freebsd-stable のユーザ用のメーリングリスト
です. メーリングリストでの話題は, -stable
で登場した新しい 機能について,
その新機能によってユーザに影響すること についての注意,
および -stable
のままでいるために必要な手順についての説明を含みます.
“stable” を走らせている人はこの
メーリングリストに登録すべきです.
これは技術的なメーリングリストなので, 完全に技術的な
内容を要求します.
FREEBSD-USER-GROUPS
ユーザグループの調整のメーリングリスト
これは, ローカルなユーザグループがお互いに, または,
コアチームが指定した個人と問題を議論する,
それぞれのローカルエリアのユーザグループからの
調整人向けの メーリングリストです.
このメーリングリストはユーザグループ間の
ミーティングの概要やプロジェクトの調整に
制限されるべきです.
Usenet ニュースグループ
2つのFreeBSD用のニュースグループがあります. ここでは
FreeBSDの議論をするたくさんの様々な人がおり,
他にもFreeBSD関連するユーザがいます.
これらのいくつかのニュースグループは Warren Toomey
wkt@cs.adfa.edu.au によって
Keyword searchable archives で,
検索できるようになっています.
BSD用のニュースグループ
comp.unix.bsd.freebsd.announce
comp.unix.bsd.freebsd.misc
関連する他のUnixのニュースグループ
comp.unix
comp.unix.questions
comp.unix.admin
comp.unix.programmer
comp.unix.shell
comp.unix.user-friendly
comp.security.unix
comp.sources.unix
comp.unix.advocacy
comp.unix.misc
comp.bugs.4bsd
comp.bugs.4bsd.ucb-fixes
comp.unix.bsd
X Window システム
comp.windows.x.i386unix
comp.windows.x
comp.windows.x.apps
comp.windows.x.announce
comp.windows.x.intrinsics
comp.windows.x.motif
comp.windows.x.pex
comp.emulators.ms-windows.wine
World Wide Web サイト
http://www.FreeBSD.ORG/
— 本家のサーバ.
http://www.au.FreeBSD.org/
— オーストラリア/1.
http://www.au.FreeBSD.org/
— オーストラリア/2.
http://www.au.FreeBSD.org/
— オーストラリア/3.
http://www.au.FreeBSD.org/www.freebsd.org/
— ブラジル.
http://www.bg.FreeBSD.org/
— ブルガリア.
http://www.bg.FreeBSD.org/
— カナダ/1.
http://FreeBSD.kawartha.com/
— カナダ/2.
http://www.dk.FreeBSD.org/
— デンマーク.
http://www.ee.FreeBSD.org/
— エストニア.
http://www.fi.FreeBSD.org/
— フィンランド.
http://www.fr.FreeBSD.org/
— フランス.
http://www.de.FreeBSD.org/
— ドイツ/1.
http://www1.de.FreeBSD.org/
— ドイツ/2.
http://www2.de.FreeBSD.org/
— ドイツ/3.
http://www.hu.FreeBSD.org/
— ハンガリー.
http://www.is.FreeBSD.org/
— アイスランド.
http://www.ie.FreeBSD.org/
— アイルランド.
http://www.jp.FreeBSD.org/www.FreeBSD.org/
— 日本.
http://www.kr.FreeBSD.org/
— 韓国.
http://rama.asiapac.net/freebsd/
— マレーシア.
http://www.nl.FreeBSD.org/
— オランダ.
http://www.no.FreeBSD.org/
— ノルウェー.
http://www.pl.FreeBSD.org/
— ポーランド.
http://www.pt.FreeBSD.org/
— ポルトガル/1.
http://www2.pt.FreeBSD.org/
— ポルトガル/2.
http://www3.pt.FreeBSD.org/
— ポルトガル/3.
http://www.ro.FreeBSD.org/
— ルーマニア.
http://www.ru.FreeBSD.org/
— ロシア/1.
http://www2.ru.FreeBSD.org/
— ロシア/2.
http://www3.ru.FreeBSD.org/
— ロシア/3.
http://www4.ru.FreeBSD.org/
— ロシア/4.
http://www.sk.FreeBSD.org/
— スロバキア.
http://www.si.FreeBSD.org/
— スロベニア.
http://www.es.FreeBSD.org/
— スペイン.
http://www.za.FreeBSD.org/
— 南アフリカ/1.
http://www2.za.FreeBSD.org/
— 南アフリカ/2.
http://www.se.FreeBSD.org/
— スウェーデン.
http://www.tr.FreeBSD.org/
— トルコ.
http://www.ua.FreeBSD.org/www.freebsd.org/
— ウクライナ/1.
http://www2.ua.FreeBSD.org/
— ウクライナ/2.
http://www.uk.FreeBSD.org/
— イギリス.
http://www6.FreeBSD.org/
— アメリカ/オレゴン.
http://www2.FreeBSD.org/
— アメリカ/テキサス.
Email アドレス
以下のユーザーグループは, メンバーに FreeBSD に関係する
メールアドレスを提供しています. 管理者はアドレスがどのような形であれ
悪用された場合に,
アドレスを無効にする権利を留保しています.
ドメイン
内容
ユーザーグループ
管理者
ukug.uk.FreeBSD.org
forward のみ
freebsd-users@uk.FreeBSD.org
Lee Johnston
lee@uk.FreeBSD.org
シェルアカウント
以下のユーザーグループは, FreeBSD Project を活発にサポートしてくれる
人たちにシェルアカウントを提供しています.
管理者はアカウントがどのような形であれ悪用された場合に,
アカウントを取り消す権利を留保しています.
ホスト
アクセス方法
提供内容
管理者
storm.uk.FreeBSD.org
ssh のみ
Read-only cvs, personal webspace, email
&a.brian
dogma.freebsd-uk.eu.org
Telnet/FTP/SSH
E-Mail, Webspace, Anonymous FTP
Lee Johnston
lee@uk.FreeBSD.org
-
+
diff --git a/ja_JP.eucJP/books/handbook/mirrors/chapter.sgml b/ja_JP.eucJP/books/handbook/mirrors/chapter.sgml
index f65e9e9992..996c9618d8 100644
--- a/ja_JP.eucJP/books/handbook/mirrors/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/mirrors/chapter.sgml
@@ -1,1393 +1,1394 @@
-
+
FreeBSD の入手方法
CD-ROM 出版社
FreeBSD は Walnut Creek CDROM から出されている CD-ROM
から入手できます:
Walnut Creek CDROM
4041 Pike Lane, Suite F
Concord
CA , 94520
USA
Phone: +1 925 674-0783
Fax: +1 925 674-0821
Email: info@cdrom.com
WWW: http://www.cdrom.com/
FTP サイト
FreeBSD の公式な情報は anonymous FTP によって以下の場所から
入手できます:
ftp://ftp.FreeBSD.org/pub/FreeBSD/ .
FreeBSD
ミラーサイトデーターベース FreeBSD ハンドブックの
“ミラーサイト一覧”
よりも正確です.というのはその情報を DNS から取得するので,
静的に記述されたリストよりも信頼性が高いのです.
さらに, FreeBSD は以下のミラーサイトから anonymous FTP
によって 入手できます. もし FreeBSD を anonymous FTP
によって手にいれる場合は,
近くのサイトを利用するようにしてください.
Argentina,
Australia,
Brazil,
Canada,
China,
Czech Republic,
Denmark,
Estonia,
Finland,
France,
Germany,
Hong Kong,
Ireland,
Israel,
Japan,
Korea,
Netherlands,
New Zealand,
Poland,
Portugal,
Russia,
Saudi Arabia,
South Africa,
Spain,
Slovak Republic,
Slovenia,
Sweden,
Taiwan,
Thailand,
UK,
Ukraine,
USA.
アルゼンチン
何か問題がある場合は,このドメインの
hostmaster hostmaster@ar.FreeBSD.org
に連絡してください.
ftp.ar.FreeBSD.org/pub/FreeBSD/
オーストラリア
何か問題がある場合は, このドメインの hostmaster
hostmaster@au.FreeBSD.org
に連絡してください.
ftp://ftp.au.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.au.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.au.FreeBSD.org/pub/FreeBSD/
ftp://ftp4.au.FreeBSD.org/pub/FreeBSD/
ブラジル
何か問題がある場合は, このドメインの hostmaster
hostmaster@br.FreeBSD.org
に連絡してください.
ftp://ftp.br.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.br.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.br.FreeBSD.org/pub/FreeBSD/
ftp://ftp4.br.FreeBSD.org/pub/FreeBSD/
ftp://ftp5.br.FreeBSD.org/pub/FreeBSD/
ftp://ftp6.br.FreeBSD.org/pub/FreeBSD/
ftp://ftp7.br.FreeBSD.org/pub/FreeBSD/
カナダ
何か問題がある場合は, このドメインの hostmaster
hostmaster@ca.FreeBSD.org
に連絡してください.
ftp://ftp.ca.FreeBSD.org/pub/FreeBSD/
中国
何か問題がある場合は, このドメインの hostmaster
phj@cn.FreeBSD.org
に連絡してください.
ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/
チェコ
何か問題がある場合は, このドメインの hostmaster
hostmaster@cz.FreeBSD.org
に連絡してください.
ftp://ftp.cz.FreeBSD.org/pub/FreeBSD/
連絡先: calda@dzungle.ms.mff.cuni.cz
デンマーク
何か問題がある場合は,このドメインの hostmaster
hostmaster@dk.FreeBSD.org
に連絡してください.
ftp://ftp.dk.FreeBSD.org/pub/FreeBSD/
エストニア
何か問題がある場合は, このドメインの hostmaster
hostmaster@ee.FreeBSD.org
に連絡してください.
ftp://ftp.ee.FreeBSD.org/pub/FreeBSD/
フィンランド
何か問題がある場合は, このドメインの hostmaster
hostmaster@fi.FreeBSD.org
に連絡してください.
ftp://ftp.fi.FreeBSD.org/pub/FreeBSD/
フランス
何か問題がある場合は, このドメインの hostmaster
hostmaster@fr.FreeBSD.org
に連絡してください.
ftp://ftp.fr.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.fr.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.fr.FreeBSD.org/pub/FreeBSD/
ドイツ
何か問題がある場合は, このドメインのミラー管理者
de-bsd-hubsr@de.FreeBSD.org
に連絡してください.
ftp://ftp.de.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.de.FreeBSD.org/pub/FreeBSD/
ftp://ftp4.de.FreeBSD.org/pub/FreeBSD/
ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/
ftp://ftp6.de.FreeBSD.org/pub/FreeBSD/
ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/
香港
ftp://ftp.hk.super.net/pub/FreeBSD/
連絡先: ftp-admin@HK.Super.NET .
アイルランド
何か問題がある場合は, このドメインの hostmaster
hostmaster@ie.FreeBSD.org
に連絡してください.
ftp://ftp.ie.FreeBSD.org/pub/FreeBSD/
イスラエル
何か問題がある場合は, このドメインの hostmaster
hostmaster@il.FreeBSD.org
に連絡してください.
ftp://ftp.il.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.il.FreeBSD.org/pub/FreeBSD/
日本
何か問題がある場合は, このドメインの hostmaster
hostmaster@jp.FreeBSD.org
に連絡してください.
ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.jp.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.jp.FreeBSD.org/pub/FreeBSD/
ftp://ftp4.jp.FreeBSD.org/pub/FreeBSD/
ftp://ftp5.jp.FreeBSD.org/pub/FreeBSD/
ftp://ftp6.jp.FreeBSD.org/pub/FreeBSD/
韓国
何か問題がある場合は, このドメインの hostmaster
hostmaster@kr.FreeBSD.org
に連絡してください.
ftp://ftp.kr.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.kr.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.kr.FreeBSD.org/pub/FreeBSD/
ftp://ftp4.kr.FreeBSD.org/pub/FreeBSD/
ftp://ftp5.kr.FreeBSD.org/pub/FreeBSD/
ftp://ftp6.kr.FreeBSD.org/pub/FreeBSD/
オランダ
何か問題がある場合は, このドメインの hostmaster
hostmaster@nl.FreeBSD.org
に連絡してください.
ftp://ftp.nl.FreeBSD.org/pub/FreeBSD/
New Zealand
何か問題がある場合は, このドメインの hostmaster
hostmaster@nz.FreeBSD.org
に連絡してください.
ftp://ftp.nz.FreeBSD.org/pub/FreeBSD/
ポーランド
何か問題がある場合は,このドメインの hostmaster
hostmaster@pl.FreeBSD.org
に連絡してください.
ftp://ftp.pl.FreeBSD.org/pub/FreeBSD/
ポルトガル
何か問題がある場合は, このドメインの hostmaster
hostmaster@pt.FreeBSD.org
に連絡してください.
ftp://ftp.pt.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.pt.FreeBSD.org/pub/FreeBSD/
ロシア
何か問題がある場合は, このドメインの
hostmaster hostmaster@ru.FreeBSD.org
に連絡してください.
ftp://ftp.ru.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.ru.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.ru.FreeBSD.org/pub/FreeBSD/
ftp://ftp4.ru.FreeBSD.org/pub/FreeBSD/
サウジアラビア
何か問題がある場合は,
ftpadmin@isu.net.sa
に連絡してください.
ftp://ftp.isu.net.sa/pub/mirrors/ftp.freebsd.org/
南アフリカ
何か問題がある場合は, このドメインの hostmaster
hostmaster@za.FreeBSD.org
に連絡してください.
ftp://ftp.za.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.za.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.za.FreeBSD.org/pub/FreeBSD/
スロヴァキア共和国
何か問題がある場合には, このドメインの hostmaster
hostmaster@sk.FreeBSD.org
に連絡してください.
ftp://ftp.sk.FreeBSD.org/pub/FreeBSD/
スロベニア
何か問題がある場合には, このドメインの hostmaster
hostmaster@si.FreeBSD.org
に連絡してください.
ftp://ftp.si.FreeBSD.org/pub/FreeBSD
スペイン
何か問題がある場合は, このドメインの hostmaster
hostmaster@es.FreeBSD.org
に連絡してください.
ftp://ftp.es.FreeBSD.org/pub/FreeBSD/
スウェーデン
何か問題がある場合は, このドメインの hostmaster
hostmaster@se.FreeBSD.org
に連絡してください.
ftp://ftp.se.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.se.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.se.FreeBSD.org/pub/FreeBSD/
台湾
何か問題がある場合は, このドメインの hostmaster
hostmaster@tw.FreeBSD.org
に連絡してください.
ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.tw.FreeBSD.org/pub/FreeBSD/
ftp://ftp4.tw.FreeBSD.org/pub/FreeBSD/
タイ
ftp://ftp.nectec.or.th/pub/FreeBSD/
連絡先: ftpadmin@ftp.nectec.or.th .
ウクライナ
ftp://ftp.ua.FreeBSD.org/pub/FreeBSD/
連絡先: freebsd-mnt@lucky.net .
イギリス
何か問題がある場合は, このドメインの hostmaster
hostmaster@uk.FreeBSD.org
に連絡してください.
ftp://ftp.uk.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.uk.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.uk.FreeBSD.org/pub/FreeBSD/
ftp://ftp4.uk.FreeBSD.org/pub/FreeBSD/
アメリカ
何か問題がある場合は, このドメインの hostmaster
hostmaster@FreeBSD.org
に連絡してください.
ftp://ftp.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.FreeBSD.org/pub/FreeBSD/
ftp://ftp3.FreeBSD.org/pub/FreeBSD/
ftp://ftp4.FreeBSD.org/pub/FreeBSD/
ftp://ftp5.FreeBSD.org/pub/FreeBSD/
ftp://ftp6.FreeBSD.org/pub/FreeBSD/
FreeBSD (2.0C またはそれ以降) の輸出規制コード (eBones と
secure) の 最新のバージョンは以下の場所から入手できます.
もしあなたがアメリカやカナダ以外にいるのであれば, secure (DES)
と eBones (Kerberos) を
以下の外国向けの配布サイトから手にいれてください:
南アフリカ
このドメインの Hostmaster
hostmaster@internat.FreeBSD.org .
ftp://ftp.internat.FreeBSD.org/pub/FreeBSD/
ftp://ftp2.internat.FreeBSD.org/pub/FreeBSD/
ブラジル
このドメインの Hostmaster
hostmaster@br.FreeBSD.org .
ftp://ftp.br.FreeBSD.org/pub/FreeBSD/
フィンランド
ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt/
連絡先: count@nic.funet.fi .
CTM サイト
CTM/FreeBSD
は以下のミラーサイトから anonymous FTP によって入手できます.
もし CTM を anonymous FTP によって手にいれる場合は,
近くのサイトを利用するようにしてください.
何か問題がある場合は, &a.phk;に連絡してください.
カリフォルニア, サンフランシスコ近辺,
公式なソース
ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/
ドイツ, トリエル
ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM/
南アフリカ, ctm, sup,
CVSupなどの古い差分ファイルのバックアップサーバ
ftp://ftp.internat.FreeBSD.org/pub/FreeBSD/CTM/
台湾/中華民国, チャーイー(嘉義)
ftp://ctm.tw.FreeBSD.org/pub/freebsd/CTM/
ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/CTM/
ftp://ctm3.tw.FreeBSD.org/pub/freebsd/CTM/
近くにミラーサイトがない場合やミラーが不完全な場合は,
http://ftpsearch.ntnu.no/ftpsearch の
FTP search
を試してください.
FTP search はノルウェーの Trondheim にある,
フリーの素晴らしい アーカイブサーバです.
CVSup サイト
FreeBSD の CVSup
サーバは以下のサイトで稼働しています:
アルゼンチン
cvsup.ar.FreeBSD.org
(maintainer msagre@cactus.fi.uba.ar )
オーストラリア
cvsup.au.FreeBSD.org
- (maintainer dawes@physics.usyd.edu.au )
+ (maintainer dawes@xfree86.org )
ブラジル
cvsup.br.FreeBSD.org
(maintainer cvsup@cvsup.br.FreeBSD.org )
cvsup2.br.FreeBSD.org
(maintainer tps@ti.sk )
cvsup3.br.FreeBSD.org (maintainer
camposr@matrix.com.br )
カナダ
cvsup.ca.FreeBSD.org
(maintainer dan@jaded.net )
中国
cvsup.cn.FreeBSD.org (maintainer
phj@cn.FreeBSD.org )
チェコ
cvsup.cz.FreeBSD.org (maintainer
cejkar@dcse.fee.vutbr.cz )
デンマーク
cvsup.dk.FreeBSD.org
(maintainer jesper@skriver.dk )
エストニア
cvsup.ee.FreeBSD.org
(maintainer taavi@uninet.ee )
フィンランド
cvsup.fi.FreeBSD.org
(maintainer count@key.sms.fi )
cvsup2.fi.FreeBSD.org
(maintainer count@key.sms.fi )
フランス
cvsup.fr.FreeBSD.org (maintainer
hostmaster@fr.FreeBSD.org )
ドイツ
cvsup.de.FreeBSD.org
(maintainer wosch@FreeBSD.org )
cvsup2.de.FreeBSD.org
(maintainer petzi@FreeBSD.org )
cvsup3.de.FreeBSD.org
(maintainer ag@leo.org )
アイスランド
cvsup.is.FreeBSD.org
(maintainer adam@veda.is )
日本
cvsup.jp.FreeBSD.org
- (maintainer simokawa@sat.t.u-tokyo.ac.jp )
+ (maintainer cvsupadm@jp.FreeBSD.org )
cvsup2.jp.FreeBSD.org
(maintainer max@FreeBSD.org )
cvsup3.jp.FreeBSD.org
(maintainer shige@cin.nihon-u.ac.jp )
cvsup4.jp.FreeBSD.org
(maintainer
cvsup-admin@ftp.media.kyoto-u.ac.jp )
cvsup5.jp.FreeBSD.org
(maintainer cvsup@imasy.or.jp )
+
+
+ cvsup6.jp.FreeBSD.org
+ (maintainer cvsupadm@jp.FreeBSD.org )
+
韓国
cvsup.kr.FreeBSD.org (maintainer
cjh@kr.FreeBSD.org )
オランダ
cvsup.nl.FreeBSD.org
(maintainer xaa@xaa.iae.nl )
cvsup2.nl.FreeBSD.org
(maintainer cvsup@nl.uu.net )
ノルウェー
cvsup.no.FreeBSD.org
- (maintainer Tor.Egge@idt.ntnu.no )
+ (maintainer Per.Hove@math.ntnu.no )
ポーランド
cvsup.pl.FreeBSD.org
(maintainer Mariusz@kam.pl )
ロシア
cvsup.ru.FreeBSD.org
- (maintainer mishania@demos.su )
+ (maintainer mishania@sibintek.net )
cvsup2.ru.FreeBSD.org
(maintainer dv@dv.ru )
cvsup3.ru.FreeBSD.org
(maintainer fjoe@iclub.nsu.ru )
スロヴァキア共和国
cvsup.sk.FreeBSD.org
(maintainer tps@tps.sk )
cvsup2.sk.FreeBSD.org
(maintainer tps@tps.sk )
スロベニア
cvsup.si.FreeBSD.org (maintainer
blaz@si.FreeBSD.org )
南アフリカ
cvsup.za.FreeBSD.org
(maintainer markm@FreeBSD.org )
cvsup2.za.FreeBSD.org
(maintainer markm@FreeBSD.org )
スペイン
cvsup.es.FreeBSD.org (maintainer
jesusr@FreeBSD.org )
スウェーデン
cvsup.se.FreeBSD.org
(maintainer pantzer@ludd.luth.se )
台湾
cvsup.tw.FreeBSD.org
(maintainer
jdli@freebsd.csie.nctu.edu.tw )
cvsup2.tw.FreeBSD.org (maintainer
ycheng@sinica.edu.tw )
cvsup3.tw.FreeBSD.org (maintainer
foxfair@FreeBSD.org )
ウクライナ
cvsup2.ua.FreeBSD.org
(maintainer freebsd-mnt@lucky.net )
イギリス
cvsup.uk.FreeBSD.org
(maintainer joe@pavilion.net )
cvsup2.uk.FreeBSD.org
(maintainer brian@FreeBSD.org )
アメリカ
cvsup1.FreeBSD.org
(maintainer
skynyrd@opus.cts.cwu.edu ), ワシントン州
cvsup2.FreeBSD.org
(maintainer
- jdp@FreeBSD.org ), カリフォルニア
+ jdp@FreeBSD.org ), カリフォルニア州
cvsup3.FreeBSD.org
(maintainer
- wollman@FreeBSD.org ), マサチューセッツ
+ wollman@FreeBSD.org ), マサチューセッツ州
cvsup4.FreeBSD.org (maintainer
- rgrimes@FreeBSD.org ), オレゴン
+ rgrimes@FreeBSD.org ), オレゴン州
cvsup5.FreeBSD.org
(maintainer
- ck@adsu.bellsouth.com ), ジョージア
+ mjr@blackened.com ), アリゾナ州
cvsup6.FreeBSD.org (maintainer
- jdp@FreeBSD.org ), フロリダ
+ jdp@FreeBSD.org ), フロリダ州
cvsup7.FreeBSD.org (maintainer
jdp@FreeBSD.org ), ワシントン州
-
- cvsup8.FreeBSD.org (maintainer
- mjr@blackened.com ), アリゾナ
-
FreeBSD の輸出規制されたコード (eBones と secure) は
CVSup 経由で以下
の国際的なリポジトリから入手できます.
アメリカ合衆国やカナダ以外に居る 場合は,
このサイトを使って輸出規制されたコードを入手してください.
南アフリカ
cvsup.internat.FreeBSD.org
(maintainer markm@FreeBSD.org )
以下の CVSup サイトは, CTMユーザのことを特に
考慮して運用されています. 他の CVSup のミラーサイトとは異なり,
これら のサイトでは CTM
を使って最新の状態を保っています. つまり, もし以下の サイトから
cvs-all を release=cvs で
CVSup すれば,
CTM の cvs-cur
のデルタを使って更新するのに適した CVS のリポ ジトリ
(必須となる .ctm_status
ファイルも含まれています.) を 入手することができます.
これにより, これまで CVSup を使って
cvs-all 全部を入手していたユーザも
CTM のベースデルタを使って
最初からリポジトリを構築し直すことなく
CVSu p から
CTM へと移行すること
が可能です.
この機能は, リリースタグを cvs として
cvs-all ディ
ストリビューションを入手する時のみ
利用できるものですので注意してくださ い.
他のディストリビューションやリリースタグを
指定した場合でも指定した ファイルを入手することは可能ですが,
これらのファイルを CTM で更新する
ことはできません.
また, CTM
の現在のバージョンではタイムスタンプを保存しないため, 以
下のサイトのファイルのタイムスタンプは
他のミラーとは異なる物となってい ますので注意が必要です.
利用するサイトを以下のサイトと他のサイトの間で
変更することはお勧めできません.
ファイルの転送は問題なくできますが, 少々 非能率的です.
ドイツ
ctm.FreeBSD.org
(maintainer blank@fox.uni-trier.de )
AFS サイト
FreeBSD の AFS サーバは以下のサイトで稼働しています:
スウェーデン
ファイルは以下の場所にあります:
/afs/stacken.kth.se/ftp/pub/FreeBSD/
stacken.kth.se # Stacken Computer Club, KTH, Sweden
130.237.234.43 #hot.stacken.kth.se
130.237.237.230 #fishburger.stacken.kth.se
130.237.234.3 #milko.stacken.kth.se
Maintainer ftp@stacken.kth.se
-
+
diff --git a/ja_JP.eucJP/books/handbook/pgpkeys/chapter.sgml b/ja_JP.eucJP/books/handbook/pgpkeys/chapter.sgml
index 8299e4e531..afb776043d 100644
--- a/ja_JP.eucJP/books/handbook/pgpkeys/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/pgpkeys/chapter.sgml
@@ -1,714 +1,768 @@
-
+
PGP 公開鍵
原作: 不明.
訳: &a.jp.kiroh;.
署名を検証したり, コアチームメンバやオフィサに暗号メー
ルを送りたい場合のために, PGPの公開鍵を添付します.
オフィサ
FreeBSD Security Officer
security-officer@FreeBSD.org
FreeBSD Security Officer <security-officer@FreeBSD.org>
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-----
&a.imp;
Warner Losh <imp@village.org>
aka <imp@FreeBSD.org>
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-----
コアチームメンバ
&a.asami;
Satoshi Asami <asami@cs.berkeley.edu>
aka <asami@FreeBSD.org>
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-----
&a.jmb;
Jonathan M. Bresler <jmb@FreeBSD.org>
f16 Key fingerprint16 = 31 57 41 56 06 C1 40 13 C5 1C E3 E5 DC 62 0E FB
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 5.0i for non-commercial use
mQCNAzG2GToAAAEEANI6+4SJAAgBpl53XcfEr1M9wZyBqC0tzpie7Zm4vhv3hO8s
o5BizSbcJheQimQiZAY4OnlrCpPxijMFSaihshs/VMAz1qbisUYAMqwGEO/T4QIB
nWNo0Q/qOniLMxUrxS1RpeW5vbghErHBKUX9GVhxbiVfbwc4wAHbXdKX5jjdAAUR
tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQNbtI
gAHbXdKX5jjdAQHamQP+OQr10QRknamIPmuHmFYJZ0jU9XPIvTTMuOiUYLcXlTdn
GyTUuzhbEywgtOldW2V5iA8platXThtqC68NsnN/xQfHA5xmFXVbayNKn8H5stDY
2s/4+CZ06mmJfqYmONF1RCbUk/M84rVT3Gn2tydsxFh4Pm32lf4WREZWRiLqmw+J
AJUDBRA0DfF99RVb+45ULV0BAcZ0BACCydiSUG1VR0a5DBcHdtin2iZMPsJUPRqJ
tWvP6VeI8OFpNWQ4LW6ETAvn35HxV2kCcQMyht1kMD+KEJz7r8Vb94TS7KtZnNvk
2D1XUx8Locj6xel5c/Lnzlnnp7Bp1XbJj2u/NzCaZQ0eYBdP/k7RLYBYHQQln5x7
BOuiRJNVU4kAlQMFEDQLcShVLh4uc9KIpQEBJv4D/3mDrD0MM9EYOVuyXik3UGVI
8quYNA9ErVcLdt10NjYc16VI2HOnYVgPRag3Wt7W8wlXShpokfC/vCNt7f5JgRf8
h2a1/MjQxtlD+4/Js8k7GLa53oLon6YQYk32IEKexoLPwIRO4L2BHWa3GzHJJSP2
aTR/Ep90/pLdAOu/oJDUiQCVAwUQMqyL0LNaYutZnzI9AQF25QP9GFXhBrz2tiWz
2+0gWbpcGNnyZbfsVjF6ojGDdmsjJMyWCGw49XR/vPKYIJY9EYo4t49GIajRkISQ
NNiIz22fBAjT2uY9YlvnTJ9NJleMfHr4dybo7oEKYMWWijQzGjqf2m8wf9OaaofE
KwBX6nxcRbKsxm/BVLKczGYl3XtjkcuJAJUDBRA1ol5TZWCprDT5+dUBATzXA/9h
/ZUuhoRKTWViaistGJfWi26FB/Km5nDQBr/Erw3XksQCMwTLyEugg6dahQ1u9Y5E
5tKPxbB69eF+7JXVHE/z3zizR6VL3sdRx74TPacPsdhZRjChEQc0htLLYAPkJrFP
VAzAlSlm7qd+MXf8fJovQs6xPtZJXukQukPNlhqZ94kAPwMFEDSH/kF4tXKgazlt
bxECfk4AoO+VaFVfguUkWX10pPSSfvPyPKqiAJ4xn8RSIe1ttmnqkkDMhLh00mKj
lLQuSm9uYXRoYW4gTS4gQnJlc2xlciA8Sm9uYXRoYW4uQnJlc2xlckBVU2kubmV0
PokAlQMFEDXbdSkB213Sl+Y43QEBV/4D/RLJNTrtAqJ1ATxXWv9g8Cr3/YF0GTmx
5dIrJOpBup7eSSmiM/BL9Is4YMsoVbXCI/8TqA67TMICvq35PZU4wboQB8DqBAr+
gQ8578M7Ekw1OAF6JXY6AF2P8k7hMcVBcVOACELPT/NyPNByG5QRDoNmlsokJaWU
/2ls4QSBZZlb
=zbCw
-----END PGP PUBLIC KEY BLOCK-----
&a.ache;
Andrey A. Chernov <ache@FreeBSD.org>
aka <ache@nagual.pp.ru>
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-----
&a.jkh;
Jordan K. Hubbard <jkh@FreeBSD.org>
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.3ia
mQCNAzFjX0IAAAEEAML+nm9/kDNPp43ZUZGjYkm2QLtoC1Wxr8JulZXqk7qmhYcQ
jvX+fyoriJ6/7ZlnLe2oG5j9tZOnRLPvMaz0g9CpW6Dz3nkXrNPkmOFV9B8D94Mk
tyFeRJFqnkCuqBj6D+H8FtBwEeeTecSh2tJ0bZZTXnAMhxeOdvUVW/uOVC1dAAUR
tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPokBFQMFEDXCTXQM
j46yp4IfPQEBwO8IAIN0J09AXBf86dFUTFGcAMrEQqOF5IL+KGorAjzuYxERhKfD
ZV7jA+sCQqxkWfcVcE20kVyVYqzZIkio9a5zXP6TwA247JkPt54S1PmMDYHNlRIY
laXlNoji+4q3HP2DfHqXRT2859rYpm/fG/v6pWkos5voPKcZ2OFEp9W+Ap88oqw+
5rx4VetZNJq1Epmis4INj6XqNqj85+MOOIYE+f445ohDM6B/Mxazd6cHFGGIR+az
VjZ6lCDMLjzhB5+FqfrDLYuMjqkMTR5z9DL+psUvPlCkYbQ11NEWtEmiIWjUcNJN
GCxGzv5bXk0XPu3ADwbPkFE2usW1cSM7AQFiwuyJAJUDBRAxe+Q9a1pnjYGyp3kB
AV7XA/oCSL/Cc2USpQ2ckwkGpyvIkYBPszIcabSNJAzm2hsU9Qa6WOPxD8olDddB
uJNiW/gznPC4NsQ0N8Zr4IqRX/TTDVf04WhLmd8AN9SOrVv2q0BKgU6fLuk979tJ
utrewH6PR2qBOjAaR0FJNk4pcYAHeT+e7KaKy96YFvWKIyDvc4kAlQMFEDF8ldof
f6kIA1j8vQEBDH4D/0Zm0oNlpXrAE1EOFrmp43HURHbij8n0Gra1w9sbfo4PV+/H
U8ojTdWLy6r0+prH7NODCkgtIQNpqLuqM8PF2pPtUJj9HwTmSqfaT/LMztfPA6PQ
csyT7xxdXl0+4xTDl1avGSJfYsI8XCAy85cTs+PQwuyzugE/iykJO1Bnj/paiQCV
AwUQMXvlBvUVW/uOVC1dAQF2fQP/RfYC6RrpFTZHjo2qsUHSRk0vmsYfwG5NHP5y
oQBMsaQJeSckN4n2JOgR4T75U4vS62aFxgPLJP3lOHkU2Vc7xhAuBvsbGr5RP8c5
LvPOeUEyz6ZArp1KUHrtcM2iK1FBOmY4dOYphWyWMkDgYExabqlrAq7FKZftpq/C
BiMRuaw=
=C/Jw
-----END PGP PUBLIC KEY BLOCK-----
&a.phk;
Poul-Henning Kamp <phk@FreeBSD.org>
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
tCNQb3VsLUhlbm5pbmcgS2FtcCA8cGhrQEZyZWVCU0Qub3JnPokAlQMFEDQQ0aZ1
u244dqP3sQEBu4ID/jXFFeJgs2MdTDNOZM/FbfDhI4qxAbYUsqS3+Ra16yd8Wd/A
jV+IHJE2NomFWl8UrUjCGinXiwzPgK1OfFJrS9Og1wQLvAl0X84BA8MTP9BQr4w7
6I/RbksgUSrVCIO8MJwlydjSPocWGBeXlVjbZxXzyuJk7H+TG+zuI5BuBcNIiQCV
AwUQMwYr2rNaYutZnzI9AQHiIQP/XxtBWFXaBRgVLEhRNpS07YdU+LsZGlLOZehN
9L4UnJFHQQPNOpMey2gF7Y95aBOw5/1xS5vlQpwmRFCntWsm/gqdzK6rulfr1r5A
y94LO5TAC6ucNu396Y4vo1TyD1STnRC466KlvmtQtAtFGgXlORWLL9URLzcRFd1h
D0yXd9aJAJUDBRAxfo19a1pnjYGyp3kBAQqyA/4v64vP3l1F0Sadn6ias761hkz/
SMdTuLzILmofSCC4o4KWMjiWJHs2Soo41QlZi1+xMHzV32JKiwFlGtPHqL+EHyXy
Q4H3vmf9/1KF+0XCaMtgI0wWUMziPSTJK8xXbRRmMDK/0F4TnVVaUhnmf+h5K7O6
XdmejDTa0X/NWcicmIkAlQMFEDF8lef1FVv7jlQtXQEBcnwD/0ro1PpUtlkLmreD
tsGTkNa7MFLegrYRvDDrHOwPZH152W2jPUncY+eArQJakeHiTDmJNpFagLZglhE0
bqJyca+UwCXX+6upAclWHEBMg2byiWMMqyPVEEnpUoHM1sIkgdNWlfQAmipRBfYh
2LyCgWvR8CbtwPYIFvUmGgB3MR87iQCVAwUQMUseXB9/qQgDWPy9AQGPkwP/WEDy
El2Gkvua9COtMAifot2vTwuvWWpNopIEx0Ivey4aVbRLD90gGCJw8OGDEtqFPcNV
8aIiy3fYVKXGZZjvCKd7zRfhNmQn0eLDcymq2OX3aPrMc2rRlkT4Jx425ukR1gsO
qiQAgw91aWhY8dlw/EKzk8ojm52x4VgXaBACMjaJAJUDBRAxOUOg72G56RHVjtUB
AbL4A/9HOn5Qa0lq9tKI/HkSdc5fGQD/66VdCBAb292RbB7CS/EM07MdbcqRRYIa
0+0gwQ3OdsWPdCVgH5RIhp/WiC+UPkR1cY8N9Mg2kTwJfZZfNqN+BgWlgRMPN27C
OhYNl8Q33Nl9CpBLrZWABF44jPeT0EvvTzP/5ZQ7T75EsYKYiYkAlQMFEDDmryQA
8tkJ67sbQQEBPdsEALCj6v1OBuJLLJTlxmmrkqAZPVzt5QdeO3Eqa2tcPWcU0nqP
vHYMzZcZ7oFg58NZsWrhSQQDIB5e+K65Q/h6dC7W/aDskZd64jxtEznX2kt0/MOr
8OdsDis1K2f9KQftrAx81KmVwW4Tqtzl7NWTDXt44fMOtibCwVq8v2DFkTJy
=JKbP
-----END PGP PUBLIC KEY BLOCK-----
&a.rich;
Rich Murphey <rich@FreeBSD.org>
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-----
&a.jdp;
John D. Polstra <jdp@polstra.com>
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-----
&a.peter;
Peter Wemm <peter@FreeBSD.org>
aka <peter@spinner.dialix.com>
aka <peter@haywire.dialix.com>
aka <peter@perth.dialix.oz.au>
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-----
&a.joerg;
Type Bits/KeyID Date User ID
pub 1024/76A3F7B1 1996/04/27 Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
Key fingerprint = DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E
Joerg Wunsch <joerg_wunsch@interface-business.de>
Joerg Wunsch <j@uriah.heep.sax.de>
Joerg Wunsch <j@interface-business.de>
-----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-----
開発者
&a.joe;
Type Bits/KeyID Date User ID
pub 768/7EBDECB1 1996/12/19 Josef L. Karthauser <joe@pavilion.net>
joe@tao.org.uk
joe@uk.freebsd.org
joe@FreeBSD.org
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3ia
mQBtAzK5TJQAAAEDAKlRtbnhuBNWwq+hkYyubUzCYZu60ZFtwdkCgyBurSzTmfMG
1ylVOdwzpgFL8JHRAGhzugRvZqRiCrCl+CvYaeW2+ee3Yw+brl6YEqLMxy0ap2kD
NbpZ7LIO7AMffr3ssQAFEbQmSm9zZWYgTC4gS2FydGhhdXNlciA8am9lQHBhdmls
aW9uLm5ldD6JAJUDBRA3DNxYDu2852ZqdCEBAXrwBACTRn6uz+uFHxi9nj8qdg14
m3SvBJ58i82IdyhuD5m04/Rgc3Bwk1VDY2eKHuILcgDInd94EePpHTxMvjblfImn
No9yqKYQw+V2zbsa8idTVDb5eNWGdRmVndjY95ZVKuhhIlwqLJELvKKbYZjjSabl
ijn+lvEEl+gO4avcQZnOjIkAlQMFEDRSgYdv0qcS0gZ4vQEBq/cD+gJsogBSFwYl
otle1JGgq1lkIq46uJWS8h61QL9+wnKQ3l19VElXK3/s/HUqBZagKyrF7QSs1dhg
T/RKSr/kdG0dPhLhqESgzii9CS6MgHM8CnmP7oDP78i1yAkVL9bJ/a22Il+YZNlt
r+XOn9EivaFojjHFQy5a+7e/HEXbgtwMiQD2AwUQMxRrf6ZKZnTBjNYdAQENIgcH
RcYYGiOYT0FAqSvAlHPunpPhO+9TBKD5FP307YtUTHdI19Y+LgFT599ond3wfArR
K3ue6D1G6//kbemfLZVxOJ+PRpJ0jIqZQ//7mKAI3VGu4vGO0EGQLkzIfwiVaCwa
8jZh5406CaqE7DkXVypvcVkL3hdqD8o16qht8Y23rjrEUgRYIIWUGftCAHWMZEq3
NqU/nqzgIv72PMEC3jBjdPld84GOiX9e3XjOSur6uLMRj87e9qce73sYUsGb2/cf
ypx8Hy/FN/FVUKbW4/ddHOeW75vBGgtIwY0R+eDW1wWXiQB1AwUQMrlMlA7sAx9+
veyxAQFftQL/T64Xc63YXllDIVGw0ZQtM0cdolYzP5OAu2Pvb0iWiJia6SkxePJo
FyNuWEO0obBpeP/QuapnceYUBNiheT4gRccEO1+VjFRuAiZb7+Huwh4FXrRbhJte
3FmOE07jacQ9tA5qb2VAdGFvLm9yZy51a4kAdQMFEDgPy5gO7AMffr3ssQEBYGsC
/iIslOxLXMgz9BSw1ndflqYOImPtn4OQJAG+eyZInVKfZDhyEHtO6ID7zRNx+0wh
fAgEU760e8V5rEFea9U0/qY7QneanDRGI+rP81V/fnP3wdZBCGXDNMCM6ofcuTP6
MbQSam9lQHVrLmZyZWVic2Qub3JniQB1AwUQOA/Lgg7sAx9+veyxAQHeXgL8DJQ1
xeeFLQOrg4vI5nfQOjPJqaZ4xpPv1k5wIjPRElGj7QACZVX5L/bEzhK+7fggSXxB
b4cmEhiDOIFOBR6HWL/RnMimoGtC53OHKRrA43/eqB/saCbTfN4+KAypw1WatA9q
b2VARnJlZUJTRC5vcmeJAHUDBRA4D8tRDuwDH3697LEBAZU6Av0e8n+hesovDEkn
ox3JKhC1L33jXu0nOQZ/2Yz6jY1icghgy/L2KO57+T2YBV6DGpk4IlY9jZJRRKti
KCHSMahng7whIHNSugWqzLNanK+YPfXC2CsUI02w1srjFcDurBg=
=O/Rl
-----END PGP PUBLIC KEY BLOCK-----
&a.cpiazza;
Type Bits/KeyID Date User ID
pub 2048/FB722BE5 1996/04/07 Chris Piazza <cpiazza@jaxon.net>
Chris Piazza <cpiazza@home.net>
Chris Piazza <cpiazza@FreeBSD.org>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3ia
mQENAzFnIKcAAAEIANA6TShD9jrbc0IODhZooybcqM04h94IOaX5HPcYo/5FHSFB
ezBuea19iBB/spGQUfpDAuGuqsz1DCCtL0OBz1cn4r74OMqrY4bQHKunCF8hUL8H
hRVn33B5KmljTHo8jFQAV/8QwvU6OUaLgM4CoZsMdrgfSaAxGNGu+RAK2xbm9KX7
BykXX+MIYRbJHpxA+25o8OZTOEC0Sa3kg94F9lT+iL1zB5s3dTPrQPzOFZCD0PdK
ByEnGt+GoFNV1j7nO26vNa0fQZTSL+bNmnO54NPE0u8gtaqhGqRN+EHbo90eJ487
XqDOI0b+XHK98y2T1lEGYmjuSLmA9xHAr/tyK+UABRG0IENocmlzIFBpYXp6YSA8
Y3BpYXp6YUBqYXhvbi5uZXQ+iQEVAwUQOD+czfcRwK/7civlAQGdqggAnDjRfVCG
QLCCncva1yLPQY2OUBz4SW4NfR4RSPbmDTs+kDJpqAN4/w76LwOry3B6Hp4MnrZP
Iv0DDzePM+5hs535wDNcU6KQwbZEyv7e9Q+dpWW6vj8hEynZYp5Vcb0VbejU9NJf
rHuSIx0cIKfztxM11csTYqPHGZcHUPy3w7BtB03ATioWt0/Ybj3vtLj36JHI1csk
yzgeHJrQ17yvcoNGno2Aqrdbf+PJ7lO/Wiy+40r6jyJmt9o5neT1kOgVvXGVOp7R
dbOQXGAZay2nxRcQALrRD7VF/ugpJke2MykL0GebFYmSOVWRjVkmLlXl/AXLS/Vw
FJ0MTMDOOq7MCbQfQ2hyaXMgUGlhenphIDxjcGlhenphQGhvbWUubmV0PokBFQMF
EDg/nOT3EcCv+3Ir5QEBc8sIAKz1sxByTTiwj8+FKKb1lFYgxXYfqUzp1dl31eFy
fTXv6thrGvBzmBtMRLVOymvBBy7VP3cLN7rtyyS3jKR+UdDZcJBKM1bF5lBCWF7T
DmpvHR79Od79pgWTiU7bkHM7LBXOEhahO9Q6SAIaIhw85LfVRV/oh2ZB+PocvyLe
iJhKehe6W+ao0ZSUDm5tlG8wrgvjKEkEAOHh/pCCxFh2zQmUwyxFljy8/OooTE37
tBaTTaVx98dQUtm59u8ITFpbmPX5mIlKu8H9R3oY1Ur6DPtHV7OTVewTBCjuatyw
FwbGcP7DLEAmmYhICwtYQOa62+ORNh2/v/GHTt+ZxHFGHuW0IkNocmlzIFBpYXp6
YSA8Y3BpYXp6YUBGcmVlQlNELm9yZz6JARUDBRA3a0Oi9xHAr/tyK+UBARC7B/9+
CaKMlF11O8TpP3FfWUpwMwdMynaebd3Xx3U01DleHqnqfy8PwhZY9jwcvgggaXSN
7FUUzRocsTTEbFj7hZHAYRfNH+KcXr3EmB5b82M10NHeqWIFF8vcpEwM6lvFIbne
Mve1eVw4S2Vl0yHQJvoVUqAvlFpN3dgFOg69qBPe6qWsaNDPN+dwUorWckV613EP
Gbxp9cs2j3awBnENjP16jkmEKuQPcAnl6l6XgP1X27PKICkPUTLO+CKfRq15Qs9p
evhyqAaUMNU/GYMqs5sceDQq1PUpmE1syGCZUQmvYfXfRmujHdZnDRDl+afN4UoH
hrCuygxmOl22RDH3aEXi
=JxBt
-----END PGP PUBLIC KEY BLOCK-----
&a.guido;
Guido van Rooij <guido@gvr.win.tue.nl>
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-----
&a.brian;
Type Bits/KeyID Date User ID
pub 1024/666A7421 1997/04/30 Brian Somers <brian@awfulhak.org>
Key fingerprint = 2D 91 BD C2 94 2C 46 8F 8F 09 C4 FC AD 12 3B 21
Brian Somers <brian@uk.FreeBSD.org>
Brian Somers <brian@OpenBSD.org>
Brian Somers <brian@FreeBSD.org>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3ia
mQCNAzNmogUAAAEEALdsjVsV2dzO8UU4EEo7z3nYuvB2Q6YJ8sBUYjB8/vfR5oZ9
7aEQjgY5//pXvS30rHUB9ghk4kIFSljzeMudE0K2zH5n2sxpLbBKWZRDLS7xnrDC
I3j9CNKwQBzMPs0fUT46gp96nf1X8wPiJXkDUEia/c0bRbXlLw7tvOdmanQhAAUR
tCFCcmlhbiBTb21lcnMgPGJyaWFuQGF3ZnVsaGFrLm9yZz6JAJUDBRA3Fjs4H3+p
CANY/L0BAZOxBACTZ1zPdaJzEdT4AfrebQbaU4ytEeodnVXZIkc8Il+LDlDOUAIe
k5PgnHTRM4yiwcZuYQrCDRFgdOofcFfRo0PD7mGFzd22qPGmbvHiDBCYCyhlkPXW
IDeoA1cX77JlU1NFdy0dZwuX7csaMlpjCkOPc7+856mr6pQi48zj7yZtrYkAlQMF
EDcUqZ2dZ0EADG4SFQEBEm0EAL2bBNc4vpxPrg3ATdZ/PekpL6lYj3s9pBf8f7eY
LXq438A/ywiWkrL74gXxcZ2Ey9AHZW+rbJPzUbrfMAgP3uWobeSvDyKRo1wtKnTY
Hy+OEIbBIHDmIUuK3L7KupBf7WAI46Q7fnyz0txvtRruDjvfoyl9/TSRfIKcaw2a
INh7iQCVAwUQNwyWpmdKPfFUsXG5AQEIrAQAmukv2u9ihcnO2Zaak265I+gYozu+
biAngdXNfhTGMeExFzdzQ8Qe7EJugMpIDEkJq2goY35sGitD+ogSVWECjcVbHIAP
M2u9axFGlK7fDOmmkH2ZWDMtwx2I5dZps3q2g9mY2O9Az5Yokp7GW7viSpWXHTRH
xOsuY6aze71U7RWJAHUDBRA3DAEvDuwDH3697LEBAWRHAv9XXkub6mir/DCxzKI2
AE3tek40lRfU6Iukjl/uzT9GXcL3uEjIewiPTwN+k4IL+qcCEdv8WZgv/tO45r59
IZQsicNaSAsKX/6Cxha6Hosg1jw4rjdyz13rgYRi/nreq5mJAJUDBRA2r0CM9p+f
Pnxlu7UBAYObA/40s5SwEpXTrePO78AoUFEa5Z4bgyxkpT7BVbq6m/oQtK509Xe2
M2y0XTLkd86oXpjyKzGzWq8T6ZTKNdF9+5LhS2ylJytdPq1AjDk2BocffWX4+pXn
RPiC6XcNdYGiQL8OTHvZESYQDiHeMfwA8WdMzFK1R80nJMwANYXjJJrLzYkAlQMF
EDNt51zvs7EFZlNtbQEBW0UD/jZB6UDdEFdhS0hxgahv5CxaQDWQbIEpAY9JL1yg
d1RWMKUFGXdRkWZmHEA4NvtwFFeam/HZm4yuGf8yldMyo84loTcVib7lKh4CumGx
FT5Pxeh/F8u9EeQzclRFSMhVl0BA2/HEGyjw0kbkprI/RD3pXD7ewTAUrj2O3XhE
InLgiQCVAwUQM3O9vWyr6JZzEUkFAQF9nAP9Hco0V/3Kl70N5ryPVgh41nUTd7Td
6fUjx8yPoSZLX8vVZ8XMyd8ULFmzsmA+2QG4HcKo/x/4s50O3o8c+o1qSYj0Tp+K
4Z8lneMVlgBNdrRcq4ijEgk0qGqSlsXyLElkVPEXAADBVgzf6yqvipDwXNVzl6e3
GPLE8U2TAnBFZX6JAJUDBRAzZqIFDu2852ZqdCEBATsuBACI3ofP7N3xuHSc7pWL
NsnFYVEc9utBaclcagxjLLzwPKzMBcLjNGyGXIZQNB0d4//UMUJcMS7vwZ8MIton
VubbnJVHuQvENloRRARtarF+LC7OLMCORrGtbt0FtYgvBaqtgXlNcKXD6hRT+ghR
bi3q34akA7Xw8tiFIxdVgSusALQjQnJpYW4gU29tZXJzIDxicmlhbkB1ay5GcmVl
QlNELm9yZz6JAJUDBRA3FLWcnWdBAAxuEhUBAcYYBACos9nKETuaH+z2h0Ws+IIY
mN9FEm8wpPUcQmX5GFhfBUQ+rJbflzv0jJ/f2ac9qJHgIIAlJ3pMkfMpU8UYHEuo
VCe4ZTU5sr4ZdBaF9kpm2OriFgZwIv4QAi7dCMu9ZwGRtZ3+z3DQsVSagucjZTIe
yTUR6K+7E3YXANQjOdqFZYkAlQMFEDcUpeQO7bznZmp0IQEB4HED/Ru3NjwWO1gl
xEiLTzRpU31Rh1Izw1lhVMVJkLAGBw9ieSkjvdIkuhqV1i+W4wKBClT0UOE28Kjp
WbBKPFIASRYzN4ySwpprsG5H45EFQosovYG/HPcMzXU2GMj0iwVTxnMq7I8oH588
ExHqfEN2ARD3ngmB2499ruyGl26pW/BftCBCcmlhbiBTb21lcnMgPGJyaWFuQE9w
ZW5CU0Qub3JnPokAlQMFEDcUtW6dZ0EADG4SFQEBQwsD/j9B/lkltIdnQdjOqR/b
dOBgJCtUf905y6kD+k4kbxeT1YAaA65KJ2o/Zj+i+69F2+BUJ/3kYB7prKwut2h0
ek1ZtncGxoAsQdFJ5JSeMkwUZ5qtGeCmVPb59+KPq3nU6p3RI8Bn77FzK//Qy+IW
/WFVJbf/6NCNCbyRiRjPbGl/iQCVAwUQNxSlyA7tvOdmanQhAQFzMAP/dvtsj3yB
C+seiy6fB/nS+NnKBoff3Ekv57FsZraGt4z9n4sW61eywaiRzuKlhHqrDE17STKa
fBOaV1Ntl7js7og5IFPWNlVh1cK+spDmd655D8pyshziDF6fSAsqGfTn35xl23Xj
O20MMK44j4I5V6rEyUDBDrmX49J56OFkfwa0IEJyaWFuIFNvbWVycyA8YnJpYW5A
RnJlZUJTRC5vcmc+iQCVAwUQNxS1Y51nQQAMbhIVAQHPBQP+IMUlE4DtEvSZFtG4
YK9usfHSkStIafh/F/JzSsqdceLZgwcuifbemw79Rhvqhp0Cyp7kuI2kHO3a19kZ
3ZXlDl3VDg41SV/Z5LzNw9vaZKuF/vtGaktOjac5E5aznWGIA5czwsRgydEOcd8O
VPMUMrdNWRI6XROtnbZaRSwmD8aJAJUDBRA3FKWuDu2852ZqdCEBAWVJA/4x3Mje
QKV+KQoO6mOyoIcD4GK1DjWDvNHGujJbFGBmARjr/PCm2cq42cPzBxnfRhCfyEvN
aesNB0NjLjRU/m7ziyVn92flAzHqqmU36aEdqooXUY2T3vOYzo+bM7VtInarG1iU
qw1G19GgXUwUkPvy9+dNIM/aYoI/e0Iv3P9uug==
=R3k0
-----END PGP PUBLIC KEY BLOCK-----
- &a.wosch;
+ &a.gsutter;
+
+
+Type Bits KeyID Created Expires Algorithm Use
+sec+ 1024 0x40AE3052 1998-07-18 ---------- DSS Sign & Encrypt
+f20 Fingerprint20 = 61D4 6A28 F282 482E 1D82 D077 E31E 323D 40AE 3052
+uid Gregory S. Sutter <gsutter@pobox.com>
+uid Gregory S. Sutter <gsutter@zer0.org>
+uid Gregory S. Sutter <gsutter@daemonnews.org>
+uid Gregory S. Sutter <gsutter@freebsd.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: PGPfreeware 5.0i for non-commercial use
+
+mQGiBDWwRbkRBADL0OcTOXSuvEljVeSmPKgz6YipAxjRiGXGF7HuocoHXI+r8s3K
+v6PkuyNVrK3a7MSDoDrxVqj1wjnuQeLBsMcDdrAp1bVTEgP163jv5wHNEDijGs8+
+s9xYkfMtaD9pcG4K43IznHmrtZEoRLcr5UvFGLOmxhnQarrXVPpo2IwMPwCg/51/
+ux0NwYu2FvMoa6vtmrHuen0EAKCjgmbmjbyGrkTW7pTzU4yBsWFY3k50zKiUKROW
+aRT+sBd6oeMVs+utXDgsQMDuzl3xj3NX6Wx+VIZkqkw/3QyAf7VkiAOesWJp2dhq
+7554U4epQiN6W/GAdqU2q6N+jxIh1wdrJ/VMlKcFtGMbHDCt52HnGjYxjNoyDF0u
+e5g9A/0fx5ovCDcdWDIbl11SZZR/xs7XTUh8jktFcLuBmp9kus3UsAhCEhEHxz/k
+iZijslR9y/2fPW7s47/3pUCp63UFMbIqH1PEEp5BP7KSguVzFTiKrpGjOepnr3iD
+l6C4Bzdj3tVJpqponhw7uGtIA2Nn7LA++yrJJgMoG+4t+FwrErQlR3JlZ29yeSBT
+LiBTdXR0ZXIgPGdzdXR0ZXJAcG9ib3guY29tPokASwQQEQIACwUCNbBFuQQLAwEC
+AAoJEOMeMj1ArjBSFWMAoOLKlv5FuMyKu16cywqBzjL3RMF4AJ4h4pdOqQ9AZuzH
+Q8DvK+P9POroH4kAlQMFEDcCut6nMUamZyAzSQEBOEUD/3VxwTGQ0Dq0JrAgBimm
+bq0J7LD3X9Qn/vJUVIv/O6b6sDNk/YseZ2aee5jJYi6tgpRvMSxc7AlQhZXGYlWh
++RXj9ZrFYnDKa1o5S8/Dt24J1EtkRV09bG9pjonyvcE1q65zMNEDpeSHUAgMfHqx
+flFG3XLn/urWT/6Dz5oO4k8qtCRHcmVnb3J5IFMuIFN1dHRlciA8Z3N1dHRlckB6
+ZXIwLm9yZz6JAEsEEBECAAsFAjcCzSwECwMBAgAKCRDjHjI9QK4wUq80AKDiVGlw
+v8LBl9RB2bfSNh6zebaLPgCgwgKacEKFiZsjfBI2k+UMIt4P8+60KkdyZWdvcnkg
+Uy4gU3V0dGVyIDxnc3V0dGVyQGRhZW1vbm5ld3Mub3JnPokASwQQEQIACwUCOKMz
+4AQLAwECAAoJEOMeMj1ArjBSypAAoPGul5bdNLiS0sFkno8qIwkW/gn5AJ9bD1MC
+sKiw4AE9d778eiAlQAC3FbQnR3JlZ29yeSBTLiBTdXR0ZXIgPGdzdXR0ZXJAZnJl
+ZWJzZC5vcmc+iQBLBBARAgALBQI4ozP9BAsDAQIACgkQ4x4yPUCuMFItNwCfeLOH
+XGrmJmtTg5GXHpTXMykoUo4An1eV9eaD+HiOkWo7arv52CpMdVWOuQINBDWwW6UQ
+CADMB1dmE9coFmpddqM0j+buoK+A8cm6G1U/Lxg7fiIYcd9SdbWWSPTAy0bFpWrF
+we/YWtIhd1sDTFNtqu5iCOWqbU73T+X/578zmbgAWhNhkPehdtRr4KzChGt44akk
+hHBLwwbt8j+M3Xth3OKzZYME/5J+qI5HFKcxSr2cfWHQfSqh/8R5S3wKgO1SZzcJ
+sxhhJ96AvmvUASmWHVn1fUloG0QfJOGdbNDEZFKYD2aKylQWbgwVfxSU4TLJHNJ6
+0JHlzJEXJUSj49qjNPT4UKcdzury/P3t7mTpnxD+TUdTtpjvCDCfmJatyGL0pS9e
+UtnL08rrll2xEkzQCz+jHmDlAAICCACPwOCIs0e2pGE2El0Gx4Lrj59uohs/WFYq
+7TESaD+OODeCebEhPPrkyZe88nfAgqZ65qw3dhA6JhatmpZUcCypAaA1YKtwtdQg
+cdsAk0A+C8pHZKLkgor6EuV8iYoykpKrh7/ViO0ZcgDGolcjCIw985wjSzbN6Ul5
+FWcoMe8l686YDSAmfyJdwtMSC2hvc8rX3oZ83or011F0bKlv56+ZgUsrGYL48cp9
+r7vLLonu8e8voS0CGqmQQ6XfLRefRY0RE3iQSd4F4GhKlAUVncqIu2fSX/eW053+
+ZeNve8aHPL6xl8BwsqwVGnxdQXOn8XgJ5/FCCXtdtf2xPOx83tkXiQA/AwUYNbBb
+peMeMj1ArjBSEQKIRwCfTRtkMAYosaxcNRuO9ptFaOJIDu8AoPOSj8eMlvOqOVDM
+AW4VTHVXOY6g
+=Zu9y
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+
+ &a.wosch;
Type Bits/KeyID Date User ID
pub 1024/2B7181AD 1997/08/09 Wolfram Schneider <wosch@FreeBSD.org>
Key fingerprint = CA 16 91 D9 75 33 F1 07 1B F0 B4 9F 3E 95 B6 09
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3ia
mQCNAzPs+aEAAAEEAJqqMm2I9CxWMuHDvuVO/uh0QT0az5ByOktwYLxGXQmqPG1G
Q3hVuHWYs5Vfm/ARU9CRcVHFyqGQ3LepoRhDHk+JcASHan7ptdFsz7xk1iNNEoe0
vE2rns38HIbiyQ/2OZd4XsyhFOFtExNoBuyDyNoe3HbHVBQT7TmN/mkrcYGtAAUR
tCVXb2xmcmFtIFNjaG5laWRlciA8d29zY2hARnJlZUJTRC5vcmc+iQCVAwUQNxnH
AzmN/mkrcYGtAQF5vgP/SLOiI4AwuPHGwUFkwWPRtRzYSySXqwaPCop5mVak27wk
pCxGdzoJO2UgcE812Jt92Qas91yTT0gsSvOVNATaf0TM3KnKg5ZXT1QIzYevWtuv
2ovAG4au3lwiFPDJstnNAPcgLF3OPni5RCUqBjpZFhb/8YDfWYsMcyn4IEaJKre0
JFdvbGZyYW0gU2NobmVpZGVyIDxzY2huZWlkZXJAemliLmRlPokAlQMFEDcZxu85
jf5pK3GBrQEBCRgD/jPj1Ogx4O769soiguL1XEHcxhqtrpKZkKwxmDLRa0kJFwLp
bBJ3Qz3vwaB7n5gQU0JiL1B2M7IxVeHbiIV5pKp7FD248sm+HZvBg6aSnCg2JPUh
sHd1tK5X4SB5cjFt3Cj0LIN9/c9EUxm3SoML9bovmze60DckErrRNOuTk1IntCJX
b2xmcmFtIFNjaG5laWRlciA8d29zY2hAYXBmZWwuZGU+iQEVAwUQNmfWXAjJLLJO
sC7dAQEASAgAnE4g2fwMmFkQy17ATivljEaDZN/m0GdXHctdZ8CaPrWk/9/PTNK+
U6xCewqIKVwtqxVBMU1VpXUhWXfANWCB7a07D+2GrlB9JwO5NMFJ6g0WI/GCUXjC
xb3NTkNsvppL8Rdgc8wc4f23GG4CXVggdTD2oUjUH5Bl7afgOT4xLPAqePhS7hFB
UnMsbA94OfxPtHe5oqyaXt6cXH/SgphRhzPPZq0yjg0Ef+zfHVamvZ6Xl2aLZmSv
Cc/rb0ShYDYi39ly9OPPiBPGbSVw2Gg804qx3XAKiTFkLsbYQnRt7WuCPsOVjFkf
CbQS31TaclOyzenZdCAezubGIcrJAKZjMIkAlQMFEDPs+aE5jf5pK3GBrQEBlIAD
/3CRq6P0m1fi9fbPxnptuipnoFB/m3yF6IdhM8kSe4XlXcm7tS60gxQKZgBO3bDA
5QANcHdl41Vg95yBAZepPie6iQeAAoylRrONeIy6XShjx3S0WKmA4+C8kBTL+vwa
UqF9YJ1qesZQtsXlkWp/Z7N12RkueVAVQ7wRPwfnz6E3tC5Xb2xmcmFtIFNjaG5l
aWRlciA8d29zY2hAcGFua2UuZGUuZnJlZWJzZC5vcmc+iQCVAwUQNxnEqTmN/mkr
cYGtAQFnpQP9EpRZdG6oYN7d5abvIMN82Z9x71a4QBER+R62mU47wqdRG2b6jMMh
3k07b2oiprVuPhRw/GEPPQevb6RRT6SD9CPYAGfK3MDE8ZkMj4d+7cZDRJQ35sxv
gAzQwuA9l7kS0mt5jFRPcEg5/KpuyehRLckjx8jpEM7cEJDHXhBIuVg=
=3V1R
-----END PGP PUBLIC KEY BLOCK-----
-
+
diff --git a/ja_JP.eucJP/books/handbook/ppp-and-slip/chapter.sgml b/ja_JP.eucJP/books/handbook/ppp-and-slip/chapter.sgml
index ccd534347f..da8fbd4725 100644
--- a/ja_JP.eucJP/books/handbook/ppp-and-slip/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/ppp-and-slip/chapter.sgml
@@ -1,2980 +1,2991 @@
PPP と SLIP
もしあなたがモデムを使ってインターネットに接続したり,
他の人々に FreeBSD によるインターネットへのダイヤルアップ接続を
提供しようとしているのでしたら, PPP または SLIP
接続を選択することができます. PPP 接続には, 2
種類の方法が提供されています: ユーザ PPP
(iijppp とも呼ばれます)
とカーネル PPP です. 両方の PPP の設定手順と,
SLIP の設定方法については以下の章に書かれています.
ユーザ ppp の設定
ユーザ ppp は FreeBSD 2.0.5-RELEASE において,
既存のカーネル実装版の PPP に加えて導入されました. それでは,
これまでの pppd との違い, すなわち この新しい PPP
が追加された理由とは いったい何なのでしょうか?
マニュアルから引用してみます:
これはユーザプロセス PPP ソフトウェアパッケージです.
通常, PPP は (例えば pppd
でそうなっているように) カーネルの一部として
実装されていますので, デバッグや動作の変更が少々困難です.
しかし, この実装では, PPP はトンネルデバイスドライバ
(tun ) の
助けにより, ユーザプロセスとして実装されています.
本質として, これは常に PPP デーモンを実行しておかなくても,
必要な時に ppp プログラムを実行できるということを意味します.
このプログラムはカーネルとのデータ送受のために
一般のトンネルデバイスを 使うことができるため, PPP
インターフェースをカーネルに組み込んでおく
必要がありません.
以降では, ユーザ ppp と pppd のような他の
PPP クライアント/サーバ
ソフトウェアとを区別する必要が無い場合には, ユーザ ppp を単に
ppp とだけ 呼びます. 特に断らない限り,
このセクションのすべてのコマンドは root 権限で
実行する必要があります.
バージョン 2 の ppp では,
数多くの機能強化がおこなわれています. どのバージョンの ppp
がインストールされているのかを調べるには, 引数なしで ppp
を起動し, プロンプトが表示されたら show
version とタイプしてください. 最新版の ppp
にアップグレードするのは, (どのバージョンの FreeBSD においても)
難しいことではありません. www.Awfulhak.org
から最新版のアーカイブをダウンロードしてください.
スタートの前に
このドキュメントでは, あなたが
およそ以下のような状況にあると仮定しています:
PPP 接続の使えるインターネットサービスプロバイダ (ISP)
のアカウントを 持っている. さらに, 接続済みのモデム
(またはその他のデバイス) があり,
プロバイダとの接続が可能なように正しく設定されている.
以下の情報を手に入れておく必要があるでしょう:
プロバイダの電話番号.
ログイン名とパスワード. これは通常の unix
形式のログイン名と パスワードの組という場合もありますし,
PPP PAP または CHAP の
ログイン名とパスワードの組という場合もあります.
一つ以上のネームサーバの IP アドレス. 通常,
プロバイダから IP アドレスを二つ指示されている はずです.
自分でネームサーバを立ち上げている場合を除き, バージョン
1.X の PPP
を使用している場合には,
この情報は絶対に 必要です. バージョン
2 の PPP からは,
ネームサーバアドレスの 自動設定機能が追加されています.
この機能をプロバイダ側でもサポートしていれば, ppp
の設定ファイルに enable dns
と書いておくことで PPP
がネームサーバアドレスの設定をおこなうようになります.
プロバイダからは以下の情報が提供されているはずですが,
どうしても必要というわけではありません:
プロバイダのゲートウェイの IP アドレス.
ゲートウェイとは, あなたがそこに接続をおこなって,
“デフォルトルート”
として設定することになるマシンです.
プロバイダがこのアドレスを明示していなくても, 最初は
適当に設定しておいて, 接続時にプロバイダの PPP サーバから
正しいアドレスを教えてもらうことができます.
このアドレスは, 以降 HISADDR
と呼ぶことにします.
プロバイダのネットマスク設定.
プロバイダが明示していないとしても, ネットマスクとして
255.255.255.0
を使用しておけば問題ありません.
もしプロバイダから固定の IP
アドレスとホスト名の割り当てを 受けていれば,
その情報を指定しておくこともできます.
割り当てを受けていなければ, 接続先から適切な IP
アドレスを指定してもらいます.
もし, 必要な情報が不足していれば, プロバイダに連絡を取って
確認しておいてください.
ppp 対応カーネルの構築
説明でも述べているように, ppp
はカーネルの tun デバイスを使います.
そのため, このデバイスがカーネルに組み込まれているかどうかを
確認しておかなくてはいけません.
これを確認するには, カーネルコンパイルディレクトリ
(/sys/i386/conf または
/sys/pc98/conf ) に移動して,
カーネルコンフィグレーションファイルを調べます.
以下の行がどこかに含まれている必要があります.
pseudo-device tun 1
元々の GENERIC カーネルは
標準でこれを含んでいますので,
カスタムカーネルをインストールしているのではなかったり,
/sys ディレクトリが存在しないのであれば,
何も変更する必要はありません.
この行がカーネルコンフィグレーションファイルに
含まれていなかったり, tun デバイスが
一つでは足りない場合
(例えば, 同時に 16 本の ダイアルアップ PPP
接続を処理できるサーバを立ち上げるとしたら,
1 のかわりに 16
を指定する必要があるでしょう), この行を追加して
カーネルの再コンパイルとインストールをおこなう必要があります.
それからこの新しいカーネルを使ってブートしてください.
カーネルコンフィグレーションの詳細については, FreeBSD
カーネルのコンフィグレーション
を参照してください.
以下のコマンドを実行することで,
現在のカーネルにトンネルデバイスが
いくつ組み込まれているかを調べることができます:
&prompt.root; 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=8010<POINTOPOINT,MULTICAST> mtu 1500
この例ではトンネルデバイスが四つ存在し, そのうち二つに
設定がおこなわれ, 使用中であることがわかります. 上の例で
RUNNING フラグがオンになっている
ものがありますが, これは
そのインターフェースが何かに使用されていることを示している
だけであるということに注意してください. つまり,
RUNNING になっていない
インターフェースがあったとしても, それはエラーではありません.
トンネルデバイスがカーネルに組み込まれておらず,
何らかの理由で
カーネルの再構築ができない場合でも,
方法がないわけではありません.
動的にデバイスをロードすることができるはずです.
詳細については
&man.modload.8; や &man.lkm.4; など,
適切なマニュアルを参照してください.
この機会にファイアウォールも
設定しておきたいと思っているのであれば, 詳細については ファイアウォールセクションを
参照してください.
tun デバイスの確認
ほとんどのユーザは tun デバイス
(/dev/tun0 ) が一つあれば充分でしょう.
より多くのデバイスを使う場合 (すなわち,
カーネルコンフィグレーション ファイルで pseudo-device
tun の行に 1
以外の数値を指定している場合), 以下で
tun0 と書かれている部分をすべて,
あなたが使うデバイスの番号に
あわせて読みかえてください.
tun0
デバイスが正しく作成されていることを確認する最も簡単な方法は,
それを作り直すことです. そのためには,
以下のコマンドを実行します:
&prompt.root; cd /dev
&prompt.root; ./MAKEDEV tun0
カーネルに 16 個のトンネルデバイスを組み込んだのであれば,
tun0 だけでなく他の tun
デバイスも作成しておく必要があるでしょう:
&prompt.root; cd /dev
&prompt.root; ./MAKEDEV tun15
また, カーネルが正しく設定されているかどうかを調べるために
以下のコマンドを実行して,
このような出力が得られることを確認します:
&prompt.root; ifconfig tun0
tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500
まだ RUNNING
フラグがセットされていない場合もあります.
その時は以下のような出力が得られるでしょう:
&prompt.root; ifconfig tun0
tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
名前の解決に関する設定
リゾルバ (resolver) はシステムの一部分で, IP
アドレスとホスト名との 変換をおこないます. IP
アドレスとホスト名を対応させるためのマップを,
二つの場所のうちの一つから探すように設定できます. 一つめは
/etc/hosts (man 5
hosts ) と呼ばれるファイルです. 二つめはインターネット
ドメインネームサービス (DNS) と呼ばれる
分散データベースですが, これに関する議論は
このドキュメントで扱う範囲を 越えていますので,
これについての説明はおこないません.
このセクションではリゾルバの
設定方法について簡単に説明します.
リゾルバは名前のマッピングを
おこなうシステムコールの集合体です. ただし
どこからマッピング情報を見つけるのかは,
最初に指示しておく必要があります. これは まず
/etc/host.conf
ファイルを編集することでおこないます. 混乱の元になりますので,
このファイルを /etc/hosts.conf と
呼んだりしてはいけません (余分な
s がついていますね).
/etc/host.conf ファイルの編集
このファイルには 以下の 2 行が (この順番で)
書かれているはずです:
hosts
bind
これは, 最初に /etc/hosts
ファイルを調べ, そこで目的の名前が 見つけられなかった場合に
DNS を引きにいくようリゾルバに指示します.
/etc/hosts(5) ファイルの編集
このファイルはローカルネットワーク上に存在するマシンの
IP アドレスと ホスト名を含んでいるはずです. 最低でも ppp
を動作させるマシンのエントリが 含まれている必要があります.
そのマシンのホスト名が foo.bar.com で, IP アドレスが
10.0.0.1 であると仮定すると,
/etc/hosts は
以下の行を含んでいなければいけません:
127.0.0.1 localhost
10.0.0.1 foo.bar.com foo
一つめの行は localhost
を現在のマシンの別名として定義しています. マシン固有の IP
アドレスが何であっても, この行の IP アドレスは 常に 127.0.0.1 でなければいけません.
二つめの行はホスト名 foo.bar.com (と, その省略形
foo ) を IP アドレス 10.0.0.1 にマップします.
もしプロバイダから固定の IP
アドレスとホスト名を割り当てられて いるのであれば, それを
10.0.0.1
エントリのかわりに使ってください.
/etc/resolv.conf ファイルの編集
/etc/resolv.conf
はリゾルバの振舞いを指定します. もし自前の DNS
サーバを走らせているのなら, このファイルは空のままに
しておくこともできます. 通常は,
以下のように書いておく必要があるでしょう:
nameserver x.x.x.x
nameserver y.y.y.y
domain bar.com
x.x.x.x
と y.y.y.y
はプロバイダから指示されたアドレスで,
接続するプロバイダが提供しているネームサーバを
すべて書いてください. domain
に指定するのは このマシンのデフォルトのドメイン名で,
おそらく 書かなくても問題は無いでしょう.
このファイルの各エントリの詳細については,
resolv.conf
のマニュアルページを参照してください.
バージョン 2 以降の ppp を使用している場合には,
enable dns
コマンドを使用してネームサーバのアドレスを
プロバイダに問い合わせるように指示することができます.
上の指定とは異なるアドレスをプロバイダが指定してきた場合
(または /etc/resolv.conf
でネームサーバが指定されていない場合), ppp
はプロバイダが指定したアドレスで
resolv.conf を書きかえます.
ppp の設定
ユーザ ppp と pppd (カーネルレベルの
PPP 実装) は どちらも /etc/ppp
ディレクトリに置かれた設定ファイルを使います.
ここには設定ファイルのサンプルが用意されていて, ユーザ ppp
の設定を おこなう際に大変参考になりますので,
削除したりしないでください.
ppp の設定をするためには,
必要に応じていくつかのファイルを編集する必要が あります.
書き込む内容は, プロバイダが静的に IP アドレスを割り当てる
(つまり, 固定の IP アドレスを一つ与えられて, 常にそれを使う)
か, または動的に IP アドレスを割り当てる (つまり, PPP
セッションごとに IP アドレスが変化する可能性がある)
かということに ある程度依存します.
静的 IP アドレスによる PPP 接続
まず /etc/ppp/ppp.conf
という設定ファイルを作成する必要があります.
これは以下の例とほとんど同じようなものになるでしょう.
: で終る行は 1 カラム目から始め,
その他の行はスペースまたはタブで以下の例のように
段をつける (インデントする) 必要があります.
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 set ifaddr x.x.x.x y.y.y.y 255.255.255.0 0.0.0.0
10 add default HISADDR
11 enable dns
ファイルでは行番号を取り除いておいてください.
これは解説の際に参照する行を示すためにつけたものです.
Line 1:
デフォルトエントリを指定します.
このエントリ中のコマンドは ppp
が起動された際に自動的に実行されます.
Line 2:
モデムが接続されているデバイスを指定します.
COM1: は
/dev/cuaa0 に,
COM2: は
/dev/cuaa1 になります.
Line 3:
通信速度 (DTE 速度) を指定します. もし 115200
が使えない (最近のモデムなら大抵使えるはずですが)
場合には, かわりに 38400
を指定してみてください.
Line 4:
ダイアルスクリプトを指定します. ユーザ PPP は
&man.chat.8; 言語に似た, 受信待ち文字列と
送信文字列の対からなるスクリプトを使用します.
この言語の機能に関しては,
マニュアルページを参照してください.
Line 5:
接続するプロバイダの名前 “provider” を
エントリ名として指定します.
Line 6:
このプロバイダの電話番号を指定します.
複数の電話番号を : や
| で区切って指定することができます.
これら区切り文字の違いについては, &man.ppp.8
に 詳しく書かれています.
要約すると, 毎回違う番号に かけたいのであれば
: を使います. 常に
まず先頭の番号にかけてみて, つながらない時にだけ 2
番目以降の番号に かけたいのであれば
| を使います.
例に示されているように, 常に電話番号全体を引用符で
くくって (クォートして) おきます.
Line 7:
ダイアルスクリプトと同様に, ログインスクリプトも
chat 言語風の記述をおこないます. この例は,
以下のようなログインセッションを使用する
プロバイダのためのものです:
J. Random Provider
login: foo
password: bar
protocol: ppp
このスクリプトは必要に応じて
書きかえなければならないでしょう.
初めてスクリプトを書く時には, 予想した通りに
処理が進んだかどうかを確認するため, “chat”
ログを とるようにしておいた方が良いでしょう.
PAP や CHAP を使用する場合には,
ここでログインすることは ありませんから,
ログイン文字列は空白のままにしておくべきです.
詳細については PAP
および CHAP
による認証を参照してください.
Line 8:
デフォルトの接続タイムアウト時間を (秒数で)
指定します. この例では, 300 秒間
通信がおこなわれなければ
自動的に接続を切るように指定しています.
タイムアウトさせたくない場合には, この値を 0
に設定します.
Line 9:
インターフェースのアドレスを指定します. 文字列
x.x.x.x は
プロバイダに割り当てられた IP
アドレスで置きかえてください. 文字列
y.y.y.y
はプロバイダから指示されたゲートウェイ
(接続先となるマシン) の IP
アドレスで置きかえてください.
プロバイダがゲートウェイのアドレスを
指示していない場合は, 10.0.0.2/0
を使用しておいてください. もし“仮の”
アドレスを使用する必要がある場合には, 動的 IP アドレスによる
PPP 接続に関する指示に従って,
/etc/ppp/ppp.linkup
にエントリを作成していることを 確認してください.
この行が省略されている場合, ppp を
-auto
モードで動作させることはできません.
Line 10:
プロバイダのゲートウェイへの経路を
デフォルトルートとして 追加します. 特殊文字列
HISADDR は, 9 行目で指定された
ゲートウェイのアドレスで置きかえられます.
HISADDR は 9
行目までは初期化されていませんので,
その行よりも後でしか使えないことに
注意してください.
Line 11:
ネームサーバのアドレスが正しいか
どうかを確認するため,
プロバイダに問い合わせをおこなうよう ppp に指示します.
プロバイダがこの機能をサポートしていれば, ppp は
/etc/resolv.conf
のネームサーバエントリを
正しいアドレスに更新することができます.
静的な IP アドレスを持っていて,
接続が完了する前にルーティングテーブルの
エントリが正しく設定されているのであれば,
ppp.linkup に
エントリを追加する必要はありません. しかし,
この場合でもエントリを追加して, 接続が完了した時点で
プログラムを呼び出したいことがあるかもしれません.
これについては後ほど sendmail を例として説明します.
これらの設定ファイルのサンプルが
/etc/ppp ディレクトリに
置かれています.
動的 IP アドレスによる PPP 接続
プロバイダが静的な IP
アドレスの割り当てをおこなっていない場合,
ppp が相手側のホスト (ゲートウェイ)
と交渉して, こちら側と相手側のアドレスを
決めるように設定することができます. これは,
起動時には“仮の”アドレスを使っておいて,
接続後に IP コンフィグレーション プロトコル (IPCP)
を使用して ppp が IP
アドレスを正しく設定できるようにすることで実現されます.
静的 IP アドレスによる PPP
接続に 以下の変更を加える以外は,
ppp.conf の設定は同じです:
9 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0
繰り返しますが, 行番号は取り除いておいてください.
これは解説の際に参照する行を示すためにつけたものです. なお,
少なくともスペース 1 個分の段づけ (インデント)
が必要です.
Line 9:
/ 文字の後ろの数字は,
アドレス交渉の際に固定しておきたい ビットの数です.
場合によっては, もっと適切な IP アドレスを
指定しておきたいこともあるかもしれませんが,
ほとんどの場合には 上の例の通りで問題ありません.
最後の引数 (0.0.0.0 ) は,
アドレスの交渉の際に 10.0.0.1 ではなく 0.0.0.0 を使用するよう ppp
に指示するためのものです. set
ifaddr コマンドの最初の引数として
0.0.0.0 を指定してはいけません.
さもないと, -auto
モードで動作させる際に
初期経路を設定することができなくなります.
バージョン 1.X の ppp を使用する場合,
/etc/ppp/ppp.linkup
にもエントリを作成しておく必要があります.
ppp.linkup
は接続が確立された後に使用されます. この時点では,
ppp は実際に どの IP
アドレスを使うべきなのか わかっているはずです.
以下のエントリは存在する仮の経路を削除し,
正しい経路を作成します:
1 provider:
2 delete ALL
3 add default HISADDR
Line 1:
接続を確立する際に, ppp
は以下のルールに従って
ppp.linkup
のエントリを検索します: まず
ppp.conf
で使用されたのと同じラベルを探します.
もし見つからなければ, ゲートウェイの IP
アドレスのエントリを 探します. このエントリは 4
オクテットの IP アドレス形式の ラベルです. それでも
まだエントリが見つからなければ,
MYADDR エントリを探します.
Line 2:
この行は, 使用する tun
インターフェースに関する既存の経路を
(ダイレクトルートのエントリを除き) すべて削除するよう
ppp に指示します.
Line 3:
この行は HISADDR
への経路をデフォルトルートとして 追加するように ppp
に指示します. HISADDR は IPCP で
決定されたゲートウェイの IP
アドレスで置きかえられます.
詳細なサンプルについては,
/etc/ppp/ppp.conf.sample ファイル中の
pmdemand エントリと
/etc/ppp/ppp.linkup.sample
を参照してください.
バージョン 2 の ppp から “sticky routes”
が導入されました. MYADDR や
HISADDR を含む add
コマンドと delete コマンドを記憶して,
MYADDR や HISADDR の
アドレスが変化した際には経路の再設定をおこないます.
したがって, これらのコマンドを
ppp.linkup に
繰り返し記述する必要は無くなりました.
かかってきた電話を ppp
で受けるには
このセクションでは ppp
をサーバとして設定する方法について説明します.
かかってきた電話を ppp
が受けるように設定する際に, そのマシンが LAN
に接続されているのであれば, パケットを LAN
に転送するかどうかを決定する必要があります.
転送をおこなう場合には, その LAN のサブネットから IP
アドレスを ppp クライアントに割り当て,
以下のコマンドを指定するのが良いでしょう.
enable proxy
また, /etc/rc.conf
に以下のオプションが指定してあることを
確認しておいてください. (以前のバージョンの FreeBSD では,
このファイルは /etc/sysconfig
と呼ばれていました):
gateway_enable=YES
どの getty を使いますか?
getty
でダイアルアップサービスをおこなう場合の優れた解説が FreeBSD
でダイアルアップサービスをおこなうための設定
にあります.
getty に代わるものとしては,
mgetty があります. これは
getty をより柔軟にしたもので,
ダイアルアップ回線での使用を意図して
設計されています.
mgetty を使う場合の利点は,
mgetty
が積極的にモデムと通信する
ということです. つまり, もし
/etc/ttys でポートを閉じている場合,
モデムは電話をとらなくなります.
最近のバージョンの mgetty (0.99beta
以降) では, PPP ストリームの
自動検出もサポートされています. これにより,
クライアント側で スクリプトを準備しなくてもサーバに
アクセスすることができます.
mgetty に関する,
より詳細な情報については Mgetty と AutoPPP
を参照してください.
ppp の実行許可
ppp は通常, ID 0 のユーザ (root)
として動作しなければいけませんが, 以下で説明するように,
ppp
を通常のユーザとしてサーバモードで実行させたい 場合には,
そのユーザを /etc/group の
network グループに 追加して, ppp
を実行する許可を与えておかなければいけません.
また, そのユーザが設定ファイル内の目的のエントリに
アクセスできるように, 以下のように
allow
コマンドで許可を与えておく必要があります:
allow users fred mary
このコマンドがデフォルトエントリに
書かれている場合には, 指定されたユーザは
すべてのエントリをアクセスできるようになります.
動的 IP ユーザのための ppp シェルの設定
/etc/ppp/ppp-shell という名前で,
以下のような内容のファイルを 作成します:
#!/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
このスクリプトには実行可能属性をつけておきます. 次に,
以下のコマンドを実行し, ppp-dialup
という名前で このスクリプトへのリンクを作成します:
&prompt.root; ln -s ppp-shell /etc/ppp/ppp-dialup
すべてのダイアルアップ ppp
ユーザのログインシェル として
このスクリプトを使用します. 以下は
pchilds というユーザ名の
ダイアルアップユーザを /etc/password
へ登録した場合の例です.
(パスワードファイルを直接エディタで編集したりせず,
vipw を使ってください)
pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
任意のユーザが読むことのできる,
/home/ppp ディレクトリを 作成します.
/etc/motd
が表示されないようにするため,
このディレクトリには以下のように大きさが 0
バイトのファイルを 作成しておきます.
-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
-r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts
静的 IP ユーザのための PPP シェルの設定
上記と同じように ppp-shell
ファイルを作成し, 静的な IP
アドレスを割り当てるアカウントそれぞれについて
ppp-shell
へのシンボリックリンクを作成します.
例えば, クラス C ネットワークの経路制御を必要とする,
三人のダイアルアップユーザ fred ,
sam , mary
がいるとすると,
以下のコマンドを実行することになります:
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary
これらのユーザのダイアルアップアカウントでは,
上で作成した それぞれのシンボリックリンクを
ログインシェルとして設定しておきます. (つまり, ユーザ
mary のログインシェルは
/etc/ppp/ppp-mary に
なります).
動的 IP ユーザのための ppp.conf の設定
/etc/ppp/ppp.conf ファイルは,
大体以下のような内容になるでしょう:
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
上の例のように段をつける (インデントする)
必要があることに注意してください.
default:
エントリはセッションごとにロードされます.
/etc/ttys
で有効にしてある各ダイアルアップ回線ごとに一つ, 上記の
ttyd0: のようなエントリを作成します.
各行の相手側アドレスとして, それぞれ別の IP アドレスを
動的 IP ユーザのための IP
アドレスのプールから割り当てておく必要があります.
静的 IP ユーザのための ppp.conf
の設定
上のサンプルの /etc/ppp/ppp.conf
の内容に加えて, 静的に IP
を割り当てられたダイアルアップユーザ
それぞれのためのエントリを追加する必要があります.
ここでも fred ,
sam , mary
の例を使うことにしましょう.
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
必要であれば, それぞれの静的 IP
ユーザに対する経路制御情報も
/etc/ppp/ppp.linkup
ファイルに書いておくべきでしょう.
以下の例ではクライアントの PPP リンクを経由する, クラス C
の 203.14.101.0
ネットワークへの経路を追加しています.
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
mgetty , AutoPPP,
マイクロソフト拡張の詳細
mgetty と AutoPPP
AUTO_PPP
オプションつきでコンパイルした mgetty
を使えば, mgetty が PPP 接続の LCP
フェーズを検出して, 自動的に PPP シェルを起動するように
設定することができます. しかし この場合, デフォルトの
login/password シーケンスは発生しないので,
ユーザの認証は PAP または CHAP
を使っておこなう必要があります.
このセクションでは, ユーザ (あなた) が問題なく
AUTO_PPP オプションつきの
mgetty (v0.99beta またはそれ以降)
の設定, コンパイル,
インストールができているものと仮定しています.
/usr/local/etc/mgetty+sendfax/login.config
ファイルが
以下の行を含んでいることを確認してください:
/AutoPPP/ - - /etc/ppp/ppp-pap-dialup
これにより, PPP 接続を検出したら
mgetty が
ppp-pap-dialup
スクリプトを実行するようになります.
/etc/ppp/ppp-pap-dialup
という名前で, 以下のような内容のファイルを 作成します
(このファイルには実行可能属性を
つけておく必要があります):
#!/bin/sh
exec /usr/sbin/ppp -direct pap
さらに, かかってきた電話すべてを自分で扱うエントリを
/etc/ppp/ppp.conf
に作成します.
pap:
enable pap
set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
enable proxy
この方法でログインする それぞれのユーザは, PAP
によるユーザ認証を おこなうために
/etc/ppp/ppp.secret
ファイルにユーザ名とパスワードを 書いておくか, または
/etc/password
ファイルを使うように,
enable passwdauth
オプションを (/etc/ppp/ppp.conf に)
追加しておく必要があるでしょう.
ユーザに静的な IP アドレスを割り当てる場合には,
そのアドレスを /etc/ppp/ppp.secret
の第三引数として指定することができます.
サンプルについては,
/etc/ppp/ppp.secret.sample
を参照してください.
マイクロソフト拡張
クライアントからの要求に応じて, ppp が DNS や
NetBIOS ネームサーバの アドレスを通知するように
設定をおこなうこともできます.
これらの拡張機能を
/etc/ppp/ppp.conf
ファイルで有効にした例を 以下に示します.
バージョン 1.X の ppp で
これらの拡張機能を有効にするには, 以下の行を
/etc/ppp/ppp.conf
の適切なセクションに追加する必要があるでしょう.
enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5
バージョン 2 以降の ppp では,
以下のようになります:
accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5
これにより, クライアントはプライマリと
セカンダリのネームサーバアドレス および NetBIOS
ネームサーバホストを知ることができます.
バージョン 2 以降の ppp では, set
dns の行を省略した場合には
/etc/resolv.conf
に書かれているネームサーバのアドレスを使用します.
PAP および CHAP による認証
いくつかのプロバイダでは, PAP または CHAP
のいずれかの認証メカニズムを
使用して接続時の認証をおこなうように
システムを設定しています. この場合, プロバイダは接続の際に
login: プロンプトを送信せず, 最初から PPP
で通信を始めようとするでしょう.
PAP ではパスワードがそのまま送られてしまうため, CHAP
に比べると安全性が 低くなりますが,
このパスワードはシリアル回線のみを通して送られます.
そのため,
クラッカーが“盗み聞き”する余地は多くないので,
通常ここの セキュリティは問題にはなりません.
静的 IP アドレスによる
PPP 接続または 動的 IP アドレスによる PPP
接続の セクションに戻って,
以下の変更をおこないます:
7 set login
…
12 set authname MyUserName
13 set authkey MyPassword
これまでと同様に, 行番号は取り除いておいてください.
これは解説の際に参照する行を示すためにつけたものです. なお,
少なくともスペース 1 個分の段づけ (インデント)
が必要です.
Line 7:
PAP または CHAP を使用する場合, 通常
プロバイダはサーバへの ログインを必要としません.
そのため, "set login" 文字列を
無効にしておかなければいけません.
Line 12:
この行は PAP/CHAP ユーザ名を指定します.
MyUserName に
正しい値を入れておく必要があります.
Line 13:
この行は PAP/CHAP パスワードを指定します.
MyPassword に
正しい値を入れておく必要があります.
PAP と CHAP はデフォルトで両方とも
受け付けられるようになって
いますが, PAP や CHAP を使用するという
意思を明示するために,
15 accept PAP
または
15 accept CHAP
という行を追加しておくのも良いでしょう.
動作中の ppp の設定変更
適切な診断ポートが設定されている場合には,
バックグラウンドで動作中の ppp
プログラムと通信することができます.
この設定をおこなうためには,
以下の行を設定ファイルに追加しておきます:
set server /var/run/ppp-tun%d DiagnosticPassword 0177
これにより, ppp は指定された unix ドメインの
ソケットをモニタして,
クライアントから正しいパスワードを受け取った後に
アクセスを許可します. このソケット名に含まれる
%d は, この ppp が使用している
tun
デバイスの デバイス番号で置きかえられます.
一旦ソケットの設定が終了したら, スクリプト中で
&man.pppctl.8; を 使用して, 動作中の ppp
を操作することができるでしょう.
システムの最終設定
これで ppp の設定は終りました. しかし
ppp を動かす前に,
まだ少し必要なことがあります. それらの設定は, すべて
/etc/rc.conf ファイルを
編集することでおこないます. (このファイルは以前には
/etc/sysconfig と呼ばれていました)
このファイルを上から順に設定していきます. まずは
hostname=
の行が設定されていることを確認します.
例えば以下のように:
hostname=foo.bar.com
もしプロバイダが静的な IP
アドレスとホスト名を割り当てているのなら,
ホスト名としてそれを使うのが おそらくベストでしょう.
次に network_interfaces 変数を調べます.
必要に応じて (on demand)
プロバイダにダイアルするようにシステムを設定したい場合には,
tun0
デバイスがこのリストに追加されていることを確認しておきます.
それ以外の場合には, tun0
デバイスをリストから削除しておきます.
network_interfaces="lo0 tun0"
ifconfig_tun0=
ifconfig_tun0 変数が空で,
/etc/start_if.tun0 という名前の
ファイルが作成されていなければなりません.
このファイルの内容は以下のようになります.
ppp -auto mysystem
このスクリプトはネットワークの設定時に実行され, ppp
デーモンを自動モードで立ち上げます. このマシンがもし LAN
のゲートウェイであれば, -alias
スイッチも使用したいと思うかもしれません. 詳細に関しては,
マニュアルページを参照してください.
以下のようにルータプログラムを NO
に設定します.
router_enable=NO (/etc/rc.conf)
router=NO (/etc/sysconfig)
routed は, ppp
が作成したデフォルトのルーティングテーブル
エントリを削除してしまう場合がありますので,
(初期設定では起動されるようになっている)
routed デーモンが
起動されないようにしておくことが重要です.
sendmail_flags 行が -q
オプションを含まないように 設定しておいた方がよいでしょう.
さもないと, sendmail が
アドレスを調べようとして発信をおこなってしまう場合があります.
以下のような設定で良いでしょう:
sendmail_flags="-bd"
この結果, PPP リンクを立ち上げた時には
いつでも以下のコマンドを実行して, キューにたまっているメールを
sendmail
に送信させる作業が必要になるでしょう.
&prompt.root; /usr/sbin/sendmail -q
ppp.linkup 中で
!bg コマンドを使用することで,
これを自動的に おこなうこともできます:
1 provider:
2 delete ALL
3 add 0 0 HISADDR
4 !bg sendmail -bd -q30m
こうするのが嫌であれば, SMTP
トラフィックをブロックするように “dfilter”
を設定しておくこともできます.
詳細についてはサンプルファイルを参照してください.
後はマシンをリブートするだけです.
リブートが終ったら,
&prompt.root; ppp
コマンドを実行し, 続いて PPP セッションを開始させるために
dial provider と入力することもできますし,
(start_if.tun0
スクリプトを作成していない場合に),
外部へのトラフィックが発生した時に, ppp
が自動的に セッションを確立してくれるようにしたいのであれば,
以下のコマンドを実行することもできます.
&prompt.root; ppp -auto provider
まとめ
要約すると, 初めて ppp を設定する際には,
以下のステップが不可欠です:
クライアント側:
カーネルに tun
デバイスが組み込まれていることを確認.
/dev ディレクトリに
tunX
デバイスファイルが 存在することを確認.
/etc/ppp/ppp.conf
にエントリを作成. ほとんどのプロバイダでは,
pmdemand の例で充分でしょう.
動的 IP アドレスを使用するなら,
/etc/ppp/ppp.linkup に
エントリを作成.
/etc/rc.conf (または
sysconfig ) ファイルを更新.
必要に応じてダイヤル (demand dialing)
したいのであれば, start_if.tun0
スクリプトを作成.
サーバ側:
カーネルに tun
デバイスが組み込まれていることを確認.
/dev ディレクトリに
tunX
デバイスファイルが 存在することを確認.
(&man.vipw.8; コマンドを使って)
/etc/passwd にエントリを作成.
このユーザのホームディレクトリに ppp -direct
direct-server
か何かを実行するプロファイルを作成.
/etc/ppp/ppp.conf
にエントリを作成. direct-server
の例で充分でしょう.
/etc/ppp/ppp.linkup
にエントリを作成.
/etc/rc.conf (または sysconfig ) ファイルを更新.
謝辞
ハンドブックの このセクションは, 1998 年 8 月 10 日 (月)
に &a.brian; によって 更新されました.
以下の人々による情報提供, 批評そして提案に感謝します:
&a.nik;
&a.dirkvangulik;
&a.pjc;
カーネル PPP の設定
原作: &a.gena;.
訳: &a.jp.graphite;.
6 September 1996.
PPP の設定を始める前に, pppd が
/usr/sbin にあり, また
/etc/ppp という
ディレクトリが存在することを確認してください.
pppd はふたつのモードで動作します.
“クライアント”モード.
シリアル接続やモデムを利用して, そのマシンを
外部のネットワークに PPP 接続したい場合に用います.
“サーバ”モード.
そのマシンがネットワーク上にあるときに, PPP を使って
ほかのコンピュータを接続する際に用います.
どちらの場合でも, オプションファイルを設定する必要があります
(/etc/ppp/options または, そのマシン上で
PPP を使用する人が 複数いる場合には
~/.ppprc ).
また, ダイヤルとリモートホストへの接続をおこなうために,
シリアル接続やモデムを 操作する,
なんらかのソフトウェアが必要です (kermit
が適しているでしょう).
PPP クライアントとしての動作
私は, CISCO ターミナルサーバの PPP 回線に接続するために,
下記のような /etc/ppp/options
を使用しています.
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
接続方法:
kermit (またはその他のモデム操作プログラム)
を使ってリモートホストに ダイヤルし, 接続してください.
そして, あなたのユーザ名とパスワード (必要 であれば,
その他にもリモートホストで PPP を有効にするための操作)
を入力 します.
kermit を抜けてください. (回線を切断せずに)
下記のように入力します:
&prompt.root; /usr/src/usr.sbin/pppd.new/pppd /dev/tty01 19200
(通信速度とデバイス名には,
あなたの環境に適したものを入れてください)
これでこのコンピュータは PPP で接続されました. もし,
なんらかの理由で 接続に失敗したならば,
/etc/ppp/options ファイルに
debug オプションを追加して,
問題点を突き止めるために, コンソールに表示される
メッセージを調べてください.
下記の /etc/ppp/pppup スクリプトは,
上記の作業を すべて自動的におこないます:
#!/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
/etc/ppp/kermit.dial は kermit
用のスクリプトで, ダイヤルして,
リモートホストでの認証に必要なすべての処理をおこないます.
(そのようなスクリプトの例は
この文書の終わりに添付してあります)
PPP 接続を切断するには, 下記のような
/etc/ppp/pppdown スクリプトを
使用します:
#!/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
PPP が動作中かどうかを調べます
(/usr/etc/ppp/ppptest ):
#!/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
モデム回線を切断します
(/etc/ppp/kermit.hup ):
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
次は kermit の代わりに
chat を使う方法です.
原作: &a.rhuff;.
pppd 接続を確立するためには,
次の二つのファイルの設定だけで十分です.
/etc/ppp/options :
/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
/etc/ppp/login.chat.script :
(実際には一行になります.)
ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id>
TIMEOUT 5 sword: <password>
正しくインストールし編集した後は,
必要な事はこれだけです
&prompt.root; pppd
このサンプルは主に Trev Roydhouse
<Trev.Roydhouse@f401.n711.z3.fidonet.org>
から寄せられた情報に基づいており,
承諾を得て使用しています.
PPP サーバとしての動作
/etc/ppp/options :
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
下記のような /etc/ppp/pppserv
スクリプトで, そのマシンを PPP
サーバにすることができます.
#!/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
PPP サーバを終了するには, この
/etc/ppp/pppservdown スクリプト
を使用します:
#!/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
下記の kermit スクリプトは, モデムの自動応答機能を有効,
または無効にします
(/etc/ppp/kermit.ans ):
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
この /etc/ppp/kermit.dial
スクリプトは, リモートホストに ダイヤルし,
認証手続きをするのに使用します. あなたは必要に応じて, これを
変更しないといけないでしょう.
あなたのユーザ名とパスワードをこの
スクリプトに書かなければいけませんし,
モデムやリモートホストからの 応答によっては,
入力待ちの文を変更する必要もあります.
;
; 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:
PPP オーバイーサネット (PPPoE) の設定
原作: &a.jim; (node.to より) 10 Jan 2000.
以下の解説は, PPPoE として知られる,
PPP オーバイーサネットの設定法です.
必要なもの
あなたのシステムで PPPoE を適切に機能させるためには,
以下のものが必要です.
FreeBSD &rel.current;-STABLE のカーネルソース
FreeBSD &rel.current;-STABLE の
ppp と pppd
上にあげたものが依存している, すべてのもの
カーネルコンフィギュレーション
以下に示すオプションをカーネルコンフィギュレーションファイルに
追加して, その後 新しいカーネルを
コンパイルする必要があります.
options NETGRAPH
options NETGRAPH_ASYNC
options NETGRAPH_BPF
options NETGRAPH_CISCO
options NETGRAPH_ECHO
options NETGRAPH_FRAME_RELAY
options NETGRAPH_HOLE
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_LMI
options NETGRAPH_PPP
options NETGRAPH_PPPOE
options NETGRAPH_PPTPGRE
options "NETGRAPH_RFC1490"
options NETGRAPH_SOCKET
options NETGRAPH_TEE
options NETGRAPH_TTY
options NETGRAPH_UI
options NETGRAPH_VJC
上述のオプションをカーネルコンフィギュレーションに追加し,
カーネルの再構築を行なって下さい. それが完了したら,
カーネルをインストールしてシステムを再起動させます.
ppp.conf の設定
これは動作している ppp.conf の
例です:
default: # or name_of_service_provider
set device PPPoE:xl1 # replace xl1 with your ethernet device
set MRU 1490
set MTU 1490
set authname YOURLOGINNAME
set authkey YOURPASSWORD
set log Phase tun command # you can add more detailed logging if you wish
set dial
set login "TIMEOUT 1.5 name:-\\r-login:\\U word:\\P ocol:PPP HELLO" # this isn't necessary
set ifaddr 10.0.0.1/0 10.0.0.2/0
add default HISADDR
nat enable yes # if you want to enable nat for your local net
set cd off
set crtscts off
papchap:
set authname YOURLOGINNAME
set authkey YOURPASSWORD
PPP の起動
下のいずれかを root 権限において実行することで,
起動させることができます.:
&prompt.root; ppp -dedicated
または
&prompt.root; ppp -dedicated name_of_service_provider
です. これは, ppp.conf をあなたがどのように
設定したかによります.
システム起動時に PPP を立ち上げる
/etc/rc.conf ファイルに以下の行を追加
してください:
ppp_enable="YES"
ppp_mode="dedicated"
ppp_nat="YES"
ppp_profile="default" # or your provider
SLIPクライアントのセットアップ
原作: &a.asami;8 Aug 1995.
訳: &a.hanai;8 August 1996.
ここには FreeBSD
マシンを静的アドレスのネットワークにつなげる場合の
SLIPのセットアップの一つの方法を書いてあります.
ホスト名を動的に割り当てる(つまり,
ダイヤルアップするたびにアドレスが かわる)ためには,
おそらくもっと凝ったことが必要です.
まず,
モデムがどのシリアルポートにつながっているか決めましょう. 私は
/dev/cuaa1 から
/dev/modem へというシンボリックリンクを張り,
コンフィグレーションではその名前だけを使っています.
/etc や.kermrc
など, システム全体に散らばっているファイルを修正する
必要がでるとまったく煩わしいのです!
ここで, /dev/cuaa0 は
COM1 であり,
cuaa1 はCOM2 です.
カーネルのコンフィグレーションファイルに
pseudo-device sl 1
という記述があるのを確認してください.
これは GENERIC カーネルに含まれている
ので削除していない限り大丈夫でしょう.
最初の設定
/etc/hosts
ファイルにあなたのマシンのゲートウェイとネームサーバ
を加えてください. 私のは以下のようになっています.
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
余談ですが,
silviaというのは私が日本にいた時に持っていた
車の名前です(米国では2?0SXと呼ばれています).
/etc/host.conf ファイル中で
hosts がbind
よりも前にあること を確認してください.
さもないとヘンなことが起こるかもしれません.
/etc/rc.conf
ファイルを編集してください. なお, お使いの FreeBSD が
2.2.2 よりも前のバージョンのものの場合は,
/etc/sysconfig
を編集してください.
行
hostname=myname.my.domain
を編集してホスト名をセットしてください.
完全なInternetホスト名を与えるべきです.
行
network_interfaces="lo0"
を
network_interfaces="lo0 sl0"
へ変更することにより
ネットワークインタフェースのリストに sl0
を加えてください.
行
ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"
を加えて sl0
のスタートアップフラグをセットしてください.
行
defaultrouter=NO
を
defaultrouter=slip-gateway
へ変更してデフォルトのルータを
指定してください.
次の
domain HIP.Berkeley.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12
という内容を含むファイル
/etc/resolv.conf を作ってください.
見ればわかるように,
これらはネームサーバホストを設定しています. もちろん,
実際のドメイン名やアドレスは
あなたの環境に依存します.
root と toor
(及びパスワードを持っていない他のアカウントすべて)
のパスワード を設定してください.
passwdコマンドを使いましょう.
/etc/passwd や
/etc/master.passwd
といったファイルを編集してはいけません!
マシンを再起動して正しいホスト名で
立ち上がることを確認してください.
SLIP接続をおこなう
モデムを起動, つながったらプロンプトで
slip とタイプし, マシン名と
パスワードを入力してください.
入力する必要があるものは環境に よって異なります.
私は次のようなスクリプトでkermitを使っています.
# 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
(もちろん,
ホスト名とパスワードは変える必要があります).
接続するためには kermit のプロンプトで
slip とタイプするだけです.
ファイルシステムのどんなところにもプレインテキスト
にパスワードを書いておくのは一般的にはよくありません.
覚悟の上で やってください.
私は単に不精なだけです.
ここでkermitから抜け出し
(z でkermitをサスペンドできます), root
で
&prompt.root; slattach -h -c -s 115200 /dev/modem
と入力しましょう. もしルータの向う側のホストへ
ping できるなら接続成功です! もしうまく
いかなければslattachへの引数として -c
の代わりに-a とやってみてください.
接続の切り方
slattachを殺すためにrootで
&prompt.root; kill -INT `cat /var/run/slattach.modem.pid`
とタイプしてください. そして kermit に戻り
(もしkermitをサスペンドしていたなら
fg ), kermitから抜けてください
(q ).
slattachのマニュアルページにはインタフェースを落すために
ifconfig sl0
down をしなければいけないと書いていますが,
私には差がないように見えます. (ifconfig
sl0 とやっても同じ結果が得られる.)
時にはモデムがキャリアを落すのを
拒絶するかもしれません(私のは よくそうなります).
その時は単にkermitをスタートしてまた終了 してください.
普通は2回目で落ちます.
トラブルシューティング
もし動かなければ自由に私に質問してください.
今までいろんな人がつまずいた のは次のようなことです.
slattach で -c や -a
を使わなかった(私はなぜこれが致命的になり得るのか
わかりませんが, このフラグを付けることで少なくとも一人の
問題は解決しました.)
sl0 の代わりに s10
を使った(いくつかのフォントでは見分けるのは難しい
かもしれません).
インタフェースの状態を見るために ifconfig
sl0 をやってみてください. 私は,
&prompt.root; ifconfig sl0
sl0: flags=10<POINTOPOINT>
inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00
となります.
また, pingが "no route to host"
というメッセージを返す時には netstat
-r でルーティングテーブルを確認しましょう.
私のは,
&prompt.root; 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)
となります.
(これはたくさんのファイルを転送した後でのもので,
あなたの見る数字はもっと小さいかも
しれません).
SLIPサーバのセットアップ方法
原作: &a.ghelmer;.
v1.0, 15 May 1995.
訳: &a.jp.ts;.
6 September 1996.
この文書の目的は, SLIPサーバ機能を
FreeBSDシステムのもとで設定するため の助言を提供することです.
SLIPサーバ機能を設定するということは, リモー トの
SLIPクライアントがログインできるようにするために, 自動的に接続処
理をおこなうようにすることです.
この文書は著者の経験に基づいておりますが,
実際のシステム構成や要望は異なりますから,
すべての疑問にこの文書が答え ることはできません. なお,
ここでの助言を試みた結果, あなたのシステムへ
の悪影響やデータの損失が生じたとしても,
著者が責任を持つことはできませ
んのでご了解をお願いします.
当初この文書は, FreeBSD 1.xシステムでの
SLIPサーバ機能のために書きまし た. その後, FreeBSD
2.xの初期バージョンでのパス名の変更や SLIPインタフェー
ス向け圧縮フラグの削除といった変更点を反映するために,
書き換えをおこないま した. これらが
FreeBSDのバージョン間の主要な変更点だったからです. もし
この文書の間違いを見つけられましたら, ぜひ,
訂正に十分な情報とともに電
子メールでお知らせいただければ助かります.
前提
この文書の内容はテクニカルなものなので,
前提知識が必要です. すなわち,
TCP/IPネットワークプロトコルについての知識, 特に,
ネットワークとノード のアドレス指定をはじめ,
ネットワークアドレスマスク, サブネット化, ルー ティング,
および RIPなどのルーティングプロトコルなどに関する知識を前提
としています. ダイヤルアップサーバで
SLIP機能を設定するためには, これ
らの概念についての知識が必要ですから,
もし不案内であると思われる方は, O'Reilly & Associates,
Inc.から出版されている Craig Hunt氏の TCP/IP
Network Administration (ISBN 0-937175-82-X)か,
または Douglas Comer氏の
TCP/IPプロトコルに関する一連の書籍をお読みください.
前提知識に加え, さらに, モデムの設定が完了しており,
そのモデムを経由し てログインできるように,
システムファイル群が適切に記述できているものと 仮定しています.
もしモデムの準備ができていないときには, あらかじめダイヤ
ルアップ機能の設定についてのチュートリアルをお読みください.
Webブラ ウザが使えるのであれば http://www.FreeBSD.org/
におけるチュー トリアルの一覧を調べてください.
あるいは, この文書を見つけた場所を調べ て,
dialup.txt
やそれに類似した名前の文書をお読みください. 関連す
るマニュアルページとしては,
シリアルポート向けデバイスドライバについて
の &man.sio.4; をはじめ, モデムからのログインを
受理できるようにシステ
ムを設定するための &man.ttys.5;, &man.gettytab.5;, &man.getty.8;,
&man.init.8; など, さらには, シリアルポート関連パラメタ ( たと
えば直接接続シリアルインタフェースの
clocal ) についての
&man.stty.1; なども助けになるかもしれません.
概要
一般的な設定内容で FreeBSDを SLIPサーバとして利用すると,
その動作は次 のようになります. まず, SLIPユーザが FreeBSD
による SLIPサーバへ電話し て, SLIP専用IDでログインします.
なお, このIDを持ったユーザはシェルとし て
/usr/sbin/sliplogin を使います. この
sliplogin は, ファ イル
/etc/sliphome/slip.hosts の中から,
ログインIDと一致する 記述行を探します. もし一致する行があれば,
ログインしたシリアル回線を, 利用可能な
SLIPインタフェースへ接続し, その後にシェルスクリプト
/etc/sliphome/slip.login で
SLIPインタフェースを設定します.
SLIPサーバへのログイン例
仮に SLIPユーザIDが Shelmerg
とします. すると, /etc/master.passwd
における Shelmerg のエントリは次のよ
うなものになります (実際には一つの行に続いている) .
Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin
Shelmerg がログインすると,
sliplogin は, ファイル
/etc/sliphome/slip.hosts
からユーザIDと一致する行を探しま す. いま仮に,
/etc/sliphome/slip.hosts
に次のような記述がなさ れていたとします.
Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
sliplogin
が上記のエントリを見つけると, Shelmerg が使用して
いるシリアル回線を, 利用可能な
SLIPインタフェースのなかの最初のものへ 接続し, 次の内容の
/etc/sliphome/slip.login
を実行します.
/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
もし上記の手順が正常に処理されると,
/etc/sliphome/slip.login は,
sliplogin が割り当てた SLIPインタフェース
(この例では slip.login
で与えられたパラメタのうちで最初の値である SLIP
インタフェース0である) に対して ifconfig
を実行し, ローカル IPアドレス
(dc-slip )をはじめ, リモート IPアドレス
(sl-helmer ),
SLIPインタフェースへのネットワークマスク (0xfffffc00 ), およびその他のフラグ
(autocomp )を設定 します. 逆に,
さきほどの手順が正常に終了しなかった場合, 通常は
sliplogin は十分な情報を syslog の
daemon 機能経由で
/var/log/messages へ記録します
( &man.syslogd.8; や
&man.syslog.conf.5; のマニュアルページを参照のうえ, さらに
/etc/syslog.conf を調べて
syslogd がどのファイルへ記
録するかを確認のこと) .
例はこのくらいにして,
さっそくシステムのセットアップを始めてみましょう.
カーネルのコンフィグレーション
FreeBSD のデフォルトのカーネルには, 通常, 二つの
SLIPインタフェースが 準備されています
(sl0 と sl1 )
. これらのインタフェー
スが使用中のカーネルに準備されているかどうかを調べるには,
netstat -i を実行してください.
netstat -i の出力例
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
netstat -i の出力に
sl0 と sl1
のインタフェー スが含まれているということから,
カーネルには二つの SLIPインタフェー
スが組み込まれているということを示しています.
(sl0 と sl1
に付いたアスタリスクは, netstat -i
の実行時点で はインタフェースが “ダウン”
していることを表しています. )
なお, パケットのフォワード機能は FreeBSD
のデフォルトのカーネルでは設定 されていません
(すなわちルータとしては動作しない) . もしインターネット
接続ホストについての RFC要件 ( RFC 1009 [Requirements for
Internet Gateways] と 1122 [Requirements for Internet Hosts
— Communication Layers], おそらく 1127 [A Perspective on
the Host Requirements RFCs] も ) に準拠して, FreeBSDによる
SLIPサー バをルータとして動作させたいときには,
/etc/rc.conf (バージョ ン 2.2.2 より前の
FreeBSD では /etc/sysconfig ) ファイル の
gateway 変数を YES
としてください. もし古いシステ ムで
/etc/sysconfig ファイルすらないときには,
次のコマン ドを /etc/rc.local
へ追加してください.
sysctl -w net.inet.ip.forwarding = 1
この新しい設定を有効とするには,
リブートする必要があります.
デフォルトのカーネルコンフィグレーションファイル
(/sys/i386/conf/GENERIC ) の最後の部分に,
次のような行がありま す.
pseudo-device sl 2
この行によって, 使用可能な SLIPデバイスの総数が決まります.
すなわち, 行 末の数値が, 同時に動作可能な
SLIP接続の最大数となります.
カーネルの再構築については, FreeBSDカー
ネルのコンフィグレーション を参照ください.
Sliploginのコンフィグレーション
すでにご説明したように,
/usr/sbin/sliplogin のコンフィグレー
ションのために,
3種類のファイルが/etc/sliphome
ディレクトリに あります (sliplogin
についての実際のマニュアルページとしては
&man.sliplogin.8; を参照のこと) .
ファイル slip.hosts は
SLIPユーザおよびその IPアドレスを決めます. 通常, ファイル
slip.login は,
SLIPインタフェースを設定することだけに使
用します. slip.logout
はオプションのファイルで,
slip.login で設定した内容を,
シリアル接続が終了した時点で解除
するときに使用します.
slip.hosts
のコンフィグレーション
/etc/sliphome/slip.hosts には,
少なくとも 4 つの項目をホワイ トスペース (スペースやタブ)
で区切って指定します.
SLIPユーザのログインID
SLIPリンクのローカル (SLIPサーバ側) アドレス
SLIPリンクのリモートアドレス
ネットワークマスク
ホスト名をローカルおよびリモートのアドレスとして
記述できます (IPアドレ スの決定は,
/etc/host.conf の指定内容に応じて,
/etc/hosts か
DNSのいずれかによって決定される) . また, ネット
ワークマスクも /etc/networks
ファイルに記述された名前を参照す ることで,
指定することもできると思います. これまでの例としてあげたシス
テムでの /etc/sliphome/slip.hosts
は次のようになります.
#
# login local-addr remote-addr mask opt1 opt2
# (normal,compress,noicmp)
#
Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
それぞれの行の最後には,
次に示すオプションを一つ以上指定できます.
normal — ヘッダを圧縮しない
compress — ヘッダを圧縮する
autocomp —
リモートの設定に応じて, ヘッダを圧縮する
noicmp —
ICMPパケットを禁止する
(“ping”パケットは送出されず,
バンド幅を占有しない)
なお, FreeBSDバージョン2の初期リリースの
sliplogin は, 旧 FreeBSD
1.xでは有効であった上記のオプションを無視していましたので,
normal , compress ,
autocomp , そして noicmp
などのオ プションは FreeBSD
2.2でサポートされるまでは効果がありませんでした (た
だしこれらのフラグを使うためには
slip.login スクリプトへ記述する
必要がある) .
SLIPリンクでのローカルとリモート向けのアドレスの
選び方は, TCP/IPサブネッ トを専用に割り当てるか,
または“プロキシ ARP”を
SLIPサーバへ用いるかによっ て違います (プロキシ
ARPという用語のここでの使い方は本来のものではない が,
説明のためにこの用語を使う) . もし,
どちらの方式を選ぶべきか判らな かったり,
IPアドレスの割り当て方が不明のときには, 上述の 前提 の節で紹介した
TCP/IP関連書籍を参考になさるか, またはあなたの
IPネットワークを管理している方に相談なさると
よいでしょう.
独立したサブネットを SLIPクライアントへ適用するときには,
すでに割り当 てられている
IPネットワーク番号の範囲からサブネット番号を割り当て, 同
時にそのサブネットの範囲内で有効な IPアドレスを
SLIPクライアントの IP 番号として割り当てる必要があります.
さらに, この SLIPサブネットから SLIPサーバを経由して最も近い
IPルータへの経路を静的に設定するか, また は
gated を FreeBSDによる
SLIPサーバへインストールして, 適当
なルーティングプロトコルを使って,
SLIPサーバ経由のサブネットへの経路情
報をルータ群へ通知できるように設定するか,
のいずれかをおこなう必要がありま す.
“プロキシ ARP” 方式を採用するときには,
SLIPクライアント向けの IPアドレス
として, SLIPサーバのサブネットの範囲から
選んで割り当てるとともに,
&man.arp.8; コマンドを使うために
/etc/sliphome/slip.login
と/etc/sliphome/slip.logout
のスクリプトを修正して, SLIPサー
バにおける ARPテーブル内のプロキシ ARPエントリへ
反映させる必要がありま
す.
slip.login
のコンフィグレーション
ファイル /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
この slip.login
ファイルの役目は単に, SLIPインタフェースにつ
いてのローカルとリモートのアドレス,
およびそのネットワークマスクを ifconfig
コマンドで設定することです.
もし“プロキシ ARP”方式を採用する
(SLIPクライアントへ独立したサブネットを 使わない) ときには,
ファイル /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
# Answer ARP requests for the SLIP client with our Ethernet addr
/usr/sbin/arp -s $5 00:11:22:33:44:55 pub
この slip.login で追加された行
arp -s $5 00:11:22:33:44:55 pub は,
SLIPサーバにおける ARPテーブルへ新たなエントリを作ります.
SLIPサーバ は, この ARPエントリが作られると,
SLIPクライアントの IPアドレスと話し たい他の
IPノードが要求してきたときにはいつも, SLIPサーバ の Ethernet
MACアドレスを返すようになります.
上記の例を実際に流用なさるときには, 例にある Ethernet
MACアドレス (00:11:22:33:44:55 )
を, あなたのシステムの実際のEthernetカー ドの
MACアドレスと置き換えなければ“プロキシ
ARP”はうまく動作しません! SLIPサーバの Ethernet
MACアドレスを調べるには netstat -i コマ
ンドを利用してください.
実行結果の第2行は次のようなものになるはずです.
ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116
この例での Ethernet MACアドレスは
00:02:c1:28:5f:4a であると
読みます. なお &man.arp.8; における MAC
アドレスの指定に際しては,
コマンド netstat -i が付けた
Ethernet MACアドレスのピリオド記
号をコロン記号と置き換え, かつ単一桁の 16
進数にはゼロを先頭に加える必
要があります. この指定についての正確な情報は &man.arp.8;
を参照く
ださい.
/etc/sliphome/slip.login と
/etc/sliphome/slip.logout
を作成したならば, ファイル属性の“実行”ビット
(すなわち chmod 755 /etc/sliphome/slip.login
/etc/sliphome/slip.logout ) を
設定しなければなりません. さもなければ
sliplogin が
うまく実行されません.
slip.logout
のコンフィグレーション
ファイル /etc/sliphome/slip.logout
は必ずしも必要なものではあ りません (ただし“プロキシ
ARP”を利用する場合を除く) . もしこのファイルを
作成するときには, 次に示す標準的な
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
“プロキシ ARP”を利用する場合, この
/etc/sliphome/slip.logout を 使って,
特定の SLIPクライアント向けの
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
コマンド arp -d $5 は,
SLIPクライアントがログインした 際に, “プロキシ
ARP”を使った slip.login
によって追加され た ARPエントリを削除します.
これによって, 繰り返して利用することができるわけです.
必ず, /etc/sliphome/slip.logout
を作成した後に, 実行ビットを設定し てください (
chmod 755 /etc/sliphome/slip.logout )
.
ルーティングについての考慮点
“プロキシ ARP”方式を利用せずに
SLIPクライアントとその他のネットワーク (Internetも含む)
の構成要素との間でパケットをルーティングするときには,
SLIPサーバ経由で
SLIPクライアントが属するサブネットまでの経路を, 最も
近いデフォルトのルータ群へ静的な経路情報として
追加しなければならないか, または gated を
FreeBSDによる SLIPサーバへインストールして, SLIP
サブネットについての経路情報を,
適当なルーティングプロトコルでルー
タ群へ通知できるように設定するか,
のどちらかをおこなわなければなりません.
静的な経路
静的な経路を最も近いデフォルトの
ルータ群へ追加することが困難なことがあ ります
(経路情報を追加できる権限がなければそもそも不可能となる).
もし あなたの組織に複数のルータで構成された
ネットワークがあるならば, ある種 のルータ (たとえば Ciscoや
Proteonなど) は, 静的な経路を SLIPサブネッ
トへ使うようにルータを設定しなければならないだけでなく,
その静的経路を 他のどのルータへ知らせるのかもあらかじめ
指定しておく必要がありますから,
静的経路に基づくルーティングを軌道に乗せるには
それなりの専門的技術やト
ラブルシューティングやコツが必要だと思います.
gated の稼働
静的経路についての頭痛への代替手段は,
gated を FreeBSDによる SLIPサー
バへインストールして, 適切なルーティングプロトコル
(RIP/OSPF/BGP/EGP) を使って
SLIPサブネットについての経路情報を他のルータへ知らせるように
設定することです. ports
コレクションから gated
を用いることもできますし,
the GateD 匿名 FTP サイト
から探して自分自身で構築することもで きます.
この文章を執筆時点の最新バージョンは
gated-R3_5Alpha_8.tar.Z であり,
このファイルだけで FreeBSDで 動作させることができます.
gated についてのすべての情報と文書 は
Merit GateD コンソーシアム からはじまる Web
上で入手でき ます. gated
のコンパイルとインストールを行ったならば,
独自の 設定のために /etc/gated.conf
ファイルを記述してください. 次の 例は,
筆者が FreeBSDによる SLIP
サーバで使っている内容と類似のものです.
#
# 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 ;
} ;
この gated.conf ファイルの例では,
SLIPのサブネット xxx.xxx.yy
についての経路情報を RIPを使って Ethernetへブロー
ドキャストしています. もし ed
ドライバ以外の Ethernetドライバを使 うのであれば,
ed
インタフェースの記述を適切なものに置き換えてくだ さい.
またこの例では,
gated の動作をデバッグするために,
/var/tmp/gated.output
へトレース情報を出力するように指示して います.
gated が希望通りに動作したならば,
このトレースオプショ ンを止めることができます. なお,
例における xxx.xxx.yy を, あ
なた自身の
SLIPサブネットのネットワークアドレスに換えてください (また
proto direct
部分のネットワークマスクも換えることを忘れないこ と)
.
gated
のコンパイルとインストールが終了し, コンフィグレーショ
ンファイルの作成も完了したら,
FreeBSDシステムではデフォルトの
routed に代わって gated
を起動してください. そのため には,
/etc/netstart の
routed/gated 起動パラメタを
適切な値に設定してください. gated
のコマンドラインパラメタにつ いての情報は,
gated
のマニュアルページを参照してください.
謝辞
このチュートリアルについての
コメントやアドバイスを寄せてくれた次の方々
に感謝します.
&a.wilko;
Piero Serini
Piero@Strider.Inet.IT
+
+
diff --git a/ja_JP.eucJP/books/handbook/printing/chapter.sgml b/ja_JP.eucJP/books/handbook/printing/chapter.sgml
index 585758782b..6b7ae25953 100644
--- a/ja_JP.eucJP/books/handbook/printing/chapter.sgml
+++ b/ja_JP.eucJP/books/handbook/printing/chapter.sgml
@@ -1,5447 +1,5454 @@
プリンタの利用
- 著者 &a.kelly;
- 30 September 1995
+ 原作: &a.kelly;, 1995 年 9 月 30 日
- 訳者 &a.jp.kimura;.
- 3 September 1996
+ 訳: &a.jp.kimura;, 1996 年 9 月 3 日
FreeBSD でプリンタを使用するためには, バークレイラインプリンタ
スプーリングシステム (LPDスプーリングシステムとしても知られて
います) が機能するようにプリンタをセットアップする必要がありま す.
本節では, LPDスプーリングシステム (大抵の場合, 単にLPDと呼 ばれる)
について紹介します.
もし, LPDや他のプリンタスプーリングシステムについて既に詳しい
知識をお持ちの方は, 「
スプーリングシステムのセットアップ」から読み始めて
も結構です.
スプーラは何をするか
LPDはあるホストのプリンタに関する制御の一切をおこないます.
こ こで言う制御としては, 次のことが挙げられます.
ホストに接続されたプリンタ, あるいはネットワーク
上の他ホストに接続されたプリンタに対するアクセスを制御しま
す.
ファイルをプリントする要求に対して許可を与えます.
この要求は特に ジョブ
と呼ばれています.
各々のプリンタの キュー
を管理することにより,
複数のユーザがあるプリンタに対して同時にアクセスすることを
防ぎます.
ヘッダページ
(バナー または
バースト ページとしても知られています)
をプリントすることができます. これにより,
プリントアウトの山の中から自分がプリントしたジョ
ブを見つけ易くなります.
シリアルポートに接続したプリンタ用に通信パラ
メータを管理します.
ネットワーク経由で他のホスト上の, 別のLPDスプーラにジョ
ブを送ることができます.
様々なプリンタ言語やプリンタの能力に応じてジョブの
形式を整えるため,
特別なフィルタを起動することができます.
プリンタの使用に対して
課金をおこなうことができます.
設定ファイルを通して, また, 特別なフィルタプログラムを供給
することにより, 多種多様なプリンタ機器に対して, 上述の機能の
全部または一部をLPDシステムにおこなわせることができます.
どうしてスプーラを使うべきなのか
あなたのシステムを利用するのがあなた一人だけだとしたら, ア
クセス制御もヘッダページも
プリンタ利用に対する課金も必要ないのに,
なぜわざわざスプーラに煩わされなければならないのか疑問に思うか
もしれません.
プリンタに対する直接アクセスを許可することもできるので すが,
とにかくスプーラを使用するべきです. その理由は,
LPDはジョブをバックグラウンドで処理します. データが
プリンタに送信されるまで待つ必要はありません.
LPDではジョブをフィルタを通してプリントすることが簡
単にできます. これにより, 印刷物のヘッダに時刻や日付を入れ
たり, 特別なファイル形式 (TeX の DVI ファイルなど) をプリン
タが処理できる形式に変更することができます. これらの作業を
手動でおこなう必要がなくなります.
プリント処理をおこなうフリーのまたは商用のプログラムの
ほとんどは, システムのスプーラとやりとりするように作られて
います. スプーリングシステムをセットアップすることで, 今後
加えるかもしれない, あるいは, 既に持っている別のソフトウエ
アをより簡単にサポートすることができるでしょう.
スプーリングシステムのセットアップ
LPDスプーリングシステムを用いてプリンタを使用するためには,
プリンタ機器とLPD用ソフトウェアの両方を準備する必要があります.
本ドキュメントでは次の2段階のレベルに分けて説明をします.
プリンタを接続する方法, プリンタにどの
ように通信するかをLPDに指示する方法や, プレインテキスト
をプリンタで印字する方法については, 「
プリンタの簡単な設定」をご覧ください.
様々な形式のファイルを印字する方法, ヘッダページを
印字する方法, ネットワーク経由でプリンタに印字する方法,
プリンタを制御する方法, プリンタの使用に対する課金をおこなう
方法については「
プリンタ設定上級編」をご覧ください.
プリンタ設定導入編
この節では, プリンタ機器やプリンタを使用するためのLPD用ソフ
トウェアを設定する方法について述べます. この節の概要は次の通り
です.
「
プリンタ機器の設定」では,
プリンタをコンピュータに接
続するためのヒントがいくつか書かれています.
「
ソフトウェアの設定」では, LPDのスプーラ設定ファイル
/etc/printcap
の設定方法について書かれています.
データをプリンタに送るためにシリアルまたは
パラレルインタフェー スではなく,
ネットワークプロトコルを使用する場合は, 「
ネットワークにおけるデータストリームの
インタフェースを持つプリンタ」をご覧くださ い.
この節のタイトルは“プリンタ設定導入編”ですが,
実際の設定は かなり複雑です. プリンタをコンピュータに接続し,
LPDスプーラを 起動させることは一番困難な作業です.
ヘッダページを出力させたり, 課金したりするオプションの設定は,
一度プリンタがうまく動くよう になれば, とても簡単です.
プリンタ機器の設定
この節では, プリンタにPCを接続するための様々な方法について
説明しています. ここでは, ポートやケーブルの種類, FreeBSDが
プリンタとの通信に必要なカーネルコンフィグレーションについて
も言及しています.
もし, プリンタが既に接続されていて,
他のオペレーティングシステ
ム上でプリンタからの印字に成功している場合は, 「
ソフトウェアの設定」まで読み飛
ばすことが多分できるでしょう.
ポートとケーブル
最近のPC用のプリンタほとんどには次のインタフェースの一つ
もしくは両方がついています.
シリアル インタフェースでは,
プリンタにデータを
送信するためにコンピュータにあるシリアルポートが使用され
ます. シリアルインタフェースはコンピュータ業界で共通し
て使用されています. そのケーブルは容易に手に入り, また,
簡単に自作することもできます.
シリアルインタフェースには,
特別なケーブルが必要なことがときどきあり, また, 何か複
雑な通信方式選択の設定が必要になることがあります.
パラレル インタフェースでは,
プリンタにデータを
送信するためにコンピュータにあるパラレルポートを使用しま
す. パラレルインタフェースはPC業界では共通して使われてい
ます. ケーブルの入手は容易ですが, 自作するのはシリアルよ
りも難しいです. パラレルインタフェースには通常,
通信方式の選 択はなく, このため,
設定が極めて単純になっています.
パラレルインタフェースは
“セントロニクス”インタフェー
スとして知られています. これは, プリンタ用のコネクタタ
イプとして採用された後に名付けられました.
シリアルインタフェースはパラレルインタフェースより
も普通はデータの伝送速度が遅くなります.
パラレルインタフェースで は, 通常,
(コンピュータからプリンタへの) 単方向通信のみをおこな
うのに対して,
シリアルインタフェースは双方向通信をおこないます.
最近のパラレルポートの多くはプリンタ側からデータを受けとる
こともできますが, コンピュータ側にデータを送り返すことが必
要となるプリンタはほとんどありません. さらに, FreeBSDでは
双方向のパラレル通信をまだサポートしていません.
通常, プリンタで双方向通信が必要となるのは, プリンタが
PostScript 言語に対応しているときだけです. PostScript プリ
ンタは非常に冗長に動作させることができます. 事実, PostScript
によるジョブでは, プログラムを本当にプリンタ に送信します.
このことは, 印字作業を必ずしもする必要がない ことを意味し,
また, プログラムの結果をコンピュータに直接返
されるかもしれません. PostScript プリンタでは, 双方向
通信を使って, PostScript プログラムのエ
ラーや紙づまりといった問題をコンピュータに報告します. ユー
ザはそれらの情報を知りたいと思うかもしれません. さらに,
PostScript プリンタで課金作業をもっとも効率よくおこなうため
には双方向通信が必要となります. この方法では, まず, プ
リンタの現在のページカウント (起動してから今まで何枚の紙を
印字したか) の情報を得ます. 次に, ユーザのジョブをおこない,
終 了後, 再びページカウントを得ます. この2数を差によって, 課
金対象となる紙の枚数を知ることができます.
それでは,
どちらのインタフェースを使うべきなのでしょうか.
双方向通信が必要なら, シリアルポートを使ってくださ
い.
FreeBSDではパラレルポート上での双方向通信はまだサポー
トされていません.
双方向通信の必要がなく, パラレルかシリアルかの選
択ができる場合はパラレルインタフェースを使うのが好ましい
です. これにより, シリアルポートを他の周辺機器 (端末やモ
デムのなど) のために残しておくことができます. また, パラ
レルインタフェースの方がほとんどの場合高速であり, 設定も
より簡単になっています.
結局のところは
動いてくれるものを使えばよいのです.
パラレルポート
プリンタをパラレルインタフェースを使って接続する場合は,
セントロニクスケーブルでプリンタと
コンピュータをつないでくださ い. 詳しい説明はプリンタ,
コンピュータ, あるいは両方に付属す
る説明書に書かれているはずです.
その際,
どのパラレルポートを使用したかを覚えておいてください.
FreeBSDでは最初のポートは /dev/lpt0 ,
2番目は /dev/lpt1 であ り,
3番目以降も同様に続きます.
シリアルポート
シリアルインタフェースを使ってプリンタを使う場合は, 適切
なシリアルケーブルでプリンタ
とコンピュータを接続してください. 詳しい説明はプリンタ,
コンピュータ, あるいは両方に付属する説
明書に書かれているはずです.
“適切なシリアルケーブル”
がよくわからないときは, 次のどれか
を試してみてください.
モデム 用ケーブルでは,
それぞれのピンは他方の
コネクタの対応するピンと線でつながっています. このタイプ
のケーブルは, “DTE-DCE”
間ケーブルとしても知られています. (訳注:
日本ではストレートケーブルという名前で売られています)
ヌルモデム 用ケーブルでは,
あるピンは対応するピ ント接続していますが, あるピン
(例えば, データ送信用とデー タ受信用のピン)
が交差して接続したり, いくつかのピンは内部
で短絡していたりします. このタイプのケーブルは,
“DTE-DTE” 間ケーブルと呼ばれています.
(訳注:日本ではクロスケーブル
という名前で売られています)
A シリアルプリンタ 用ケーブルは,
ある特定のプ リンタで必要とされ,
ヌルモデムケーブルと似ていますが, 内
部で短絡させる代わりに, ある信号を他方側に送るために使用
しています.
この他に,
プリンタ用の通信パラメータを設定する必要がありま す. 通常,
プリンタのフロントパネルやDIPスイッチによって制 御します.
コンピュータとプリンタの双方で設定できる最高の通 信速度[bps]
(ビット/秒.
ボーレート と示されているときも ある)
を選んでください. そして, データビット (7または8), パリ ティ
(偶/奇/なし), ストップビット (1または2) を選んでください.
そして, フローコントロールの有無 (制御なし, または
XON/XOFF(“イン・バンド” または
“ソフトウェア”フローコ ントロールとも呼ばれる))
を選びます. 以下に続くソフトウェア の設定のために,
ここでの設定を覚えておいてください.
ソフトウェアの設定
本節では FreeBSD の LPD
スプーリングシステムで印字をおこなうために
必要となるソフトウェアの設定について説明しています.
本節の概要は次のようになります.
プリンタで使用するポートのために, 必要があれば, カー
ネルの書き変えをおこないます. 「 カーネルの変更」で,
このためにしなくてはなら ないことを説明しています.
パラレルポートを使用している場合は, パラレルポートの
ための通信モードの設定します. 詳細は, 「
パラレルポートの通信モードを設定する
」で説明しています.
オペレーティングシステムからプリンタにデータが送ら
れているかをテストします. 「
プリンタとの通信状況を調べる」で, どのように
テストするかの提案をいくつかおこなっています.
ファイル/etc/printcap を変更し,
LPDの設定を おこないます. 「 /etc/printcap
ファイル」で, どのように変更するかを
説明しています.
カーネルの変更
オペレーティングシステムのカーネルの
コンパイルをおこなうこと によって,
指定されたのデバイスが機能するようになります. シリ アル,
または, パラレルインタフェースをプリンタで使用する場合,
必要なデバイスがこの指定の中に含まれていなくてはなりません.
したがって,
必要なデバイスがカーネルに組み込まれていない場合, 追
加のシリアル, または, パラレルポートをサポートするために,
カー ネルの再コンパイルが必要となるかもしれません.
シリアルポートが現在使用しているカーネルで
サポートされている かどうかを調べるためには,
次のように入力します.
&prompt.root; dmesg | grep sioN
ここで, N
はシリアルポートの番号を示し, この番号は0から 始まります.
次のような出力があった場合, カーネルはそのポー
トをサポートしています.
sio2 at 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
パラレルポートが現在使用しているカーネルで
サポートされている かどうかを調べるためには,
次のように入力します.
&prompt.root; dmesg | grep lptN
ここで, N
はパラレルポートの番号を示し, この番号は0から 始まります.
次のような出力があった場合, カーネルはそのポー
トをサポートしています.
lpt0 at 0x378-0x37f on isa
上記の出力が得られない場合, プリンタを使うため,
オペレーティ ングシステムにパラレル, または,
シリアルポートを認識し, 使用 できるようにするためには
カーネルを変更する必要があります.
シリアルポートをサポートさせるには, 「
FreeBSDカーネルのコンフィグレーション」の節をご覧く
ださい. パラレルポートをサポートさせる場合も, その節と,
あ わせて ,
この節に続く節もご覧ください.
ポート用エントリを /dev
に追加する
カーネルがシリアル, または, パラレルポートを通じての通
信をサポートしていたとしても, システム上で動いているプログ
ラムがデータの送受信をおこなうための
ソフトウェアインタフェース がさらに必要になります.
そのインタフェースは, /dev
ディレクトリにあるエントリに相当します.
/dev
エントリにポートを加えるために
&man.su.1; コマンドで root になります. suコマンド
でパスワードを聞かれたら, ルート用のパスワードを入力し
ます.
/dev
ディレクトリに移動します.
&prompt.root; cd /dev
次のように入力します.
&prompt.root; ./MAKEDEV port
ここで, port は,
作成するポート名です. 1番目 のパラレルポートのときは
lpt0 に, 2番目のときは
lpt1 になり, 以降同様になります.
1番目のシリア ルポートのときは,
ttyd0 に, 2番目のときは
ttyd1 になり,
これも以降同様となります.
次を入力し, デバイスのエントリができたか確認し
ます.
&prompt.root; ls -l port
パラレルポートの通信モードを設定する
パラレルインタフェースを使用している場合, FreeBSDでは,
割り込み駆動型にするか,
プリンタとの通信の状況をカーネルに監
視させるかのいずれかを選択できます.
GENERIC
カーネルでは割り込み駆動 方式が,
デフォルトになっています. この方式では,
オペレーティングシ
ステムはプリンタがデータを受け付けられるかどうかを調べ
るために, IRQ ラインを一つ使用します.
監視 方式では,
オペレーティングシステムにプ
リンタがもっとデータを受け付けられるかどうかを繰り返し
尋ねるように指示します. そして, 受け付けるという応答を
受けたとき,
カーネルはさらなるデータを送信します.
割り込み駆動方式は, いくらか高速になりますが, 貴重な
IRQ ラインを一つ消費します.
うまく機能するものをお使いください.
通信モードを設定するためには2つの方法があります.
1つはカー
ネルを変更することで, もう一つは
&man.lptcontrol.8; プログラムを使用する方法です.
カーネルを設定することによって,
通信モードを変更する.
カーネルコンフィグレーションファイルを変更しま す.
lpt0
のエントリを探すか追加してください. 2番目
のパラレルポートを設定するときは, 代わりに
lpt1 を使います. 以下,
3番目のポートは lpt2 となってい
きます.
イベント駆動方式にする場合は,
irq 指 定を追加します.
device lpt0 at isa? port? tty irq N vector lptintr
ここで, N
はパラレルポート用の IRQ 番号で す.
監視方式を使用する場合は,
irq を追加 してはいけません.
device lpt0 at isa? port? tty vector lptintr
ファイルをセーブし, config プログラムを起動 し,
カーネルの構築, インストールをおこないます. そして, リ
ブートしてください. 詳細は, 「
FreeBSDカーネルのコンフィグレーション」を参照
してください.
&man.lptcontrol.8;
で通信モードを設定する場合
lptN
をイベント駆動方式に設定する場合は,
次のように入力します.
&prompt.root; lptcontrol -i -u N
lptN
を監視方式に設定する場合は, 次のように入力します.
&prompt.root; lptcontrol -p -u N
これらのコマンドを /etc/rc.local
ファイルに追加
しておくと, システムをブートする度に通信モードを設定する
ことができます. 詳細については,
&man.lptcontrol.8; をご覧ください.
プリンタとの通信状況を調べる
スプーリングシステムの設定に進む前に, オペレーティング
システムがプリンタにデータを送ることに成功しているかどうか
を確かめるべきでしょう. これにより, 印字がうまくいかないと
き, プリンタとの通信が問題なのか, スプーリングシステムが問
題なのかを分けて調べることがかなり容易になります.
プリンタをテストするためには,
プリンタに何かのテキストを送
信してみます. 送信した文字をすぐに印字してくれるプリンタに
は, &man.lptest.1; コマンドを使うと有用です. このコマンドは印
字可能な96文字のASCII文字すべてを96行生成します.
PostScript (または他の言語に対応した) プリンタの場合
は, もっと巧妙なテストが必要になります. 次のような, 簡単な
PostScript プログラムを使えば十分でしょう.
%!PS
100 100 moveto 300 300 lineto stroke
310 310 moveto
/Helvetica findfont 12 scalefont setfont
(Is this thing working?) show
showpage
このドキュメントでプリンタ用言語を参照するとき は,
PostScript のような言語を仮定しており, Hewlett Packard
の PCL は考慮していません. PCL は非常に機能的なの
ですが,
プレインテキストにエスケープシーケンスを混ぜること
ができます. PostScript ではプレインテキストを直接印字
することはできません.
このような種類のプリンタ言語に対して は,
特別な対応をおこなわなければなりません.
パラレルポートのプリンタとの接続を調べる
この節では, FreeBSDがパラレルポートに接続されたプリ
ンタと通信できているかどうかを調べる方法について説明し
ています.
パラレルポートのプリンタをテストするために
&man.su.1; コマンドで root になります.
プリンタにデータを送ります.
プリンタがプレインテキストを印字できる場合,
&man.lptest.1; コマンドを使います.
次のように入力してください.
&prompt.root; lptest > /dev/lptN
ここで, N
はパラレルポートの番号で, 番号は
0から始まります.
プリンタが PostScript か他のプリンタ
言語を使用している場合, そのプリンタに簡単なプロ
グラムを送信してください. 次のように入力します.
&prompt.root; cat > /dev/lptN
そして, 一行一行,
プログラムを慎重に 入力して
下さい. RETUREN または ENTER キーを入力してしま
うと, その行は編集できなくなります. プログラムの
入力が終わったら, CONTROL+Dか, あなたが設定して
いるファイル終了のキーを押してください.
もしくは, プログラムを入力したファイルがある
場合は, 次のように入力してください.
&prompt.root; cat file > /dev/lptN
ここで, file
はプログラムが格納されていて,
プリンタに送信するファイルの名前です.
これで何かがプリントされることでしょう.
印字されたテキ
ストがおかしくても心配しなくても構いません. それについ
ては, 後で修正します.
シリアルポートのプリンタとの接続を調べる
この節では, FreeBSDがシリアルポートに接続されたプリ
ンタと通信できているかどうかを調べる方法について述べられ
ています.
シリアルポートのプリンタをテストするために
&man.su.1; コマンドで root になります.
/etc/remote
ファイルを編集します. 次の エントリを加えてください.
printer:dv=/dev/port :br#bps-rate :pa=parity
ここで, port
シリアルポート (ttyd0 ,
ttyd1 など) のデバイスエントリで,
bps-rate は
プリンタとの通信の転送速度[bit/秒],
parity はプリ
ンタとの通信で必要とされるパリティ
(even , odd ,
none ,
zero のいずれか) を表わしていま
す.
次の例は,
プリンタをシリアルケーブルでパリティなし, 転送速度
19200bpsで第3番目のシリアルポートに接続した場
合です.
printer:dv=/dev/ttyd2:br#19200:pa=none
&man.tip.1; コマンドでプリンタと接続します. 次のよ
うに入力してください.
&prompt.root; tip printer
これがうまくいかなかった場合は,
/etc/remote を 編集して,
/dev/ttydN
の代わりに
/dev/cuaaN
を試してみてください.
プリンタにデータを送ります.
プリンタがプレインテキストを印字できる場合,
&man.lptest.1; コマンドを使います.
次のように入力してください.
~ $lptest
プリンタが PostScript か他のプリンタ
言語を使用している場合, そのプリンタに簡単なプロ
グラムを入力します. 一行一行,
プログラムを慎
重に 入力してください.
バックスペースキーや他の編 集用のキーは,
プリンタの制御コードに割り当てられ
ているかもしれません. プログラムが終了したことを
プリンタに伝えるための特別なファイル終了キーを入
力する必要があるかもしれません. PostScript
プリンタの場合, CONTROL+Dを入力します.
もしくは, プログラムを入力したファイルがある
場合は, 次のように入力してください.
~ >file
ここで, file
はプログラムが格納されている
ファイル名です.
&man.tip.1; コマンドでファイルを送
信した後は, ファイル終了を表わすキーを入力する必要
があります.
これで何かがプリントされることでしょう.
印字されたテキ
ストがおかしくても心配しなくても構いません. それについ
ては, 後で修正します.
スプーラに許可を与える:
/etc/printcap ファイル
ここまでで, プリンタはコンピュータに接続され, (必要なら)
プリンタと通信できるようにカーネルを変更し, 簡単なデータをプ
リンタに送信することができているはずです. これで, LPDにプリ
ンタへのアクセスを
制御させる設定をおこなう準備が整いました.
LPDの設定は /etc/printcap
を編集することでおこないます.
LPDスプーリングシステムはスプーラが使われる毎にこのファイル
を参照します. そのため, ファイルを更新するとすぐにその変更が
反映されます.
&man.printcap.5; ファイルの書式は簡単です.
/etc/printcap
の編集はお好みのテキストエディタをお
使いください. このファイルの書式は,
/usr/share/misc/termcap や
/etc/remote
といった他のケイパビリティファイルと一致しています.
この書式
のついての詳細な情報については
&man.cgetent.3; をご覧ください.
スプーラの単純な設定法は,
次のステップでおこないます.
プリンタに名前 (と簡単な別名2〜3個) を付け, それを
/etc/printcap ファイルに記述します.
これについ ては, 「
プリンタに名前を付ける」
を参照してください.
sh の項目を追加することで,
ヘッダページの出 力を禁止します (デフォルトは許可).
これについては, 「
ヘッダページの印字を禁止する」
を参照してください.
スプール用のディレクトリを作成し, その位置を
sd 項目で指定します. これについては,
「
スプーリングディレクトリの作成」
を参照してください.
プリンタを使用するために /dev
エントリを 設定し, /etc/printcap の
lp 項目でそのエ ントリを指定します.
これについては, 「
プリンタデバイスの特定」 を参照してください.
プリンタをシリアルポートに接続した場合は,
fs , fc ,
xs , xc
の項目を設定する必要があります. こちらについては,
「
スプーラのための通信パラメータの設定」
を参照してください.
プレインテキスト用の入力フィルタのインストールを
おこないます. 「
テキストフィルタのインストール」
を参照してください.
&man.lpr.1; コマンドで何かを印字することで設定のテス
トをおこないます.
印字してみよう と
トラブルシューティング を参照してください.
PostScript プリンタのような, プリンタ言語を
使用しているプリンタには, プレインテキストを直接印字させる
ことができません. 上にアウトラインを示し, 以下の節で説明す
る簡単な設定方法の説明では, そのようなプリンタを設置してい
る場合は, プリンタが認識できるファイルだけを印字の対象とし
ているという仮定をしています.
多くの場合,
利用者はシステムに設置されているプリンタすべてでプ
レインテキストが印字できることを期待しています. 印字作業を
おこなうためにLPDのインタフェースを利用するプログラムでも,
通 常, そのような仮定を置きます.
プリンタ言語を使用するプリン タを設置しており,
そのプリンタ言語で記述されたジョブと,
これに加えて ,
プレインテキストのジョブも印字できるよ うにしたいならば,
上で示した簡単な設定方法に加えて, さら
なる設定をおこなうことを強くお勧めします. すなわち,
原始的なプ レインテキストから PostScript (もしくは,
他のプリンタ 言語)
に変換するプログラムをインストールしてください. 「
プレインテキストのジョブを PostScript
プリンタで印字する」
で, そ れをどのようにおこなえばよいのかが
説明されています.
日本語を印字したい場合は, プリンタ言語を使用し
ていない「日本語プリンタ」についても,
プリンタ固有のエスケー プシーケンスを送る必要があります.
また, 漢字コードをプリン
タが設定しているものに変換したりする必要があり, 各プリンタ
毎に, 日本語用のフィルタが必要になります.
プリンタに名前を付ける
最初の (簡単な) ステップで, プリンタの名前を考えます.
プ リンタには別名をいくつか付けることもできるので,
機能的な名前
でも風変わりな名前でもどちらを選んでもまったく
問題はありません.
少なくとも1つのプリンタには,
/etc/printcap の中 で,
lp という別名を持たせるべきでしょう.
この名前は デフォルトのプリンタ名になっています.
ユーザが環境変数 PRINTER を設定しておらず,
かつ, LPDコマンドのコマンドラインでプリ
ンタの名前が指定されていない場合, lp
がデフォルトのプリ ンタ名となり,
そのプリンタに出力されます.
それから, これは共通の慣習ですが,
プリンタの最後の別名には,
メーカーやモデル名を含むプリンタの完全な名称をつけることに
なっています.
名前と別名のいくつかを決めたら,
/etc/printcap ファ イルに設定します.
プリンタ名は一番左のカラムから書き始めま す.
別名はそれぞれ縦棒によって区切られ, 最後の別名の後ろに
コロンを置きます.
次の例では, 2台のプリンタ (Diablo 630 ラインプリンタと
Panasonic KX-P4455 PostScript レーザライタプリンタ) が定義
されている /etc/printcap
のスケルトンを記しています.
#
# /etc/printcap for host rose
#
rattan|line|diablo|lp|Diablo 630 Line Printer:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
この例では, 最初のプリンタに rattan
という名前と別名 として, line ,
diablo , lp そして
Diablo 630 Line Printer
が付けられています. 別名とし て lp
があるので, このプリンタはデフォルトのプリンタとなっ
ています. 2番目は bamboo と名付けられ,
別名として, ps と
PS , S ,
panasonic , Panasonic KX-P4455
PostScript v51.4 が付けられていま す.
スプーリングディレクトリの作成
スプーラの簡単な設定の次のステップでは,
スプーリン
グディレクトリ を作成します.
プリンタに送られるジョブ は,
その印字が終了するまでこのディレクトリに置かれます. また,
他のたくさんのスプーラもこのディレクトリにファイ
ルを置きます.
様々な事情によりスプーリングディレクトリは, 通常, 慣例
として /var/spool の下に置きます.
また, スプーリングディレクトリの内容はバックアップをす
る必要はありません.
&man.mkdir.1; によってディレクトリを
作るだけでスプーリングディレクトリの復旧は完了します.
スプーリングディレクトリの名前は, これも慣例ですが, 次
のようにプリンタの名前と同じにします.
&prompt.root; mkdir /var/spool/printer-name
しかしながら, ネットワーク上に使用可能なプリンタがたく
さんあるならば, LPDで印字するための専用のディレクトリに
スプーリングディレクトリを置きたいと思うかもしれません.
例に出てきたプリンタ rattan と
bamboo につい て, この方式を採用すると,
次のようになります.
&prompt.root; mkdir /var/spool/lpd
&prompt.root; mkdir /var/spool/lpd/rattan
&prompt.root; mkdir /var/spool/lpd/bamboo
各ユーザが印字するジョブのプライバシを守りた
いと考えているならば, スプーリングディレクトリを保護し
て, これを誰からでもアクセスできないようにしたいと思う
かもしれません. スプーリングディレクトリは, deamon ユー
ザと daemon グループに所有され, 読み込み, 書き込み, 検
索可能であり, 他からはアクセスできないようにするべきで
す. 例題のプリンタに対して, 次のようにすることにしましょ
う.
&prompt.root; chown daemon.daemon /var/spool/lpd/rattan
&prompt.root; chown daemon.daemon /var/spool/lpd/bamboo
&prompt.root; chmod 770 /var/spool/lpd/rattan
&prompt.root; chmod 770 /var/spool/lpd/bamboo
最後に, /etc/printcap ファイルで,
これらのディ レクトリの位置を LPD に伝える必要があります.
スプーリ ングディレクトリのパス名は sd
項目で指定します.
#
# /etc/printcap for host rose - added spooling directories
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:
プリンタ名が最初のカラムから始まっており, そのプリンタ
に関して記述される他のエントリは TAB で字下げされてい
ること, 各行がバックスラッシュで終わっていることに注意
してください.
sd
によりスプーリングディレクトリが指定されていな い場合,
スプーリングシステムは /var/spool/lpd
デフォルト値として使用します.
プリンタデバイスの特定
「 ポート用エントリを /dev
に追加する」では, FreeBSD でプリン
タとの通信に使用される /dev
ディレクトリ内の エントリを特定します. そして, LPD
にその情報を伝えま す. 印字するジョブを受け取ると,
スプーリングシステムは,
(プリンタにデータを渡す義務がある) フィルタプログラムに
代わって指定されたデバイスをオープンします.
/etc/printcap ファイルで
lp 項目を使って
/dev エントリを記入します.
ここでの例では, rattan
は1番目のシリアルポートに, bamboo
は6番目のシリアルポートに接続されているこ とにしましょう.
このとき, /etc/printcap には
次のようになります.
#
# /etc/printcap for host rose - identified what devices to use
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyd5:
/etc/printcap でプリンタの
lp 項目が指定 されていない場合は, LPD
はデフォルトとして /dev/lp
を使用します. /dev/lp は, 現在の
FreeBSD には存在していません.
設置したプリンタがパラレルポートに
接続されている場合は,
「
テキストフィルタのインストール」
まで読み飛ばしてください.
そうでない場合は, 次節の説明に続いてください.
スプーラのための通信パラメータの設定
シリアルポートにプリンタを接続した場合, プリンタにデー
タを送信するフィルタプログラムに代わり, 通信速度やパリ
ティ, その他のシリアル通信パラメータを設定することがで
きます. このことによる利点は,
/etc/printcap
を編集するだけで, 様々な
通信パラメータを試してみることができます. フィルタプロ
グラムを再コンパイルする必要はありません.
スプーリングシステムで, シリアル通信の設定が異
なっているかもしれない複数のプリンタに同じフィルタプロ
グラムを使うことが可能になります.
次の /etc/printcap の項目で,
lp で指定
されたデバイスのシリアル通信
パラメータを制御できます.
br#bps-rate
デバイスの通信速度を
bps-rate に設定します.
ここ で, bps-rate は 50,
75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400,
4800, 9600, 19200, 38400[bit/秒]
のいずれかです.
fc#clear-bits
デバイスをオープンした後で,
sgttyb 構造体の
clear-bits
フラグビットをクリアします.
fs#set-bits
sgttyb 構造体の
clear-bits
フラグビットをセッ トします.
xc#clear-bits
デバイスをオープンした後で, ローカルモードビット
clear-bits
をクリアします.
xs#set-bits
ローカルモードビット
set-bits
をセットします.
fc , fs ,
xc , そして xs
のビットに関 する詳しい情報については,
/usr/include/sys/ioctl_compat.h
を参照してく ださい.
項目 lp で指定されたデバイスを LPD
がオープンする とき, LPD は sgttyb
構造体のフラグビットを読み出 します. そして, 項目
fc の全ビットをクリアします. 次に,
項目 fs のビットをセットし,
その結果を設定 します.
ローカルモードビットに関しても同様におこなわれます.
例題のプリンタで6番目のシリアルポートに接続されたプリ
ンタの設定を追加してみましょう. 通信速度は38400bpsに設
定します. フラグビットとして, TANDEM, ANYP, LITOUT,
FLUSHO, PASS8 をセットします. ローカルモードビットでは,
LITOUT と PASS8 フラグをセットします.
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyd5:fs#0x82000c1:xs#0x820:
テキストフィルタのインストール
ここまでで,
プリンタにジョブを送るために使うテキストフィ ルタを LPD
に設定する準備が整いました. テキストフィ
ルタ とは,
入力フィルタ としても知られていますが,
印字するジョブがあるときに LPD が起動するプログラムで す.
LPD がプリンタのためにテキストフィルタを起動する とき, LPD
はフィルタの標準入力からプリントするジョブ を入力し,
フィルタの標準出力に項目 lp で指定され
たプリンタデバイスを接続します. フィルタは, 標準入力か
らジョブを読み込み, プリンタのための必要な変換をおこなった
後, その結果を標準出力に出力する, これにより印字がなさ
れることを期待されています. テキストフィルタについての
更に詳しい情報については, 「
フィルタはどのように機能しているか」
をご覧ください.
ここでの簡単なプリンタ設定では,
プリンタにジョブを送るため, /bin/cat
を実行するだけの簡単なシェルスクリプ トで間に合います.
FreeBSD に標準で付属している lpf
というフィルタでは, バックスペース文字を使っ
た下線引きの動作をおこなう文字ストリームをうまく扱うことが
できないプリンタのための代替処理をおこなってくれます.
もちろん,
他のどんなフィルタプログラムを使っても構いません.
フィルタ lpf については, 「 テキストフィルタ
lpf」で詳しく説明します.
最初に, 簡単なテキストフィルタであるシェルスクリプト
/usr/local/libexec/if-simple
を作ってみましょ う.
次のテキストをお好みのテキストエディタでファイルに
書き込んでください.
#!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
#
# Simply copies stdin to stdout. Ignores all filter arguments.
/bin/cat && exit 0
exit 2
そして, このファイルを実行可能にします.
&prompt.root; chmod 555 /usr/local/libexec/if-simple
LPD
にこのテキストフィルタを使うことを設定するためには,
/etc/printcap に
if 項目を使って指定しま す. これまでの
/etc/printcap の例のプリンタ 2台に,
このフィルタを加えてみましょう.
#
# /etc/printcap for host rose - added text filter
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:\
:if=/usr/local/libexec/if-simple:
印字してみよう
簡単な LPD 設定も終わりにたどり着きました. 残念ながら,
設定はこれでおしまいというわけではありません. なぜなら,
さらに, 設定をテストし, すべての問題点を解決しなくては
ならないからです. 設定をテストするために, 何かを印字し
てみましょう. LPD システムで印字をするためには,
&man.lpr.1; コマンドを使います. このコマンドは, 印字する
ためのジョブを投入する働きをします.
&man.lpr.1; コマンドを
「
プリンタとの通信状況を調べる」で紹介した,
あるテスト用のテキストを生成してくれる
&man.lptest.1; プログラムと一緒に使うこともできます.
簡単な LPD
設定をテストするために:
次のように入力してください.
&prompt.root; lptest 20 5 | lpr -Pprinter-name
ここで, printer-name
は /etc/printcap
で指定したプリンタ名 (もしくはその別名) です. デフォルト
のプリンタを使用する場合は,
-P 引数を付けないで
&man.lpr.1; を打ち込んでください. もう一度述べますが, ポス
トスクリプトを期待しているプリンタをテストするならば,
&man.lptest.1; を使う代わりに PostScript で書かれたプ
ログラムをプリンタに送ってください. プログラムを送るた
めには, プログラムをファイルに格納して, lpr
file
と打ち込みます.
PostScript プリンタの場合, 送信したプログラムによ
る結果が得られるでしょう.
&man.lptest.1; を使った場合は,
以下のような結果が見られるでしょう.
!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
$%&'()*+,-./01234567
%&'()*+,-./012345678
更にプリンタをテストしたい場合は, (言語ベースのプリン
タのための) もっと大きなプログラムを送信するか, 引数を
変えて
&man.lptest.1; を実行します. 例えば, lptest
80 60 で それぞれ80文字の行を60
行生成します.
プリンタがうまく動かなかった場合は, 次の節, 「
トラブルシューティング」をご覧ください.
トラブルシューティング
&man.lptest.1; を使った簡単なテストをおこなった結果,
正しい出
力を得られずに, 以下に示すような出力が得られるかもしれ
ません.
しばらくしたら出力される, または,
紙の全体が出て こない
プリンタは上で示されたような印字を
おこなったのですが, しばら くして止まってしまい,
動かなくなってしまいました. 印字
された結果をプリンタから取り出すためには,
プリンタにある PRINT REMAINING ボタン, また は, FORM
FEED ボタンを押す必要があるようです.
この場合は,
おそらくジョブはプリントをする前に更にデー
タが送られてこないか待ち続けているのでしょう.
この問題を解決するためには, プリンタに FORM FEED
文字 (あるいは特定の必要な文字コード) を
送るテキストフィルタを使ってください.
プリンタ内部に残っ
たデータをプリンタにすぐに印字させるには, 普通は,
これ で十分です.
次のジョブが前のジョブの最終ページの中央の
どこかから印字を開始させないためにも,
紙の途中で印字の
ジョブが終了したかどうかを確認するのは有益です.
シェルスクリプト
/usr/local/libexec/if-simple
を次のように変更して, プリンタへジョブを送信した後に
FROM FEED 文字を印字させるようにします.
#!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
#
# Simply copies stdin to stdout. Ignores all filter arguments.
# Writes a form feed character (\f) after printing job.
/bin/cat && printf "\f" && exit 0
exit 2
“階段効果”が現れた
次のような印字結果が得られた.
!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
あなたは「階段効果」
の新たなる犠牲者になってしま いました. この原因は,
改行を表わすべき文字がなんであるか
の解釈が混乱していることにあります. UNIX
スタイルのオ ペレーティングシステムでは, 改行文字は
ASCII コード10 の line feed (LF)
の1文字が使われています. MS-DOS や OS/2などは ASCII
コード10の LF と , ASCII コード
13の文字 (carriage return または CR)
をペアで使います. (訳注:Machintosh では CR
のみで表現されています). 大抵のプリンタでは,
改行を表わすために MS-DOS の慣習にしたが
います.
FreeBSD で印字する場合, 印字したテキストは LF
文字だけ が使われていました. プリンタでは LF
文字を見つけると, 紙を1行分送り出しました. しかし,
次の文字を印字するた
めの紙の水平方向の位置は維持されました. すなわち, CR
文字が意味することは,
次の文字を印字する位置を紙の左端
に動かすことです.
FreeBSD
がプリンタに動作をして欲しいと思っている動作を
以下に示します.
プリンタが CR を受け取ったとき
CR 動作 (復帰) をおこなう
プリンタが LF を受け取ったとき
CR + LF 動作 (復帰, 改行) をおこなう
このように動作させるための方法が
いくつかあります.
これらの文字の解釈を変えるために, プリンタ
の設定スイッチかコントロールパネルを操作する方
法. どのようにして設定をするかはプリンタのマニュ
アルを参照してください.
FreeBSD 以外のオペレーティン
グシステムを切り替えて使う場合, CR と LF 文字
の解釈をそのオペレーティングシステムで使われて
いるようにプリンタを
再設定 する必要がある
かもしれません. 以下に示す解決方法のいずれかを
選ぶのがよいかもしれませんね.
自動的に LF を CR+LF に変換してくれる
FreeBSD 用のシリアルドライバを入手する方法. も
ちろん, このドライバはプリンタ専用に接続される
シリアルポート
のみ で動作します. この機能
を許可するためには,
/etc/printcap ファ
イルで対象プリンタの fs
項目で CRMOD ビッ トをセットします.
LF
文字の扱いを一時的に変更するためのエ
スケープコード をプリンタに送る方法.
プリンタ
がサポートしているかもしれないエスケープコード
については, プリンタのマニュアルを参照してくだ
さい. 適切なエスケープコードが見つかったら, 最
初にそのコードを送り, 次にプリントジョブを送信
するようにテキストフィルタを変更してください.
次に, Hewlett Packard 社の PCL
エスケープコー
ドに対応しているプリンタのためのテキストフィル
タの例を示します. このフィルタでは, プリンタ に
LF 文字を LF と CR の2文字として扱わせます.
その後に, プリンタにジョブを送ります. 最後に,
ジョブの最終ページの紙を排出するため, FROM FEED
文字を送ります. このフィルタは Hewlett Packard
社のほとんどすべてのプリンタで機能するは
ずです.
#!/bin/sh
#
# hpif - Simple text input filter for lpd for HP-PCL based printers
# Installed in /usr/local/libexec/hpif
#
# Simply copies stdin to stdout. Ignores all filter arguments.
# Tells printer to treat LF as CR+LF. Ejects the page when done.
printf "\033&k2G" && cat && printf "\f" && exit 0
exit 2
ホスト orchid にある
/etc/printcap の
例を以下に示します. ここには, 一番目のパラレル
ポートにプリンタ (Hewlett Packard LaserJet 3Si)
が一台接続されており, そのプリンタ名は
teak です.
#
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/hpif:
訳注: LF を CR+LF
に置き換える cat コマンド
を作る方法も当然考えられます. そして, このコマ
ンドと, if-simple の cat の部分
を置き換えればよいわけです. 具体的にどのように
するかは, 読者への練習問題としましょう.
各行が重ね書きされてしまった
プリンタは紙送りをまったくしませんでした.
テキストすべての行
がある行の上で重ねて印字されてしまいました.
この問題は,
階段現象とは“正反対”な問題で, ほとんどま
れにしか起こりません. FreeBSDでは行末として扱われる
LF 文字が, 紙の左端に印字位置を復帰しますが,
紙送りはしな い CR 文字として扱われています.
プリンタの設定スイッチかコントロールパネルを
使って, LF と CR
の文字を次のような解釈をするようにしてください.
プリンタが受け取ったとき
プリンタがおこなう
CR
CR 動作 (復帰)
LF
CR + LF (復帰, 改行)
訳注: LF を CR+LF
に置き換える cat コマンドを作る方法
も当然考えられます. そして, このコマンドと,
if-simple の cat
の部分を置き換えればよいわけ です.
具体的にどのようにするかは, 読者への練習問題とし
ましょう.
プリンタが文字を紛失してしまう
印字しているのですが,
各行の2〜3文字が印字されません.
プリンタを動かせば動かすほど,
もっとたくさんの文字が紛 失されていき,
この問題は更に悪くなっていくかもしれませ
んでした.
この問題は,
シリアルポートを通してコンピュータから送ら
れてくるデータの速度に,
プリンタがついていけないことに 起因します
(この問題は, パラレルポートに接続されたプリ
ンタでは発生することはありません).
この問題を克服する 方法が2つあります.
プリンタが XON/XOFF のフロー制御をサポート
している場合は, 項目 fs で
TANDEM ビット をセットして, FreeBSD
にこの機能を使用させて ください.
プリンタがキャリアフロー制御をサポートして
いる場合は, 項目 fs で MDMBUF
ビットをセッ トして下さい. それから,
プリンタとコンピュータ
を接続しているシリアルケーブルがキャリアフロー
制御用に正しく配線されたものかどうかを確認して
ください.
プリンタがフロー制御をまったく
サポートしていな い場合は, 項目
fs の NLDELAY と TBDELAY,
CRDELAY, VTDELAY, BSDELA のいくつかのビッ
トを組み合わせて使い, プリンタへ送るデータの流
れに適当な遅延を加えてください.
プリンタは意味不明な
文字列を印字した
プリンタはランダムなゴミのように
見えるものを印字しまし たが,
意図したテキストは印字してくれませんでした.
この問題は, 通常,
シリアルポートに接続したプリンタでの
通信パラメータの誤りからくる前項とは別の症状です.
br 項目の通信速度と
fs と fc
項目のパリ ティビットの設定を共に調べてみてください.
また, プリン タでの設定が
/etc/printcap
ファイルで設定した
内容と一致しているかどうかも確認してください.
訳注: simple-if
のような単純なフィルタだけの状態で, 日
本語を含むテキストを印字しようとした場合にも,
シリアル ポート, パラレルポートの使用に関係なく,
このような症状 は見られます. 日本語プリンタの場合,
漢字コードそのもの
を送信しただけでその漢字を印字してくれるものは,
少なく とも訳者は見たことがありません.
漢字を印字するための制御
コードを別途送信するフィルタが必要となります.
また, そ のようなフィルタを使用していても,
そのフィルタが想定し
てる漢字コードと異なった文書を
プリントしようとしたとき もこのような症状は出ます.
もちろん, これはプリンタ用の
言語を持たないプリンタの話で, PostScript プリンタ
などにプレインテキストを送信しても, 日本語対応,
非対応 に関らず, 意味不明な文字列が印字される
(もしくは, 何も 印字されない) ことでしょう.
何も起きない
もしプリンタが何の動作もしないのであれば,
ハード的な問 題ではなく, 多分 FreeBSD
の中に問題があります.
/etc/printcap ファイルで,
デバッグしているプ リンタのエントリに
(lf 項目で) ログファイルを取るよ
うに設定を追加してください. 例えば, プリンタ
rattan 用のエントリの項目
lf は次のようになります.
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:\
:lf=/var/log/rattan.log
次に, もう一度印字をおこなってみます. そして,
発生したと思
われるエラーメッセージを見るためにログファイル
(上記の 例では,
/var/log/rattan.log )
を調べます. そこ で見られたメッセージを元に,
問題を解決してみてください.
項目 lf
が指定されていない場合, LPD はデフォルト
のログファイルとして
/dev/console を使います.
プリンタを使う
この節では, FreeBSD で設定したプリンタを使う方法について説明
します. ここでは, ユーザレベルでのコマンドを概説します.
&man.lpr.1;
印字をおこないます.
&man.lpq.1;
プリンタキューを調べます.
&man.lprm.1;
プリンタキューにあるジョブを削除します.
管理者用コマンド &man.lpc.8; もありますが,
これは 「 プリンタを管理する」
に記
します. このコマンドは, プリンタやそのキューの制御のために用い
られます.
&man.lpr.1;, &man.lprm.1;, そして &man.lpq.1; の 3
コマンドは, -Pprinter-name
オプションをとり, これによって,
/etc/printcap のように操作の対象となる
プリンタやキュー
を指定します. これによって, 様々なプリンタに対してジョブを送る
, 取り消す, 調査することができます.
-P が使われなかった場
合は, これらのコマンドは
PRINTER 環境変数で指定されたプリンタ
を使用します.
そして, PRINTER 環境変数がなかった場合は, これ
らのコマンドはデフォルトのプリンタ
lp を使います.
以下では, デフォルトプリンタ
という用語が意味するプリンタ は, PRINTER
環境変数で指定されたプリンタ, もしくは, PRINTER
環境変数がない場合は, lp
という名前のプリンタです.
印字する
ファイルを印字するためには,
次のように入力してください.
&prompt.user; lpr filename ...
これにより,
入力されたファイルのそれぞれをデフォルトのプリンタ
から印字します. ファイル名が与えられなかった場合,
&man.lpr.1;
は標準入力から印字するデータを読み込みます. 例えば, 次のコマン
ドにより, ある重要なシステムファイルが印字されます.
&prompt.user; lpr /etc/host.conf /etc/hosts.equiv
印字させるプリンタを選択するためには,
次のように入力します.
&prompt.user; lpr -P printer-name filename ...
次の例では, プリンタ rattan に,
カレントディレクトリにあ
るファイルの詳細なリストを印字しています.
&prompt.user; ls -l | lpr -P rattan
上記の &man.lpr.1; コマンドではファイル名の指定がないので,
lpr は標準入力から印字するデータ,
この場合, ls -l
コマンドの出力, を読み込みます.
&man.lpr.1; コマンドでは,
出力の整形を制御したり, ファイル変換を
適用したり, 複数部数のコピーを作成したり, などといた様々な幅広
いオプションを受け付けることもできます.
詳細については,
「
その他の印字オプション」をご
覧ください.
ジョブの処理状況を調べる
&man.lpr.1; コマンドを使って印字をする場合, プリントしようと
するデータは “プリントジョブ”
と呼ばれる箱に一緒に置かれ, こ
れが LPD スプーリングシステムに送られます. プリンタにはそれぞ
れ, ジョブ用のキューがあり,
送られてきたジョブはあなたや他のユー
ザからの別のジョブと一緒にそのキューで並んで,
処理される順番を
待ちます.
プリンタは到着順にこれらのジョブの印字をおこないます.
デフォルトプリンタのキューの状態を表示するには,
&man.lpq.1; と入
力します. プリンタを指定するときは,
-P オプションを使い
ます. 例えば, 次のコマンド
&prompt.user; lpq -P bamboo
は, プリンタ bamboo
のキューの状態を表示します. この lpq
コマンドの出力結果の例を次に示します.
bamboo is ready and printing
Rank Owner Job Files Total Size
active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
2nd kelly 10 (standard input) 1635 bytes
3rd mary 11 ... 78519 bytes
この例では, bamboo
のキューに3つのジョブがあることが分か ります.
最初のジョブはユーザ kelly からのものであり, “ジョ
ブ番号”9が割り当てられています.
プリンタのすべてのジョブには一意
なジョブ番号が付けられています. ほとんどの場合, このジョブ番号
は無視することができますが, ジョブをキャンセルするときにはこの
番号が必要になります. このことの詳細については, 「 ジョブの削除
」をご覧ください.
ジョブ番号9のジョブは2つのファイルを処理します. すなわち,
&man.lpr.1;
のコマンドラインに複数のファイル名が与えられたときは,
1つのジョブとして扱われるのです. このジョブは, 現在, アクティ
ブジョブ (“Rank”
の欄の active という後に注目) になってい
ます. これは, プリンタからそのジョブが現在印字されているはずで
あることを意味しています. 2番目のジョブでは,
&man.lpr.1; コマン
ドに標準入力からデータが与えられています.
3番目のジョブはユー
ザ mary から与えられました.
このジョブのサイズはとても大きくなっ
ています. 彼女がプリントしようとしたファイルのパス名はここで表
示させるには長すぎるため,
&man.lpq.1; コマンドはドットを3つだけ
表示しています.
&man.lpq.1; からの
出力で一番最初の行もまた有益な情報を与えていま
す. この行から, プリンタが現在何をしているか (あるいは, 少なく
とも LPD がプリンタが
していると思っていること) が分かります.
&man.lpq.1; コマンドは
-l オプションもサポートしています. こ
れにより,
詳しい情報が表示されます. lpq -l の実行例を次
に示します.
waiting for bamboo to become ready (offline ?)
kelly: 1st [job 009rose]
/etc/host.conf 73 bytes
/etc/hosts.equiv 15 bytes
kelly: 2nd [job 010rose]
(standard input) 1635 bytes
mary: 3rd [job 011rose]
/home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes
ジョブの削除
印字するようジョブを
送った後で印字を中断したくなったときは,
&man.lprm.1; コマンドで,
キューの中からそのジョブを削除することが
できます. 大抵の場合, アクティブジョブでさえも
&man.lprm.1; を使っ
て削除することができますが,
そのジョブの一部またはすべてが印字さ
れてしまうかもしれません.
デフォルトプリンタへのジョブを削除するためには, 最初に,
&man.lpq.1; を使ってそのジョブ番号を調べます.
すなわち, それから,
次のように入力して, ジョブを削除します.
&prompt.user; lprm job-number
特定のプリンタへのジョブを削除するときは,
-P オプション
を使ってそのプリンタを指定します.
例えば, プリンタ bamboo
のキューからジョブ番号
10のジョブを削除するには次のようにします.
&prompt.user; lprm -P bamboo 10
&man.lprm.1; コマンドには略記法がいくつかあります.
lprm -
あなたが (デフォルトプリンタへ)
送ったジョブをすべて削除し ます.
lprm user
ユーザ user が
(デフォルトプリンタへ) 送ったジョブ をすべて削除します.
他のユーザのジョブを削除できるのはスー パユーザだけです.
あなたは, あなた自身のジョブしか削
除することはできません.
lprm
ジョブ番号もユーザ名もシンボル
- も指定されない
ときは, &man.lprm.1; は現在のアクティブジョブを, そのジョ
ブを送ったのがあなた自身であるときに限り, デフォルトプ
リンタから削除します. ただし, スーパユーザは任意のア
クティブジョブを削除することができます.
上記の略記法をデフォルトプリンタではなく
特定のプリンタに対して おこなうときは, -P
オプションでそのプリンタを指定するだけよ いのです. 例えば,
プリンタ rattan のキューへあなたが送っ
たジョブをすべて削除するためには次のようにします.
&prompt.user; lprm -P rattan -
ネットワーク環境で作業をしている場合, あるホストか
ら送られたプリンタジョブは, これを送ったホストで
&man.lprm.1; を
使った場合に限って,
これを削除することができます. 他のホストで
同じプリンタを使えたとしても,
このジョブを削除することはできま
せん.
次の例では, 他ホストからジョブを削除することを試みていま
す.
&prompt.user; lpr -P rattan myfile
&prompt.user; rlogin orchid
&prompt.user; lpq -P rattan
Rank Owner Job Files Total Size
active seeyan 12 ... 49123 bytes
2nd kelly 13 myfile 12 bytes
&prompt.user; lprm -P rattan 13
rose: Permission denied
&prompt.user; logout
&prompt.user; lprm -P rattan 13
dfA013rose dequeued
cfA013rose dequeued
その他の印字オプション
&man.lpr.1; コマンドには, テキストの整形や,
図や他のファイル形
式の変換, 複数部コピーの生成, ジョブの扱いなどをを制御すること
ができます.
この節では, これに関するオプションについて記してい
ます.
整形と変換に関するオプション
以下の &man.lpr.1; 用のオプションはジョブにおける
ファイルの
整形の制御に関するものです.
このオプションは, ジョブにプレイン
テキストが含まれない場合や
&man.pr.1; ユーティリティを使ってプレイ
ンテキストを整形する場合に用いてください.
次の例では, プリンタ
bamboo に (TeX 組版システムによる)
DVI ファイル
fish-report.dvi を印字しています.
&prompt.user; lpr -P bamboo -d fish-report.dvi
このオプションは,
ジョブに含まれるすべてのファイルに対して適用さ れます.
したがって, 1つのジョブに (例えば) DVI ファイルと ditroff
ファイルを混在させることはできません. その代わりに,
ファイルを 形式毎に別々のジョブに分け,
それぞれのジョブでその形式用の変換
オプションを使って印字してください.
-p と -T
を除くすべてのオプションを使用 するためには,
出力先プリンタ用の変換フィルタが必要です. 例えば,
-d オプションを使用するには, DVI
用の変換フィルタが必要 です. 詳細については, 「
変換フィルタ」で説明しています.
-c
cifplot ファイルを印字します.
-d
DVI ファイルを印字します.
-f
FORTRAN プログラムを印字します.
-g
plot のデータを印字します.
-i number
出力に対して, number
カラム分の字下げをおこないます.
number が省略されると,
8カラム分字下げされます.
このオプションはある変換フィルタと一緒の指定されたとき
のみに機能します.
-i
と数字の間に空白を入れてはいけません.
-l
制御文字を含む文字通りの
テキストデータを印字します.
-n
ditroff (device independent troff) データ
を印字します.
-p
印字する前に &man.pr.1;
によってプレインテキストを整形し
ます. 詳細については &man.pr.1; をご覧ください.
-T title
&man.pr.1; コマンドにより生成されるヘッダを,
ファイル名の
代わりに title とする.
このオプションは, -p
と一緒に使ったときのみ機能する.
-t
troff データを印字します.
-v
ラスタのデータを印字します.
次の例では, &man.ls.1; の
マニュアルを美しく整形したものをデフォ
ルトプリンタで印字しています.
&prompt.user; zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t
&man.zcat.1; コマンドで
&man.ls.1; のマニュアルのソースファイルの圧
縮を復元し, これを
&man.troff.1; コマンドに渡しています. これによ
り, ソースファイルが整形され, GNU troff の形式となります. そ
の結果は &man.lpr.1; に渡され,
LPD スプーラへジョブの要求が発せ
られます. &man.lpr.1; には
-t オプションが使われているため,
スプーラにて, GNU troff の形式からジョブを印字したときにデフォ
ルトプリントが解釈できる形式へと変換されます.
ジョブに関するオプション
以下のオプションは, &man.lpr.1; によって, そのジョブを特殊
な扱いにするよう LPD に指示するためのものである.
-# copies
ジョブに含まれるファイルのそれぞれを
1部だけ印字するの ではなく,
copies
部のコピーを生成させるものです. 管理者によっては,
プリンタの消耗を避け, コピー機による
複製を奨励するためにこのオプションの使用が禁止されてい
るかもしれません. これに関しては, 「
複数部のコピーの印字を制限する
」をご覧ください.
次の例では, デフォルトプリンタで
parser.c を3 部コピーし, 次に,
parser.h を3部コピーしています.
&prompt.user; lpr -#3 parser.c parser.h
-m
印字ジョブが完了した後で, メールを送ります.
このオプショ ンを付けると, LPD
システムはジョブの扱いが終了したと きに,
あなたのアカウントにメールを送ります. メールのメッ
セージには, ジョブが正常終了したのか, あるいは, 何か異
常があり, (しばしば)
その異常が何であったのかが書かれて います.
-s
印字ファイルをスプールディレクトリにコピーせず,
代わりに,
シンボリックリンクを作成するよう指示します.
印字させるジョブのサイズが大きいとき, このオプショ
ンを使うと便利かもしれません. このオプションにより,
スプー ルディレクトリの容量が節約されます (それに,
巨大なジョ
ブのお陰でスプールディレクトリのあるファイルシステムの
空き容量がなくなってしまうかもしれません). さらに,
LPD
がいちいちすべてのデータをコピーする必要がなくなりま
すので, 時間の節約にもなります.
ただし, 欠点もあります. LPD
はオリジナルのファイルを 直接参照するので,
印字が終了するまでそのファイルを変更
したり削除することができません.
リモートのプリンタで印字している場合, LPD は,
結局のところ, ローカルホストからリモートホストにファ
イルをコピーする必要があります. したがって,
-s オプ
ションはローカルのスプーリングディレクトリの
空き容量を 節約するだけで,
リモート側では節約されません. それに も関わらず,
このオプションはそれでも有用です.
-r
ジョブに含まれるファイルを,
スプーリングディレクトリに
ファイルをコピーした後に削除します. もしくは,
-s オプションと一緒に使われた場合は,
印字終了後に削除され ます.
このオプションの使用には十分注意して下さい.
ヘッダページ用オプション
以下のオプションにより,
ジョブのヘッダページに通常印字さ
れるテキストを
&man.lpr.1; に調整させることができます. 対象のプリ
ンタからヘッダページが出力されない場合は,
これらのオプションは
何の効力も持ちません.
ヘッダページの設定に関する情報については,
「
ヘッダページ」を参照してください.
-C text
ヘッダページに印字されるホスト名を
text に置き換 えます. なお,
ホスト名の場所には, 通常, ジョブの要求が
あったホストの名前が印字されます.
-J text
ヘッダページに印字されるジョブ名を
text に置き換 えます.
ジョブ名の場所には, 通常, ジョブの最初のファイ ル名,
または, 標準入力からデータが印字されたときは
stdin が印字されます.
-h
ヘッダページを出力を禁止します.
サイトによっ ては,
そのヘッダページの生成方法により, このオプション
の効果が現れないかもしれません. 詳細は, 「
ヘッダページ」をご覧ください.
プリンタを管理する
プリンタの管理者として, プリンタの設置, 設定,
そして, それ
らのテストをおこなう必要がありました.
&man.lpc.8; コマンドにより,
これまでとは別な管理方法がプリンタと対話的におこなわれます.
&man.lpc.8; により, 次のことが可能となります.
プリンタの起動, 停止をおこなう.
キューへの入力の許可, 禁止をおこなう.
それぞれのキューにあるジョブの順番を変更する.
最初に用語に関する注意をしておきます.
プリンタが停止してい る とは,
キューの中にあるどのジョブも印字されることがない状態
を言います. この状態においても,
ユーザはまだジョブの要求をおこなう ことができますが,
これらのジョブはキューの中で,
プリンタがスタートする 状態になるまで,
あるいは, キューの内容が削除され
るまで待たされることになります.
キューが禁止状態にある とは, (root
以外の) すべてのユーザが
プリンタにジョブを要求することができない状態のことを言います.
キューが許可状態にある 場合は,
ジョブの入力が許可されます.
キューが禁止状態にある 場合でも,
プリンタをスタートす
る 状態にすることは可能です. この場合は,
キューが空になるまで,
キュー内のジョブの印字が続けられます.
一般的に,
&man.lpc.8; コマンドを使用するには root の権限を持って
いる必要があります. 一般のユーザも
&man.lpc.8; コマンドを使うこと
はできますが, プリンタの状態を取得することとハングしたプリンタ
を再スタートすることだけに使用が制限されています.
以下に,
&man.lpc.8; コマンドに関する説明の要約を述べます. ほとん
どのコマンドでは, 操作対象となるプリンタを指定するため
printer-name 引数を与えます.
printer-name の代わり
に all が与えられると, 操作は
/etc/printcap 内に
ある全プリンタに対しておこなわれることになります.
abort printer-name
現在のジョブをキャンセルし, プリンタを停止させます.
キュー が許可状態にある場合は,
ユーザはまだジョブを入力する ことができます.
clean printer-name
プリンタのスプーリングディレクトリから,
ジョブの古いファ イルを削除します. 状況によって,
とりわけ, 印字途中でエ ラーが発生していたり,
管理操作が頻発していた場合には,
ジョブで作られたファイルを LPDが完全に削除しないことが
あります. このコマンドでは, スプーリングディレクトリに
入っていないファイルを見つけ出し,
それを削除しています.
disable printer-name
キューに新しいジョブを入れることを禁止します.
プリンタ がスタート状態にあるときは,
キューに残っているジョブの 印字は続けられます. ただし,
キューが禁止状態にあったと しても, スーパーユーザ (root)
は常にジョブを入力するこ とができます.
このコマンドは,
新しいプリンタやフィルタを設置している
間に使用すると有用です. すなわち, キューを禁止状態にし
ておくと, root によるジョブのみが入力されます. そして,
その他のユーザは, テストが完了し,
enable コマン
ドでキューが再度許可状態になるまで, ジョブの入力はでき
なくなります.
down printer-name
message
プリンタをダウンさせます. これは,
disable をおこなっ
た後で, stop をおこなった場合と
等価になります.
message は, ユーザが
&man.lpq.1; コマンドでプリンタ
のキューの状態を調べたり, lpc status
でプリンタの
状態を調べたときに, プリンタの状況として表示されるメッ
セージです.
enable printer-name
プリンタのキューを許可状態にします.
ユーザはジョブの入 力ができるようになりますが,
プリンタがスタートの状態に なるまでは,
プリンタからは何も印字されません.
help command-name
command-name
コマンドのヘルプメッセージを表示しま
す. command-name
が指定されなかった場合は, 利用
できるコマンドの要約が表示されます.
restart printer-name
プリンタをスタートさせます. 通常のユーザは, LPD があ
る異常な状況でハングしたときに限り, このコマンドを使用
することができます. しかし, stop
または down コマンドにより,
停止状態にあるプリンタをスター トさせることはできません.
restart コマンドは,
abort の後に start
をおこなったことと同じになり ます.
start printer-name
プリンタをスタートさせます.
プリンタのキューにあるジョ
ブを印字することでしょう.
stop printer-name
プリンタを停止します. プリンタは,
現在のジョブを終了さ せ, そして,
キューにあるその他のジョブは印字しません.
プリンタが停止状態にあったとしても, まだ, 許可状態にあ
るキューに対して, ジョブを送ることができます.
topq printer-name
job-or-username
printer-name
のキューに対して, ジョブ番号
job のジョブ, または, ユーザ
username から送
られたジョブを置き換えて, キューの先頭に持ってきます.
このコマンドに関しては,
printer-name の代わりに
all
を使用することはできません.
up printer-name
プリンタをアップ状態にします. これの反対のコマンドが
down です. start
の次に enable をおこなっ
たことと等しくなります.
コマンドラインから上記のコマンドを入力すると,
&man.lpc.8; はこれ
を受け付けます. コマンドが入力されなかった場合は,
&man.lpc.8; は
対話モードに入り,
exit , quit ,
または, ファイル終端
文字が入力されるまでコマンドの入力ができます.
プリンタ設定上級編
この節では, 特殊な形式のファイルを印字するためのフィルタ,
ヘッ ダページ, ネットワーク越しのプリンタへの印字, そして,
プリンタ 使用の制限や課金について説明しています.
フィルタ
LPD では, ネットワークプロトコル, キュー, アクセス制御, そ
して, 印字のためのその他の側面について扱いますが,
実際の 作業のほとんどは
フィルタ によっておこなわれています.
フィルタ は, プリンタと通信し,
プリンタのデバイス依存性や特殊な要求を扱 うプログラムです.
簡単なプリンタ設定では, プレインテキストのた
めのフィルタをインストールしました. このプレインテキストフィル
タは, ほとんどのプリンタで機能する極めて単純なものでした.
(「
テキストフィルタのインストール」を参照)
しかしながら, 形式変換やプリンタ課金, 特定のプリンタの癖,
など をうまく利用するためには,
フィルタがどのように機能するかという
ことを理解しておくべきです. これらの側面を扱うためには, 最終的
には, フィルタの責任であるからです. そして, これは悪い情報です
が, ほとんどの場合において,
あなた自身 がフィルタを供給す
る必要があるということです. また都合のよいことには,
たくさんのフィルタが 一般的に利用できるということです.
もしフィルタがなかったとし ても, 普通は,
フィルタを作るのは簡単です.
FreeBSD にも, プレインテキストを印字させることができる
/usr/libexec/lpr/lpf
というフィルタが1つ付いています.
(このフィルタはファイルに含まれるバックスペースやタブを扱いま
す. また, 課金をすることもできますが, できることはこれだけしか
ありません.) いくつかのフィルタとフィルタの構成要素が FreeBSD
の ポート集にもあります.
この節で述べることは次の通りです.
「
フィルタはどのように機能しているか」では,
印字の過程におけ るフィルタの役割を概説します.
この節を読むことで, LPD がフィルタを使うときに,
“見えないところで”何が起こっている
かが理解できるでしょう. このことを知っておくと, プリン
タそれぞれに様々なフィルタをインストールしたときに遭遇
するかもしれない問題を予期したり, デバッグするときに役
立つでしょう.
LPD では, すべてのプリンタからデフォルトでプレインテ
キストを印字できることを期待しています. このことは, プ
レインテキストを直接印字できない PostScript (また
は他の言語用の) プリンタでは問題を引き起こします. 「
プレインテキストのジョブを PostScript
プリンタで印字する」 で,
この問題を克服する方法について述べます. PostScript
プリンタをお持ちの方は, この節をお読みになること
をお薦めします.
PostScript は様々なプログラムのための有名な出
力形式です. ある人たちは (著者自身を含めて) PostScript
のコードさえも直接書いてしまいます. しかし, PostScript
プリンタは高価です. 「 非 PostScript プリンタで
PostScript をシミュレートする」では, PostScript
データを非 PostScript
プリンタ に受けつけさせ, 印字させるために,
どのようにしてプリンタ用のテキストフィルタをさらに変更
すればよいのか, ということについて述べます. PostScript
プリンタを持っていない方は, この節をお読みになる
ことをお薦めします.
「
変換フィルタ」では, 図形や組版データといっ
た特定のファイル形式を, プリンタが理解できる形式へ変換
する作業を自動的におこなわせる方法について述べます. この節
を読むと, troff のデータを印字するには lpr
-t , または, TeX DVI を印字するには
lpr -d , ラスタイ
メージデータを印字するには lpr -v ,
などといったよ
うにユーザが入力することができるようにプリンタの設定を
おこなうことができます. この節もお読みになることをお薦めし
ます.
「 出力フィルタ」
では, あまり使われない LPD の機能のすべて, すなわち,
出力フィルタに関することが記述されています. ヘッダページ
(「
ヘッダページ」参照) を印字させていない場合は,
多分, この節は飛ばしても構わないでしょう.
「 テキストフィルタ
lpf」では, lpf
についての説明が, ほぼ完全におこなわれています. これは
FreeBSD に付属するラ インプリンタ (または,
ラインプリンタのように動作するレー ザプリンタ) のための,
単純なテキストフィルタです. プレ
インテキストを印字したことに対して課金をおこなう方法が至急
必要な場合, もしくは, バックスペース文字を印字しようと
すると煙を発するプリンタを持っている場合は, 絶対に
lpf を検討するべきです.
フィルタはどのように機能しているか
既に言及したように, フィルタとは, プリンタにデータを送る
際に, デバイスに依存した部分を取り扱うために LPD
によって起動 される実行プログラムです.
LPD がジョブ中のファイルを印字しようとするとき, LPD
はフィル タプログラムを起動します. このとき,
フィルタの標準入力を印字す るファイルに,
標準出力をプリンタに, そして, 標準エラー出力をエ
ラーログファイル (/etc/printcap 内の
lf 項目で指 定されたファイル, または,
指定されていない場合は, デフォルトと して
/dev/console ) にセットします.
LPD が起動するフィルタと, その引数が何であるかは,
/etc/printcap
ファイルの内容と, ジョブの起動時に
ユーザが指定した
&man.lpr.1; コマンドの引数に依存しています. 例え
ば, ユーザが lpr -t と入力した場合は,
LPD は出力先のプリ
ンタ用の tf 項目で指定されている troff
用のフィルタを起動
させるでしょう.
ユーザがプレインテキストの印字を指示したときは,
if で指定されたフィルタが
起動されるでしょう (このことはほ
とんどの場合にあてはまります.
詳細については, 「
出力フィルタ」をご覧ください).
/etc/printcap
で指定可能なフィルタは次の3種類がありま す.
テキストフィルタ
(LPD のドキュメントでは紛ら
わしいことに
入力フィルタ と呼んでいますが) は一般の
テキストの印字を扱います. これはデフォルトのフィルタと
考えてください. LPD では, すべてのプリンタに対して, デフォ
ルトでプレインテキストが印字できることを期待しています.
さらに, バックスペースやタブを正しく扱い, また, 他の特
殊な文字が入力されてもプリンタに混乱を来さないようにす
るのはテキストフィルタの仕事であると考えています.
プリンタの使用に対して課金をしなくてはならない環境にあ
るときは, テキストフィルタが印字したページ数を数える作
業もしなくてはなりません. この作業は, 通常, 印字した行
数を数え, これをプリンタが1ページ当たりに印字できる行
数と比較することでおこなわれます.
テキストフィルタは, 次のような引数を付けて起動されます.
filter-name
-c
-wwidth
-llength
-iindent
-n login
-h host
acct-file
ここで,
-c
lpr -l
によってジョブが入力されたときに与
えられます.
width
/etc/printcap
で指定された pw (page width)
項目の値が与えられます. デフォル トは,
132です.
length
pl (page length)
項目で指定された値が与え られます.
デフォルトは66です.
indent
lpr -i
によって与えられた字下げの量で, デ
フォルトは0です.
login
ファイルを印字したユーザのアカウント名が
与えら れます.
host
ジョブが入力されたホスト名が
与えられます.
acct-file
af
項目で指定されている課金データファイル
の名前が与えられます.
変換フィルタ は,
特定のファイル形式をプリンタ
が紙に印字できるようなものに変換します. 例えば, プリン
タで ditroff 組版データを直接印字することはできません.
しかし, ditroff データをプリンタが消化し, 印字するこ
とができる形式へ変換するために, ditroff ファイル用フィ
ルタをインストールすることができます.
「
変換フィルタ」
で, これらに関するすべてについて説明します.
プリンタの課金をする必要がある場合は, 変換フィルタでも
印字ページを数える作業が必要となります.
変換フィルタは次の引数をとって起動されます.
filter-name
-xpixel-width
-ypixel-height
-n login
-h host
acct-file
ここで, pixel-width は,
px 項目で指定され
た値 (デフォルトは0),
pixel-height は,
py 項
目で指定された値 (デフォルトは0) です.
出力フィルタ は,
テキストフィルタが指定されて
おらず, かつ, ヘッダページの出力が許可されている場合に
のみ使われます.
「
出力フィルタ」で, これらのことについて説明し
ます. アウトプットフィルタに対する引数は次の2つだけです.
filter-name
-wwidth
-llength
ここで, -w と -l は,
テキストフィルタの場合
と同じです.
フィルタは, 次に示すの終了状態をもってプログラムを
exit するべきです.
exit 0
フィルタがファイルを正常に印字した場合.
exit 1
フィルタはファイルの印字に失敗したが, LPD
に再度ファ イルの印字を試みて欲しい場合.
この終了状態で終了した場 合, LPD
はフィルタを再スタートします.
exit 2
フィルタはファイルの印字に失敗し, かつ, LPD
に再出力 を試みて欲しくない場合. この場合, LPD
はそのファイル を放棄します.
FreeBSD に付属するテキストフィルタ
/usr/libexec/lpr/lpf は, FROM FEED
文字が送られたと
きやプリンタ使用に対する課金をどのようにするかを
決定するために, ページ幅やページ長の引数を利用します. また,
課金用のエントリを 作成するため, ログイン名, ホスト名,
課金ファイル名の引数を利用 します.
もし, フィルタの購入を検討しているならば, LPD
と互換性がある かどうかを確認してください. もしそうならば,
上述の引数リストをサ ポートしていなければなりません.
一般向けの使用のためにフィルタ
を作成する計画をしている場合は,
同じ引数リストと終了コードをサ ポートしてください.
プレインテキストのジョブを PostScript プリン
タで印字する
コンピュータと PostScript (または, 他の言語に対応し た)
プリンタをあなたしか使用しない場合は, プリンタにプレ
インテキストを絶対に送らない, そして,
プリンタにプレインテキス
トを送りたがっている様々なプログラムの機能を決して
使わないこと にしてください. そうすれば,
この節に書かれたことに心を煩わせる必
要はまったくなくなります.
しかし, PostScript
とプレインテキストの両方のジョブをプリン
タへ送りたいと思っている場合は,
プリンタ設定についての要求が増 えるでしょう.
両者をプリンタへ送信するためには, 到着
したジョブがプレインテキストであるか PostScript であるかを
検出するテキストフィルタが必要です. PostScript のジョブは
すべて %!
で始まらなければならないことになっています
(他のプリンタ言語に関しては,
プリンタのドキュメントをご覧くだ さい).
ジョブの最初の2文字がこれならば, PostScript である
ことが分かります. したがって,
ジョブのそれ以降の部分をプリンタに直 接送ることができます
(訳注:PostScript では, %
以降はコメントとして扱われるので, 最初の %! の行を 読み捨てても問題はない).
最初の2文字が %! でない場
合は, フィルタはテキストを PostScript に変換し, その結果を
使って印字をおこないます.
この作業をどうやってやればよいのでしょうか.
シリアルポートにプリンタを接続した場合は,
lprps をインス
トールすることをお勧めします. lprps は
PostScript 用のフィルタで,
プリンタとの双方向通信をおこないます. このフィルタでは,
プリンタか らの冗長な情報を得ることで,
プリンタの状況を示すファイルが更新 されていきます.
したがって, ユーザや管理者は
(トナー残量少 や
紙詰まり といった)
プリンタの状況を正確に知ることができます. しかし,
もっと重要なことは, psif
と呼ばれるプログラムが 含まれているということです.
このプログラムは, 入力されたジョブ
がプレインテキストかどうかを検出し, これを PostScript に変
換するために, textps
(lprps に付属する別のプログラ ム)
を呼び出します. そして, このジョブをプリンタに送るために,
lprps が使われます.
lprps は FreeBSD
のポート集に含まれています (「
ポートコレクション」を参照してください).
もちろん,自分自身でプログラムを取ってきて, コンパイルし,
インストールす ることもできます. lprps
をインストールした後は, lprps
の一部である psif
プログラムのパス名を指定する だけです. ポート集から
lprps をインストールしたときは,
/etc/printcap の中のシリアル接続した
PostScript プリンタのエントリに対して, 次を使ってください.
:if=/usr/local/libexec/psif:
LPD
にプリンタをリード・ライトモードでオープンさせるために,
rw 項目も指定すべきです.
パラレルポートに接続したプリンタの場合 (すなわち,
lprps が
必要としているプリンタとの双方向通信ができない),
テキストフィ
ルタとして次のシェルスクリプトを使うことができます.
#!/bin/sh
#
# psif - Print PostScript or plain text on a PostScript printer
# Script version; NOT the version that comes with lprps
# Installed in /usr/local/libexec/psif
#
read first_line
first_two_chars=`expr "$first_line" : '\(..\)'`
if [ "$first_two_chars" = "%!" ]; then
#
# PostScript job, print it.
#
echo "$first_line" && cat && printf "\004" && exit 0
exit 2
else
#
# Plain text, convert it, then print it.
#
( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0
exit 2
fi
上記のスクリプトにおいて, textps
はプレインテキストから PostScript
へ変換するために別にインストールしたプログラム です.
テキストから PostScript へ変換するのには, お好みのどんなプロ
グラムでも使うことができます. FreeBSD の ポート集 (「 ポートコレクション」
を参照してください) には, a2ps
と呼ばれるテキストから PostScript に変換するプログラムが
入っています.
訳注: 上記スクリプトでは,
先頭の行を読み込むために read を使っていますが,
困ったことに, read は読み込んだ文字列の先頭
の空白文字を取り除いてしまいます. 従って,
これらの空白文字は印 字されないことになり,
印字結果がファイルのイメージと異なる場合 が出てきます.
この事情は csh を利用した場合でも変わりません. 仮に,
先頭の空白文字を除去しない read コマンドを作ったとしても,
「echo $first_line」の $first_line
変数の内容をシェルが展開す る際に $first_line
の先頭の空白文字が失われるため, 問題の解決 にはなりません.
残念ながら, 訳者はこの問題をシェルプログラムだ
けで解決する方法をしりません. perl か C
言語の力を借りないと解 決できないと思います.
非 PostScript プリンタで PostScript
をシミュレートする
PostScript
は質の高い組版と印字をおこなうための事実
上の 標準です. しかしながら, PostScript は,
高価な 標 準です. ありがたいことに,
Alladin Enterprises から
Ghostscript と呼ばれる,
PostScript 互換の動作をするフリー
のプログラムが出されていて, FreeBSDで動きます. Ghostscript
はほとんどの PostScript ファイルを読むことができ, これらの
各ページをたくさんのブランドの非 PostScript プリンタを含む
様々なデバイス用に変換することができます. Ghostscript をイン
ストールし,
プリンタ用の特別なテキストフィルタを使うことによっ て, 非
PostScript プリンタをあたかも本物の PostScript
プリンタであるかのように動作させることができます.
Ghostscript はポート集に入っていますので,
そこからインストール することができます. また,
自分でソースプログラムを持ってきて, コンパイルし, インストー
ルすることもできます. この作業はとても簡単にできます.
PostScript プリンタをシミュレートさせる場合は,
テキストフィ ルタに PostScript
ファイルを印字しようとしているかどうかを 検出させます.
PostScript ファイルでない場合は, フィルタは
そのファイルを直接プリンタに送ります
(訳注:テキストファイルを直 接印字できない場合は, もちろん,
変換フィルタを通す必要がありま す). PostScript の場合は,
まず, Ghostscript を使い, ファ
イルをそのプリンタが理解できる形式へ変換します.
次の例のスクリプトは, Hewlett Packard DeskJet 500
プリンタ用 のテキストフィルタです.
他のプリンタで用いるときは, -sDEVICE
引数を gs (Ghostscript)
コマンドに変えてくだ さい. (gs -h
と入力すると, 現在インストールされている Ghostscript
でサポートされているデバイスのリストが得られます).
#!/bin/sh
#
# ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500
# Installed in /usr/local/libexec/hpif
#
# Treat LF as CR+LF:
#
printf "\033&k2G" || exit 2
#
# Read first two characters of the file
#
read first_line
first_two_chars=`expr "$first_line" : '\(..\)'`
if [ "$first_two_chars" = "%!" ]; then
#
# It is PostScript; use Ghostscript to scan-convert and print it.
#
# Note that PostScript files are actually interpreted programs,
# and those programs are allowed to write to stdout, which will
# mess up the printed output. So, we redirect stdout to stderr
# and then make descriptor 3 go to stdout, and have Ghostscript
# write its output there. Exercise for the clever reader:
# capture the stderr output from Ghostscript and mail it back to
# the user originating the print job.
#
exec 3>&1 1>&2
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \
-sOutputFile=/dev/fd/3 - && exit 0
#
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 -sOutputFile=- - \
&& exit 0
else
#
# Plain text or HP/PCL, so just print it directly; print a form
# at the end to eject the last page.
#
echo $first_line && cat && printf "\033&l0H" && exit 0
fi
exit 2
最後に, if 項目を通して, LPD
にこのフィルタを教えてやる 必要があります.
:if=/usr/local/libexec/hpif:
これでおしまいです. lpr plain.text
とか lpr whatever.ps
と入力してみましょう. どちらも正常に印字されるは
ずです.
訳注: 日本語を印字する場合は,
日本語対応の Ghostscript が必要で す. 日本語対応版の
Ghostscript もポート集に入っているはずです.
変換フィルタ
「 プリンタ設定導入編」
に書かれた簡単な設定が完了したら, 最初に, やってみたいと思
うことは, 多分(プレイン ASCII テキストに加えて)
好みのファイル形式
のための変換フィルタをインストールすることでしょう.
なぜ, 変換フィルタをインストールするのか?
変換フィルタによって, 様々な種類のファイルを印字するこ
とが簡単になります. 例えば, TeX
組版システムでたくさんの仕事 をしたと仮定しましょう.
そして, PostScript プリンタが接続 されているとします.
すると, TeX で DVI ファイルを作成する度に, DVI
ファイルを印字するために, これを PostScript ファイルに
変換する必要があります.
このコマンドは次のようになるでしょう.
&prompt.user; dvips seaweed-analysis.dvi
&prompt.user; lpr seaweed-analysis.ps
DVI ファイル用の変換フィルタがインストールしてあると,
LPD に 変換を肩代わりさせることで毎回毎回
おこなわなければならなかった面倒
な変換作業を省くことができます. つまり, DVI を生成したら,
次のような1回のコマンド入力だけで, これが印字されます.
&prompt.user; lpr -d seaweed-analysis.dvi
LPD に DVI ファイルの変換をさせるためには,
-d オプション を指定します.
変換オプションのリストは「
整形と変換に関するオプション」
に載せてあります.
変化のオプションのそれぞれをプリンタに
サポートさせるためには,
変換フィルタ をインストールし,
そのパス名を /etc/printcap
の中で指定しなくてはなりません. 変換フィ ルタは,
プレインテキストを印字する代わりに, フィルタはファイル
をプリンタが理解できる形式に変換するところを除けば,
「プリンタ の簡単な設定」で説明したテキストファイル
(「
テキストフィルタのインストール」 を見て下さい)
に似ています.
どの変換フィルタをインストールすべきか?
使いたいと思う変換フィルタをインストールすべきです.
DVI のデータを頻繁に印字するならば, DVI 変換フィルタ
をインストールするのが適切でしょう. 印字しなくてはなら
ない troff を大量に抱えている場合は, 多分, troff フィ
ルタが欲しくなるはずです.
次の表は, LPD で動作するフィルタと,
/etc/printcap
ファイルでのエントリする項目, そして,
lpr
コマンドで呼び出す方法をまとめたもの です.
ファイル形式
/etc/printcap 項目
lpr オプション
cifplot
cf
-c
DVI
df
-d
plot
gf
-g
ditroff
nf
-n
FORTRAN text
rf
-f
troff
tf
-t
raster
vf
-v
プレインテキスト
if
なし, -p , または
-l
先の例のように, lpr -d
を使うためには, 出力先の プリンタの
/etc/printcap 内のエントリで,
df
項目が必要であることが分かります.
反論はあるかも知れませんが, FORTRAN テキストや plot
のような形式は, 多分, 廃れ てていくでしょう.
あなたのサイトで, 自前のフィルタをイ ンストールするだけで,
プリントオプションのいくつか, あ るいは,
全部に新しい意味を与えることができます. 例えば,
Prinerleaf ファイル (Interleaf デスクトップパブリッシン
グプログラムによるファイル) を直接印字したいとします.
そして, Printerleaf 用の変換フィルタを
gf 項目で
指定したパスにインストールすれば, lpr
-g の意味 は“Printerleaf
ファイルを印字する”意味だとユーザに教
えることができます.
変換フィルタのインストール
変換フィルタは FreeBSD
の基本システムのインストールとは別
にインストールするプログラムなので, 変換フィルタは, 多 分,
/usr/local ディレクトリの下に置くべ
きです. フィルタは LPD だけが実行する特別なプログラム,
すなわち, 一般ユーザが実行する必要すらない
プログラムなので, /usr/local/libexec
ディレ クトリに置くのが普通です.
変換フィルタを使用可能にするためには,
/etc/printcap
の目的のプリンタの適切な項目に
フィルタがあるパス名を指定します.
DVI 変換フィルタをプリンタ bamboo
のエントリに加 えてみましょう. プリンタ
bamboo の df 項目を
新たに加えた/etc/printcap
ファイルの例を以下 に再掲します.
#
# /etc/printcap for host rose - added df filter for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:
DVI フィルタは
/usr/local/libexec/psdf という
名前のシェルスクリプトです. このスクリプトは次のように
なっています.
#!bin/sh
#
# psdf - DVI to PostScript printer filter
# Installed in /usr/local/libexec/psdf
#
# Invoked by lpd when user runs lpr -d
#
exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"
このスクリプトでは, dvips
をフィルタモード (引数 -f ) で,
標準入力上で起動しています. 標準入力は印字 するジョブです.
それから, PostScript プリンタ用フィ ルタ
lprps (これについては「
プレインテキストのジョブを PostScript
プリンタで印字する」 を参照してください) を LPD
に与えられた引数を付けて起動 します.
lprps
はこれらの引数を印字されたページ分
の課金をおこなうために使われます.
変換フィルタのその他の例
変換フィルタのインストールには決まったステップがないの
で, その代わりに, 例をもっと挙げることにします. これを,
自分でフィルタを作る際のガイドにしてください. 適当な例が
あったら, それをそのまま使ってください.
次のスクリプト例は, Hewlett Packard LaserJet III-Si の
ための, raster (ええと・・実は, GIF ファイル) 用の変
換フィルタです.
#!/bin/sh
#
# hpvf - Convert GIF files into HP/PCL, then print
# Installed in /usr/local/libexec/hpvf
PATH=/usr/X11R6/bin:$PATH; export PATH
giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
&& exit 0 \
|| exit 2
ここでは, GIF ファイルから PNM (portable anymap) 形式
に変換し, 次に PGM (portable graymap) 形式に変換してか ら,
LaserJet/PCL-互換データに変換しています.
上記のフィルタを使うプリンタのためのエントリを付け加え
た /etc/printcap
ファイルは次のようになります.
#
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/hpif:\
:vf=/usr/local/libexec/hpvf:
次のスクリプトは, PostScript プリンタ
bamboo のための groff 組版システムの
troff データのための変換 フィルタです.
#!/bin/sh
#
# pstf - Convert groff's troff data into PS, then print.
# Installed in /usr/local/libexec/pstf
#
exec grops | /usr/local/libexec/lprps "$@"
上記のスクリプトではプリンタとの通信をおこなうため,
lprps をまた利用しています.
プリンタがパラレルポー トに接続されている場合は, 代わりに,
次のスクリプトを使 うかもしれません.
#!/bin/sh
#
# pstf - Convert groff's troff data into PS, then print.
# Installed in /usr/local/libexec/pstf
#
exec grops
これで完成しました. 次に, フィルタを使用可能にするため
に /etc/printcap
に加える必要があるエントリを 示します.
:tf=/usr/local/libexec/pstf:
次の例をみたら, FORTRAN のベテランは赤面するかもしれ
ません. この FORTRAN テキストフィルタは, プレインテキ
ストを直接印字できるすべてのプリンタで利用できます. この
フィルタをプリンタ teak
にインストールすることに しましょう.
#!/bin/sh
#
# hprf - FORTRAN text filter for LaserJet 3si:
# Installed in /usr/local/libexec/hprf
#
printf "\033&k2G" && fpr && printf "\033&l0H" && exit 0
exit 2
そして, このフィルタを使用可能にするため, 以下の行を
/etc/printcap のプリンタ
teak のエントリ に加えます.
:rf=/usr/local/libexec/hprf:
これが最後の, そして, 若干複雑な例です. 前に紹介した
LaserJet プリンタ teak に, DVI
フィルタを加える ことにしましょう. 最初に,
簡単な部分をおこないます. すなわ ち, DVI フィルタの位置を
/etc/printcap に書 き加えます.
:df=/usr/local/libexec/hpdf:
さて, 難しい部分であるフィルタの作成をおこないます.
このた めに, DVI から LaserJet/PCL
への変換プログラムが必要 です. FreeBSD のポート集 (「 ポートコレクション」
を参照してください) には, それがあ ります.
dvi2xx というのがそのパッケージの名前で
す. これをインストールすると, 必要なプログラム
dvilj2p が使えます. このプログラムは
DVI を LaserJet IIp, LaserJet III, そして LaserJet 2000
の互 換コードへ変換してくれます.
dvilj2p はフィルタ
hpdf を極めて複雑にしてい ます.
なぜなら, dvilj2p
は標準入力からデータを読 み込むことができないからです.
このプログラムを働かせる ためには, ファイル名が必要です.
もっと悪いことに, ファ イル名は .dvi
で終わっている必要があり, 標準入力 の代わりに,
/dev/fd/0 を使うのは問題がありま す.
この問題は, (.dvi で終わる)
一時的なファイル名 から/dev/fd/0 に
(シンボリックな) リンクを張る
ことで回避することができます. これで,
dvilj2p に 強制的に標準入力からデータを
読み込ませることができます.
もう1つの問題は, 一時的なリンクを張るために
/tmp ディ
レクトリを使うことができないという事実です. シンボリッ
クリンクはユーザ, グループが bin
であるユーザに所 有されています. フィルタはユーザ
daemon として起 動します. そして,
/tmp ディレクトリはスティッ
キービットが立っています. フィルタはリンクを作ることが
できます. しかし, リンクは別のユーザに所有されているた め,
作業が終了したとき, このリンクを削除することができ
ません.
その代わりに, シンボリックリンクは現在の作業ディレクト
リ, すなわち, スプーリングディレクトリ
(/etc/printcap の
sd 項目で指定する) に作 ることにします.
フィルタが作業するにはここの場所は完璧 な場所で, なぜなら,
特に, スプーリングディレクトリのディ スクの空き容量は
(ときどき) /tmp ディレクトリ
よりもたくさんあるからです.
以下に示すのが最後のフィルタです.
#!/bin/sh
#
# hpdf - Print DVI data on HP/PCL printer
# Installed in /usr/local/libexec/hpdf
PATH=/usr/local/bin:$PATH; export PATH
#
# Define a function to clean up our temporary files. These exist
# in the current directory, which will be the spooling directory
# for the printer.
#
cleanup() {
rm -f hpdf$$.dvi
}
#
# Define a function to handle fatal errors: print the given message
# and exit 2. Exiting with 2 tells LPD to do not try to reprint the
# job.
#
fatal() {
echo "$@" 1>&2
cleanup
exit 2
}
#
# If user removes the job, LPD will send SIGINT, so trap SIGINT
# (and a few other signals) to clean up after ourselves.
#
trap cleanup 1 2 15
#
# Make sure we are not colliding with any existing files.
#
cleanup
#
# Link the DVI input file to standard input (the file to print).
#
ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0"
#
# Make LF = CR+LF
#
printf "\033&k2G" || fatal "Cannot initialize printer"
#
# Convert and print. Return value from dvilj2p does not seem to be
# reliable, so we ignore it.
#
dvilj2p -M1 -q -e- dfhp$$.dvi
#
# Clean up and exit
#
cleanup
exit 0
自動変換: その他の変換フィルタ
ここまでに述べてきたフィルタによって, 印字環境の能率が
上がったことと思います. しかし, これはどのフィルタを使
うかを ( &man.lpr.1; のコマンドライン上で) ユーザが指定しな
くてはならないという代価を支払って実現されています. コ
ンピュータの事情にあまり詳しくないユーザにとって, フィ
ルタのオプションを指定させられるということはいらいらさ
せられるものになるでしょう. 更に悪いことに, 間違ったフィ
ルタオプションを指定されると, 間違った形式のファイルが
そのフィルタに適用されることになり, その結果, 何百枚も
の紙を掃き出すことになるかもしれません.
そのような結果になるならば, 変換フィルタをインストール
するよりもむしろ, テキストフィルタ (これがデフォルトフィ
ルタなので) に印字するよう要求されたファイルの形式を検
出させ, 自動的に, 適切な変換フィルタを起動するようにし
たいと思うかもしれません. ここでは file
コマンド のようなツールを役立たせることができます.
もちろん, いくつかの
ファイル形式の違いを見分けることは難しい ことでしょう.
そして, もちろん, それらのファイルに対し ては,
変換フィルタを提供するだけで済ますこともできるの
です.
FreeBSD のポート集には, apsfilter
と呼ばれる自 動変換をおこなうテキストフィルタがあります.
このフィルタは プレインテキスト, PostScript, DVI
ファイルを検 出し, 適当な変換をおこなった後,
データを印字することができ ます.
出力フィルタ
LPD スプーリングシステムでは,
ここまでにまだ取り上げていな いフィルタ形式,
出力フィルタをサポートしています. 出力 フィルタは,
テキストフィルタのように, プレインテキスト
のみを印字するために意図されたものですが, 非常に簡単化
されています. テキストフィルタを用いずに, 出力フィルタ
を使っている場合は, 次のようになります.
LPD はジョブ中の各ファイルに一度ではなく, ジョブ
全体に対して一度だけ出力フィルタを起動します.
LPD は出力フィルタに対し, ジョブ中のファイルの先
頭や末尾を特定するための対策を一切
おこなっていません.
LPD はユーザのログイン名やホスト名をフィルタに渡
しません. したがって, 課金の処理をおこなうことは考えてい
ません. 実際, 出力フィルタには, 以下2つの引数しか与え
られません.
filter-name
-wwidth
-llength
ここで, width
は対象となるプリンタの pw 項 目,
length は
pl 項目に指定された数です.
出力フィルタの簡便さに誘惑されてはいけません. もし, ジョ
ブ中のそれぞれのファイルに別のページ番号を付加しようと
しても,
出力フィルタはうまく動作しないでしょう .
そのような動作を期待しているならば, (入力フィルタとし
ても知られている) テキストフィルタを使ってください. 詳
しくは, 「
テキストフィルタのインストール」をご覧ください.
さらに, 出力 フィルタは, 実のところ,
もっと複雑 になっています. まず,
特殊なフラグ文字を検出するために, フィルタに送ら
れてくるバイトストリームを検査する必要があります. また, LPD
に代わって, 自分自身にシグナルを送らなければなりま
せん.
しかしながら, ヘッダページの印字をおこないたい場合,
また,
エスケープシーケンスやヘッダページを印字できるようにす
るその他の初期化文字列を送信する必要がある場合, 出力ファ
イルが必要 です.
1台のプリンタに対し, LPD では出力フィルタとテキスト,
または, 他のフィルタを両方使うことができます. このよう
な場合, LPD はヘッダページ (「
ヘッダページ」 を参照してください)
だけを印字させるために, 出 力フィルタを起動させます.
それから LPD では, アウトプッ トフィルタに2バイトの文字
(ASCII 031 の次に ASCII 001) を送ることで,
出力フィルタが自力で停止する ことを
期待しています. 2バイト (031, 001) が出力フィルタに送られ
たとき, 出力フィルタは自分自身にシグナル SIGSTOP を送
ることによって停止するべきです. LPD がその他のフィル
タの起動を完了したとき, LPD は出力フィルタにシグナル
SIGCONT を送ることで, 出力フィルタを再起動させます.
出力フィルタがあり,
テキストフィルタがない 場合, LPD
はプレインテキストのジョブをおこなう際に, 出力フィル
タを使います. 前述したように, 出力フィルタでは, ジョブ
中の各ファイルの並びの間に FROM FEED 文字や紙を排出す
る他の文字を入れることはしません. この動作は多分, あな
たが求めているものとは
異なっている でしょう. ほと
んどすべての場合において, テキストフィルタが必要とされる
はずです.
プログラム lpf は,
テキストフィルタの項で既に紹介 しましたが,
出力フィルタとしても動作させることができま す. もし,
簡便で極悪な出力フィルタが必要で, かつ, バイ
トストリームを検査したりシグナルを送るコードを書きたく
ないときには, lpf をお試しください.
あるいは, プ リントが要求する初期化コードを送るために,
lpf を
シェルスクリプトに包んで使うこともできます.
テキストフィルタ lpf
プログラム /usr/libexec/lpr/lpf は,
FreeBSD の バイナリ配布に付属しているテキストフィルタ
(入力フィル タ) で, 出力を字下げしたり (lpr
-i でジョブが入力さ れたとき),
文字を未処理のままプリンタに送ったり (lpr
-l でジョブが入力されたとき), ジョブ中のバッ
クスペースやタブの印字位置を調節したり, 印字したページ
に対して課金したりすることができます. また, このフィル
タは出力フィルタとしても動作させることができます.
lpf
は多くの印字環境において使用することに適して います.
このフィルタには, プリンタに初期化文字列を送る
機能はありませんが, 必要とされる初期化をおこない, それから
lpf
を実行させるためのシェルスクリプトを作成する
のはたやすいことです.
lpf に対して,
印字ページへの課金を正確におこなわせる ためには,
/etc/printcap ファイルの中の
pw と pl
の項目に正確な値を入れておく必要が あります. これらの値は,
どのくらいの量のテキストがペー ジにフィットするか, また,
ユーザのジョブが何ページある のかを調べるために使われます.
プリンタの課金についての 詳しい情報については, 「
プリンタの利用に対する課金」をご覧ください.
リモートプリンタからの出力
FreeBSD では, ネットワーク越しの印字, すなわち, ジョブをリ
モートプリンタに送ることをサポートしています. リモートプリンタ
からの出力をするには, 一般に, 次の2つを参照してください.
リモートホストに接続されたプリンタにアクセスする方 法.
プリンタがあるホストのシリアル, または, パラレルイ
ンタフェースに接続されている場合, ネットワーク上の他の
ホストからこのプリンタにアクセスできるように LPD を設
定します. 「 リモートホストに
接続されたプリンタ」
でどのよう にするかを説明します.
ネットワークに直接接続されているプリンタにアクセ
スする方法. プリンタに, 旧来のシリアル, または, パラレ
ルインタフェースに加えて (もしくは, これらに代わって) ネッ
トワーク用のインタフェースがある場合. そのようなプリン
タは次のように動作するでしょう.
そのプリンタが LPD のプロトコルを理解でき, リモー
トホストからのジョブを
キューに入れることさえできる場合. この場合,
プリンタは, LPD が起動している一般のホスト
のように振る舞います. そのようなプリンタを設定するため
に, 「
リモートホストに接続されたプリンタ」
と同様の手 順をおこなってください.
そのプリンタが, データストリームによるネットワー
ク接続をサポートしている場合. この場合, ネットワーク上
の1つのホストとしてプリンタを“接続”します.
このホス トは, ジョブをスプーリングする責任を負い,
スプーリング されたジョブはプリンタに送られます.
そのようなプリンタ
をインストールするためのいくつかの提案が「
ネットワークにおけるデータストリームの
インタフェースを持つプリンタ」にあります.
リモートホストに接続されたプリンタ
LPD スプーリングシステムでは LPD (または LPD 互換のシス
テム)
が起動している他のホストへジョブを送る機能が始めからサポー
トされています. この機能により,
あるホストに接続されたプリンタ へ,
他のホストからアクセスできるようになります. また, LPD プ
ロトコルを理解するネットワークインタフェースを持った
プリンタに 対しても, この機能は働きます.
リモートプリンタへの出力を許可するためには, 最初に,
あるホスト (これを,
プリンタホスト と呼びます)
にプリンタを接続します. そして, 「 プリンタ設定導入編」
に書かれた簡単なプリンタの設定をおこなってください.
必要ならば, 「 プリンタ設定上級編」
にあ る, 更に進んだ設定をおこなってください. そして,
そのプリンタをテス トしてうまく動作することを確認し, LPD
に許可した機能がうまく働 くかどうかを見てください. さらに
ローカルホスト が
プリンタホスト の LPD サービスの使用を
許可されているか確認して 下さい (「
リモートホストからのプリンタの利用を制限する
」参照).
LPD
互換のネットワークインタフェースを持つプリンタを使用してい
る場合は, そのプリンタ自身が以下で説明する
プリンタホスト になります. そして,
プリンタ名 とは, そのプリンタに設定し
た名前のことを指します. これについては, プリンタ, および
(また は),
プリンタのネットワークインタフェースに付属するドキュメン
トを参照してください.
+
+
+ ヒューレット・パッカード社の Laserjet シリーズを使用している場合には,
+ プリンタ名を text とすると,
+ 自動的に LF から CRLF への変換が行なわれます.
+ そのため, hpif スクリプトは必要ありません.
+
+
+
次に,
そのプリンタにアクセスしたいと思っている他ホストにおいて,
そのホストの /etc/printcap
ファイルに次にあげるエント リを作ります.
名前のエントリ. どんな名前でもよいのですが, 簡単
のため, 多分, プリンタホストで設定されたプリンタ名や別
名と同じものを使いたいと思うでしょう.
lp
項目で指定されるデバイスは明示的に空にす る
(:lp=: とする).
スプーリングディレクトリを作成し,
sd 項目で その位置を指定する. LPD
では, プリンタホストにジョブ を送信するまでの間,
このディレクトリにジョブを格納しま す.
rm
項目でプリンタホストの名前を指定します.
rp 項目で
プリンタホスト に接続したプリン
タ名を指定します.
これで終わりです.
変換フィルタやページの大きさやその他の事項を
/etc/printcap
に加える必要はありません.
次に,
リモートホストに接続されたプリンタで印字するための設定例
を示します. ホスト rose には2台のプリンタ
bamboo と rattan
が接続されています. これらのプリンタをホスト orchid
のユーザが使えるようにしましょう. 最初に
orchid の
/etc/printcap を示します
(このファイルは, 「
ヘッダページの出力を許可する」
で参照することができます). このファイルには, 既に, プリンタ
teak 用のエントリがありました. 以下では,
これに,
ホスト rose
にある2台のプリンタ用のエントリが加えられ ています.
#
# /etc/printcap for host orchid - added (remote) printers on rose
#
#
# teak is local; it is connected directly to orchid:
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/ifhp:\
:vf=/usr/local/libexec/vfhp:\
:of=/usr/local/libexec/ofhp:
#
# rattan is connected to rose; send jobs for rattan to rose:
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
#
# bamboo is connected to rose as well:
#
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:
orchid
で必要となる作業はスプーリングディレクトリを
作ることだけです.
&prompt.root; mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo
&prompt.root; chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo
&prompt.root; chown daemon.daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo
これで, orchid のユーザが
rattan と bamboo で印字す
ることができるようになりました.
例えば, orchid のユーザが次の
ように入力したとします.
&prompt.user; lpr -P bamboo -d sushi-review.dvi
すると, orchid の LPD システムは, ジョブをスプーリングディレ
クトリ /var/spool/lpd/bamboo
にコピーし, これが DVI
ファイルを印字するジョブであることを記録します.
ホスト rose の
bamboo
用のスプーリングディレクトリに十分な容量が確保でき
次第, 両者の LPD は, ジョブのファイルを rose に転送します. こ
のファイルは, そのすべてが印字されるまで, rose
のキューに留まり
ます. (bamboo は PostScript プリンタなので) DVI から PostScript
への変換は rose でおこなわれます.
ネットワークにおけるデータストリームのインタ
フェースを持つプリンタ
プリンタのネットワークインタフェースカードは, 2種類に分
類することができます. 1つはスプーラをエミュレートするもの
(高価) で, もう 1
つはシリアルやパラレルポートを使うようにプリンタにデー
タを送ることができるだけのもの (安価) です. この節では,
後者の使 い方を説明します. 前者のプリンタは, 前節「
リモートホストに接続されたプリンタ」
の方法が適用できます.
/etc/printcap ファイルでは,
シリアルかパラレルのイン タフェースのどちらを使うのか,
そして, (シリアルインタフェース を使う場合)
そのボーレートはいくらであるか, フロー制御は使うのか,
タブのための遅延を加えるのか,
改行文字を変換するかなどの指定を おこなうことができます.
しかし, TCP/IP や他のネットワークポートか
らデータを受け取るプリンタを接続するための
指定をおこなうことはでき ません.
ネットワーク接続されたプリンタにデータを送るためには,
テキスト フィルタと変換フィルタから呼び出すことができる
通信プログラムを 開発する必要があります. 以下に,
そのようなプログラムの例を示し ます. スクリプト
netprint では, 標準入力から印字データを
すべて受け取り,
ネットワーク接続されたプリンタにこれを送ります.
netprint
の最初の引数でプリンタのホスト名を, 2番目の引数
で接続するポート番号を指定します.
このプログラムでは単方向通信 (FreeBSD からプリンタ)
のみをサポートしていることに注意してくだ さい.
ネットワークプリンタの多くは双方向通信をサポートしていま
すので, その恩恵 (プリンタの状態を得たり,
課金をおこなうなど) にあず かりたいと思われるかもしれません.
#!/usr/bin/perl
#
# netprint - Text filter for printer attached to network
# Installed in /usr/local/libexec/netprint
#
$#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>";
$printer_host = $ARGV[0];
$printer_port = $ARGV[1];
require 'sys/socket.ph';
($ignore, $ignore, $protocol) = getprotobyname('tcp');
($ignore, $ignore, $ignore, $ignore, $address)
= gethostbyname($printer_host);
$sockaddr = pack('S n a4 x8', &AF_INET, $printer_port, $address);
socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol)
|| die "Can't create TCP/IP stream socket: $!";
connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!";
while (<STDIN>) { print PRINTER; }
exit 0;
このスクリプトは,
様々なフィルタが利用することができます. 仮に, Diablo 750-N
ラインプリンタを持っており, これがネットワークに
接続されているとしましょう.
プリンタはポート番号5100にて印字す るデータを受け取ります.
プリンタのホスト名は scrivener としま す. このとき,
このプリンタのテキストフィルタは次のようになりま す.
#!/bin/sh
#
# diablo-if-net - Text filter for Diablo printer `scrivener' listening
# on port 5100. Installed in /usr/local/libexec/diablo-if-net
#
exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100
プリンタの利用に制約を与える
本節では, プリンタの利用に制約を与えるための情報を記して
います. LPD システムでは, プリンタ (ローカル, リモートのいずれ
に接続されていても) にアクセスできる人を制限する機能, 複数部の
コピーの印字の可否を制御する機能, ジョブのサイズの最大値やプリ
ンタキューに入るジョブの最大個数を制御する
機能を提供しています.
複数部のコピーの印字を制限する
LPD
システムではユーザが複数部のコピーの印字を簡単におこなう
機能を提供しています. ユーザが, (例えば) lpr
-#5 コマ ンドを使ってジョブを印字すると,
ジョブのそれぞれのファイルのコ ピーを5部得ることができます.
これがよい機能であると思うかどう
かは人それぞれでしょう.
複数部のコピーの印字によってプリンタが
必要以上に消耗してしまう
と感じるならば, /etc/printcap
ファイルに sc 項
目を加えてください. これにより,
&man.lpr.1; の -# オプションの使用
が禁止されます. このオプションが指定されているにも関らず,
-# オプションを使うと,
次のようなメッセージが表示され,
このオプションの利用できない旨を伝えます.
lpr: multiple copies are not allowed
リモートホストからプリンタをアクセスできる
設定にしている場合 (この 設定については, 「
リモートホストに接続されたプリンタ」
をご覧ください), その リモートホストの
/etc/printcap にも同じように
sc
項目を追加する必要があることに注意してください.
そうしないと, ユーザは別なホストから複数部のコピーの
印字することができてしま います.
例を使って説明しましょう. 次に示す
/etc/printcap ファ イルは, ホスト
rose のものです. プリンタ
rattan は極めて 頑丈なので,
複数部のコピーの印字は許可されています. しかし, レー
ザプリンタの bamboo
はもう少しデリケートで, このプリンタ
から複数部のコピーを印字することを sc
項目を追加すること で禁止しています.
#
# /etc/printcap for host rose - restrict multiple copies on bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:\
:lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:
さらに, orchid の /etc/printcap
にも sc 項目を
追加する必要があります (orchid
でこの編集をおこなっているときに, つ いでに, プリンタ
teak でも複数部のコピーの印字を禁止する
ことにしましょう).
#
# /etc/printcap for host orchid - no multiple copies for local
# printer teak or remote printer bamboo
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\
:if=/usr/local/libexec/ifhp:\
:vf=/usr/local/libexec/vfhp:\
:of=/usr/local/libexec/ofhp:
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc:
sc 項目を指定することにより,
lpr -# の使用を防
ぐことができます. しかし, この状態では
&man.lpr.1; を複数回起動し
たり, 1回のジョブで次のように同じファイルを
複数個指定すること
を防ぐまでには至っていません.
&prompt.user; lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign
このような悪用を防ぐ方法は
(その指示を無視することも含めて) たく さんあります.
各自で調べてみてください.
プリンタを使用できる人を限定する
それぞれのプリンタを使用できる人を限定するには, UNIX の
グループ権限のメカニズムを利用し, さらに,
/etc/printcap で rg
項目を指定することでおこないます.
あるプリンタにアクセスさせてもよいと思うユーザすべてを
UNIXのある グループに入れてください. そして,
そのグループ名を rg で 指定します.
このとき, そのグループに含まれないユーザ
(root も含む) が
rg
の指定がされたプリンタを使用すると, 次のようなメッセー
ジが表示され, プリンタの使用はできません.
lpr: Not a member of the restricted group
sc (suppress multiple copies :
複数部のコピーの印字を禁止
する) を指定するときと同様に, rg
が指定されたプリンタがリ
モートホストからもアクセスでき
(この設定については,
「
リモートホストに接続されたプリンタ」
をご覧ください), かつ, そ
のホストでもプリンタを使用できる人を限定するのが
妥当であると思
う場合は, そのホストの
/etc/printcap にも
rg 指
定をおこなう必要があります.
例えば, プリンタ rattan
は誰でも利用できるが, bamboo はグループ
artists に属している人のみが利用で
きるようにしてみましょう. 以下に, もうお馴染みとなったホスト
rose の /etc/printcap
を示します.
#
# /etc/printcap for host rose - restricted group for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\
:lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:
これ以外の /etc/printcap ファイル
(ホスト orchid のもの)
はそのままにしておくことにします. もちろん,
orchid のユーザは 全員
bamboo を利用することができます. これは,
orchid に
は特定のユーザのみにしかアクセスさせておらず,
そのユーザにはプ
リンタを利用させたいと思っているからなのかもしれませんし,
そう でないかもしれません.
1台のプリンタを複数グループのユーザに利用させること
はできません.
入力可能なジョブのサイズを制限する
たくさんのユーザからプリンタが利用される場合には, 多分,
ユーザが印字要求を出すことができるファイルのサイズに
上限値を置 く必要が生じるでしょう. 結局のところ,
スプーリングディレクトリ
が置かれているファイルシステムの空き容量がその
上限値になる訳で すが,
あるユーザがこれを独占的に使用すること避けるために, 他ユー
ザからのジョブ用の空き容量を確保する必要もあります.
LPD では, mx
項目を指定することにより, ジョブ中の個々のファ
イルのサイズの上限値を制限する機能を提供しています.
指定される ファイルサイズの単位は BUFSIZ ブロックで, 1
BUFSIZ ブロックは 1024バイトを表わします. この
mx 項目の値として0が指定されると,
ファイルサイズの制限はなくなります.
mx が指定されない場合は,
デフォルトの制限として 1000 ブロックが使われます.
この制限はジョブ中の各
ファイル に対して適用されるものであり,
ジョブ全体のサイズ
を制限するものではありません .
ところで,
プリンタに設定された上限値を超えるファイルサイズのファ
イルが入力された場合でも, LPD はこれを拒否しません. その代わ
りに, このファイルは,
その先頭から上限値のファイルサイズまでし
かキューに入れられません. そして, その部分までが印字され,
残り の部分は捨てられます.
これが正しい動作といえるのかどうかは議
論の余地があるところです.
それでは, 設定例に登場しているプリンタ
rattan と bamboo
の印字可能なファイルサイズに制限を加えてみましょう. artists
グループの人達が作る PostScript ファイルのサイズは
巨大になる傾向があるので, 上限値を5Mバイトとします.
それから,
プレインテキスト用のラインプリンタは無制限とします.
#
# /etc/printcap for host rose
#
#
# No limit on job size:
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:mx#0:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
#
# Limit of five megabytes:
#
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
:lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:
この場合もそうですが, この制限はローカル (ホスト rose)
のユーザ のみに適用されます.
リモートホストからプリンタを利用できるよう
に設定している場合は,
そのリモートホストのユーザはこの制限を受 けません.
これらのユーザにも制限を加える場合は, リモートホスト の
/etc/printcap の mx
を指定する必要があります.
リモートホストから印字するための詳しい情報については,
「
リモートホストに接続されたプリンタ」
を参照してください.
リモートホストに接続されたプリンタへのジョブの
サイズを制限する 特別な方法は他にもあります. これについては,
「
リモートホストからのプリンタの利用を制限する」
を参照してください.
リモートホストからのプリンタの利用を制限する
LPD スプーリングシステムでは, リモートホストから要求され
たジョブの印字を制限するための方法がいくつか
提供されています.
ホストの制限
ローカルの LPD
が印字要求を受け付けるリモートホストは, ファイル
/etc/hosts.equiv と
/etc/hosts.lpd
によって制御することができます. LPD では,
あるホストから印字の要求がきたとき, このホス
トの名前がこれら2つのファイルのどちらかに含まれている
かどうかを調べます. これが含まれていない場合は, LPD
はこの要求を拒否します.
これらのファイルの形式は単純です.
各行にホストの名前を
1つずつ書いていきます. ファイル
/etc/hosts.equiv の方は
&man.ruserok.3; プロトコル
でも利用され, &man.rsh.1; や &man.rcp.1;
といったプログラム
の動作に影響するので注意が必要です.
/etc/hosts.equiv
の記述は慎重におこないましょう.
例として, 以下にホスト rose の
/etc/hosts.lpd を示します.
orchid
violet
madrigal.fishbaum.de
この例では, rose はホスト
orchid , violet ,
そして madrigal.fishbaum.de
からの要求を受け付けることになり ます.
その他のホストが rose の LPD
にアクセスしようと しても, LPD はこれを拒否します
(訳注:拒否されるのは, そのホストが
/etc/hosts.equiv にも含まれてい
ない場合です).
サイズの制限
スプーリングディレクトリがある
ファイルシステムに残して
おく必要がある空き容量の大きさを制御することが
できます.
ローカルプリンタ用のスプーリングディレクトリに
minfree
という名前のファイルを作成します. そして,
そのファイルの中にリモートホストからのジョブの要求を受
け付けるために必要な空き容量のディスクブロックサイズ
(1 ディスクブロック=512バイト) を記します.
これで,
リモートホストのユーザにファイルシステムを満杯
にされないことが保証されます. この機能を使うと, ローカ
ルホストのユーザに対してある種の優先権を与えることもで
きます. ローカルホストのユーザは,
minfree ファイ
ルで指定された値よりもディスクの空き容量が下回った後で
もずっと,
ジョブをキューに入れることができるのです.
例えば, プリンタ bamboo 用の
minfree を作っ てみましょう.
このプリンタのスプーリングディレクトリを 調べるために,
/etc/printcap を調べてみましょ
う. 以下に, bamboo
のエントリ部分を示します.
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
:lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:mx#5000:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:
スプーリングディレクトリは
sd で指定されます. LPD
がリモートホストからのジョブを受け付けるために必要
なファイルシステムの空き容量を3Mバイト
(=6144ディスクブ ロック) にすることにしましょう.
&prompt.root; echo 6144 > /var/spool/lpd/bamboo/minfree
利用ユーザの制限
/etc/printcap の
rs 項目を指定することで,
ローカルプリンタを利用できるリモートホストのユーザを制
限することができます. ローカルホストに接続されたプリン
タ用のエントリに rs
項目が指定されている場合, LPD
は印字を要求したユーザのアカウントと同じログイン名
がローカルホストに登録されている/em/場合に限り/, その
ジョブが受け付けられます. そうでないユーザからのジョブ
は LPD は拒否します.
この機能は, (例えば)
複数の部署がネットワークを共有して おり,
この内のあるユーザが部署の境界を越えて活動してい
る場合には特に有用です. そのようなユーザに対して, シス
テムのアカウントを与えるだけで, これらのユーザは自分が
所属する部署のシステムからそのシステムに接続されている
プリンタを使用することができます. これらのユーザにはむ
しろ, プリンタの使用だけ を認め,
その他のコンピュー タ資源を利用させたくないときは,
それらのユーザにはホー ムディレクトリを与えず,
ログインシェルはシェルとしては 何の役にも立たない
/usr/bin/false などを指定 して,
これらのユーザのアカウントはプリンタ用の“形式的
な”ものとします.
プリンタの利用に対する課金
という訳で, 印字するためには料金をとることが必要です. 取ら
ない理由などありましょうか. 紙やインクにはお金がかかります. そ
して, プリンタの維持費もかかります. プリンタには可動部分が搭載
されており, これらの部分は壊れやすいという傾向があります. プリ
ンタや, その利用形態, 維持費について調査をし, 1ページ (1フィー
ト, 1メートルなど) 当たりにかかるコストを調べておいてください.
これに基づき, プリンタの利用に対する課金を, 実際に, どのように
始めればよいのでしょうか.
さて, 残念ながら, この部分に関しては LPD
スプーリングシステム はほとんど役に立ちません.
課金は使用しているプリンタの種類, 印
字するもののファイルの形式,
プリンタの利用に対する課金での
あなた自身の 要求に大きく左右されます.
課金システムを実現するためには, プリンタのテキストフィルタ
(プ レインテキストのジョブに対して課金するため) と変換フィルタ
(その 他のファイル形式に対して課金するため) を変更して,
印字したペー ジを数えたり,
プリンタに印字したページ数を取得するための要求を
送る必要があります. ただし, 出力フィルタのみを利用している場合
は, 課金をおこなうことができません. フィルタに関しては,
「
フィルタ」をご覧く ださい.
一般に, 課金方式には次の2つがあります.
定期的に課金する方法
はよく利用される方法です. この理由は, 恐らく,
比較的簡単に実現できるからです. 誰
かがジョブを印字する度に, フィルタはそのユーザ名, ホス
ト名, 印字したページ数を課金データファイルに記録します.
毎月, 毎学期, 毎年, あるいは, お好みの時期に, 様々なプ
リンタの課金用ファイルを集め, それぞれのユーザが印字し
たページ数を合計し, その分の課金をおこないます. 次回の課金
時期のためのデータを0にして課金を再開するために, この
処理をおこなった後, すべてのログファイルを削除し,
利用毎に課金する方法
はあまり利用されていません. これは,
実現するのが比較的難しいからです. この方式では,
プリンタを使用したらすぐに, フィルタがユーザにその利用
に対する課金をおこないます. ディスククオータのように, 課金
作業は瞬時におこなわれます. この方式では, ユーザのアカウン
トが赤字になる場合に, ユーザが印字をおこなうことを拒否する
ことができます. また, ユーザに“プリンタ版
quota”を 調べたり,
調整したりする方法を提供したいと思うかもしれ ません.
これを実現するためには, ユーザとその quota を
追跡するために, あるデータベース用のコードが必要となり
ます.
LPD スプーリングシステムでは, 両方式を簡単にですがサポー
トしています. これは, (ほとんどの場合で) 印字作業をフィ
ルタがおこなっていたように, 課金作業もこのためのコードも用
意することで実現されています. しかし, 明るい面もありま す.
それは, 課金方式に関して, 非常に大きな柔軟性が与え
られたということです. 例えば, 「定期的に課金する方法」 か,
「利用毎に課金する方法」のどちらかを選びまず, そし て,
どんな情報 (ユーザ名, ホスト名, ジョブのタイプ, 印
字された頁数, 使用した紙の大きさ, 印字をするために要した
時間など) をログに記録するかを決めます. 以上のことをおこな
うには, 上記の情報を保持するために, フィルタを変更しな
くてはなりません.
手軽なプリンタ課金方法
FreeBSD には, 「定期的に課金する方法」による課金をすぐに
設定できるように, 2個のプログラムを添付しています. そ
の内の1つはテキストフィルタ lpf で,
これについて
は, 「
テキストフィルタ lpf」をご覧ください. もう1つは,
&man.pac.8; で,
これはプリンタの課金データファイルからのエントリを集め,
これを合計するプログラムです.
「
フィルタはどのように機能しているか」で述べたように,
LPD では テキストフィルタや変換フィルタを起動しますが,
そのコマ
ンドラインで使用している課金データファイルの名前が指定
されます. 両フィルタはこの引数を使って, どの課金データ
ファイルのエントリに書き込めばよいのかを知ることができ ます.
このファイルの名前は /etc/printcap 中の
af 項目によって指定されます.
このファイルが絶対パ スで指定されない場合は,
スプーリングディレクトリからの
相対パスとして扱われます.
LPD は, 紙のページの幅と行数 (pw と
pl 項目で 指定される) を引数として
lpf を起動します. lpf
では, 何ページ印字したかを決定するためにこれ
らの引数を使用します. ファイルをプリンタに送った後, 課
金情報を課金データファイルに書き込みます. このファイル
は次のようになります.
2.00 rose:andy
3.00 rose:kelly
3.00 orchid:mary
5.00 orchid:mary
2.00 orchid:zhang
課金データファイルはプリンタ毎に分けて作るべきです. こ
れは, lpf
にはデータファイルをロックする機構が組
み込まれていないためです. したがって, lpf
が2つ起動 されたとき,
同じファイルに同時に書き込みをおこなった場合,
お互いのエントリが破壊されてしまうかもしれません. 課金
用ファイルを各プリンタ毎に確実に分けるには,
/etc/printcap 中の
af=acct 項目を使いま す.
プリンタの利用に対してユーザに課金する準備ができたら,
スプーリングディレクトリに移動した後,
&man.pac.8; と入力
してください. 次のような, ドル中心主義の課金リストが表
示されます(訳注:ドル中心主義という表現は, 表示がドルで
出ることへの著者の皮肉でしょう. セントがあるので小数点
以下が表示されますが, この機能も日本では邪魔ですね).
Login pages/feet runs price
orchid:kelly 5.00 1 $ 0.10
orchid:mary 31.00 3 $ 0.62
orchid:zhang 9.00 1 $ 0.18
rose:andy 2.00 1 $ 0.04
rose:kelly 177.00 104 $ 3.54
rose:mary 87.00 32 $ 1.74
rose:root 26.00 12 $ 0.52
total 337.00 154 $ 6.74
&man.pac.8; が受け付ける引数には
次のようなものがあります.
-Pprinter
プリンタ printer
の利用に対する課金リストを作成し ます.
このオプションは, /etc/printcap
の af
が絶対パスで指定されていた場合に限り, 動作しま
す.
-c
ユーザ名のアルファベット順ではなく,
課金額の低い順にリ ストを並べます.
-m
課金データファイルにあるホスト名を無視します.
このオプショ ンを使用すると, ホスト
alpha のユーザ
smith とホスト
gamma のユーザ
smith は同一人物として扱われます.
この オプションが指定されない場合は,
両者は別なユーザとして 扱います.
-pprice
/etc/printcap の
pc 項目で指定された値, または,
デフォルトの値 (2セント) に代わり, 紙1ページ, ま たは,
1フィート当たりの価格を指定します.
price として,
浮動小数点数を指定することができます.
-r
リストの並べる順番を逆順にします.
-s
課金リストを作成し,
課金データファイルを削除します.
name …
ユーザ names
に対する課金情報のみを表示します.
&man.pac.8; が生成するデフォルトのリストには,
各ホストのユーザ別
に印字ページ数が表示されます.
(ユーザがサイト内のすべてのホスト
を使用できるため) ホスト名の情報が意味を持たない場合,
pac -m
を実行してください. 次のようなリストが得られます.
Login pages/feet runs price
andy 2.00 1 $ 0.04
kelly 182.00 105 $ 3.64
mary 118.00 35 $ 2.36
root 26.00 12 $ 0.52
zhang 9.00 1 $ 0.18
total 337.00 154 $ 6.74
課金額を決めるために,
&man.pac.8; は /etc/printcap ファ
イルの pc
項目で指定された値 (デフォルト値は200, すなわち1
ページ当たり2セント)
を使います. この項目で, 印字物に課金したい
と思う1ページ当たり,
または, 1フィート当たりの価格を100分の1セ
ント単位で指定します.
&man.pac.8; を -p オプション付きで起動
すると, この値を置き換えることができます.
この -p オプショ
ンで指定する額の単位は,
100分の1セント単位ではなく, ドル単位で
す. 例えば, 次の指定では,
1ページ当たりの単価が1ドル50セントに
なります.
&prompt.root; pac -p1.50
このオプションを使うと,
実際の課金額を集計することができます.
最後に, pac -s
を起動すると, 課金情報は課金データ累計ファ
イルに保存されます.
このファイルの名前は, プリンタの課金データ
ファイルの後ろに
_sum を付けたものとなります. そして, 課
金データファイルは削除されます. 次に
&man.pac.8; が起動されると,
その時点までの累計金額を得るために,
課金データ累計ファイルが読
み込まれ, 通常の課金データファイルからの情報に
加算されます.
印字されたページ数をどのように数えるか?
課金を, リモートホストからの印字でさえも,
正確におこなうため には,
ジョブで使用された紙が何ページであるかを特定でき
る必要があります. このことは, プリンタ利用に対する課金
をおこなう上の根本的な問題です.
プレインテキストのジョブの場合, 問題を解決するのはさほ
ど難しくはありません. ジョブが何行であったかを数え, プ
リンタがサポートしている紙1ページに印字できる最大の行
数と比較すればよいのです. 重ね打ちするために利用される
ファイル中のバックスペース文字や, 物理的に複数の行に渡
る長い論理行に対する取り扱いを
忘れずにおこなってください.
(「 テキストフィ,ルタ
lpf」で紹介した) テキストフィルタ
lpf では, 課金をおこなうときに,
これらの取り扱いをおこなってくれます. 課
金をおこなうために必要なテキストフィルタを作成している方は,
lpf
のソースコードが参考になるでしょう.
これに対して, 他のファイル形式の処理はどのようにすれば
よいのでしょうか.
まず, DVI から LaserJet, または, DVI から PostScript
への変換の場合, フィルタが dvilj や
dvips の 出力メッセージを解析することで,
何ページ分の変換がおこなわ れたかを知ることができます.
他のファイル形式とその変換 プログラムに関しても,
同様のことができるかもしれません.
しかし, この方式には問題点があります. それは, 変換され
たページがすべて印字されるとは限らないということです. 例
えば, プリンタが紙詰まりを起こしたり, トナー切れになっ たり,
はたまた, 爆発したりするかもしれません. そのよう
な状況により印字が途中で中止されたとしても, この方式で は,
ユーザは全ページ分の料金を課されてしまうのです.
それでは, どのような対策をたてることができるのでしょう
か.
正確な
課金をおこなうための唯一の確実な 方法は,
何 ページ印字したのかを知らせることができるプリンタを入手
し, これをシリアルポートかネットワークに接続することで す.
ほとんどすべての PostScript プリンタではこの概念
がサポートされています. 他のプリンタも同様です (Imagen
レーザプリンタをネットワーク接続するなど). それぞれの
プリンタのフィルタを, ジョブを印字した後で印字ページ数
を得るように, 変更してください. そして, 課金情報はここ
で得られた値のみに
基づいて記録してください. 行数 を数えたり,
エラーが生じやすいファイルの調査は必要とさ れません.
もちろん, 気前よく印字料
金をすべて無料にすることもできます.
標準スプーラの代替品
このマニュアルを最初から通読されている方ならば, ここまでで,
FreeBSD 付属の LPD スプーリングシステムに関して知っておくべき
ことすべてを学ばれたことと思います. 多分, このシステムに
あるたくさんの欠点について認識できたことでしょう. すると,
“(FreeBSD 上で動作する)
スプーリングシステムには他にどのような
ものがあるのか”という疑問が自然と湧いてきます.
残念ながら, 著者は代替のスプーラを 2つ
だけしか探し出すこと ができませんでした. そして,
それぞれはほとんど同一のものです. 以下に,
両システムの紹介をおこないます.
PLP (Portable Line Printer スプーリングシステム)
PLP は Patrick Powell によって開発されたソフトウエアを
ベースにされており, インタネット規模のグループの開発者
によって管理されていました. このソフトの主要サイトは「
ftp://ftp.iona.ie/pub/plp/ 」です.
「
web page 」にもあります.
PLP は BSD LPD スプーラと極めて似ていますが, 以下のも
のを含むホストの機能が自慢です.
ネットワークサポートの強化. ネットワーク接続され
るプリンタのサポートや NIS で管理可能な printcap ファ
イル, NFS マウントされるスプーリングディレクトリの機
能が組み込まれています.
洗練されたなキュー管理. 1つのキューで複数のプリン
タに対応可能. キュー間でジョブを転送したり, キューのリ
ダイレクトができます.
リモートプリンタの制御機能
ジョブの優先順位付け
拡張性のあるセキュリティとアクセスオプション
LPRng
LPRng は, その称するところの意味は“LPR: the Next
Generation”ですが, PLP を完全に書き換えたものになっ
ています. Patrick Powell と Justin Mason (PLP の主要
なの管理者) の共同で LPRng が作成されました. LPRng の
主要サイトは「
ftp://dickory.sdsu.edu/pub/LPRng/ 」です.
謝辞
このドキュメントの開発の手助けをして頂いた以下の方々に感謝の
意を表わしたいと思います.
Daniel Eischen deischen@iworks.interworks.org
精読するためのあり余るほどの HP 用フィルタを提供してく
れたことに.
&a.jehamby;
提供して頂いた Ghostscript から HP
へのフィルタに.
&a.jfieber;
Ghostscript を使って PostScript プリンタをシミュレートしている
FreeBSD システムに対し, Windows95 から印刷した際に
正しく出力されなかった不具合のデバッグと,
この文書の修正に関して助言してくれたことに.
Stephen Montgomery-Smith
stephen@math.missouri.edu
HP 製プリンタにおける最後の改ページ指定を,
"\f" ではなく "\033&l0H" を使うよう提案してくれたことに.
前者には余分に一枚白紙を出力してしまう場合があるという,
後者にない現象があります.
私の妻, Mary Kelly
urquhart@argyre.colorado.edu
彼女と一緒にいるよりもずっと長い時間を FreeBSD のため
に費やすことを許してくれたことに.
diff --git a/ja_JP.eucJP/share/sgml/authors.ent b/ja_JP.eucJP/share/sgml/authors.ent
index 04892db175..e0500e45c6 100644
--- a/ja_JP.eucJP/share/sgml/authors.ent
+++ b/ja_JP.eucJP/share/sgml/authors.ent
@@ -1,450 +1,458 @@
abial@FreeBSD.org">
ache@FreeBSD.org">
adam@FreeBSD.org">
ade@FreeBSD.org">
alc@FreeBSD.org">
alex@FreeBSD.org">
alfred@FreeBSD.org">
amurai@FreeBSD.org">
andreas@FreeBSD.org">
andy@FreeBSD.org">
archie@FreeBSD.org">
asami@FreeBSD.org">
asmodai@FreeBSD.org">
awebster@pubnix.net">
bde@FreeBSD.org">
billf@FreeBSD.org">
bp@FreeBSD.org">
brandon@FreeBSD.org">
brian@FreeBSD.org">
+bsd@FreeBSD.org">
+
cawimm@FreeBSD.org">
cg@FreeBSD.org">
charnier@FreeBSD.org">
chris@FreeBSD.org">
chuckr@glue.umd.edu">
chuckr@FreeBSD.org">
cpiazza@FreeBSD.org">
cracauer@FreeBSD.org">
csgr@FreeBSD.org">
cwt@FreeBSD.org">
dan@FreeBSD.org">
danny@FreeBSD.org">
darrenr@FreeBSD.org">
davidn@blaze.net.au">
dbaker@FreeBSD.org">
dburr@FreeBSD.org">
dcs@FreeBSD.org">
deischen@FreeBSD.org">
des@FreeBSD.org">
dfr@FreeBSD.org">
dg@FreeBSD.org">
dick@FreeBSD.org">
dillon@FreeBSD.org">
dima@FreeBSD.org">
dirk@FreeBSD.org">
Dirk.vanGulik@jrc.it">
dt@FreeBSD.org">
dufault@FreeBSD.org">
dwhite@FreeBSD.org">
dyson@FreeBSD.org">
eivind@FreeBSD.org">
ejc@FreeBSD.org">
erich@FreeBSD.org">
faq@FreeBSD.org">
fenner@FreeBSD.org">
flathill@FreeBSD.org">
foxfair@FreeBSD.org">
fsmp@FreeBSD.org">
gallatin@FreeBSD.org">
gclarkii@FreeBSD.org">
gehenna@FreeBSD.org">
gena@NetVision.net.il">
ghelmer@cs.iastate.edu">
gibbs@FreeBSD.org">
gioria@FreeBSD.org">
gj@FreeBSD.org">
gpalmer@FreeBSD.org">
graichen@FreeBSD.org">
green@FreeBSD.org">
grog@FreeBSD.org">
groudier@club-internet.fr">
gryphon@healer.com">
+gsutter@FreeBSD.org">
+
guido@FreeBSD.org">
hanai@FreeBSD.org">
handy@sxt4.physics.montana.edu">
roger@freebsd.org">
helbig@FreeBSD.org">
hm@FreeBSD.org">
hoek@FreeBSD.org">
hosokawa@FreeBSD.org">
hsu@FreeBSD.org">
imp@FreeBSD.org">
imura@FreeBSD.org">
itojun@itojun.org">
iwasaki@FreeBSD.org">
jasone@FreeBSD.org">
jb@cimlogic.com.au">
jdp@FreeBSD.org">
jedgar@FreeBSD.org">
jehamby@lightside.com">
jesusr@FreeBSD.org">
jfieber@FreeBSD.org">
jfitz@FreeBSD.org">
jhay@FreeBSD.org">
jhb@FreeBSD.org">
jhs@FreeBSD.org">
jim@FreeBSD.org">
jkh@FreeBSD.org">
jkoshy@FreeBSD.org">
jlemon@FreeBSD.org">
john@starfire.MN.ORG">
jlrobin@FreeBSD.org">
jmacd@FreeBSD.org">
jmas@FreeBSD.org">
jmb@FreeBSD.org">
jmg@FreeBSD.org">
jmz@FreeBSD.org">
joe@FreeBSD.org">
joerg@FreeBSD.org">
john@FreeBSD.org">
jraynard@FreeBSD.org">
jseger@FreeBSD.org">
julian@FreeBSD.org">
jvh@FreeBSD.org">
karl@FreeBSD.org">
kato@FreeBSD.org">
-kelly@plutotech.com">
+kelly@ad1440.net">
ken@FreeBSD.org">
kevlo@FreeBSD.org">
kjc@FreeBSD.org">
kris@FreeBSD.org">
kuriyama@FreeBSD.org">
lars@FreeBSD.org">
lile@FreeBSD.org">
ljo@FreeBSD.org">
luoqi@FreeBSD.org">
marcel@FreeBSD.org">
markm@FreeBSD.org">
martin@FreeBSD.org">
max@FreeBSD.org">
mark@vmunix.com">
mbarkah@FreeBSD.org">
mckay@FreeBSD.org">
mckusick@FreeBSD.org">
md@bsc.no">
winter@jurai.net">
mharo@FreeBSD.org">
mjacob@FreeBSD.org">
mks@FreeBSD.org">
motoyuki@FreeBSD.org">
mph@FreeBSD.org">
mpp@FreeBSD.org">
msmith@FreeBSD.org">
mtaylor@FreeBSD.org">
nakai@FreeBSD.org">
nate@FreeBSD.org">
nbm@FreeBSD.org">
nectar@FreeBSD.org">
newton@FreeBSD.org">
n_hibma@FreeBSD.org">
nik@FreeBSD.org">
nsayer@FreeBSD.org">
nsj@FreeBSD.org">
nyan@FreeBSD.org">
obrien@FreeBSD.org">
olah@FreeBSD.org">
opsys@open-systems.net">
patrick@FreeBSD.org">
paul@FreeBSD.org">
pb@fasterix.freenix.org">
pds@FreeBSD.org">
peter@FreeBSD.org">
phantom@FreeBSD.org">
phk@FreeBSD.org">
pho@FreeBSD.org">
pjchilds@imforei.apana.org.au">
proven@FreeBSD.org">
+ps@FreeBSD.org">
+
pst@FreeBSD.org">
reg@FreeBSD.org">
rgrimes@FreeBSD.org">
rhuff@cybercom.net">
ricardag@ag.com.br">
rich@FreeBSD.org">
rnordier@FreeBSD.org">
roberto@FreeBSD.org">
rse@FreeBSD.org">
ru@FreeBSD.org">
rwatson@FreeBSD.org">
sada@FreeBSD.org">
scrappy@FreeBSD.org">
se@FreeBSD.org">
sef@FreeBSD.org">
sheldonh@FreeBSD.org">
shige@FreeBSD.org">
shin@FreeBSD.org">
simokawa@FreeBSD.org">
smace@FreeBSD.org">
smpatel@FreeBSD.org">
sos@FreeBSD.org">
stark@FreeBSD.org">
stb@FreeBSD.org">
steve@FreeBSD.org">
sumikawa@FreeBSD.org">
swallace@FreeBSD.org">
tanimura@FreeBSD.org">
taoka@FreeBSD.org">
tedm@FreeBSD.org">
tegge@FreeBSD.org">
tg@FreeBSD.org">
thepish@FreeBSD.org">
tom@FreeBSD.org">
torstenb@FreeBSD.org">
truckman@FreeBSD.org">
ugen@FreeBSD.org">
uhclem@FreeBSD.org">
ulf@FreeBSD.org">
ume@FreeBSD.org">
+unfurl@FreeBSD.org">
+
vanilla@FreeBSD.org">
wes@FreeBSD.org">
whiteside@acm.org">
-wilko@yedi.iaf.nl">
+wilko@FreeBSD.org">
wlloyd@mpd.ca">
wollman@FreeBSD.org">
wosch@FreeBSD.org">
wpaul@FreeBSD.org">
wsanchez@FreeBSD.org">
yokota@FreeBSD.org">
www@FreeBSD.org">