diff --git a/ja_JP.eucJP/books/handbook/eresources/chapter.sgml b/ja_JP.eucJP/books/handbook/eresources/chapter.sgml index 9727a9d432..e1eff2e145 100644 --- a/ja_JP.eucJP/books/handbook/eresources/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/eresources/chapter.sgml @@ -1,1294 +1,1328 @@ インターネット上のリソース 訳: &a.jp.yuki;、1996 年 8 月 28 日 FreeBSD の進歩は急速であり、 印刷したメディアは最新の開発をフォローするのに実用的ではありません。 それだけしかない、というわけではありませんが、 最新情報を入手する方法としては電子的なリソースがベストです。 FreeBSD はボランティアの努力によって、ユーザコミュニティ自体が、 - 一種のテクニカルサポート部門としての役割も通常果たしており、 + 一種の テクニカルサポート部門 としての役割も通常果たしており、 電子メールや Usenet のニュースがこれらのコミュニティにたどり着く最も効果的な方法になっています。 以下に、FreeBSD ユーザコミュニティに連絡を取る場合の最も重要な点についての 概略を示します。 もしここに書かれていない他のリソースに気がついた場合は、それらを &a.doc; に送って頂ければ、 それらをここに含めるかもしれません。 メーリングリスト - 多くのFreeBSDの開発メンバはUSENETを読むことができますが、 + 多くの FreeBSD の開発メンバは USENET を読むことができますが、 もし、comp.unix.bsd.freebsd.* のグループの一つに質問を投稿したとしても タイムリにその質問を受け取るということは保証できません。 質問を適切なメーリングリストに投稿すれば、 - 私たちかFreeBSDの関係者から、よりよい + 私たちか FreeBSD の関係者から、よりよい (そして少なくともより早い) 反応がいつでも得られることでしょう。 さまざまなメーリングリストの憲章を このドキュメントの最後に記載します。私たちは、 メーリングリストの質、特に技術面に関する質を高く保つ ために努力しているので、 メーリングリストに参加する前にその憲章を読んでください。 私たちのメーリングリストの参加者のほとんどは、 現在非常 にたくさんの FreeBSD に関連したメッセージを毎日受け取っており、メーリン グリストに対するふさわしい 用いられ方をするための憲章やルールを決めるこ とによって、 メーリングリストの S/N 比を高くする保つように励んでいます。 そうしないと、結果的に、メーリングリストがプロジェクトにとって 事実上のコミュニケーションの手段になってしまうでしょう。 メーリングリストはいずれもアーカイブされており、それらは FreeBSD World Wide Web server で検索することができます。 キーワード検索可能なアーカイブの提供は、 良くある質問に対する回答を見つけるすぐれた方法ですから、 質問を投稿する前に調べてみるべきでしょう。 メーリングリストの概説 一般的なメーリングリスト: 以下のものは誰でも自由に参加できる (そしておすすめの) - 一般的なものです: + 一般的なものです。 リスト 目的 cvs-all FreeBSD ソースツリーへ加えられた変更について freebsd-advocacy FreeBSD の福音伝道 freebsd-announce 重要なイベントやプロジェクトのマイルストン freebsd-arch アーキテクチャ、設計に関する議論 freebsd-bugs バグレポート freebsd-chat FreeBSD コミュニティに関連する技術的ではない話題 freebsd-config 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-test メッセージの送信試験を行なうために、 実際のメーリングリストの代わりに使うアドレス 技術的なメーリングリスト: 以下のメーリングリストは、技術的な 議論のためのものです。 それらの利用や内容のためにしっかりとしたガイドラ インがあるので、これらのメーリングリストに入ったり、 どれか一つにメール を送ったりする前には、 それらのメーリングリストの憲章を注意深く読むべきです。 リスト 目的 freebsd-afs FreeBSD へのAFSの移植 freebsd-alpha FreeBSD の Alpha への移植 + + freebsd-arm + FreeBSD の ARM プロセッサへの移植 + + freebsd-atm FreeBSD での ATM ネットワーク使用に関する話題 freebsd-audit ソースコード監査プロジェクト + + freebsd-binup + バイナリアップデートシステムの設計と開発 + + + + freebsd-cluster + FreeBSD のクラスタ環境での利用 + + freebsd-database FreeBSD 上でのデータベースの利用や開発に関する議論 freebsd-doc FreeBSD 関連ドキュメントの作成 freebsd-emulation Linux/DOS/Windows のような他のシステムのエミュレーション freebsd-fs ファイルシステム freebsd-hackers 一般的な技術の議論 freebsd-hardware FreeBSD の走るハードウェアの一般的な議論 freebsd-i18n FreeBSD の国際化 freebsd-ia64 FreeBSD の Intel が開発中の IA64 システムへの移植 freebsd-ipfw IP firewall コードの再設計に関する技術的議論 freebsd-isdn ISDN 開発者 freebsd-java Java 開発者や、FreeBSD へ JDK を移植する人たち freebsd-libh 第 2 世代のインストール、パッケージシステム freebsd-mobile モーバイルコンピューティングについての議論 freebsd-mozilla mozilla の FreeBSD への移植に関する議論 freebsd-new-bus バスアーキテクチャに関する技術的な議論 freebsd-net ネットワークおよび TCP/IP ソースコードに関する議論 freebsd-platforms Intel 以外のアーキテクチャのプラットフォームへの移植 freebsd-ports Ports コレクションに関する議論 freebsd-ppc FreeBSD の PowerPC への移植 + + freebsd-qa + 品質保証 (通常はリリースの保留) についての議論 + + freebsd-realtime FreeBSD 用のリアルタイム拡張の開発に関する話題 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 の管理者 メーリングリストのダイジェスト版: 上述のメーリングリストの多くでダイジェスト版が利用できます。 ダイジェスト版ではメーリングリストに新たに投稿された記事が集められ、 100KB を超えた時点で一つのメールとしてまとめて配送されます。 ダイジェスト版が利用できる メーリングリストは以下のとおりです。 メーリングリスト freebsd-afs-digest freebsd-alpha-digest freebsd-chat-digest freebsd-current-digest freebsd-cvs-all-digest freebsd-database-digest freebsd-hackers-digest freebsd-ia64-digest freebsd-isdn-digest freebsd-java-digest freebsd-questions-digest freebsd-security-digest freebsd-sparc-digest freebsd-stable-digest freebsd-test-digest - CVSメーリングリスト: + CVS メーリングリスト: 以下のメーリングリストはソースツリーの さまざまな場所の変更のログメッセージを見ることに 興味のある人向けです。 これらは読み専用のリストで、 これらにメールを送る事は出来ません。 メーリングリスト ソースの範囲 (ソースの) 範囲の説明 cvs-all /usr/src ツリーのすべての変更 (スーパーセット) 参加方法 - どのメーリングリストもFreeBSD.ORGにあるので、 + どのメーリングリストも + FreeBSD.ORG にあるので、 メーリングリストにメールを送るには、ただ <listname@FreeBSD.org> にメールを送るだけです。すると、 メーリングリストに登録されている世界中のメンバに 再配布されます。 メーリングリストに参加するには、 subscribe <listname> [<optional address>] という内容をメッセージの本文に含むメールを &a.majordomo; - に送ります。例えば、freebsd-announce - に参加したい場合は次のようにします: + に送ります。たとえば、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 + すべて FreeBSD メーリングリストは誰でもそれらを利用することに 固守しなければいけないという一定の簡単なルールがあります。 - これらのルー ルに従わないと、結果として FreeBSD の Postmaster + これらのルールに従わないと、結果として FreeBSD の Postmaster postmaster@FreeBSD.orgから 2 回までは警 - 告を受けます。3回違反すると、 - 投稿者は全てのFreeBSDのメーリングリストから削除され、 + 告を受けます。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-AUDIT ソースコード監査プロジェクト これは、FreeBSD ソースコード監査プロジェクトのメーリングリストです。 本来はセキュリティ関連の変更を行なうためのものだったのですが、 現在の憲章では、ソースコードに対する監査全般のレビューを行なうためのもの、 というように拡張されました。 このメーリングリストは修正パッチを含んだ、 非常に大きなメッセージが流れます。おそらく、 普通の FreeBSD ユーザが興味を持つものではないでしょう。 セキュリティに関する議論のうち、 ソースコードの変更とは関係のないものについては freebsd-security で扱われています。 逆に FreeBSD 開発者は修正パッチをこのメーリングリストに送り、 レビューを受けてください。 これは、その修正パッチにあるバグがシステムの完全性に悪い影響を与える 可能性があるような箇所を扱う場合は特に必要になります。 - + + + + + + FREEBSD-BINUP + + + FreeBSD バイナリアップデートプロジェクト + + このメーリングリストは、バイナリアップデートシステム + (または binup) に関する議論の場を提供します。設計上の問 + 題、実装の詳細、パッチ、バグ報告、状況報告、機能の要望、 + コミットログ、その他 binup に関連するもろもろが格好の話 + 題となります。 FREEBSD-BUGS バグレポート これは、FreeBSD のバグレポートのためのメーリングリストです。可能である 場合はいつでも、バグは &man.send-pr.1; を使うか、WEB interfaceを用い て送られる必要があります。 FREEBSD-CHAT FreeBSDのコミュニティに関する 技術的ではない話題 このメーリングリストは技術的ではなく、 社会的な情報について、 他のメーリングリストでは取り扱わない話題を含みます。 これは、Jordanがシロイタチに似ているかどうか、 大文字で打つかどうか、誰がたくさんコーヒーを飲むか、 どこのビールが一番うまいか、 誰が地下室でビールを作っているか、 などについての議論を含みます。時々重要なイベント (将来開催されるパーティーや、結婚式、誕生日、 新しい仕事など) のお知らせが、 技術的なメーリングリストから でてきます。しかし、 フォローは直接 -chatメーリングリストにするべきです。 FREEBSD-CORE FreeBSDコアチーム これは、コアメンバが使う内部メーリングリストです。 - FreeBSDに関連する深 刻なやっかい事の裁定や + FreeBSDに関連する深刻なやっかい事の裁定や ハイレベルな綿密な調査を要求するときに、このメー リングリストにメッセージを送る事が出来ます。 FREEBSD-CURRENT FreeBSD-currentの使用に関する議論 これは freebsd-current のユーザのためのメーリングリストです。 メーリングリストでの話題は、-current で登場した新しい機能について、 その新機能によってユーザに影響することについての注意、 および -current のままでいるために必要な手順についての説明を含みます。 current を走らせている人はこのメーリングリストに 登録しなくてはなりません。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 FREEBSD-CURRENT-DIGEST FreeBSD-currentの使用に関する議論 freebsd-current メーリングリストのダイジェスト版です。 このダイジェストは freebsd-current に送られたすべてのメッセージをまとめたものを、 - 1つのメールにして送り出します。 - このメーリングリストは 読み専用です。 + 1 つのメールにして送り出します。 + このメーリングリストは読み専用です。 メールを送るような事はしないでください。 FREEBSD-DOC ドキュメンテーションプロジェクト このメーリングリストは FreeBSD 向けの文書の作成に関連する事柄やプロジェクトについて議論を行なうためのものです。 このメーリングリストに参加しているメンバは、 - FreeBSD - ドキュメンテーションプロジェクトに参加していることになります。 + FreeBSD ドキュメンテーションプロジェクト + に参加していることになります。 このメーリングリストは公開されているので、 参加や投稿は自由に行なうことができます。 FREEBSD-FS ファイルシステム - FreeBSDのファイルシステムに関する議論 + FreeBSD のファイルシステムに関する議論 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 FREEBSD-IPFW IP Firewall これは FreeBSD の IP firewall コードの再設計に関する 技術的な議論のためのフォーラムです。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 FREEBSD-IA64 FreeBSD の IA64 への移植 これは FreeBSD の Intel の IA-64 プラットフォームへの 移植に参加している人達のための技術的なメーリングリストで、 問題を提起し解決策を議論するためのものです。 このような技術的な議論に興味を持つ個人は歓迎します。 FREEBSD-ISDN ISDNコミュニケーション このメーリングリストは、 FreeBSDに対するISDNサポートの開発の議論を おこなう人のためのものです. FREEBSD-JAVA - Javaの開発 + Java の開発 このメーリングリストは、FreeBSD - 向けの重要なJavaアプリケーションの開発や、JDK + 向けの重要な Java アプリケーションの開発や、JDK の移植やメンテナンスの 議論をする人のためのものです. FREEBSD-HACKERS 技術的な議論 - これはFreeBSDに関する技術的な議論のための + これは FreeBSD に関する技術的な議論のための フォーラムです。 これは最もテクニカルなメーリングリストです。 このメーリングリストは、FreeBSD 上でアクティブに活動をしている人のためのもので、 問題を持ち出したり、代わりの解決法を議論します。 技術的な議論をフォローするのに興味がある人も歓迎します。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 FREEBSD-HACKERS-DIGEST 技術的な議論 freebsd-hackersメーリングリストのダイジェスト版です。 - このダイジェスト はfreebsd-hackers - に送られたすべてのメッセージをまとめたものを、1つのメー + このダイジェストは freebsd-hackers + に送られたすべてのメッセージをまとめたものを、1 つのメー ルにして送り出します。 このメーリングリストは読み専用です。 メールを送るような事はしないでください。 FREEBSD-HARDWARE FreeBSDのハードウェアの一般的な議論 FreeBSDが走っているハードウェアのタイプや、 何を買ったり避けたりするかに関する様々な問題や、 提案に関する議論。 FREEBSD-HUBS ミラーサイト FreeBSD ミラーサイトを運用している人達向けの、 アナウンスと議論を行なうメーリングリストです。 FREEBSD-INSTALL インストールに関する議論 このメーリングリストは将来のリリースの インストールに関する開発の議論のためのものです。 FREEBSD-ISP インターネットサービスプロバイダのについての話題 このメーリングリストは、 FreeBSDを用いたインターネット サービスプロバイダ (ISP) に関する話題の議論のためのものです。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 FREEBSD-NEWBIES 初心者の活動の議論 どのメーリングリストでも扱われていなかった 初心者の活動すべてをカバーします。独学や問題解決、 リソースの見つけ方や使い方、質問のしかた、 メーリングリストの使い方、 どのメーリングリストを読めばいいのか、普通の世間話、 間違いの犯し方、自慢話、アイディアの共有、物語、道徳的な (技術的でない) お手伝い、FreeBSD コミュニティでの貢献のしかたなどの話題をが含まれます。 これらの問題を取り扱い、freebsd-questions へ質問できるようサポートします。また、 初心者の頃にはまった同じ事柄に悩んでいる 他の初心者との出会いの場としてfreebsd-newbies を活用してください。 FREEBSD-PLATFORMS - Intel以外のプラットフォームへの移植 + Intel 以外のプラットフォームへの移植 - クロスプラットフォームのFreeBSDの問題。Intel + クロスプラットフォームの FreeBSD の問題。Intel 以外のプラットフォームへの FreeBSD の移植についての一般的な議論や提案。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 FREEBSD-POLICY コアチームのポリシーに関する議論 このメーリングリストは、FreeBSD コアチームのポリシーに 関する議論のためのものです。 流量は少なく、投稿することはできません。 FREEBSD-PORTS ports の議論 - FreeBSD Ports コレクション + FreeBSD Ports Collection (/usr/ports) に関連する話題や、 新たな ports の提案、Ports - コレクションの基盤の変更および一般的な構成の整備活動に関する議論。 + Collection の基盤の変更および一般的な構成の整備活動に関する議論。 これは技術的なメーリングリストなので、 厳密に技術的な内容のみが扱われます。 FREEBSD-QUESTIONS ユーザからの質問 - FreeBSDに関する質問のためのメーリングリストです。 + FreeBSD に関する質問のためのメーリングリストです。 その質問がかなり技術的だと思わないのであれば、 どのようにして という質問を技術的なメーリングリストに 送るべきではありません。 FREEBSD-QUESTIONS-DIGEST ユーザからの質問 freebsd-questions メーリングリストのダイジェスト版です。このダイジェストは freebsd-questions に送られたすべてのメッセージをまとめたものを、 - 1つのメールにして送り出します。 + 1 つのメールにして送り出します。 FREEBSD-SCSI - SCSIサブシステム - これは FreeBSD のための scsi + SCSI サブシステム + これは FreeBSD のための SCSI サブシステムについて作業している人向けです。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 FREEBSD-SECURITY セキュリティの関連の話題 FreeBSDコンピュータのセキュリティの話題 (DES, - Kerberos、よく知られているセキュリティホールや、 + 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関連するユーザがいます。 + 2 つの FreeBSD 用のニュースグループがあります。ここでは + FreeBSD の議論をするたくさんの様々な人がおり、 + 他にも FreeBSD 関連するユーザがいます。 これらのいくつかのニュースグループは Warren Toomey wkt@cs.adfa.edu.au によって + url="http://minnie.tuhs.org/BSD-info/bsdnews_search.html"> Keyword searchable archives で、 検索できるようになっています。 - BSD用のニュースグループ + BSD 用のニュースグループ comp.unix.bsd.freebsd.announce comp.unix.bsd.freebsd.misc - 関連する他のUnixのニュースグループ + 関連する他の 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 サイト &chap.eresources.www.inc; 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 web space, email &a.brian dogma.freebsd-uk.eu.org Telnet/FTP/SSH - E-Mail, Web space, Anonymous FTP + Email, Web space, Anonymous FTP Lee Johnston lee@uk.FreeBSD.org diff --git a/ja_JP.eucJP/books/handbook/kernelconfig/chapter.sgml b/ja_JP.eucJP/books/handbook/kernelconfig/chapter.sgml index 5e5925bc96..968ce77f3e 100644 --- a/ja_JP.eucJP/books/handbook/kernelconfig/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/kernelconfig/chapter.sgml @@ -1,1264 +1,1512 @@ + + + + Jim + Mock + 改訂および再構成 + + + + + + Jake + Hamby + 原作 + + + + + FreeBSD カーネルのコンフィグレーション この章では - 更新/再構成: &a.jim;、2000 年 3 月 - 寄稿: &a.jehamby;、1995 年 10 月 6 日 + カーネル カスタムカーネルの構築 - この章では、自分のシステムに合わせた - カーネルを構築する方法について扱います。 - カーネルの再構築によりどんなメリットがあるのか不思議に思っていたり、 - 自分用のカーネルを設定し、コンパイルし、インストールする方法を - 知りたいと思っているのなら、この章が役に立つでしょう。 - + カーネルは FreeBSD オペレーティングシステムの中核をなすもの + です。カーネルは、メモリ管理、セキュリティ制御の強制、ネットワー + ク、ディスクアクセスなどを担っています。FreeBSD はどんどん動的に + 構成することができるようになっていますが、まだ、時にはカーネルコ + ンフィグレーションをやり直して、再構築する必要があります。 + + この章では、以下のことを扱っています。 + + + + なぜカスタムカーネルの構築が必要になることがあるのか。 + + + + コンフィグレーションファイルの書き方や、既存のコンフィグ + レーションファイルの置き換え。 + + + + カーネルコンフィグレーションファイルから新しいカーネルを構 + 築する方法。 + + + + 新しいカーネルのインストール方法。 + + + + /dev 下に必要となる項目を作成する方法。 + + + + うまく行かないときの問題解決法。 + + なぜカスタムカーネルを作るか? + 伝統的に、FreeBSD のカーネルは モノリシック + (monolithic) カーネルと呼ばれるものでした。 + これは、カーネルが単一の巨大なプログラムで、 + 扱えるデバイスは固定されていて、 + カーネルの振る舞いを変えたければ新しいカーネルを構築して、 + コンピュータを再起動して新しいカーネルを動かさなれければならなかった + ということです。 + + 今日では FreeBSD は、カーネルの機能のかなりが必要に応じて動 + 的にカーネルに組み込んだり外したりできるモジュールにおかれている + モデルへと、急速に移行しています。こうしてカーネルは (ノート PC + の PCMCIA カードのように) 突如使えるようになったハードウェアに対 + 応したり、カーネルが作成された時点では必要なかった新たな機能を取 + り入れられるようになります。くだけた表現では、これは KLD と呼ば + れます。 + + しかしながら、いまだにいくらかは静的にカーネルを構成する必要 + があります。ある場合においては、機能がカーネルとあまりに密接に結 + びついているため、動的に組み込むことができません。ほかには、単に + まだ誰もその機能に対する組み込み可能なカーネルモジュールを書く時 + 間をとっていないだけということもあります。 + システムに合わせたカーネルの構築はほとんどすべての - UNIX ユーザが + Unix ユーザが 避けて通ることのできない最も重要な通過儀礼の1つです。 この作業は、多くの時間を必要としますが、あなたの FreeBSD システムに多くの利益をもたらします。 広範囲のハードウェアをサポートしなければならない GENERICカーネルとは異なり、 システムに合わせたカーネルは あなたの PC のハードウェアのみをサポートします。これは、 次にあげるような利益をもたらします。 素早く起動します。 カーネルはあなたのシステム上にあるハードウェアしか 検出を行わないので、 あなたのシステムの起動にかかる時間は劇的に短くなります。 メモリの消費量が減少します。 - システムに合わせたカーネルは、大抵 GENERIC + システムに合わせたカーネルは、大抵 + GENERIC カーネルより少ないメモリしか消費しません。 - カーネルは常にメモリ上に存在するプロセスなので、 - このことは重要になります。 + カーネルは常に実メモリ上に存在しなければならないので、 + これは重要なことです。 したがって、RAM が少ないシステムでは、 カーネルの再構築は大変重要です。 追加のハードウェアをサポートします。 システムに合わせたカーネルは、サウンドカードなど - GENERIC カーネルに存在しない - デバイスのサポートを追加することができます。 + GENERIC + カーネルに存在しないデバイスのサポートを追加することができます。 カスタムカーネルの構築とインストール カーネル 構築 / インストール まず、 カーネル再構築に必要なディレクトリをざっと見てみましょう。 ここではディレクトリはすべて /usr/src/sys 以下の相対位置で示します。 また、/sys からもアクセス可能です。 ここには、カーネルの各部分を構成するサブディレクトリが いくつもあります。しかし、私たちの目的で最も重要なのは arch/conf です。 ここで、あなたの システムに合わせてカーネルコンフィグレーションを編集します。 それから compileディレクトリ、 ここはカーネルが作られる 場所です。 arch は、i386, alpha, pc98(これは 日本で普及している PC のための開発ブランチです)のいずれかを表します。 各アーキテクチャのディレクトリ内部にあるファイルはすべて そのアーキテクチャでのみ使用され、残りのコードは FreeBSD が他のプラットフォームに移植される際に共有されます。 サポートされているデバイス、ファイルシステム、オプションが、 それぞれ各々のサブディレクトリに分かれている、 という論理的な構成に注意してください。 もし、あなたのシステムに/usr/src/sys 以下のディレクトリがなければ、 カーネルのソースが インストールされていません。 もっとも簡単な方法は (rootで) /stand/sysinstall - を用いて以下のようにします。設定(Configure) - を選んでから 配布ファイル(Distribution) - を選択し、src の中の sys + を用いて以下のようにすることです。 + 設定 (Configure) + を選んでから + 配布ファイル (Distribution) + を選択し、src + の中の sys をインストールしてください。 + sysinstall + が嫌いで、公式 FreeBSD CDROM を利用できるなら、 + コマンドラインからソースコードをインストールすることもできます。 + + &prompt.root; mount /cdrom +&prompt.root; mkdir -p /usr/src/sys +&prompt.root; ln -s /usr/src/sys /sys +&prompt.root; cat /cdrom/src/ssys.[a-d]* | tar -xzvf - つぎに、 arch/confに移動して、 GENERIC コンフィグレーションファイルをカーネルに与えたい名前に コピーしてください。たとえば次のようにします。 &prompt.root; cd /usr/src/sys/i386/conf &prompt.root; cp GENERIC MYKERNEL 慣習として、この名前はすべて大文字でつづられます。もし、 いくつかの異なるハードウェアの FreeBSDマシンを扱うなら、 この名前にホスト名を含めるとよいでしょう。ここでは、例として MYKERNEL と呼ぶことにします。 + + カーネルコンフィグレーションファイルを、直に + /usr/src の下に置くのはよい考えとはいえま + せん。なにか問題が起きたときに、 + /usr/src を消してやり直したいと思うかもし + れません。その後で、あなたがカスタマイズしたカーネルコンフィグ + レーションファイルを消してしまったことに気づくのに時間はかから + ないでしょう。 + + カーネルコンフィグレーションファイルは他の場所において、 + i386 ディレクトリにシンボリックリンクを張 + る方がよいでしょう。 + + たとえば、次のようにします。 + + &prompt.root; cd /usr/src/sys/i386/conf +&prompt.root; mkdir /root/kernels +&prompt.root; cp GENERIC /root/kernels/MYKERNEL +&prompt.root; ln -s /root/kernels/MYKERNEL + + - この作業は root権限でおこなう必要があります。 - そうでなければ、permission - deniedというエラーが出ます。 + この作業は root + 権限でおこなう必要があります。そうでなければ、 + permission denied + というエラーが出ます。 では、MYKERNEL をあなたの好きなエディタで編集してください。もし、 システムをインストールしたばかりならば、利用できるエディタは - viだけかもしれません。ここでは使い方 - の説明はしませんが、参考図書 + vi + だけかもしれません。ここでは使い方の説明はしませんが、 + 参考図書 にあるような多くの本で詳しく説明 されていますので、 そちらを参照してください。FreeBSD にはより簡単なエディタとして - ee があります。初心者の方であればこちらをエディタ - に選ぶとよいでしょう。 + ee + があります。初心者の方であればこちらをエディタに選ぶとよいでしょう。 まずファイルの最初の方のコメント行を編集し、あなたのコンフィグ レーションに合せて変更した点などを記述して GENERIC と区別がつく ようにしておきましょう。 SunOS もし SunOSや他の BSDオペレーティングシステムでカーネルの 再構築をしたことがあれば、このファイルはとても親しみ やすいでしょう。しかし、DOSのようなその他の オペレーティングシステムしか知らない人から見れば、 GENERIC コンフィグレーションファイルはとても なじみにくいものかもしれません。そのような場合は、 コンフィグレーションファイル の節をゆっくりと注意深く読んでください。 - FreeBSD Project の最新のソースファイルと、あなたの - ソースツリーを同期させている場合、 - アップデートを行う際には、必ず - /usr/src/UPDATING ファイルをチェックするように - してください。 - このファイルには、FreeBSD をアップデートする際のすべての重要な情報 - が書かれています。 + FreeBSD Project の最新のソースファイルと、あなたのソースツリーを同期させている + 場合、アップデートを行う際には、必ず + /usr/src/UPDATING + ファイルをチェックしてください。 + このファイルには、FreeBSD + をアップデートする際の重要な問題がすべて書かれています。 /usr/src/UPDATING は常にあなたの FreeBSD ソースファイルのバージョンと同期していますので、 ハンドブックの情報よりも正確なものとなっています。 - FreeBSD 4.0 より前の FreeBSD を使っていて、 - FreeBSD 4.0 以降へはアップグレードしない、 - もしくはリリース版の FreeBSD を使っていて - /usr/src/ ディレクトリには - sys/ しか無い場合、 - 編集し終ったら次のコマンドによってコンパイル、インストール - を行ってください。 + ここで、カーネルのソースコードをコンパイルしなくてはなりませ + ん。手順は二つあり、どちらを使うかは、なぜカーネルを再構築するか + と、動かしている FreeBSD のバージョンによって決まります。 - - 古いバージョンの FreeBSD からカーネルをアップグレードしようと - している場合、新しいカーネルのソースファイルを取ってきた場所と - 同じところから、新しいバージョンの &man.config.8; を取ってくる - 必要があるでしょう。 - &man.config.8; は /usr/src/usr.sbin - にあるので、これらのソースファイルもダウンロードする必要が - あります。 - 次のコマンドを実行する前に、これを再構築してインストールして - おいてください。 - + + + カーネルのソースコードだけインストー + ルしているなら、手順 1 にしたがってください。 + + + + 4.0 より前の FreeBSD を使っていて、 + make world を行って FreeBSD 4.0 + 以上にアップグレードしないなら、 + 手順 1 にしたがってください。 + + + + (IPFIREWALL オプションを追加するなど + のように) ソースコードを更新せずに新しいカーネルを構築するな + らどちらの手順を用いても構いません。 + + + + make world + の一環としてカーネルの再構築を行っているなら、 + 手順 2 にしたがってください。 + + + + + 手順 1: <quote>伝統的な</quote> 方法によるカーネル構築 + + + カーネルソースコードを生成するため、&man.config.8; を実 + 行します。 + + &prompt.root; /usr/sbin/config MYKERNEL + + + + カーネルを構築するためのディレクトリに移動します。 + + &prompt.root; cd ../../compile/MYKERNEL + + + + カーネルをコンパイルします。 + + &prompt.root; make depend +&prompt.root; make + + + + 新しいカーネルをインストールします。 + + &prompt.root; make install + + + + + 手順 2: <quote>新しい</quote> 方法によるカーネル構築 + + + /usr/src ディレクトリに移動します。 - &prompt.root; /usr/sbin/config MYKERNEL -&prompt.root; cd ../../compile/MYKERNEL -&prompt.root; make depend -&prompt.root; make -&prompt.root; make install + &prompt.root; cd /usr/src + - 4.X 以降の新しいバージョンにアップグレードした場合 - (例えば 3.X から 4-STABLE へ、もしくは 4-STABLE から - 最新版の 4-STABLE へなど)、予め - buildworld を行なって、 - 以下のコマンドを実行してください: + + カーネルをコンパイルします。 - &prompt.root; cd /usr/src -&prompt.root; make buildkernel KERNCONF=MYKERNEL -&prompt.root; make installkernel KERNCONF=MYKERNEL + &prompt.root; make buildkernel KERNCONF=MYKERNEL + + + + 新しいカーネルをインストールします。 + + &prompt.root; make installkernel KERNCONF=MYKERNEL + + - FreeBSD-4.2 とそれ以前の場合は、 + FreeBSD 4.2 とそれ以前の場合は、 KERNCONF= ではなく KERNEL= としなければなりません。 2001 年 2 月 2 日以降の 4.2-STABLE は - KERNCONF= を認識します。 + KERNCONF= を認識します。 - CVSup - anoncvs + + cvsup + + anonymous CVS CTM CVS anonymous 何らかの方法であなたのソースツリーをアップグレードして いない 場合 (CVSup, CTM, anoncvs などを実行していない場合)、 - config, make depend, - make, make install + config, make depend, + make, make install の手順を実行してください。 - - 最後にカーネルを構築した後で、ソースをアップグレードした場合、 - カーネルを構築するには make buildkernel - を使わなければ なりません。 - そうしないと、カーネルを構築するのに古いユーティリティが - 使われてしまい、失敗してしまうかもしれません。 - ソースを更新した場合には、カーネルを構築するのに - config/make - の手順は使わないでください! - - kernel.old + + kernel.old + 新しいカーネルはルートディレクトリに /kernelという 名前でコピーされ、 今までのカーネルは /kernel.old - という名前へ変更されます。では、システムをシャットダウン、リブー - トして新しいカーネルを使ってください。うまく行かない場合は、 - この章の終りの + という名前へ変更されます。では、システムをシャットダウン、 + リブートして新しいカーネルを使ってください。 + うまく行かない場合は、この章の終りの 問題が起きた場合には を参照してください。この章の新しい カーネルが起動しない 場合のリカバリの方法を注意深く読んでおいてください。 - (サウンドカードのような)新しいデバイスを 追加した場合は、 - 使う前に /devディレクトリで - デバイスノードを追加しなければならないかもしれません。 - 詳しくは、デバイスノード - を読んでください。 + FreeBSD 4.X 以前のバージョンを使っていて、 + (サウンドカードなど) 新しいデバイスを追加した場合は、 + 使う前に /dev + ディレクトリにデバイスノードを追加しなければならないかもしれません。 + 詳しくは、この章で後ほど出てくる + デバイスノードの作成 + をご覧ください。 コンフィグレーション ファイル - カーネルLINT + + カーネル + LINT + LINT カーネル コンフィグレーションファイル コンフィグレーション ファイルの一般的なフォーマット はとてもシンプルです。各行は1つのキーワードと1つ以上の 引数を含んでいます。見やすくするために、ほとんどのキーワードは 引数を1つしか書いてありません。 #に続くものはすべてコメントとして扱われ、 無視されます。ここでは、それぞれのキーワードについて だいたい GENERIC に出てくる順番で説明します。しかし、 お互いに関係のあるキーワードは、実際には GENERIC ファイル上に バラバラに現れていても、(ネットワーキングのように)1つにまとめ てあります。 おびただしい数の オプションの一覧が GENERICと同じディレクトリの LINT コンフィグ レーションファイルにあります。もし、ある行の目的や必要性に疑 問を持ったら最初に LINT をチェックしてください。 数字と二重引用符 FreeBSD 3.x と、それまでの全てのバージョンの FreeBSD における &man.config.8; は、コンフィグレーションファイル中の テキストとして使われる数字を含む文字列が 全て二重引用符で括られていなければならないという制限があります。 この制限は (このハンドブックが対象としている) 4.X ブランチでは取り除かれました。 4.X 以前のシステムを使っている場合には、 サンプルとしてシステム上の /usr/src/sys/i386/conf/LINT/usr/src/sys/i386/conf/GENERIC を参照してください。 カーネル - コンフィグレーション例 + コンフィグレーションファイル例 以下は必要に応じてコメントを追加した GENERIC カーネルの コンフィグレーションファイルです。 この設定例は /usr/src/sys/i386/conf/GENERIC に極めて近いものになっているはずです。 その他に指定可能なカーネルオプションについては、 /usr/src/sys/i386/conf/LINT を参照してください。 # # GENERIC -- Generic kernel configuration file for FreeBSD/i386 # # このファイルについて更に情報が必要なら、ハンドブックのカーネル # コンフィグレーションファイルのセクションを参照して下さい。 # -# http://www.freebsd.org/handbook/kernelconfig-config.html +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # doc ディストリビューションをインストールした場合、ハンドブックは # ローカルマシンの /usr/share/doc/handbook でも見ることができます。 # 最新版は FreeBSD の WWW サーバ (http://www.FreeBSD.ORG/) を参照して # 下さい。 # # ./LINT コンフィギュレーションファイルには、デバイス行に関する大量の # オプションと詳細な説明があります。もしある行の目的又は必要性について # 疑問がある場合はまず LINT をチェックして下さい。 # # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246 2000/03/09 16:32:55 jlemon Exp $ 以下は すべての カーネルの構築に 必須のキーワードです: カーネル オプション machine machine i386 マシンのアーキテクチャです。 これは i386, alpha, pc98 のいずれかでなければなりません。 カーネル オプション cpu cpu I386_CPU cpu I486_CPU cpu I586_CPU cpu I686_CPU 上記はあなたのシステムの CPU タイプを指定します。 複数の行を書いても構いません。 (例: I586_CPU とすべきか I686_CPU とすべきかはっきり分からない場合。 しかしながら、カスタムカーネルを作る場合、あなたの持つ CPU だけを指定するのがベストです。 - もしあなたがどのタイプの CPU を使っているか分からない場合、 - dmesg を使って起動メッセージを + もしあなたの CPU がどのタイプか分からない場合、 + &man.dmesg.8; を使って起動メッセージを 調べるとよいでしょう。 カーネル オプション cpu type Alpha アーキテクチャの場合は、 - cpu_type に異なった値を用います。 + cpu に異なった値を用います。 cpu EV4 cpu EV5 もしあなたが Alpha マシンを使っている場合、 上記の内のどれかを指定して下さい。 カーネル オプション ident ident GENERIC ここはカーネルの識別名を書きます。 あなたがカーネルに付けたい名前に書き換えて下さい - (MYKERNELのように)。 + (前記の例の MYKERNEL のように)。 ident に書いた名前はカーネルを起動する時に 表示されるので、 - 普段使っているカーネルと区別したいときは違う名前を付けると + 普段使っているカーネルと区別したいときは、 + 新しいカーネルに違う名前を付けると 良いでしょう(例: 実験的なカーネルを構築する場合)。 カーネル オプション maxusers - maxusers 32 + maxusers n maxusers オプションは重要なシステムテーブルの サイズを決定します。 この数字はあなたのマシンを同時に使うと思われるユーザー数と - おおよそ等しくするのが良いでしょう。 - しかしながら、通常は X ウインドウシステムを使ったり、 - ソフトウエアをコンパイルするでしょうから、その場合は + おおよそ等しくするのが良いでしょう。 + + FreeBSD 4.5 からは、これを明示的に 0 + に設定すると、システムが設定を自動調整します + 自動調整アルゴリズムは、maxuser + を、最小値が 32、最大値が 384 + の間で、システムのメモリ合計と等しく設定します。 + 。それより前のバージョンの FreeBSD + を使っているか、自分で管理したい場合、特に + X ウインドウシステムを使ったり、ソフトウエアをコンパイルするなら、 maxusers は最低 4 にして下さい。 その理由は、maxusers によって計算される最も 重要なテーブルがプロセスの最大数で、それは 20 + 16 * maxusers となります。 もし、maxusers を 1 にすると、 同時に 36 プロセスしか利用できなくなりますが、 システムは起動時に 18 ほどのプロセスを立ち上げ、 X ウインドウシステムは 15 ほどのプロセスを立ち上げるので、 - man コマンドのような単純な仕事でさえフィルタ、展開、表示に 9 + オンラインマニュアルを読むような単純なタスクでさえ + フィルタ、展開、表示に 9 個のプロセスを利用するために、プロセス数不足になります。 maxusers を 64 に設定すると、 1044 個のプロセスを同時に利用することができるので、 殆どのユーザには充分でしょう。 もしあなたが別のプログラムを立ち上げる時、 恐れられている proc table full エラーが 発生する場合や、ftp.FreeBSD.org のように多数のユーザにより 同時に利用されるサーバを動かしている場合には、 この数字を増やしてカーネルを再構築することができます。 maxusers はあなたのマシンにログインする ユーザ数を制限するものでは ありません。 それは単に、あなたのシステムを使うであろうユーザの最大数や それぞれのユーザがどれくらいのプロセスを走らせるかに 合わせて各種テーブルの大きさを設定するだけです。 同時にリモートログインする最大ユーザ数を制限するキーワードは pseudo-device pty 16 です。 + # Floating point support - do not disable. +device npx0 at nexus? port IO_NPX irq 13 + + npx0 はハードウェアコプロセッサか + ソフトウエアエミュレータのどちらかである浮動小数点演算ユニットへの + FreeBSD におけるインタフェースです。 + これは任意選択ではありません + + # Pseudo devices - the number indicates how many units to allocate. +pseudo-device loop # Network loopback + + TCP/IP の汎用ループバックデバイスです。 + localhost (すなわち + 127.0.0.1) に対して telnet や FTP + で接続すると、この疑似デバイスを通して戻ってきます。 + これは必須です。 + 以下に続くすべては大体において追加設定項目です。 詳細は各項目の次に書かれている注意書きを参照して下さい。 #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols options MATH_EMULATE #Support for x87 emulation この行では、あなたのコンピュータが浮動小数点演算コプロセッサを 持たない場合(CPU が 386 又は 486SX)、 カーネルにシミュレートさせるよう設定します。 あなたが 486DX, 又は (387 や 487 チップを別途搭載した) 386, 486SX - 又は更に上位 (Pentium, Pentium II 他) を持っている場合は - コメントアウトして下さい。 + 又は更に上位 (Pentium, Pentium II 他) + を持っている場合はコメントアウトして下さい。 FreeBSD の浮動小数点エミュレーションルーチンはあまり正確では ありません。 もしあなたが浮動小数点コプロセッサを持っておらず、 かつベストな演算精度が必要であれば、GNU の浮動小数点サポートを - 利用する GPL_MATH_EMULATION を使ってみて下さい。 + 利用する GPL_MATH_EMULATE を使ってみて下さい。 このオプションはライセンス上の理由によりデフォルトでは 含まれていません。 options INET #InterNETworking ネットワークのサポート。 ネットワークに接続する予定がなくてもこのオプションは残して下さい。 殆どのプログラムは少なくともループバックネットワーク (あなたの PC の中でのネットワーク接続) を必要としますので、 基本的にこの行は必須です。 options INET6 #IPv6 communications protocols このオプションは IPv6 通信プロトコルを利用可能にします。 options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] これは標準のハードドライブファイルシステムです。 ハードディスクから起動する場合は残して下さい。 + options UFS_DIRHASH #Improve performance on big directories + + このオプションは、メモリを多少余分に食うものの、 + 大きなディレクトリに対するディスク操作を高速化するコードを有効にします。 + 大規模なサーバや対話的なワークステーションではこのオプションを残しておいて、 + ファイアウォールのように、メモリが貴重で + ディスクアクセス速度がそれほど重要でない + 小規模なシステムでは削除するとよいでしょう。 + + options SOFTUPDATES #Enable FFS Soft Updates support + + このオプションは、カーネル内の Soft Updates 機能を有効にし、 + ディスクへの高速な書き込みを支援します。 + 4.X ブランチではデフォルトで有効にされましたが、 + 有効になっていない可能性もあります。 + &man.mount.8; の出力を見て、有効になっているかどうか確認してください。 + soft-updates オプションが見当たらなければ、 + &man.tunefs.8; か、新規のファイルシステムについては + &man.newfs.8; で有効にする必要があります。 + options MFS #Memory Filesystem options MD_ROOT #MD is a potential root device これはメモリ上にマップされたファイルシステムです。 これは基本的に一時ファイルの高速格納用の RAM ディスクであり、 あなたが有効に利用したい大量のスワップスペースを持っている 場合には有用でしょう。 多くのプログラムが一時データをここに保存することから、 MFS パーティションをマウントする最適な場所は /tmp ディレクトリです。 MFS RAM ディスクを /tmp にマウントするには 次の行を /etc/fstab に追加して下さい: /dev/ad1s2b /tmp mfs rw 0 0 次に再起動するか、コマンド mount /tmp を実行して下さい。 カーネル オプション NFS カーネル オプション NFS_ROOT options NFS #Network Filesystem options NFS_ROOT #NFS usable as root device, NFS required ネットワークファイルシステム。 - UNIX ファイルサーバから TCP/IP を介してパーティションを + Unix ファイルサーバから TCP/IP を介してパーティションを マウントするのでない限り、これらの行をコメントアウトして下さい。 カーネル オプション MSDOSFS options MSDOSFS #MSDOS Filesystem MS-DOS ファイルシステム。 起動時に DOS でフォーマットされたハードドライブを マウントするのでない限り、この行は安全にコメントアウトできます。 この機能は最初に DOS パーティションをマウントする時に自動的に ロードされます。 又、優秀な mtools (Ports コレクションにあります) を使ってもマウント、 アンマウントすることなしに DOS フロッピーにアクセスすることができます。 (MSDOSFS は必要としません) options CD9660 #ISO 9660 Filesystem options CD9660_ROOT #CD-ROM usable as root, CD9660 required CD-ROM 用の ISO 9660 ファイルシステム。 もしあなたが CD-ROM ドライブを持っていないか、 時々データ CD をマウントするだけならこの行をコメントアウトしても 大丈夫です (データ CD を最初にマウントする時、自動的にロードされます)。 音楽 CD はこのファイルシステムを必要としません。 options PROCFS #Process filesystem プロセスファイルシステム。 これは /proc にマウントされる、 ファイルシステムの ふりをする もので、 &man.ps.1; のようなプログラムに、どんなプロセスが走っているか に関するより多くの情報を提供させる事ができます。 options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] 4.3BSD との互換機能です。 有効なままにして下さい。 この行をコメントアウトするとおかしな動きをするプログラムがあります。 options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI この行は、カーネルがそれぞれの SCSI 機器を検出する前に 15 秒間待つようにします。 あなたが IDE ドライブしか持たないなら無視して結構です。 そうでないなら、起動時間を短くするため、おそらく待つ時間を短く、 5 秒くらいにしたいでしょう。 勿論、そうした場合に FreeBSD が SCSI 機器を認識しなくなった場合は 時間を元に戻す必要があります。 options UCONSOLE #Allow users to grab the console ユーザにコンソールを所有することを許可します。 X のユーザには役に立ちます。 - たとえば xterm -C とコマンドを打つことにより、 - コンソール xterm を起動することができます。 - ここにはカーネルからのあらゆるコンソールメッセージとともに、 - write, talk による - あらゆるメッセージを表示します。 - + たとえば xterm -C + と入力すれば、コンソール xterm + を実行できます。ここにはあなたが受け取る + &man.write.1;, &man.talk.1; などのメッセージや、 + カーネルからのコンソールメッセージが表示されます。 options USERCONFIG #boot -c editor このオプションは起動メニューからコンフィグレーションエディタ を起動することができるようにします。 options VISUAL_USERCONFIG #visual boot -c editor このオプションは起動メニューからビジュアルコンフィグレーション エディタを起動できるようにします。 + FreeBSD バージョン 5.0 以降では、新しく &man.device.hints.5; + を利用する方法が採用され、userconfig は使われなくなりました。 + &man.device.hints.5; に関する詳しい情報は + をご覧ください。 + options KTRACE #ktrace(1) support この行はデバッギングに役立つカーネルプロセスのトレースを 可能にします。 options SYSVSHM #SYSV-style shared memory このオプションは System V 共有メモリを提供します。 この機能の最も一般的な使用方法は X における XSHM 拡張です。 多くのグラフィックス重視のプログラムではこの機能を自動的に 描画のスピードアップに利用します。 X を使っているなら、これを含めておいた方がいいでしょう。 options SYSVSEM #SYSV-style semaphores System V セマフォのサポート。 あまり使われませんが、カーネルサイズは数百バイト大きくなるだけです。 options SYSVMSG #SYSV-style message queues System V のメッセージのサポート。 これもカーネルサイズを数百バイト大きくするだけです。 &man.ipcs.1; コマンドを実行するとこれらの System V 機能を使っているプロセスのリストを表示します。 options P1003_1B #Posix P1003_1B real-time extensions options _KPOSIX_PRIORITY_SCHEDULING リアルタイム拡張が 1993 POSIX に追加されました。 Ports コレクションの内のいくつかのアプリケーション - (例えば Star Office) はこれを使っています。 + (たとえば Star Office) + はこれを使っています。 カーネル オプション ICMP_BANDLIM + + サービス妨害 (DoS) + options ICMP_BANDLIM #Rate limit bad replies このオプションは ICMP エラー応答のバンド幅制限を可能にします。 サービス不能パケットによる攻撃からマシンを保護するために必要です。 カーネル オプション SMP # To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel #options APIC_IO # Symmetric (APIC) I/O 上の行は両方とも SMP サポートのために必要です。 device isa FreeBSD がサポートするすべての PC はこれらの内のひとつを 持っています。 あなたが IBM PS/2 (マイクロチャネルアーキテクチャ) - マシンを持っている場合、FreeBSD は現時点では動作しません - (サポートには取組中です)。 + マシンを持っている場合、FreeBSD + は、現時点では限定的な対応を提供しています。 + MCA の対応状況に関する詳細は、 + /usr/src/sys/i386/conf/LINT + をご覧ください。 device eisa あなたが EISA マザーボードを持っている場合、 この行を含めて下さい。これは EISA バスに接続されているすべての デバイスの自動検出と設定を可能にします。 device pci あなたが PCI マザーボードを持っている場合、この行を含めて下さい。 これは PCI カードの自動検出と PCI から ISA バスへのゲートウエイを 可能にします。 # Floppy drives device fdc0 at isa? port IO_FD1 irq 6 drq 2 device fd0 at fdc0 drive 0 device fd1 at fdc0 drive 1 これはフロッピーディスクコントローラです。 fd0A: フロッピードライブ、fd1B: ドライブです。 device ata このドライバはすべての ATA と ATAPI デバイスをサポートします。 最近のマシンでは device ata 行を 1 行書くだけで すべての PCI ATA/ATAPI デバイスを検出することができます。 device atadisk # ATA disk drives - ATAPI ディスクドライブには device ata + ATA ディスクドライブには device ata と共にこの行が必要です。 device atapicd # ATAPI CDROM drives ATAPI CDROM ドライブには device ata と共にこの行が必要です。 device atapifd # ATAPI floppy drives ATAPI フロッピードライブには device ata と共にこの行が必要です。 device atapist # ATAPI tape drives ATAPI テープドライブには device ata と共にこの行が必要です。 options ATA_STATIC_ID #Static device numbering この行はコントローラ番号を (古いドライバのように) 静的に 割り当てます。そうでない場合、デバイス番号は動的に割り当てられます。 # ATA and ATAPI devices device ata0 at isa? port IO_WD1 irq 14 device ata1 at isa? port IO_WD2 irq 15 上の行は古い、PCI ではないシステムの場合の形式です。 # SCSI Controllers device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices device amd # AMD 53C974 (Teckram DC-390(T)) device dpt # DPT Smartcache - See LINT for options! device isp # Qlogic family device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets) device adv0 at isa? device adw device bt0 at isa? device aha0 at isa? device aic0 at isa? SCSI コントローラです。 あなたのシステムにないデバイスはコメントアウトして下さい。 もし IDE しかないシステムならこれらすべてを削除できます。 # SCSI peripherals device scbus # SCSI bus (required) device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) SCSI 周辺機器です。 あなたが持っていないデバイスはコメントアウトして下さい。 もし IDE しか持っていないならこれらを完全に削除できます。 # RAID controllers device ida # Compaq Smart RAID device amr # AMI MegaRAID device mlx # Mylex DAC960 family サポートされる RAID コントローラです。 これらのどれも持っていない場合、すべてをコメントアウト又は 削除することができます。 # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc0 at isa? port IO_KBD キーボードコントローラ (atkbdc) は AT キーボード及び PS/2 スタイルポインティングデバイスの I/O サービスを提供します。 キーボードドライバ (atkbd) と PS/2 ポインティングデバイスドライバ (psm) はこのコントローラを必要とします。 device atkbd0 at atkbdc? irq 1 atkbd ドライバ。 atkbdc コントローラと協調して動作し、 AT キーボードコントローラに接続された AT 84 キーボードや AT 拡張キーボードへのアクセスを提供します。 device psm0 at atkbdc? irq 12 あなたのマウスが PS/2 マウスポートに接続するタイプなら このデバイスを使って下さい。 device vga0 at isa? ビデオカードドライバです。 # splash screen/screen saver pseudo-device splash 起動時に画面がはじけます。 スクリーンセーバもこのデバイスを必要とします。 # syscons is the default console driver, resembling an SCO console device sc0 at isa? sc0 はSCOに類似したデフォルトの コンソールドライバです。 殆どのフルスクリーンのプログラムは termcap のようなターミナルデータベールライブラリにアクセスするので、 sc0 を使うか VT220 互換のコンソールドライバである vt0 を使うかは重要ではありません。 ログイン時、このコンソールでフルスクリーンプログラムが動かないときは TERM 変数を scoansi に設定して下さい。 # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver #device vt0 at isa? #options XSERVER # support for X server on a vt console #options FAT_CURSOR # start with block cursor # If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines #options PCVT_SCANSET=2 # IBM keyboards are non-std これは VT220 互換のコンソールドライバで、 VT100/102 と後方互換性があります。 sc0 とハード的に互換性がないラップトップでも 問題なく動きます。 ここでもログイン時に TERM 変数を vt100 又は vt220 と設定して下さい。 このドライバは、sc0 デバイス用の termcapterminfo のエントリが無い、ネットワーク上の多くの異なったマシンに 接続する際にも有用です — vt100 は仮想的にすべてのプラットフォームで有効であるべきです。 - # Floating point support - do not disable. -device npx0 at nexus? port IO_NPX irq 13 - - npx0 は FreeBSD における - 浮動小数点演算ユニットへのインタフェースで、それは実際には - コプロセッサ又はソフトウエアエミュレータです。 - これはオプションではありません - # Power management support (see LINT for more options) device apm0 at nexus? disable flags 0x20 # Advanced Power Management 先進的な電源管理機能 (APM) のサポート。 ラップトップでは役に立つでしょう。 # PCCARD (PCMCIA) support device card device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000 device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disable - PCMCIA サポート。ラップトップにインストールする時は必要です。 + PCMCIA サポート。ラップトップを使っているなら必要でしょう。 # Serial (COM) ports device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio1 at isa? port IO_COM2 irq 3 device sio2 at isa? disable port IO_COM3 irq 5 device sio3 at isa? disable port IO_COM4 irq 9 これらは MS-DOS/Windows の世界では COM1からCOM4 と呼ばれている 4 つのシリアルポートです。 もしあなたが内蔵モデムを COM4 に、シリアルポートを COM2 に設定している場合、FreeBSD からアクセスするには、 (IRQ2=IRQ9 という、不明瞭な技術的理由により) モデムの IRQ を 2 に変更する必要があります。 もしマルチポートシリアルカードを持っていてこれらの設定の正しい 数値に関する情報がほしい場合はマニュアルページ &man.sio.4; を参照して下さい。 ビデオカードのいくつかは (S3 チップベースのものは特に) IO アドレスを 0x*2e8 と言う形式で表現する一方、 多くの安価なシリアルカードは 16 ビットの IO アドレスを完全に デコードしないので、これらのカードを使った場合衝突が起こり、 事実上 COM4 ポートを使用不可能にします。 各々のシリアルポートは (共有割り込み番号をサポートする マルチポートカードを使っていない限り) 固有の IRQ を必要とします。 従って COM3 と COM4 用のデフォルト IRQ は利用できません。 # Parallel port device ppc0 at isa? irq 7 ISA バスパラレルポートインタフェースです。 device ppbus # Parallel port bus (required) パラレルポートバスのサポートを提供します。 device lpt # Printer パラレルポートプリンタのサポートです。 上の 3 つはすべてパラレルプリンタを利用可能にするために 必要です。 device plip # TCP/IP over parallel パラレルネットワークインタフェース用のドライバです。 device ppi # Parallel port interface device 汎用I/O (geek port) + IEEE1284 I/O です。 #device vpo # Requires scbus and da zip ドライブ Iomega の Zip ドライブ用です。scbusda サポートが必要です。 EPP 1.9モードを使うと最高の性能が得られます。 # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (Tulip) device fxp # Intel EtherExpress PRO/100B (82557, 82558) device tx # SMC 9432TX (83c170 EPIC) device vx # 3Com 3c590, 3c595 (Vortex) device wx # Intel Gigabit Ethernet Card (Wiseman) PCI ネットワークカードのドライバです。あなたのシステムに ないものはコメントアウトするか削除して下さい。 # PCI Ethernet NICs that use the common MII bus controller code. device miibus # MII bus support MII バスサポートはいくつかの PCI 10/100 イーサネット NIC、 すなわち MII に従うトランシーバや MII のようなトランシーバ制御 インタフェースを実装するもの、に必要となります。 カーネルコンフィギュレーションに device miibus を追加することで、汎用 miibus API のサポートと、 特定のドライバを必要としない場合に利用される汎用のものを含む すべての PHY ドライバが導入されます。 device dc # DEC/Intel 21143 and various workalikes device rl # RealTek 8129/8139 device sf # Adaptec AIC-6915 (Starfire) device sis # Silicon Integrated Systems SiS 900/SiS 7016 device ste # Sundance ST201 (D-Link DFE-550TX) device tl # Texas Instruments ThunderLAN device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (Boomerang, Cyclone) MII バスコントローラコードを利用するドライバです。 # ISA Ethernet NICs. device ed0 at isa? port 0x280 irq 10 iomem 0xd8000 device ex device ep # WaveLAN/IEEE 802.11 ワイヤレス NIC。 # 注: WaveLAN/IEEE は PCMCIA デバイスとしてしか実在しません。 # なので ISAア タッチメントは必要なく、リソースは常に PC カードコードに # より動的に割り当てられます。 device wi # Aironet 4500/4800 802.11 ワイヤレス NIC。 # 注: 下の宣言は ISA PnP モード (工場出荷時設定) のISAカード、PCMCIA # 及び PCI カードにのみ働きます。もし、ISA カードの I/O アドレスと IRQ # を手動で設定している場合は、ここでそれらのパラメータを指定しなく # てはいけません。 device an # これらの検出順序は現在 i386/isa/isa_compat.c により決められます。 device ie0 at isa? port 0x300 irq 10 iomem 0xd0000 device fe0 at isa? port 0x300 device le0 at isa? port 0x300 irq 5 iomem 0xd0000 device lnc0 at isa? port 0x280 irq 10 drq 0 device cs0 at isa? port 0x300 device sn0 at isa? port 0x300 irq 10 # requires PCCARD (PCMCIA) support to be activated #device xe0 at isa? ISA イーサネットドライバです。 どのカードがどのドライバによりサポートされているかは /usr/src/sys/i386/conf/LINT を参照して下さい。 - # Pseudo devices - the number indicates how many units to allocated. -pseudo-device loop # Network loopback - - TCP/IP の汎用ループバックデバイスです。 - localhost (すなわち - 127.0.0.1) に対して telnet や FTP - を使う場合、この疑似デバイスを通して戻ってきます。 - これは 必須 です。 - pseudo-device ether # Ethernet support ether はイーサネットカードを持っている場合に のみ必要です。汎用イーサネットプロトコルコードを含みます。 pseudo-device sl 1 # Kernel SLIP sl は SLIP サポートを行います。 SLIP は設定のより簡単な、モデム-モデム間の接続にはより適していて より高機能な PPP に殆ど取って代わられています。 sl に続く 数字 には同時に持てる SLIP セッション数を指定します。 pseudo-device ppp 1 # Kernel PPP これはダイアルアップ接続用のカーネル PPP サポートです。 他にも tun を利用し、デマンドダイアリングのような 柔軟性と機能を提供するユーザーランドのアプリケーションとして 実装された PPP が存在します。ppp に続く 数字 には同時に持てる PPP セッション数を 指定します。 pseudo-device tun # Packet tunnel. これはユーザーランド PPP ソフトウエアにより利用されます。 tun に続く 数字 には同時に持てる PPP セッション数を指定します。 詳細はこの本の PPP セクションを 参照して下さい。 pseudo-device pty # Pseudo-ttys (telnet etc) これは 疑似ターミナル 或いはシミュレートされた ログインポートです。 これは入ってくる telnet と - rlogin セッション、xterm - やその他の emacs のような - アプリケーションにより利用されます。 - 数字 は生成される pty + rlogin セッション、 + xterm やその他の + Emacs + のようなアプリケーションにより利用されます。 + pty の後の 数字 は、 + 生成される pty の数を示します。もし同時にデフォルトの 16 より多くの xterm ウィンドウやリモートログインが 必要な場合、必要に応じてこの数字を増やして下さい。 最大は 256 です。 pseudo-device md # Memory disks メモリディスク疑似デバイス。 + pseudo-device gif + + または + pseudo-device gif 4 # IPv6 and IPv4 tunneling この行は IPv6 over IPv4 トンネル、IPv4 over IPv6 トンネル、 - IPv4 over IPv4 トンネル、IPv6 over IPv6 トンネルを提供します。 + IPv4 over IPv4 トンネル、IPv6 over IPv6 トンネルを提供します。 + FreeBSD 4.4 からは、gif デバイスは + auto-cloning (自動複製) しますので、 + (gif のあとに数値がこない) + はじめの例を使ってください。 + それより前のバージョンの FreeBSD では、数値が必要です。 pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation) この疑似デバイスは自分宛に送られたパケットを受け取り、 IPv4/IPv6 変換デーモンに渡します。 # The `bpf' pseudo-device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! pseudo-device bpf # Berkeley packet filter これはバークレーパケットフィルタです。 この疑似デバイスはネットワークインタフェースを、イーサネットのような ブロードキャストネットワーク上ですべてのパケットを拾うことのできる promiscuous モードに設定できるようにします。 これらのパケットはディスクに取り込むこともできますし、 &man.tcpdump.1; を使ってチェックをすることもできます。 + + bpf 疑似デバイスは、&man.dhclient.8; + がデフォルトルータ (ゲートウェイ) の IP アドレスなどを取得する + ためにも使われています。DHCP を使っているなら、これはコメント + アウトしないでください。 + + # USB support #device uhci # UHCI PCI->USB interface #device ohci # OHCI PCI->USB interface #device usb # USB Bus (required) #device ugen # Generic #device uhid # Human Interface Devices #device ukbd # Keyboard #device ulpt # Printer #device umass # Disks/Mass storage - Requires scbus and da #device ums # Mouse # USB Ethernet, requires mii #device aue # ADMtek USB ethernet #device cue # CATC USB ethernet #device kue # Kawasaki LSI USB ethernet 様々なUSBデバイスのサポートです。 より詳細な情報と、FreeBSD によりサポートされる他のデバイスに ついては /usr/src/sys/i386/conf/LINT を参照して下さい。 デバイスノードを作る デバイス ノード - MAKEDEV + + MAKEDEV + + + FreeBSD 5.0 以降を動かしているなら、 + この節を飛ばして構いません。そのバージョンでは &man.devfs.5; + を用いて、ユーザに意識させずにデバイスノードを割り当てています。 + カーネル内のほとんどすべてのデバイスは対応する node エントリが /dev ディレクトリにあります。これらのノードは普 通のファイルのように見えますが、実際にはプログラムがデバイスに アクセスするのに用いるカーネル内への特別なエントリです。 シェルスクリプトである /dev/MAKEDEVはオペレーティング システムを最初にインストールする時に実行され、サポートされてい る大部分のデバイスのノードを作ります。しかし、 すべての ノードが作られるわけではありませんので 新しいデバイスのサポートを加える時は対応するエントリがこのディ レクトリにあるかどうか確認してもしなければ、作ってください。 以下に例を示します。 IDE CD-ROMのサポートをカーネルに加えるとします。次の行 を加えます。 device acd0 これにしたがって、/devディレクトリに acd0 で始まるエントリをさがしてください。 1文字が後ろにつくかもしれません。 後ろについた文字が c であるか、先頭に r のつくエントリは raw デバイスを示します。 それらのファイルがないことが明らかになったとします。そこで /dev ディレクトリに移動して次のようにタイプします。 - MAKEDEV + + MAKEDEV + &prompt.root; sh MAKEDEV acd0 スクリプトの実行が終ったら /devacd0cracd0c エントリがあることを確認してください。これによ り正しく実行されたことがわかります。 サウンドカードの場合、以下のコマンドで対応する エントリが作成されます: &prompt.root; sh MAKEDEV snd0 サウンドカードのようなデバイスのノードを作る場合で、もし他 の人がマシンにアクセスするようであれば、そのデバイスを /etc/fbtab ファイルに追加して外部からのアクセスから 保護するのが望ましいでしょう。このファイルの詳細については &man.fbtab.5; を参照してください。 GENERIC に含まれていないデバイスはエントリがありませんから、以上 の簡単な手順をおこなうことになります。 すべての SCSI コントローラは同じ /dev の エントリを使用しますのでノードを作る必要はありません。 またネッ トワークカードと SLIP/PPP 疑似デバイスは /dev にはエント リがありませんのでこれらについても作る必要がありません。 問題が起きた場合には カスタムカーネルを作る場合に起きるトラブルは、 - 次の 4 種類に分けられます。 + 次の 5 種類に分けられます。 - config コマンドの失敗 + + config コマンドの失敗 + カーネルコンフィグレーションファイルに設定を行なってから - config コマンドが失敗したのであれば、 + &man.config.8; コマンドが失敗したのであれば、 おそらくファイルのどこかに単純な間違いがあります。 - さいわい、 - config + さいわい、&man.config.8; はトラブルの起きた行番号を出力しますので - vi で素早く見つけることができます。 + vi で素早く見つけることができます。 例えば、次のように出力された場合 config: line 17: syntax error - vi のコマンドモードで + vi のコマンドモードで 17G とタイプすれば、 問題のところへ飛ぶことができます。 GENERIC カーネルのファイルや、 他のリファレンスと比較して注意深く修正してください。 make コマンドの失敗 make コマンドが失敗した場合には、 - カーネル設定で config + カーネル設定で &man.config.8; がとらえられなかったような間違いをしていることが多いようです。 もう一度コンフィグレーションファイルを見直してください。 それでも問題を解決することができなければ、 &a.questions; へあなたのカーネルコンフィグレーションファイルをつけてメールしてください。 誰かが素早く間違いを見つけてくれるでしょう。 - カーネルが起動しない - + + 新しいカーネルのインストールの失敗 + + + カーネルが無事コンパイルできたのに、インストールに失敗 + (make install または + make installkernel に失敗) + したら、最初に確認すべきことは、システムがセキュアレベル 1 + 以上で動いていないかどうかです (&man.init.8; 参照)。 + カーネルのインストール時には、カーネルから immutable + (変更不可) フラグを外して、 + 新しい方に変更不可フラグを設定しようとします。セキュアレベル 1 + 以上では、システム内のどのファイルからも変更不可フラグを外せないため、 + カーネルのインストールはセキュアレベル 0 + 以下で行わなければなりません。 + + + + + カーネルが起動しない 新しいカーネルが起動しなかったり、 デバイスの認識をしない場合でもあわてないでください! - さいわい、BSDは 利用できないカーネルから復帰する - 洗練されたメカニズムがあります。 - それは、FreeBSD のブートローダで起動したいカーネルを選択する - (例えば boot kernel.old) - だけです。 + さいわい、FreeBSD + には利用できないカーネルから復帰する洗練されたメカニズムがあります。 + それは、FreeBSD + のブートローダで起動したいカーネルを選択するだけです。 + システムが 10 からカウントダウンしている時に、この機能が使えます。 + Enter キー以外の任意のキーを押して、 + unload と入力してから、 + boot kernel.old + か他の正常に起動するカーネルを入力してください。 カーネルの再設定をおこなう場合にはいつも、 確実に動くことが分かっているカーネルを用意しておくようにすると良いでしょう。 問題のないカーネルで起動した後に あなたのコンフィグレー ションファイルを調べ、 再び構築を試みてください。 /var/log/messages ファイルにはすべての成功した 起動時のカーネルメッセージやその他の記録があり、これ は助けになる情報の一つでしょう。また、 &man.dmesg.8; コマンドは現在の起動時のカーネルメッ セージを出力します。 カーネルの構築中にトラブルが起きた時に使うために GENERICや他のカーネルを次の構築で消されない ように異る名前で保存するようにしてください。kernel.old は新しいカーネルをインストールする 時に、 その一つ前にインストールしたうまく動かないかもしれ ないカーネルで上書きされてしまいますので当てにできませ ん。またできる限り早く動作しているカーネルを本来の kernelの位置に移動させてください。 そうしないと &man.ps.1; のようなコマンドが正しく動きません。 make でインストールされたカーネルのファイルを (別のカーネルに戻すために) アンロック するための特別 のコマンドは &prompt.root; chflags noschg /kernel - です。また、 + です。これができないのなら、&man.securelevel.8; を 0 + より大きい値にしているのかもしれません。 + /etc/rc.conf の + kern_securelevel を + -1 に変更して再起動してください。新し + いカーネルに満足したら、前の設定に戻してよいでしょう。 + + また、 新しい置き換えたカーネルあるいは重要ファイ ルを動かしたり変更されないように ロック するには 次のようにします。 &prompt.root; chflags schg /kernel - カーネルは動くが - ps は動かない! + + カーネルは動きますが &man.ps.1; は動きません! システムユーティリティと異る バージョンのカーネルをインストールした場合、例えば 4.x のカーネルを 3.x システム上にインストールするような場合、 &man.ps.1; や &man.vmstat.8; のような多くの システムステータスコマンドは動かなくなります。 libkvm を再コンパイルして、 これらのユーティリティを作りなおす必要があります。 これは、カーネルとそれ以外で異なるバージョンを組み合わせて オペレーティングシステムを使用することが推奨されない理由の 一つとなっています。