製作著作 © 1995-2001 FreeBSD ドキュメンテーションプロジェクト
Copyright
Redistribution and use in source (XML DocBook) and 'compiled' forms (XML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code (XML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.
Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) 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 DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "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 THE FREEBSD DOCUMENTATION PROJECT 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 DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
この文書は FreeBSD システム・バージョン 2.X、3.X、4.X についての FAQ です。 特に断わりがない限り、どの項目も FreeBSD 2.0.5 以降のものを想定しています。 <XXX> のついている項目はまだ作業中のものです。 この FreeBSD ドキュメンテーションプロジェクトに協力したいと思われる方は、 FreeBSD documentation project メーリングリスト まで (英語で) 電子メールを送ってください。 この文書の最新バージョンは、いつでも 日本国内版 FreeBSD World Wide Web サーバや FreeBSD World Wide Web サーバで 見ることができます。 また、ひとつの巨大な HTML ファイルとして HTTP でダウンロードすることもできます。 プレーンテキスト、PostScript、PDF、およびその他の形式のものは FreeBSD FTP サーバに置かれています。 また、FAQ の検索も可能です。
2005 年 6 月現在、HTML 版以外の日本語 FAQ は用意されていません。
日本語版の作成は FreeBSD 日本語ドキュメンテーションプロジェクトが
オリジナルの英語版をもとにして行なっています。
FreeBSD FAQ 日本語訳および、 FreeBSD FAQ 日本語版のみに関連することは、
日本語ドキュメンテーションプロジェクト <doc-jp@jp.FreeBSD.org>
において日本語で議論されています。
必要に応じて日本語ドキュメンテーションプロジェクトから、
FreeBSD Documentation Project に対してフィードバックを行ないますので、
英語が得意でない方は
日本語ドキュメンテーションプロジェクト <doc-jp@jp.FreeBSD.org>
まで日本語でコメントをお寄せください。
また、この FreeBSD FAQ とは別に、日本の FreeBSD ユーザ有志によって
FreeBSD users-jp メーリングリスト <FreeBSD-users-jp@jp.FreeBSD.org>
やニュースグループ
fj.os.bsd.freebsd
などへの投稿をもとに作成された
QandA
が公開されています。
特に日本語環境など日本固有の話題が充実していますので、
こちらも合わせてご覧ください。
訳:
栗山 淳 <kuriyama@FreeBSD.org>
、
花井 浩之 <hanai@FreeBSD.org>
、
中井 幸博 <nakai@mlab.t.u-tokyo.ac.jp>
、
今野 元之 <motoyuki@FreeBSD.org>
、
杉村 貴士 <sugimura@jp.FreeBSD.org>
、
1997 年 11 月 5 日
FreeBSD 2.X-4.X FAQ へようこそ!
Usenet の FAQ がそうであるように、 この文書も FreeBSD オペレーティングシステムに関して 頻繁に尋ねられる質問を網羅することを目的としています (もちろんそれに対する答えも!)。 FAQ は本来バンド幅を減らし、 同じ質問が何度も繰り返されるのを避けるために作られたものですが、 最近は有用な情報源と見なされるようになってきました。
この FAQ をできる限り有用なものにしようと、
あらゆる努力がはらわれています。
もし何かしらの改善案が浮かんだら、ぜひ
FAQ 保守担当者 <faq@FreeBSD.org>
までメールを送ってください。
1. | FreeBSD って何? | ||||||||||||||||||||||||||||||||||||||||||
FreeBSD とは一言で言えば、カリフォルニア大学バークレイ校から リリースされた 「4.4BSD-Lite」 と 「4.4BSD-Lite2」 による 強化の一部に由来する、 i386 および Alpha/AXP 系のプラットフォーム向けの UN*X ライクなオペレーティングシステムです。 間接的には同じバークレイ校の 「Net/2」 を William Jolitz が i386 系に移植した 「386BSD」 も基にしていますが、 386BSD のコードはほとんど残っていません。 FreeBSD についての詳細と、何ができるかについては FreeBSD のホームページ を参照してください。 FreeBSD は企業やインターネットサービスプロバイダ、研究者、 コンピュータ専門家、学生、家庭のユーザなどにより、業務や教育、 娯楽に用いられています。これらに関しては FreeBSD ギャラリーをご覧ください。 FreeBSD に関するより詳しい情報は FreeBSD ハンドブックを参照してください。 | |||||||||||||||||||||||||||||||||||||||||||
2. | FreeBSD が目指しているもの | ||||||||||||||||||||||||||||||||||||||||||
FreeBSD プロジェクトの目的は、 いかなる用途にも使用でき、 何ら制限のないソフトウェアを供給することです。 私たちの多くは、 コード (そしてプロジェクト) に対してかなりの投資をしてきており、 これからも多少の代償はあっても投資を続けて行くつもりです。 ただ、他の人達にも同じような負担をするように主張しているわけではありません。 FreeBSD に興味を持っている一人残らずすべての人々に、 目的を限定しないでコードを提供すること。 これが、 私たちの最初のそして最大の「任務」であると信じています。 そうすれば、コードは可能な限り広く使われ、 最大の恩恵をもたらすことができるでしょう。 これが、私たちが熱烈に支持しているフリーソフトウェアの最も基本的な目的であると、 私は信じています。 私たちのソースツリーに含まれるソースのうち、GNU 一般公有使用許諾 (GPL) または GNU ライブラリ 一般公有使用許諾 (LGPL) に従っているものについては、 多少制限が科されています。ただし、 ソースコードへのアクセスの保証という、 一般の制限とはいわば逆の制限です。 ただし GPL ソフトウェアを商用で利用する場合、 さらに複雑になるのは避けられません。 そのため、それらのソフトウェアを、より制限の少ない BSD 著作権に従ったソフトウェアで置き換える努力を、 可能な限り日々続けています。 訳注:GPL では、「ソースコードを実際に受け取るか、 あるいは希望しさえすればそれを入手することが可能であること」を求めています。 | |||||||||||||||||||||||||||||||||||||||||||
3. | どうして FreeBSD と呼ばれているのですか? | ||||||||||||||||||||||||||||||||||||||||||
母国語が英語でない読者のために、ここでは 「free」 という単語が二つの意味で用いられていることを指摘しておくと分かりやすいかも知れません。 ひとつは「無料である」ということ、 もうひとつは「自分のやりたいようにできる」ということです。 FreeBSD のコードでできないいくつかのこと (自分が書いたものだと偽るなど) を除けば、 あなたは自分のやりたいことをやることが可能なのです。 | |||||||||||||||||||||||||||||||||||||||||||
4. | FreeBSD の最新バージョンは? | ||||||||||||||||||||||||||||||||||||||||||
4.3 が最新の STABLE バージョンで、 2001 年 4 月にリリースされました。 また、これは最新の RELEASE バージョンでもあります。 簡単に言ってしまうと、-STABLE は最新の -CURRENT のスナップショットのすばらしい新機能の数々よりも、 安定性と変更回数の少なさを好む ISP や、 他の企業のユーザをターゲットにしています。 リリースはこの二種類のブランチで行なわれますが、 (-STABLE と比較すると多少) 不安定な動作があるということを許容できるなら、 必要となるのは -CURRENT の方だけでしょう。 各リリースは 数カ月毎にしか行なわれません。 多くの人々が FreeBSD のソースをそのリリースよりも 最新の状態に維持している (FreeBSD-current と FreeBSD-stable に関する質問も参照してください) のですが、 ソースというのは常に改変され続けているため、 そうすることは一種の慣例になっています。 | |||||||||||||||||||||||||||||||||||||||||||
5. | FreeBSD-CURRENTって何? | ||||||||||||||||||||||||||||||||||||||||||
FreeBSD-CURRENT はオペレーティングシステムの開発バージョンで、 やがて 5.0-RELEASE となります。よってこれは、そこに携わっている開発者や、 どんな障害をも乗り越えていけるタフな愛好家たちにとってのみ興味の対象となるものです。 -CURRENT の使用に際しての詳細は FreeBSD ハンドブック の 関連するセクション を参照してください。 オペレーティングシステムに馴染みがない場合や、 それが一時的に発生している問題なのか、 それとも本質的な問題かを見極める能力がない場合は、 FreeBSD-CURRENT を使うべきではありません。 このブランチは時々急激に拡張されたり、 システムが構築できない状態になることもしょっちゅうあります。 FreeBSD-CURRENT を使う人は問題を分析し、 「小さな欠陥」ではなく、 明らかに間違いであると思われるものだけを報告できるものと想定されています。 「make world したら group 関係でエラーがでました」のような質問は、 -CURRENT メーリングリストでは軽蔑の眼差しであしらわれることもあります。 毎日、その時点の -CURRENT と -STABLE のコードを元に snapshot が作成されています。 現在は、その snapshot の配布も利用可能です。 それぞれの snapshot には以下のような目的があります。
どんな目的であれ、-CURRENT snapshot が 「製品レベルの品質」 であるとの考えに基づく要求は行わないでください。 安定性やテスト十分性にこだわる人は、 完全なリリース、あるいは -STABLE snapshot から離れてはいけません。 スナップショットリリースは、5.0-CURRENT が ftp://current.FreeBSD.org/pub/FreeBSD/ から、4-STABLE が releng4.FreeBSD.org から直接入手可能です。 また、3-STABLE スナップショットは、 この文章の執筆時点 (2000 年 5 月) で作成されていません。 スナップショットリリースは、 現在、開発や保守作業が行なわれているすべてのブランチにおいて、 平均して一日一回作成されます。 | |||||||||||||||||||||||||||||||||||||||||||
6. | FreeBSD-STABLE のコンセプトは何ですか? | ||||||||||||||||||||||||||||||||||||||||||
FreeBSD 2.0.5 がリリースされた後、私たちは FreeBSD の開発を 2 系統に分割することにしました。 一つは -STABLE というブランチで、バグの修正はしっかりテストされ、 機能の強化は少しずつしか行われません (急な変更や実験的機能を望まない、 インターネットサービスプロバイダや営利企業向け)。 もう一方のブランチは -CURRENT で、2.0 がリリースされて以来 5.0-RELEASE (そしてその後も) へ向けて脈々と続いているものです。 ASCII で描いた簡単な図がわかりやすいかは自信がありませんが、 こんな感じになります。 2.0 | | | [2.1-STABLE] *BRANCH* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-STABLE 終了] | (1997/03) | | | [2.2-STABLE] *BRANCH* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [終了] | (1997/03) (1997/10) (1998/04) (1998/07) (1998/12) | | 3.0-SNAPs (1997 年第一四半期開始) | | 3.0-RELEASE (1998/10) | | [3.0-STABLE] *BRANCH* 3.1-RELEASE (1999/02) -> 3.2 -> 3.3 -> 3.4 -> 3.5 -> 3.5.1 | (1999/05) (1999/09) (1999/12) (2000/06) (2000/07) | [4.0-STABLE] *BRANCH* 4.0 (2000/03) ->4.1 -> 4.1.1 -> 4.2 -> 4.3 -> ... 将来の 4.x リリース ... | | (2000/07) (2000/09) (2000/11) | \|/ + [5.0-CURRENT として継続中] -CURRENT ブランチは 5.0 とその先へ向けてゆっくりと進化を続けています。 従来あった 2.2-STABLE ブランチは 2.2.8 のリリースをもって終了しました。 3-STABLE がそれに代わり、2000 年 7 月に 3.5.1-RELEASE (最後の 3.X リリース) がリリースされました。 2000 年 3 月 (3.5 の公開前になりますが) には、 3-STABLE ブランチはほぼ、4-STABLE ブランチによって置き換えられました。 4.3-RELEASE は 2001 年 4 月にリリースされました。 4-STABLE は現在 -STABLE ブランチで活発に開発が続けられていますが、 3-STABLE へのバグの修正 (ほとんどがセキュリティ関連のもの) もまだ行なわれています。 3.X ブランチは 2000 年の夏には公式に開発が終了する予定です。 現在の 「current branch」 は 5.0-CURRENT であり、 最初の 5.0 系列のリリース予定はまだ決定していません。 | |||||||||||||||||||||||||||||||||||||||||||
7. | FreeBSD のリリースはいつ作られるのですか? | ||||||||||||||||||||||||||||||||||||||||||
FreeBSD コアチームは原則的に、 新しい機能やバグフィックスが充分集まり、 リリースの安定性を損なうことが無いよう、 さまざまな変更が十分に安定しているという条件を満たしている場合にのみ、 新しいバージョンの FreeBSD をリリースします。 たとえこの用心深さが新しい機能が使えるようになることを 待ち望んでいるユーザを欲求不満にさせるとしても、 多くのユーザはこのことを FreeBSD の最も良い所の一つだと考えています。 リリースの作成は、平均的に言っておよそ 4 ヶ月ごとに行なわれます。 もう少し刺激が欲しい (あるいは待ち遠しい) 方々向けには、 毎日バイナリスナップショットが作成されています。 上記を参照してください。 | |||||||||||||||||||||||||||||||||||||||||||
8. | FreeBSD は PC 用だけしかないの? | ||||||||||||||||||||||||||||||||||||||||||
FreeBSD 3.x 以降は x86 アーキテクチャと同様、 DEC Alpha でも動作します。 また、SPARC、PowerPC、IA64 への移植という興味深い話もあります。 異なるアーキテクチャのマシンを 持っていて、ゆっくり待てないという場合には次の URL を 参照してください。 | |||||||||||||||||||||||||||||||||||||||||||
9. | FreeBSD の責任者はいったい誰? | ||||||||||||||||||||||||||||||||||||||||||
プロジェクトの全体的な方向性や、 誰にソースツリーにコードの書き込み権限を与えるか、 などといった FreeBSD プロジェクトに関する重要な意思決定は、 9 名からなるコアチーム (core team) によってなされます。 ソースツリーを直接変更できる人はもっと多く、 200 名以上のソースツリー管理者 (committer) がいます。 しかし、メーリングリストで先行して議論される、 通常の変更ではないものの議論への参加には、一切制限はありません。 | |||||||||||||||||||||||||||||||||||||||||||
10. | どこから FreeBSD を入手できますか? | ||||||||||||||||||||||||||||||||||||||||||
FreeBSD のすべての主要なリリースは anonymous FTP 経由で FreeBSD FTP サイト から入手できます。
また、FreeBSD は CD-ROM でも入手でき、次のところで注文できます。 BSDi オーストラリアでは、次のところに問い合わせてください。 Advanced〓Multimedia〓Distributors イギリスの場合は次のところです。 The〓Public〓Domain〓&〓Shareware〓Library | |||||||||||||||||||||||||||||||||||||||||||
11. | FreeBSD のメーリングリストについて知りたいのですが? | ||||||||||||||||||||||||||||||||||||||||||
完全な情報が FreeBSD ハンドブックのメーリングリストの節 にあります。 | |||||||||||||||||||||||||||||||||||||||||||
12. | FreeBSD のニュースグループは何がありますか? | ||||||||||||||||||||||||||||||||||||||||||
完全な情報が FreeBSD ハンドブックのニュースグループの節にあります。 | |||||||||||||||||||||||||||||||||||||||||||
13. | FreeBSD の IRC (Internet Relay Chat) について何か情報はありますか? | ||||||||||||||||||||||||||||||||||||||||||
あります。 以下のように、ほとんどの有名な IRC ネットワークには FreeBSD のチャットチャンネルがあります。
それぞれのチャンネルは別個のもので、 互いに接続されていません。 チャットのスタイルも違っていますので、 自分のチャットのスタイルにあったものを見つけるために一つ一つ試すのもいいでしょう。 あらゆる種類の IRC トラフィックのため、失礼なことをいう若者たち (年輩の方は少数です) のために機嫌を損ねたり、 手に負えなくなっても気にしてはいけません。 | |||||||||||||||||||||||||||||||||||||||||||
14. | FreeBSD の本 | ||||||||||||||||||||||||||||||||||||||||||
FreeBSD documentation project メーリングリスト にコンタクトしてみてください (さらに参加すればもっとよいでしょう)。 このメーリングリストは FreeBSD 関連の文書に関する議論のためのものです。 FreeBSD に関する質問に対しては、 FreeBSD general questions メーリングリスト というメーリングリストがあります。 FreeBSD ハンドブックもあります。 これは現在作業中で、 不完全だったり最新情報でないものが含まれていることに注意してください。 FreeBSD のガイド本の決定版は、 Greg Lehey 氏による 「The Complete FreeBSD」 です。 これは BSDi (以前の Walnut Creek CDROM) Books から出版されています。 現在は第三版になっていて、 インストール、システム管理ガイド、プログラム設定のヘルプ、 マニュアルページまでの内容が 773 ページにわたって書かれています。 この本は (そして現在の FreeBSD リリースは) BSDi、 CheapBytes、 または最寄りの書店で注文することができます。 ISBN コードは 1-57176-246-9 です (これ以外のコードの場合もあるかもしれません)。 また、FreeBSD は Berkeley 4.4BSD-Lite ベースなので、多くの 4.4BSD のマニュアルが FreeBSD にも応用できます。 O'Reilly and Associates が以下のマニュアルを出版しています。
これらの詳細な説明が WWW 経由で 4.4BSD books description から読むことができます。 販売数が少ないためこれらのマニュアルは入手しにくいかもしれません。 4.4BSD のカーネル構成についてより徹底的に知りたいのなら、 [biblio-44kernel] なら間違いないでしょう。 システム管理についての良書が [biblio-nemeth3rd] です。 注記:初版ではなく、紫色のカバーの第三版であるか確認してくだ さい。 この本は TCP/IP だけでなく DNS、NFS、SLIP/PPP、sendmail、 INN/NNTP、印刷などの基礎を扱っています。 高価ですが、買う価値はあります。 第三版では、Solaris, HP/UX, FreeBSD および Linux を取り扱っています。 | |||||||||||||||||||||||||||||||||||||||||||
15. | 障害報告 (PR; Problem Report) データベースにアクセスする方法は? | ||||||||||||||||||||||||||||||||||||||||||
ユーザからの変更要求がまとめられている Problem Report データベースは、 障害報告の web ベースのインタフェースを通して、 提出と問い合わせを行なうことができます。 また、send-pr(1) コマンドを使用して、 電子メール経由で障害報告や変更要求を提出することもできます。 | |||||||||||||||||||||||||||||||||||||||||||
16. | プレインテキスト (ASCII) 版 や PostScript 版の FreeBSD 文書はないのでしょうか? | ||||||||||||||||||||||||||||||||||||||||||
はい、もちろんあります。 数多くの異なるフォーマット、圧縮形式の文書が FreeBSD FTP サイトの /pub/FreeBSD/doc/ というディレクトリから入手可能です。 文書は、次のようなさまざまな観点から分類されています。
ダウンロードする文書と圧縮形式を選択したら、 文書を FreeBSD package としてダウンロードするかどうか決めなければなりません。 package としてダウンロードしてインストールする場合には、 文書を pkg_add(1) や pkg_delete(1) といった、普通の FreeBSD package 管理システムを用いた管理が可能であるという利点があります。 文書の package をダウンロードしてインストールすることに決めたら、
まずはダウンロードするファイル名を知る必要があります。
文書の package は、 たとえば、FAQ の英語版で PDF 形式のものは、
ファイル名がわかったら、 次のようなコマンドで英語版の PDF 形式 FAQ の package をインストールすることができます。
インストールの終了後は pkg_info(1) を使い、 ファイルがどこにインストールされたかを調べることができます。
ご覧になるとわかるとおり、 package を利用しない場合は、 自分で圧縮されたファイルをダウンロードして元に戻し、 適切な場所にそれをコピーする必要があります。 たとえば、分割された HTML 版の FAQ で、
gzip(1) で圧縮されているものは
こうすると、複数の | |||||||||||||||||||||||||||||||||||||||||||
17. | FreeBSD のウェブサイトのミラーサイトになりたいです! | ||||||||||||||||||||||||||||||||||||||||||
承知しました! ウェブページをミラーするにはいくつかの手段があります。
| |||||||||||||||||||||||||||||||||||||||||||
18. | この文書を他の言語に翻訳したいのですが? | ||||||||||||||||||||||||||||||||||||||||||
報酬は支払えませんが、 文書の翻訳を提出してくださる方には、 フリーの CD、T シャツの手配や、 ハンドブックにある貢献者一覧への登録を行ないたいと思います。 翻訳作業をはじめる前に、 FreeBSD documentation project メーリングリスト へ連絡するようにお願いします。 翻訳作業を手伝うという人が現われるかも知れませんし。 既に翻訳チームがあって、あなたの参加を歓迎してくれるかも知れません。 | |||||||||||||||||||||||||||||||||||||||||||
19. | その他の情報 | ||||||||||||||||||||||||||||||||||||||||||
以下のニュースグループには FreeBSD ユーザに直接関係のある議論が行われてます。 Web 上のリソース:
FreeBSD ハンドブックには、 実に完成された参考図書の一覧があり、 買うべき本をさがしている方は読む価値があります。 |
訳:
岩崎 満 <iwasaki@FreeBSD.org>
、
むらたしゅういちろう <mrt@mickey.ai.kyutech.ac.jp>
、
1997 年 11 月 8 日
1.1. | FreeBSD を入手するには、どのファイルをダウンロードすれば良いのでしょうか? | |||||||||||||||||||||||||||||||||||
FreeBSD 3.1-RELEASE 以前では、
インストールの際に必要なのは
(DOS ファイルシステムからのインストールなどで) あなた自身が手動で配布ファイルをダウンロードする場合には、 以下の配布ファイルをダウンロードすることをおすすめします。
この手順の完全な説明と、一般的なインストール時の問題については FreeBSD ハンドブックのインストールの節 を参照してください。 | ||||||||||||||||||||||||||||||||||||
1.2. | ブートフロッピーイメージが一枚のフロッピーディスクに納まらないみたい! | |||||||||||||||||||||||||||||||||||
3.5 インチ (1.44MB) のフロッピーディスクには、 1474560 バイトのデータを格納できます。 ブートイメージはちょうど 1474560 バイトの大きさです。 ブートフロッピーディスクを準備する際のよくある間違いには、 以下のものがあります。
| ||||||||||||||||||||||||||||||||||||
1.3. | FreeBSD のインストールについての説明書はどこにありますか? | |||||||||||||||||||||||||||||||||||
インストールの説明書はFreeBSD ハンドブックのインストールの章にあります。 | ||||||||||||||||||||||||||||||||||||
1.4. | FreeBSD を動作させるには何が必要ですか? | |||||||||||||||||||||||||||||||||||
386 以上の PC、5MB 以上の RAM、 そして最低 60MB のハードディスク容量が必要となります。 ローエンドの MDA カードでも動作しますが、 X11R6 を使うには VGA かそれ以上のビデオカードが必要となります。 2章ハードウェアコンパチビリティ もご覧ください。 | ||||||||||||||||||||||||||||||||||||
1.5. | 4MB しかメモリがないのですが、インストールできますか? | |||||||||||||||||||||||||||||||||||
4MB のシステムにインストールできた最後の FreeBSD は FreeBSD 2.1.7 でした。2.2 を含むより新しいバージョンの FreeBSD は新規のインストールに最低 5MB は必要になります。 ただし、インストールプログラムが 4MB では動作しないだけで、 3.0 を含む FreeBSD のすべてのバージョンは 4MB の RAM で動作可能です。 インストールする時だけさらに 4MB 追加しておき、 システムがセットアップされて動作するようになった後、 また 4MB を取り出して元に戻すこともできます。 あるいは 4MB より多くメモリを搭載したシステムにディスクを持っていき、 そのマシンでインストールした後にディスクを戻すこともできます。 また、FreeBSD 2.1.7 であっても、4MB ではインストールできない場合があります。 正確には、640KB のベースメモリ + 3MB の拡張メモリでは、 インストールはできません。もしマシンのマザーボードが 640KB から 1MB の領域で「失われた」メモリを再マップできる場合は、 FreeBSD 2.1.7 をインストールできるかもしれません。 BIOS のセットアップ画面で、「remap」 のオプションを探して有効 (enable) にしてみてください。 また、ROM shadowing を無効 (disable) にする必要もあります。 簡単なやり方としては、インストールする時だけあと 4MB 追加しておく方法があります。 必要なオプションだけを選択してカスタムカーネルを構築し、 また 4MB を取り出してもとに戻せばいいのです。 また、2.0.5 をインストールして、 それから 2.1.7 のインストーラの 「upgrade」 オプションでシステムを 2.1.7 へアップグレード するというやり方もあります。 インストールしたあとでカスタムカーネルの構築をした場合には、 4MB でも動作します。 2MB で起動に成功した人もいます (でもそのシステムは、 ほとんど使いものになりませんでした :-))。 | ||||||||||||||||||||||||||||||||||||
1.6. | 自分用のインストールフロッピーを作るには? | |||||||||||||||||||||||||||||||||||
現在はカスタムインストールフロッピーディスク「だけ」を作る方法はありません。 カスタムインストールフロッピーディスクイメージを含む、 release 環境全体を新たに作る必要があります。 カスタムの release 環境をつくるには、 ここの指示にしたがってください。 | ||||||||||||||||||||||||||||||||||||
1.7. | 同じマシンで Windows 95/98 と共存できますか? | |||||||||||||||||||||||||||||||||||
まず Windows 95/98 をインストールしてから、そのあとで FreeBSD をインストールしてください。FreeBSD のブートマネージャが Win95 と FreeBSD のブート管理をしてくれるようになります。 Windows 95/98 を後にインストールした場合はひどいことに、 問い合わせることもなくブートマネージャを上書きしてしまいます。 そうなってしまった場合は次の節をご覧ください。 | ||||||||||||||||||||||||||||||||||||
1.8. | Windows 95/98 がブートマネージャを潰しちゃった! どうやって戻すの? | |||||||||||||||||||||||||||||||||||
ブートマネージャの再インストールの方法として、 FreeBSD では以下に示す三通りの方法が用意されています。
| ||||||||||||||||||||||||||||||||||||
1.9. | IBM Thinkpad の A、T、X シリーズのいずれかを持っています。 FreeBSD をインストールしたら起動しなくなってしまいました。 どうすればいいですか? | |||||||||||||||||||||||||||||||||||
これらのマシンに使われている初期のリビジョンの IBM BIOS にはバグがあり、FreeBSD のパーティションをディスクサスペンド用の FAT 領域だと誤認します。 そのため、BIOS が FreeBSD のパーティションを 検出したところでシステムがハング (停止) してしまいます。 IBM [1] によれば、以下のモデル/BIOS リリース番号には修正が含まれています。
それより新しいリビジョンの BIOS にまたバグが入り込んだか
もしれないという報告がありました。Jacques Vidrine は
もし問題のある BIOS を使っていてアップグレードが選べない場合、 FreeBSD をインストールしてから FreeBSD が使っているパーティション ID を変更し、 変更されたパーティション ID を正しく扱うことのできる 新しい起動ブロックをインストールすることで解決することができます。 それにはまず、 セルフテスト画面を通過する状態にまでマシンを回復させる必要があります。 そのためには、マシンがプライマリディスクから FreeBSD パーティションを見つけないようにして起動しなければなりません。 たとえば、一度ハードディスクを外してしまって、そのディスクを古い ThinkPad (ThinkPad 600 など) やデスクトップ PC に適切な変換ケーブルで接続します。 その後 FreeBSD のパーティションを削除し、 ハードディスクを元の ThinkPad に戻します。 こうすることで ThinkPad は起動可能な状態に戻るはずです。 マシンがちゃんと動くようになったら、 以下の復旧手順に従って FreeBSD をインストールすることができます。
この方法で FreeBSD と OpenBSD をデュアルブートする方法は、読者への練習問題としましょう。 | ||||||||||||||||||||||||||||||||||||
1.10. | 不良ブロックのあるディスクにインストールできますか? | |||||||||||||||||||||||||||||||||||
FreeBSD 3.0 以前のシステムでは、
不良ブロックを自動的に再マッピングする
現在の IDE ドライブで不良ブロックによるエラーが発生した場合、 まもなくドライブが故障する可能性があります (それはそのドライブ内蔵の再マッピング機能では 不良ブロックが修正できなくなったということであり、 ディスクがひどく壊れていることを意味します)。 新しいハードディスクドライブに交換しましょう。 不良ブロックのある SCSI ドライブの場合は、 この回答を参照してください。 | ||||||||||||||||||||||||||||||||||||
1.11. | インストーラから起動したら変なことになりました! | |||||||||||||||||||||||||||||||||||
インストーラから起動しようとしたときに、マシンが固まってし まうとか自然と再起動してしまうといった現象であれば、 次の三つの項目を確認してください。
また、Netscape でブートイメージをダウンロードする場合も問題があることが報告されていますので、 できれば別の FTP クライアントを使うのがよいでしょう。 | ||||||||||||||||||||||||||||||||||||
1.12. | ATAPI CD-ROM から起動したのですが、 インストールプログラムは CD-ROM が見つかりませんと言ってきます。 CD-ROM はどこに行ってしまったのでしょうか? | |||||||||||||||||||||||||||||||||||
この問題は通常、CD-ROM ドライブの設定ミスによって発生します。 大部分の PC の CD-ROM ドライブは、 セカンダリ側の IDE コントローラのスレーブデバイスとして接続され、 マスタデバイスがない状態で出荷されています。 この接続方法は ATAPI 規格違反なので、 Windows は規格どおりに動いたり、動かなかったりしますが、 BIOS は起動時に規格違反を無視します。 そのため BIOS は起動時に CD-ROM を見つけられますが、 FreeBSD は CD-ROM を見つけられず、 インストールを完了できないのです。 CD-ROM が 接続されている IDE コントローラのマスタデバイスとなるように設定するか、 もしくはマスタ、 スレーブの両方にデバイスが接続されているようにシステムを再構成してください。 | ||||||||||||||||||||||||||||||||||||
1.13. | あれれ? テープからインストールできません! | |||||||||||||||||||||||||||||||||||
FreeBSD 2.1.7R をテープからインストールする場合、 tar ブロックサイズを 10 (5120 バイト) にしたテープを作る必要があります。 デフォルト の tar ブロックサイズは 20 (10240 バイト) で、 このデフォルトサイズで作られたテープでは FreeBSD 2.1.7R をインストールすることはできません。 もしこうしたテープを使うと、 レコードサイズが大きすぎるというエラーが起きることになります。 | ||||||||||||||||||||||||||||||||||||
1.14. | PLIP 経由で二つ FreeBSD box を接続したいのですが | |||||||||||||||||||||||||||||||||||
Laplink パラレルケーブルを用意して、
両方の PC のカーネルに
パラレルインタフェースに Laplink パラレルケーブルを接続します。
max <-----> moritz IP Address 10.0.0.1 10.0.0.2 max 側で次のようにして、
moritz 側で同様に次のようにします。
以上です! lp(4) と lpt(4) のマニュアルページも参照してください。 また、
127.0.0.1 localhost.my.domain localhost 10.0.0.1 max.my.domain max 10.0.0.2 moritz.my.domain moritz 動作確認は次のようにします。
| ||||||||||||||||||||||||||||||||||||
1.15. | ラップトップ PC に PLIP 経由でインストールできますか? | |||||||||||||||||||||||||||||||||||
次のようにして、二つのコンピュータを Laplink パラレルケーブルで接続してください。 表1.1 ネットワーク接続用のパラレルケーブルの結線
また、 Mobile Computing についてのページもご覧ください。 | ||||||||||||||||||||||||||||||||||||
1.16. | ハードディスクドライブには、 どのジオメトリを使うべきでしょうか? | |||||||||||||||||||||||||||||||||||
注記:ここでディスクの「ジオメトリ」とは、ディスクのシリンダ、ヘッダ、 トラック当りのセクタの数を意味しています - 便宜上、 C/H/S とすることにします。これはディスクのどの領域で読み書きを 行なうかを PC の BIOS が決定する手段となります。 これについてはある理由のために、誤解されている点が多いようです。 まず最初に、FreeBSD はディスクブロックで動作しているため、 SCSI ドライブの 「物理的」 なジオメトリという言い方は、 まったく見当違いのものです。事実、 セクタの密度はディスクによってまちまちであるため、 物理的なジオメトリというものは存在しません。 製造者が 「本当の」 物理的なジオメトリと公表しているものは通常、 彼らが検査して得た最小の使用不可容量の結果のジオメトリのことです。 IDE の場合、FreeBSD は C/H/S で動作しますが、 最近のドライブはすべて、これを内部で参照するブロックに変換しています。 問題はとなるのは論理的なジオメトリです。 これは BIOS がそのディスクのジオメトリについて調べた際に取得されるものであり、 その後のディスクへのアクセスに使用します。 FreeBSD は起動時に BIOS を使用するため、 これを正しく取得することは非常に重要なことなのです。 実際に、ディスク上に複数のオペレーティングシステムがある場合は、 ジオメトリはどこからでも同じように解釈される必要があります。 そうしないと、起動時に深刻な問題が発生します。 SCSI ディスクでは、 使用するジオメトリはコントローラの拡張 BIOS トランスレーション (「>1GB の DOS ディスクドライブのサポート」 とも呼ばれます) が有効になっているかどうかによります。 無効になっている場合、N シリンダ、64 ヘッド、 32 セクタ/トラックを使用しますが、 ここで `N' は MB 単位のディスク容量です。 たとえば、2GB ディスクは見かけ上 2048 シリンダ、64 ヘッド、 32 セクタ/トラックとなります。 それが「有効」になっており (MS-DOS ではこの方法で、ある制限を回避する場合もあります)、 ディスク容量が 1GB を越える場合は、M シリンダ、 63 セクタ/トラック (64 「ではなく」)、 255 ヘッドを使用します。 `M' は MB 単位のディスク容量を 7.844238(!) で割った値となります。 ということで、2GB ディスクの例では、 261 シリンダ、63 セクタ/トラック、255 ヘッドとなります。 (訳注: 以上は Adaptec 社と NCR 社製の SCSI アダプタの場合です。 SCSI アダプタによって変換の数値が変わってくるのでマニュアルを 参照してください)。 これについてよく分からない場合や FreeBSD がインストール中に正しくジオメトリを取得できない場合、 これを回避するもっとも簡単な方法は、 ディスクに小さな DOS パーティションを作ることです。 そうすると正しいジオメトリが取得されるはずです (そして、 残しておきたくないとか、 ネットワークカードのプログラミング用に使いたい場合などには、 いつでもパーティションエディタで DOS パーティションを削除することができます)。
もう一つの方法として、FreeBSD
と一緒に配布されているフリーで使えるユーティリティに
| ||||||||||||||||||||||||||||||||||||
1.17. | ディスクの分割の仕方で何か制限はありますか? | |||||||||||||||||||||||||||||||||||
はい。 BIOS がカーネルを起動できるようにルートパーティションが 1024 シリンダ以内にあることを確認する必要があります (これは FreeBSD ではなく PC の BIOS の制限です)。 SCSI ドライブでは、通常はルートパーティションが最初の 1024MB に収まっていることが前提となります (または拡張 BIOS トランスレーションが有効になっている場合は最初の 4096MB - 他の質問をご覧ください)。IDE でそれに相当する値は 504MB となります (訳注: E-IDE 対応の BIOS 搭載マシンの場合は IDE の 504MB という制限はありません)。 | ||||||||||||||||||||||||||||||||||||
1.18. | 大容量ディスクを持っていますが、ディスクマネージャは使えますか? | |||||||||||||||||||||||||||||||||||
FreeBSD は Ontrack Disk Manager を認識し、これを考慮にいれます。 他のディスクマネージャはサポートしません。 ディスク全体を FreeBSD で使いたい場合、 ディスクマネージャは必要ありません。 BIOS が扱える容量 (通常 504MB) いっぱいでディスクの設定を行なうと、 FreeBSD は実際の容量を算出するはずです。 MFM コントローラ付きの古いディスクを使っている場合は、 FreeBSD に使用するシリンダ数を詳細に指定する必要があります。 FreeBSD と他のオペレーティングシステムが入っているディスクを使用したい場合は、 ディスクマネージャなしでもできるでしょう。 FreeBSD の起動パーティションと他のオペレーティングシステム用のスライスが、 最初の 1024 シリンダ内に収まっている事を確認するだけです。 気になる方は、起動パーティションを 20 メガバイトぐらいにして大きめにするとよいでしょう。 | ||||||||||||||||||||||||||||||||||||
1.19. | FreeBSD の起動時に
| |||||||||||||||||||||||||||||||||||
これは FreeBSD や DOS、 そのほかの OS がディスク領域ジオメトリ のとらえ方で衝突しあっていることから起こる典型的な例です。 こうなったら FreeBSD をインストールし直す以外にはありませんが、 他のところで説明した手順にしたがってやれば、 ほぼ間違いなくうまくいくはずです。 | ||||||||||||||||||||||||||||||||||||
1.20. | ブートマネージャの | |||||||||||||||||||||||||||||||||||
これはすでに前に質問されている問題のもう一つの症状です。
BIOS のジオメトリと FreeBSD のジオメトリ設定が一致していないのです!
コントローラや BIOS がシリンダの変換 ( | ||||||||||||||||||||||||||||||||||||
1.21. | ソースを全部インストールする必要はありますか? | |||||||||||||||||||||||||||||||||||
一般的には「いいえ」です。
しかし最低でも、 ソースをネットワーク上に持ち、 そこからシステムをビルドするようにしておけば、 FreeBSD の将来のリリースへのアップグレードがずっと簡単になります。 実際にソースのサブセットを選択するには、 システムインストールツールの「配布ファイル」メニューにある、 「カスタム」メニューを使用します。 | ||||||||||||||||||||||||||||||||||||
1.22. | カーネルは必ず作り直さなくちゃならないんですか? | |||||||||||||||||||||||||||||||||||
カーネルを新しく作り直すのは元々、
FreeBSD のインストール時に必須の作業でした。
でも最近のリリースでは、
とてもユーザフレンドリなカーネル設定ツールの恩恵を受けています。
FreeBSD の起動プロンプト (boot:) で 今でも、 必要なデバイスドライバだけを組み込んだカーネルを作ることはよい事とされています。 ほんのちょっとだけメモリを節約できますからね。 でもほとんどのシステムでは、 もはやどうしてもやらなくちゃならないことではないのです。 | ||||||||||||||||||||||||||||||||||||
1.23. | DES と MD5、どちらのパスワードを使うべきなのでしょうか? また、ユーザがどちらを使うことになるか指定する方法はありますか? | |||||||||||||||||||||||||||||||||||
FreeBSD の標準のパスワードフォーマットは
MD5 を使ったものです。 これは
DES アルゴリズムに基づいた手法を用いる
UNIX の伝統的なパスワードフォーマットより安全 (secure) だと
信じられているものです。 DES パスワードは
あなたが FreeBSD のパスワードファイルを、
安全性に劣るパスワードフォーマットを利用している古い OS
と共有しなければならなくなったときのために
利用可能になっています (これは利用するためには、
sysinstall から 「crypto」 配布物のインストール
選ぶか、ソースから build しているなら、
crypto のソースがインストールされている必要があります)。
新しいパスワードにどちらのパスワードフォーマットを使うかは
| ||||||||||||||||||||||||||||||||||||
1.24. | ブートフロッピーで起動すると、
| |||||||||||||||||||||||||||||||||||
IDE Zip か Jaz ドライブが接続されていたら、 それを取り外してもう一度試してみましょう。 ブートフロッピーはこの種のドライブを誤認してしまうのです。 システムがインストールされた後は、そのドライブを再度接続することができます。 うまくいけばこの問題は将来のリリースで解決されるでしょう。 | ||||||||||||||||||||||||||||||||||||
1.25. | インストール終了後にシステムを再起動すると、
| |||||||||||||||||||||||||||||||||||
このエラーはディスクデバイスについて、 起動ブロックとカーネルの認識が混乱しているために起こります。 このエラーは通常、 2 台の IDE ディスクがそれぞれ別の IDE コントローラのマスターに一つずつ接続されているシステムにおいて、 FreeBSD がセカンダリ IDE コントローラに接続されたディスクにインストールされている場合に発生します。 起動ブロックは FreeBSD が wd1 (2 台目の BIOS ディスク) にインストール されていると認識するのに対し、 カーネルはセカンダリ IDE の 1 台目のハードディスクである wd2 にインストールされていると認識するのです。 デバイス検出後で、 カーネルは起動ブロックが起動ディスクだと認識したディスクである wd1 をマウントしようとします。 しかし、実際には起動ディスクは wd2 なので失敗してしまうのです。 この問題を解決するには、以下のどれか一つを行ってください。
| ||||||||||||||||||||||||||||||||||||
1.26. | メモリの大きさの制限は? | |||||||||||||||||||||||||||||||||||
認識できるメモリの上限は、4GB です。 この構成は試験済みで、 詳細は wcarchive's configuration をご覧ください。 このようにたくさんのメモリをマシンに導入しようという場合には、 注意が必要です。ECC 機能をサポートし、なおかつ 容量性負荷 (訳注: 多くのメモリ素子は容量性負荷として働きますが、 メモリバス上に容量性負荷が増えると信号の伝達が遅れ、誤動作の原因となります) を 低減させるため、18 チップ構成のメモリモジュールより 9 チップ構成のメモリモジュールを選択することが、おそらく望ましいでしょう。 | ||||||||||||||||||||||||||||||||||||
1.27. | ffs ファイルシステムの大きさの制限は? | |||||||||||||||||||||||||||||||||||
ffs ファイルシステムの場合、 論理的な最大の上限は 8 TB (2G ブロック)、 デフォルトのブロックサイズを 8K とすると 16 TBとなります。 実際問題として、1 TB のソフトウェアの限界がありますが、 修正すれば 4 TB のファイルシステムが可能です (実際に存在します)。 一つの ffs のファイルの最大のサイズは、ブロックサイズが 4K の場合で 約 1G ブロック (4 TB)です。 表1.2 最大ファイルサイズ
fs ブロックサイズが 4K の場合は三重間接ブロックが使用され、 いずれの場合でも三重間接ブロックを使用して表現できる最大の fs ブロック番号 (およそ 1K^3 + 1K^2 + 1K) に制限されるはずなのですが、 実際は fs ブロック番号の (間違った) 上限 1G-1 で制限されます。 fs ブロック番号の制限は 2G-1 となるはずです。2G-1 付近に fs ブロック番号のバグが多少ありますが、fs ブロックサイズが 4K の場合は、ここまでのブロック番号には到達しません。 ブロックサイズが 8K 以上の場合、いずれの場合も fs ブロック番号の上限 2G-1 で制限されるはずですが、 実際は fs ブロック番号の上限 1G-1 で制限されます。 例外的に -STABLE では三重間接ブロックまでは到達しないため、 制限は二重間接ブロックで表現できる最大の fs ブロック番号 (およそ (blocksize/4)^2 + (blocksize/4)) となります。 -CURRENT ではこの制限を超えると問題を引き起こすかもしれません。 正しい制限値である 2G-1 ブロックを使用すると明らかに問題が出ます。 | ||||||||||||||||||||||||||||||||||||
1.28. | フロッピーに 1 TB のファイルを格納するには? 寄稿: Bruce Evans、1998 年 9 月 | |||||||||||||||||||||||||||||||||||
わたしのところでは、 フロッピーにいくつかの実際のファイルを保存しています :-)。 最大のファイルサイズは最大のディスクサイズとはあまり関係はありません。 最大のディスクサイズは 1 TB です。 ファイルサイズがディスクサイズより大きくなりうるというのは仕様です。 以下の例は、32K のディスク容量 (3 つの間接ブロックと 1 つのデータブロック) を使って、 小さなルートパーティションに 8T-1 の大きさのファイルを作成します。 ここでの dd コマンドは大きなファイルが扱えるものが必要です。
| ||||||||||||||||||||||||||||||||||||
1.29. | 新しいカーネルをコンパイルしたら、起動時に
| |||||||||||||||||||||||||||||||||||
ローダがスタートする前の | が表示されているときに何かキーを押すことで、 起動のセカンドステージから直接、起動するカーネルを指定して起動することができます。 特に、カーネルのソースを更新し、make world しないで新しいカーネルだけインストールした場合にこの症状が現われます。 こういう操作は動作が保証されません。きちんと make world してください。 | ||||||||||||||||||||||||||||||||||||
1.30. | 3.X から 4.X にアップグレードするにはどうしたら良いのですか? | |||||||||||||||||||||||||||||||||||
アップグレードには、 バイナリスナップショットを使うことを強くおすすめします。 4-STABLE スナップショットは releng4.FreeBSD.org から入手可能です。 ソースを使ってアップグレードする場合は、詳細について FreeBSD ハンドブックを参照するようにしてください。 注意:ソースを使ったアップグレードは、 慣れていないユーザにはまったくおすすめできません。 3.X から 4.X への場合は特にそうです。 ソースを使ったアップグレードを試す前に、 手順を注意深く読むように心がけてください。 | ||||||||||||||||||||||||||||||||||||
1.31. | 「セキュリティプロファイル」 (「security profiles」) とは何ですか? | |||||||||||||||||||||||||||||||||||
「セキュリティプロファイル」とは、特定の プログラムやその他の設定を有効にしたり無効にすることで、求める 比率で安全と便利さを実現しようとする構成の選択肢の集まりの ことです。セキュリティプロファイルが厳しいほど、デフォルトで 有効になるプログラムが減ります。これは、動かさなければならない もの以外は、何も動かしてはいけないというセキュリティの 基本的原則の一つです。 セキュリティプロファイルは、単にデフォルトの設定である
ということに気をつけてください。FreeBSD をインストールした
あとに 以下に、各セキュリティプロファイルが何を行うかを説明した 表を掲載します。列はセキュリティプロファイルの選択肢で、行は 有効または無効になるプログラムや機能です。 表1.3 指定できるセキュリティプロファイル
警告:セキュリティプロファイルは魔法の薬ではありません。 High に設定したら、適当な メーリングリストを読んだり、良質なパスワードや パスフレーズを用いたり、セキュリティについてのよい習慣を 守ったりしなくていいわけではありません。求めるセキュリティと 便利さの比率を手軽に設定してくれるだけです。 注記:セキュリティプロファイルの機構は、FreeBSD を最初に インストールする時に使うことを想定しています。すでに FreeBSD がインストールされているなら、単に求める機能を 有効にしたり無効にしたりする方が、おそらく効率が よいでしょう。もし、本当にセキュリティプロファイルを 使いたいのであれば、sysinstall(8) を再実行すれば 設定できます。 |
訳:
にしか <nishika@cheerful.com>
、
1997 年 11 月 12 日
2.1. | FreeBSD は、 どんなハードディスクドライブをサポートしているのですか? |
FreeBSD は、EIDE と SCSI ハードディスクドライブをサポートしています (互換コントローラも含みます。 次の節参照)。 また独自の 「Western Digital」 インタフェースを使用しているすべてのドライブ (MFM、 RLL、ESDI、もちろん IDE) もサポートしています。 独自仕様のインタフェースを使用する ESDI コントローラでは動作しないものがあり、 WD1002/3/6/7 とその互換インタフェースと衝突します。 | |
2.2. | どの SCSI コントローラをサポートしているのですか? |
FreeBSD ハンドブックに記されている完全なリストを参照してください。 | |
2.3. | どんな CD-ROM ドライブをサポートしているのですか? |
サポートされている SCSI コントローラに接続できる SCSI ドライブは、すべてサポートされています。 また、以下の専用 CD-ROM インタフェースもサポートしています。
SCSI でないカードはすべて、SCSI ドライブよりも極めて動作速度が 遅いことが知られており、ATAPI CD-ROM には動作しないものもあるようです。 BSDi の FreeBSD 2.2 CD-ROM からは CD からの直接起動が サポートされています。 | |
2.4. | FreeBSD は、どの CD-RW ドライブに対応していますか? |
FreeBSD は ATAPI 互換の IDE CD-R または CD-RW ドライブで
あれば対応しています。FreeBSD バージョン 4.0 以降については、
burncd(8) のマニュアルをご覧ください。それ以前の
バージョンの FreeBSD では、
また、FreeBSD は SCSI の CD-R または CD-RW ドライブにも
対応しています。ports または packages から
| |
2.5. | ZIP ドライブをサポートしていますか? |
もちろん、 FreeBSD は SCSI ZIP ドライブ (外付け) をサポートしています。 ZIP ドライブは SCSI ID を 5 か 6 に設定した状態でなら使用できますが、 もし SCSI ホストアダプタの BIOS がサポートしてさえいれば ZIP ドライブから起動させることもできます。 どのホストアダプタが SCSI ID を 0 や 1 以外に設定したデバイスから 起動できるのかはわかりません。そうしたい場合は、アダプタの ドキュメントを参照しなければなりません。 ATAPI (IDE) ZIP ドライブは、FreeBSD 2.2.6 以降のバージョンでサポートされています。
バージョン 3.0 以降の FreeBSD では、
パラレルポート接続の ZIP ドライブをサポートしています。
最近のバージョンの FreeBSD をお使いでしたら、
カーネルコンフィグレーションファイルに
それからリムーバブルドライブに関する注意および、 「フォーマット」に関する注意についても 確認しておいてください。 | |
2.6. | では、JAZ や EZ、 それからその他のリムーバブルドライブはサポートしていますか? |
FreeBSD では、IDE バージョンの EZ ドライブを除くすべての SCSI デバイスは、 SCSI のディスクと同等に扱われます。 また IDE EZ は IDE ドライブと同等となります。 システム稼働中のメディア交換について FreeBSD がどれほどうまく動くか定かではありません。 もちろんメディアを入れ替える前にそのドライブのマウントを解除しなければいけないでしょうし、 FreeBSD がそれらを認識するには、 起動時に外部ユニットにも電源が投入されていることを確認しなければいけないでしょう。 「フォーマット」に関する注意も参照のこと。 | |
2.7. | どのマルチポートシリアルカードをサポートしていますか? |
一覧は その他のデバイスの節にあります。 無名のカードにもうまく動くものがあり、 特に AST 互換といわれているものに多く見られます。 カード設定の詳細な情報は、sio(4) のマニュアルページを参照してください。 | |
2.8. | USB キーボードを持っているのですが、FreeBSD で使えますか? |
USB デバイスは FreeBSD 3.1 からサポートされましたが、 実装は FreeBSD 3.2 であってもまだ完全ではないため、 必ずしも安定して動作するとは限りません。 もし、それでも USB キーボードを使ってみたいという人は、 以下の手順を試してみてください。
システムを再起動させた後、
AT、USB 両方のキーボードが接続されていれば、
AT キーボードは USB キーボードをコンソールで利用するには、 それをコンソールドライバに対して明示的に指定する必要があります。 システムの初期化の際に、次に示すようなコマンドを実行してください。
ただし、USB キーボードしか接続されていない場合、それは
上のコマンドは、 この設定を一度行なっていれば、 X 環境でも特に他の設定なしに USB キーボードが利用できます。 USB キーボードの活線挿抜 (ホットプラグ機能) は、 まだおそらくきちんと動作しないと思われます。 トラブルを避けるためにも、キーボードはシステムを起動させる前に接続しておき、 シャットダウンするまではずさないようにした方が良いでしょう。 詳細については、ukbd(4) のマニュアルページを参照してください。 | |
2.9. | 珍しいバスマウスを持っているのですが、どのように設定すればいいのですか? |
FreeBSD は Microsoft、Logitech、 ATI 等のメーカーから出ているバスマウスと InPort バスマウスをサポートしています。FreeBSD 2.X の場合、 バスマウスのデバイスドライバは GENERIC カーネルに標準で含まれますが、 FreeBSD 3.X 以降では標準で含まれていません。もしバスマウスのデバイス ドライバを含むカーネルを自分で構築する場合には、 カーネルコンフィグレーションファイルに以下の行が含まれていることを確認してください。 それは FreeBSD 3.0 を含む、それ以前のリリースの場合は次のとおり、 device mse0 at isa? port 0x23c tty irq5 vector mseintr FreeBSD 3.X では、次のとおりです。 device mse0 at isa? port 0x23c tty irq5 そして FreeBSD 4.X とそれ以降では、次のようになります。 device mse0 at isa? port 0x23c irq5 通常バスマウスには専用のインタフェースカードが附属しています。 インタフェースカードによってはポートアドレスや割り込み番号を上記の 設定以外に変更できるかもしれません。詳しくはバスマウスのマニュアルと mse(4) のマニュアルページを参照してください。 | |
2.10. | PS/2 マウス (「マウスポートマウス」、「キーボードマウス」) を 使うにはどのように設定すればいいのですか? |
あなたが 2.2.5 以降のバージョン FreeBSD を使っているのなら、
必要なドライバ
あなたの使っている FreeBSD
が比較的新しいけれど前のバージョン (2.1.x 以降) のものなら、
インストールの時に、単にカーネルのコンフィグレーションのメニュー上で
PS/2 マウスを有効化するだけです、あるいは後で
あなたの使っている FreeBSD が比較的古いものなら、 カーネルコンフィグレーションファイルに以下の行を加えて カーネルを再コンパイルする必要があります。 それは FreeBSD 3.0 を含む、それ以前のリリースでは次のとおり、 device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr FreeBSD 3.1 を含む、それ以降のリリースでは次のとおり、 device psm0 at isa? tty irq 12 FreeBSD 4.0 とそれ以降のリリースでは次のとおりです。 device psm0 at atkbdc? irq 12 カーネルの再構築についてよく知らないのであれば、 カーネルのコンフィグレーションを参照してください。
起動時にカーネルが
これは | |
2.11. | X Window System 以外の環境でマウスを使うことは可能ですか? |
もしデフォルトのコンソールドライバである syscons を使っているのであれば、 テキストコンソール上でマウスを使って、 テキストのカットアンドペーストができます。 マウスデーモンである moused を起動し、 仮想コンソールでマウスポインタを有効にしてください。
ここで
システムを起動する時に自動的に
moused を起動したい場合には、次のようにします。
FreeBSD 2.2.1 では以下の変数を
mousedtype="
FreeBSD 2.2.2 以降のバージョンでは
moused_type=" FreeBSD 3.1 とそれ以降で PS/2 マウスを利用する場合は、
また、起動時にすべての仮想端末で、
標準のコンソールに加えマウスデーモンも使えるようにしたい、
という場合には、以下の行を
allscreens_flags="-m on"
FreeBSD 2.2.6 以降の場合で
比較的新しいシリアルマウスを使っているならば、
マウスデーモンはマウスのプロトコルタイプを自動判別できます。
自動判別を試みるには、プロトコルタイプとして
マウスデーモンを実行中は、マウスデーモンと他のプログラム (たとえば X Window System) の間でマウスへのアクセスを調整しなければなりません。 この問題については X とマウスをご覧ください。 | |
2.12. | マウスを使って、 テキストコンソールでカットアンドペーストするにはどうしたらよいのですか? |
マウスデーモンを起動 (前の質問に対する答えを参照してください) したあと、 ボタン 1 (左ボタン) を押しながらマウスを動かして範囲を指定します。 ボタン 2 (中ボタン) またはボタン 3 (右ボタン) をクリックするとテキスト カーソルの位置に選択した範囲のテキストがペーストされます。 FreeBSD 2.2.6 以降では、ボタン 2 をクリックするとペーストされ、ボタン 3 をクリックした場合に既存の選択範囲が現在のマウスポインタの位置まで 「延長または短縮」されます。もしマウスに中ボタンがないなら、 moused のオプションを使って中ボタンのエミュレーションをするか、 他のボタンを中ボタンとして使う事ができます。 詳しくは moused(8) のマニュアルページを参照してください。 | |
2.13. | USB マウスを持っているのですが、FreeBSD で使えますか? |
USB デバイスは FreeBSD 3.1 からサポートされましたが、 実装は FreeBSD 3.2 であってもまだ完全ではないため、 必ずしも安定して動作するとは限りません。 もし、それでも USB マウスを使ってみたいという人は、 以下の手順を試してみてください。
X 環境でのマウスの利用については、 他の項も参照してください。 USB マウスの活線挿抜 (ホットプラグ機能) は、 まだおそらくきちんと動作しないと思われます。 トラブルを避けるためにも、マウスはシステムを起動させる前に接続しておき、 シャットダウンするまではずさないようにした方が良いでしょう。 | |
2.14. | わたしのマウスにはホイール機能や便利なボタンがついているのですが、 これは FreeBSD でも使えるのですか? |
答えは残念ながら「場合によります」です。 こうしたマウスの付加的な機能は大抵の場合、特殊なドライバを必要とします。 マウスのデバイスドライバやユーザのプログラムが そのマウスに対する固有のサポートをしていない場合には、 標準的な 2 ボタン/3 ボタンマウスのように振舞います。 X ウィンドウシステムの環境でのホイールの使い方については、 X とホイールの項をご覧ください。 | |
2.15. | わたしのマウスはきちんと動いてくれないようです。 マウスカーソルが画面中をとびまわります。 このマウスにはホイールがついていて、 接続は PS/2 ポートです。 |
FreeBSD 3.2 およびそれ以前の PS/2 マウスドライバ psm には、
Logitech モデル M-S48 とその
OEM のホイールマウスで不具合が発生します。
以下のパッチを Index: psm.c =================================================================== RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v retrieving revision 1.60.2.1 retrieving revision 1.60.2.2 diff -u -r1.60.2.1 -r1.60.2.2 --- psm.c 1999/06/03 12:41:13 1.60.2.1 +++ psm.c 1999/07/12 13:40:52 1.60.2.2 @@ -959,14 +959,28 @@ sc->mode.packetsize = vendortype[i].packetsize; /* set mouse parameters */ +#if 0 + /* + * A version of Logitech FirstMouse+ won't report wheel movement, + * if SET_DEFAULTS is sent... Don't use this command. + * This fix was found by Takashi Nishida. + */ i = send_aux_command(sc->kbdc, PSMC_SET_DEFAULTS); if (verbose >= 2) printf("psm%d: SET_DEFAULTS return code:%04x\n", unit, i); +#endif if (sc->config & PSM_CONFIG_RESOLUTION) { sc->mode.resolution = set_mouse_resolution(sc->kbdc, - (sc->config & PSM_CONFIG_RESOLUTION) - 1); + (sc->config & PSM_CONFIG_RESOLUTION) - 1); + } else if (sc->mode.resolution >= 0) { + sc->mode.resolution + = set_mouse_resolution(sc->kbdc, sc->dflt_mode.resolution); + } + if (sc->mode.rate > 0) { + sc->mode.rate = set_mouse_sampling_rate(sc->kbdc, sc->dflt_mode.rate); } + set_mouse_scaling(sc->kbdc, 1); /* request a data packet and extract sync. bits */ if (get_mouse_status(sc->kbdc, stat, 1, 3) < 3) { FreeBSD 3.2 より新しいリリースではきちんと動作するはずです。 | |
2.16. | ラップトップ PC のマウス/トラックボール/タッチパッドは使えますか? |
前の質問に対する答えと、 モバイルコンピューティングのページをご覧ください。 | |
2.17. | どんなテープドライブをサポートしていますか? |
FreeBSD は SCSI と QIC-36 (QIC-02 インタフェース付き) をサポートしています。 これらには 8-mm (Exabyte と呼ばれています) や DAT ドライブも含まれています。 初期の 8-mm ドライブの中には SCSI-2 とまったく互換性を持たないものがあります。 これらは FreeBSD 上では動作しません。 | |
2.18. | どんなテープチェンジャーをサポートしていますか? |
FreeBSD 2.2 は ch(4) デバイスと chio(1) コマンドを使用した SCSI チェンジャーをサポートしています。 実際のチェンジャーの制御方法の詳細は、chio(1) のマニュアルページを参照してください。 使用している製品が AMANDA のようにチェンジャーに対応済みのものでない場合は、 次のことについて留意してください。 それらの製品は任意のポイント間のテープの移動を制御するだけなので、 テープがどのスロットに入っているか、現在ドライブにあるテープが どのスロットに戻るべきかを把握しておく必要があります。 | |
2.19. | どんなサウンドカードをサポートしていますか? |
FreeBSD は SoundBlaster、SoundBlaster Pro、SoundBlaster 16、
Pro Audio Spectrum 16、AdLib それから Gravis UltraSound サウンドカードを
サポートしています。MPU-401 やその互換カードも機能に制限はあるものの
サポートされています。マイクロソフトサウンドシステムのスペックに準拠
したカードも、 注記:これらはサウンドについてのみの話です! これらのドライバは CD-ROM、SCSI、カード上にあるジョイスティックをサポートしていません (SoundBlaster は例外です)。SoundBlaster SCSI インタフェースと非 SCSI CD-ROM はサポートしていますが、そのデバイスからは起動できません。 | |
2.20. |
|
マシンを起動するごとに以下のコマンドを実行してください。
| |
2.21. | どんなネットワークカードをサポートしていますか? |
より完全な一覧についてはイーサネットカードの節を参照してください。 | |
2.22. | 数値演算コプロセッサを持っていませんが、何かまずいでしょうか? |
注記:これらは 386/486SX/486SLC を持っている場合に影響します - ほかのマシンでは CPU に内蔵されています。 一般にこれらは問題とはなりません。 しかし、数値演算エミュレーションコードのパフォーマンスか、 正確さのいずれかを選択する状況があります (詳しくは FP エミュレーション についての節をご覧ください)。 とくに、X 上で弧を描く際にとても遅くなることでしょう。 数値演算コプロセッサを購入されることを強くおすすめします。 とても役立つことでしょう。 注記:他の数値演算コプロセッサよりも優れたコプロセッサもあります。 これは言いにくいことなのですが、Intel を買うために躍起になる人もいないでしょう。 それが FreeBSD 上で動くという確信がないのなら、クローンにご用心を。 | |
2.23. | FreeBSD がサポートするデバイスは他にもあるんでしょうか? |
FreeBSD ハンドブックに記されている、 サポートされている他のデバイスの一覧を参照してください。 | |
2.24. | パワーマネージメント機能付きのラップトップ PC を持っているのですが…。 |
FreeBSD は一部のマシンの APM をサポートしています。
| |
2.25. | Micron システムが起動時に固まってしまいます。 |
特定の Micron 製のマザーボードの中には、PCI BIOS が規格通りに 実装されていないために FreeBSD の起動に失敗するものがあります。 その BIOS は、PCI デバイスをあるアドレスで設定したと報告するにも 関わらず、実際にはそうしていないのです。 この問題を回避するには、BIOS の 「Plug and Play Operating System」 を無効に設定してください。また、より詳しい情報は http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron を参照してください。 | |
2.26. | 新しい Adaptec コントローラを持っているのですが、 FreeBSD が検出できないようです。 |
新しい AIC789x シリーズの Adaptec チップは、3.0 でデビューした CAM SCSI
フレームワークでサポートされています。 2.2-STABLE のパッチは
ftp://ftp.FreeBSD.org/pub/FreeBSD/development/cam/ にあります。
CAM システムが入っている高機能ブートフロッピーは
http://people.FreeBSD.org/~abial/cam-boot/ にあります。
どちらの場合にしても、作業を始める前に | |
2.27. | 内蔵の Plug & Play モデムを持っているのですが、FreeBSD が検出できないようです。 |
モデムの PnP ID を シリアルドライバの PnP ID
リストに追加する必要があるでしょう。
Plug & Play サポートを有効にするには、
起動時のコンフィグレーションの際に、 pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8 のようになります。 | |
2.28. | シリアルコンソールで boot: プロンプトを表示するにはどうすればいい? |
| |
2.29. | なぜ Micron コンピュータで 3Com PCI ネットワークカードが動かないのでしょう? |
特定の Micron 製のマザーボードの中には、PCI BIOS が規格通りに 実装されていないために FreeBSD の起動に失敗するものがあります。 その BIOS は、PCI デバイスをあるアドレスで設定したと報告するにも 関わらず、実際にはそうしていないのです。 この問題を回避するには、BIOS の 「Plug and Play Operating System」 を無効に設定してください。また、より詳しい情報は http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron を参照してください。 | |
2.30. | 対称型マルチプロセシング (SMP) をサポートしていますか? |
SMP は、3.0-STABLE とそれ以降のリリースでのみサポートされています。
GENERIC カーネルでは SMP は有効化されていませんので、
SMP を有効化するにはカーネルを再構築する必要があります。
| |
2.31. | ASUS K7V マザーボードのシステムでブートフロッピーを使うと、 システムがハングアップします。 対応策はありませんか? |
BIOS セットアップで 「起動時のウィルス保護機能」 を無効化してください。 |
訳:
内川 喜章 <yoshiaki@kt.rim.or.jp>
、
1997 年 11 月 10 日
3.1. | ハードディスクに不良ブロックがあります! |
SCSI ディスクの場合は自動的に再マップする機能があるはずです。 しかし、理解し難い理由から多くのドライブがこの機能が無効化 されて出荷されています…。
これを有効化するには、
最初のデバイスのモードページを変更する必要があります。
これは次のコマンドを実行することで、FreeBSD
上で行なうことができます
(
そして、AWRE と ARRE の値を 0 から 1 へ変更します AWRE (Auto Write Reallocation Enbld): 1 ARRE (Auto Read Reallocation Enbld): 1 以下は、Ted Mittelstaedt 氏から寄せられたものです。 IDE ドライブの場合は通常、不良ブロックは潜在的な障害の兆候です。 最近の IDE ドライブは、内部の不良ブロック再マッピング機能を有効にした状態で 出荷されています。また、今日の IDE ハードディスクメーカは、 出荷以降に不良ブロックが発生することに関して保証を提供していて、 不良ブロックのあるディスクドライブを交換するサービスを行なっています。 もし、不良ブロックのある IDE ディスクドライブを復旧しようと思うなら、 IDE ドライブメーカが提供する IDE 診断プログラムをダウンロードして、 そのドライブに使ってみてください。この種のプログラムは大抵、 ドライブの制御部分に対して不良ブロックを再走査し、 不良ブロックを使用不能にするようにセットすることができます。 ESDI、RLL および MFM ドライブの場合、 不良ブロックはドライブの正常な部分であり、 一般的に言って障害を表すものではありません。 PC では、ディスクドライブコントローラカードと BIOS が不良ブロックの使用不能化の作業を行ないます。 DOS など、ディスクアクセスに BIOS を経由する OS にとっては有効に働きますが、FreeBSD のディスクドライバは BIOS を利用しません。そのため、 代替として bad144 という機構が存在します。 bad144 は、wd ドライバでだけ (つまり FreeBSD 4.0 ではサポートされていない)動作し、SCSI ドライバに利用することは できません。bad144 は、 検出された不良セクタをスペシャルファイルに記録するという機能を持っています。
bad144 を利用する上で、注意しなければならない点が一つあります。
それは、不良ブロックスペシャルファイルは、
ディスクの最終トラックに置かれるということです。
このファイルには、ディスクの先頭の付近、
bad144 を使うには、FreeBSD のインストール時に表示される fdisk 画面で 「Bad Block」 走査を ON に設定するだけです。 これは、FreeBSD 2.2.7 以降で機能します。 ディスクは、1024 シリンダ以内でなければなりません。 ディスクドライブは事前に少なくとも 4 時間、 ディスクが温度によって膨張し、 トラックに曲がりが出るまで回転させることをお薦めします (訳注: 温度変化に対する膨張によって、 ディスクが微小変形することにより発生する不良セクタを確実に検出するためです)。 大容量の ESDI ドライブのように 1024 シリンダを超えるディスクの場合、 DOS 上でそのディスクが利用できるよう、 ESDI コントローラは特殊な変換モードを利用します。 fdisk の 「set geometry」 コマンドを使って 「変換された (translated)」 ジオメトリに切替えると、wd ドライバはこの変換モードを解釈できます。 その際、FreeBSD パーティションを作成するのに 「dangerously dedicated」 モードを利用してはいけません。 このモードは、そのようなジオメトリを無視するからです。 たとえ fdisk がオーバーライドされたジオメトリ情報を使ったとしても、 依然としてディスクの真の大きさを保持しているため、大きすぎる FreeBSD パーティションを作成しようとしてしまうでしょう。 ディスクジオメトリ情報が変換されたジオメトリ情報にかわっている場合は、 手動でブロック数を入力し、 パーティションを作成する必要があります。 大容量の ESDI ディスクを ESDI コントローラでセットアップするには、 ちょっとしたトリックを使います。まず、DOS のディスクで起動して そのディスクを DOS パーティションとしてフォーマットします。 そして FreeBSD を起動し、インストーラの fdisk 画面で DOS パーティションのブロックサイズとブロック数を読みとり、メモしておきます。 ジオメトリ情報を DOS が利用しているものと同一に再設定し、 DOS パーティションを削除して 「cooperative」 FreeBSD パーティションを 先程記録したブロックサイズを使って作成してください。 そのパーティションを起動可能パーティションに設定し、不良ブロック走査を 有効にします。 実際のインストールでは、ファイルシステムが作成される前に bad144 が最初に実行されます (Alt-F2 を押すことで状況を確認できます)。 不良セクタファイルを作成中に何らかの障害が発生したなら、 システムを再起動して、もう一度最初からやり直しになります。 おそらくディスクジオメトリ情報の設定を大きくしすぎているのでしょう (やり直しは、DOS によるフォーマットとパーティション確保を含みます)。 もし、不良ブロックの再マッピングを有効にしていて不良ブロックが見付かったら、 ドライブの交換を考えてください。不良ブロックは、時間とともに悪化するからです。 | |
3.2. | Bustek 742a EISA SCSI が認識されません。 |
この情報は 742a のためのものですが、他の Buslogic カードについても 同様のことが言えます。(Bustek = Buslogic) 742a カードには大きくわけて 2 つの「バージョン」が存在します。 ハードウェアリビジョンの A-G と H 以降です。リビジョンの 文字はカードの隅にあるアセンブリ番号の後ろにあります。 742a は二つの ROM チップを持っており、一つは BIOS チップで もう一つはファームウェアチップです。FreeBSD はあなたの 持っているものがどの BIOS バージョンかは問題ありませんが、 ファームウェアバージョンについては問題となります。 Buslogic の技術サポート部門に連絡すれば、アップグレード版の ROM を送ってくれることでしょう。BIOS チップと ファームウェアチップはペアで出荷されます。 アダプタカードのハードウェアリビジョンにあわせた 最も新しいファームウェア ROM を使用しなければなりません。 リビジョン A-G のカードには、2.41/2.21 までの BIOS/ファームウェアのセットを使用することができます。 リビジョン H 以降のカードには、最新のものである 4.70/3.37 の BIOS/ファームウェアのセットを 使用することができます。これらのファームウェアの違いは、 ファームウェア 3.37 が 「ラウンドロビン方式」 をサポートしているところからきています。 Buslogic のカードには、製造番号も刻印されています。古い ハードウェアリビジョンのカードを持っている場合は、Buslogic の RMA 部門に問い合わせて製造番号を伝えると、新しいハードウェアリビジョンの カードに交換することもできます。もしカードが十分新しければ、彼らは 交換に応じてくれるでしょう。 FreeBSD 2.1 は ファームウェアリビジョン 2.21 以降のものをサポートしています。 これよりも古いファームウェアリビジョンのものは、 Buslogic カードとして正常に認識されません。 しかし、Adaptec 1540 として認識されるかもしれません。 初期の Buslogic のファームウェアは AHA1540 「互換」モードを 持っています。しかし、EISA カードにとってこれは よいことではありません。 古いハードウェアリビジョンのカードを持っていてファームウェア 2.21 を入手するのであれば、ジャンパ W1 の位置をデフォルトの A-B から B-C に合わせる必要があるでしょう。 | |
3.3. | HP Netserver 上のオンボード SCSI コントローラが認識されません。 |
基本的にこれは既知の問題です。HP Netserver マシンの EISA オンボード SCSI コントローラは EISA のスロット番号 11 を占有しますが、「本当の」EISA スロットはすべてそれよりも前のアドレスに配置されているのです。 残念ながら、 10 番以上の EISA スロットは PCI に割り当てられたアドレス空間と衝突し、FreeBSD の自動コンフィグレーションは、 現状ではうまくこの状況を処理できていないのです。
ですから現時点での最良の方法は、カーネルオプションの
もちろん、これはこのようなマシンにインストールする際に 「卵が先か、 鶏が先か」といった問題を生み出すことになります。 この問題を回避するために、 ユーザコンフィグ (UserConfig) の中には特別な仕組みが組み込まれています。 このとき 「visual」 インタフェースは使用せず、 コマンドラインインタフェースを使用してください。単純に eisa 12 quit とプロンプト上から打ち込み、 後は普通にインストールを行なってください。 とにかくカスタムカーネルのコンパイルとインストールを行なうことを おすすめします。 うまくいけば、将来のバージョンではこの問題が解決していることでしょう。 注記:HP Netserver
では | |
3.4. | この CMD640 IDE コントローラはどこかおかしいようです。 |
それは壊れているのです。両方のチャンネルを同時に制御できないのです。 現在、このチップを使っているシステムを自動的に検出して、 うまく動かすためのしくみが使えるようになっています。 くわしくは wd(4) のマニュアルページを参照してください。
CMD640 IDE コントローラを使っているシステムで FreeBSD 2.2.1
あるいは 2.2.2 を使い、
かつセカンダリのチャネルを使いたいのであれば、
| |
3.5. |
|
たぶん IRQ の衝突が原因でしょう (二つのボードが同じ IRQ
を使用しているなど)。FreeBSD 2.0.5R
以前はこれに関して寛大で、
IRQ の衝突があってもネットワークドライバは機能していました。
しかし 2.0.5R 以降はもはや、IRQ の衝突に寛大ではありません。
ネットワークカードの BNC コネクタ (訳注: 10BASE-2 タイプのインタフェース) を使っている場合、 デバイスのタイムアウトはターミネーションの不良によっても起きます。 これをチェックするにはケーブルを外してターミネータを直接 NIC に接続します。そしてエラーメッセージが消えるかどうか 確認します。 NE2000 コンパチブルカードのなかには、 UTP ポートのリンクがなかったりケーブルが接続されていない場合に このエラーを出すものがあります。 | |
3.6. | CDROM をマウントしようとすると
|
mount(8)
にマウントしたいデバイスのタイプを指定する必要があります。
デフォルトでは mount(8)
はファイルシステムを
CDROM のデバイス
デバイスの名前はインタフェースによっては別の名前になっている
かもしれないので注意してください
(
| |
3.7. | CDROM をマウントしようとすると
|
これは 一般的に CDROM ドライブの中に CDROM が入っていないか、 ドライブがバス上に見えないことを意味します。ドライブに CDROM を入れるか、IDE (ATAPI) であれば master/slave の状態をチェックしてください。 また、CDROM ドライブに CDROM を入れてから認識するまでには数秒かかりますので、 少し待ってみてください。 SCSI CDROM ではバスリセットへの応答時間が遅いために、 失敗することがあるかもしれません。 SCSI CDROM を持っている場合は、 カーネルコンフィグレーションファイルに以下の行を加えて 再コンパイルして試してみてください。 options "SCSI_DELAY=15" 訳注:
現在の GENERIC カーネルでは上の設定はデフォルトになっています。
問題がある場合は | |
3.8. | CDROM をマウントすると、ファイル名中の英数字以外の 文字が、「?」 と表示されてしまいます。 |
もっともありそうなのは、その CDROM が 「Joliet」 拡張を利用してファイルおよび ディレクトリに関する情報を保存しているということです。この拡張は、 すべてのファイル名を Unicode の 2 バイト文字で保存するように 規定しています。現在、FreeBSD カーネルに汎用的な Unicode インタフェースを導入する作業が行われていますが、 まだ完了していません。したがって、CD9660 ドライバはファイル名の文字を解読できません。 一時的な解決策として、FreeBSD 4.3R 以降では、CD9660
ドライバに特別な仕掛けを施して、ユーザーがその場で適切な
変換表を読み込めるようにしました。一般的なエンコーディングに
対応したいくつかのモジュールが
訳注:この記述は古くなっています。 英語版の記述をご覧ください。 | |
3.9. | 私のプリンタはとてつもなく遅いのです。 どうしたらよいのでしょう? |
パラレルインタフェースで、問題はとんでもなく遅いだけであるなら、 プリンタボートを 「polled」 モードに設定してみてください。
HP の新しいプリンタには、 割り込みモードで使えないものがあるようです (完全にわかったわけではありませんが)。 タイミングの問題のように思われます。 | |
3.10. | わたしのプログラムは時々
|
Signal 11 エラーはオペレーティングシステムが 許可を与えていないメモリにアクセスしようとしたときに発生します。 このようなことがランダムな間隔で起っているようなら、 注意深く調査していった方が良いです。 この手の問題はたいていの場合、以下のどちらかです。
それが FreeBSD のバグでは「ない」という決定的なケースとして、 その問題の発生がプログラムをコンパイルしているときであり、 コンパイル毎に毎回、コンパイラの挙動が変るというものがあります。 たとえば、あなたが 「make buildworld」 を実行していて、 コンパイラが ls.c から ls.o をコンパイルしようとしたときに コンパイルに失敗したとします。もう一度 「make buildworld」 を実行したときに、まったく同じ場所でコンパイルが失敗したのなら、 それは build が壊れている (訳注: つまりソースにバグがある) と言うことです -- ソースを更新してやりなおしてみてください。 もしコンパイルが別の場所でしくじっていたら、 それはハードウェアの問題です。 あなたのやるべき事は: 前者の場合は、 そのプログラムの間違ったアドレスへアクセスしようとしている部分を、 gdb 等のデバッガで見つけて修正します。 後者の場合は、 ハードウェアに問題がないことを確かめる必要があります。 その一般的な原因として :
SIG11 FAQ (下に示します) にはこれらの問題のすべてが 詳しく説明されています。Linux の視点に基づくものですが、 これも読んでおいた方がいいでしょう。そこではまた、 メモリのテストを行うソフトウェアや、 ハードウェアがなぜ問題のあるメモリを見逃してしまうかについても 議論されています。 最後に、これらがどれも助けにならなかったら、 FreeBSD のバグを発見した可能性があります。 以下の説明を読んで障害報告を送ってください。 詳細な FAQ は、 the SIG11 problem FAQ にあります。 | |
3.11. | 起動の時に画面が真っ暗になって同期も取れません。 |
これは ATI Mach 64 ビデオカードの既知の問題です。
この問題はカードがアドレス バグが修正されるまでは、次のようにして対処してください。
もしシリアルポートを有効にしたいのであれば以下の変更を行なって
新しいカーネルを作る必要があります。
この対処を行なった後でもまだ X ウィンドウシステムはうまく動かないかもしれません。 その場合は、 使用している XFree86 がすくなくとも XFree86 3.3.3 以降であることを確かめてください。 それ以降のバージョンでは、 Mach64 カードやそれらのカードのためにつくられた X サーバ の組込みをサポートします。 | |
3.12. | 128MB の RAM があるのですが、64MB しか認識しません。 |
FreeBSD がメモリのサイズを BIOS から取得する方法の制限により、 KB 単位で 16 ビット分までしか検出できません (すなわち最大 65535KB=64MB です。これより少ない場合もあります。 ある BIOS の場合はメモリサイズが 16MB に制限されます)。 64MB 以上のメモリを積んでいる場合、 FreeBSD はそれを検出しようとします。 しかしその試みは失敗するかもしれません。 この問題を回避するには、 以下に示すカーネルオプションを使用する必要があります。 完全なメモリ情報を BIOS から取得する方法もありますが、 起動ブロックに空きが無いため実装できません。 起動ブロックの問題が解決されれば、 いつか拡張 BIOS 機能を使用して完全なメモリ情報を取得できるようになるでしょう。 とりあえず現在は、カーネルオプションを使ってください。
| |
3.13. | FreeBSD 2.0 が
|
注記:メッセージは、 このパニックは、ネットワークバッファ (特に mbuf クラスタ) の仮想メモリが無くなったことを示します。 以下のオプションをカーネルコンフィグファイルに追加して mbuf クラスタに使用できる仮想メモリの量を増やしてください。
| |
3.14. | 新しいカーネルで再起動すると
|
ファイル これが起こったなら、シングルユーザで再起動した後に、 以下のコマンドを実行してください。
| |
3.15. |
|
これは Ultrastor SCSI Host Adapter と衝突しています。
起動時に kernel configuration メニューに入り、
問題を起こしている
| |
3.16. | sendmail が |
この事は、sendmail FAQ に次のように書いてあります。 〓〓〓〓〓〓〓〓*〓"Local〓configuration〓error"〓というメッセージが出ます。たとえば:
もはや現在の
sendmail FAQ
は sendmail release とは一緒には保守されていません。
しかし次のネットニュースに定期的に投稿されてます。
comp.mail.sendmail、
comp.mail.misc、
comp.mail.smail、
comp.answers、
news.answers。
また、メール経由でコピーを入手する場合は
mail-server@rtfm.mit.edu
宛まで本文に | |
3.17. | リモートマシン上のフルスクリーンアプリケーションがうまく動かない |
リモートマシンのターミナルタイプが FreeBSD
のコンソールで必要とされている この問題を解決しうる方法はいろいろあります:
| |
3.18. | 私のマシンで |
これは、割り込みに関連するさまざまな不具合によって発生します。 あるいは、あるデバイスが元々持っているバグが表面化したのかも知れません。 この症状を再現させる一つの方法として、パラレルポート上で、 TCP/IP を 大きな MTU で走らせるというものがあります。 グラフィックアクセラレータがこの症状を起こすことがありますが、 その場合はまず、カードの割り込み設定を確認してください。 この問題の副作用として、 プロセスが 「SIGXCPU exceeded cpu time limit」 というメッセージとともに終了してしまう、というものがあります。 1998 年 11 月 29 日に公開された FreeBSD 3.0 以降で この問題が解決しないなら、次の sysctl 変数をセットしてください。
これは、パフォーマンスへ強い影響を与えますが、
問題の発生に比べればおそらく気にならない程度でしょう。
もし、これでもまだ問題が残るようなら、
カーネルオプションの | |
3.19. |
|
これは FreeBSD 3.x で PCI のサウンドカードを使っているときに
発生します。 注記:この警告を、単にカーネルコンフィグファイルの当該行を
PCI のサウンドカードを持っているのならば、以下のようにして
この状況は FreeBSD 4.x では生じません。多くの努力の結果より
PnP 中心に作り替えられ、
現在、 | |
3.20. | プラグアンドプレイのカードが認識されなくなりました
(または、 |
現在の FreeBSD 4.x はより PnP 中心に なっています。その副作用の影響で、FreeBSD 3.x で動いていた PnP デバイス (たとえばサウンドカードや内蔵モデム) の中には、 動かなくなってしまったものもあります。 この挙動の原因は Peter Wemm が freebsd-questions
メーリングリストに書いた、以下の
「FreeBSD 4.x にアップグレードしたところ内蔵モデムが
見つからなくなった」というメールで解説されています。
(わかりやすくするために
3.0 で動作していたデバイスを 4.0 でも動作するようにするには、 それの PnP ID を調べ、ISA デバイスの検索が PnP デバイスの識別に使っているリストにそれを追加する必要があります。 デバイスの検索に使われる pnpinfo(8) を用いて、 PnP ID を得ることができます。 たとえば、内蔵モデムに関する pnpinfo(8) の出力は、 以下のようになります。
[more TAG lines elided] TAG End DF End Tag Successfully got 31 resources, 1 logical fdevs -- card select # 0x0001 CSN PMC2430 (0x3024a341), Serial Number 0xffffffff Logical device #0 IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 IRQ 5 0 DMA 4 0 IO range check 0x00 activate 0x01 必要な情報は、出力の冒頭にある
「Vendor ID」 行にあります。
かっこの中の 16 進数 (例の中では 0x3024a341) が PnP ID で、
直前の文字列 (PMC2430) はユニークな ASCII ID です。
この情報はファイル まず失敗したときに備えて static struct isa_pnp_id sio_ids[] = { そしてあなたのデバイスのエントリを追加する正しい場所を探します。 エントリは以下のような形をしていて、pnpinfo(8) の 出力にある デバイスの説明の全部 (もし収まれば) か一部とともに行の右の方のコメント領域に書かれている ASCII ベンダ ID でソートされています。 {0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */ {0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */ {0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */ {0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */ {0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */ あなたのデバイスの16進数のベンダ ID を正しい場所に
追加し、ファイルをセーブしてカーネルを作り直して再起動します。
あなたのデバイスは FreeBSD 3.x の時と同じように
| |
3.21. |
|
このエラーは、 実行しようとしたアプリケーションが あるカーネルシンボルを検索した結果、 何らかの理由でその検索に失敗した、ということを意味しています。 これは、以下に示すいずれかの理由によるものです。
| |
3.22. | |
症状: TCP コネクションが確立してから、 クライアントソフトウェアがパスワードを尋ねてくるまで (telnet(1) の場合は、ログインプロンプトが表示されるまで) に長い時間がかかる、というもの。 問題: おそらく、サーバソフトウェアがクライアントの IP アドレスからホスト名を解決しようとして、遅れが生じている のでしょう。FreeBSD に付属する SSH や Telnet を含む多くの サーバソフトウェアは、この名前解決をおこないます。これは、 管理者が後日参照するログファイルに、その他の情報と一緒に ホスト名を記録できるようにするのが目的です。 対処法: もし、あなたのコンピュータ (クライアント) からどのサーバに接続する場合にも問題が起こるのであれば、 クライアントに問題があります。そして、誰かがあなたの コンピュータ (サーバ) に接続するときだけ問題が起こるのであれば、 そのサーバの問題です。 問題がクライアントにある場合、唯一の対処法は サーバがそのクライアントの名前を解決できるように DNS を修正することです。 症状がローカルネットワークで発生しているなら、サーバの設定に 原因がありますので、このまま続きを読みましょう。 そうではなく、グローバルなインターネット環境で発生しているなら、 ISP に連絡して問題の修正をお願いしなければならない可能性が高いでしょう。 問題がサーバにあって、症状がローカルネットワークで
発生しているなら、ローカルのアドレス範囲にあるアドレスを、
それに対応するホスト名に解決する問合せを処理できるように、
サーバを設定する必要があります。
詳しくは、hosts(5) および named(8)
のマニュアルをご覧ください。グローバルなインターネット環境の場合は、
サーバのリゾルバが正しく動作していないのが原因かもしれません。
確認するには、他のホスト (たとえば
| |
3.23. | file: table is full という メッセージが繰り返し dmesg にあらわれます。 |
このエラーは、システムのファイル記述子を使い果たして しまった時に発生します。メモリ中のファイルテーブルが一杯に なっているのです。 解決法:
手動で sysctl 変数
カーネルに設定されたデフォルトのファイル記述子の 数を決定するのは、次の maxusers 32 カーネル設定ファイルの 現在設定されている
| |
3.24. | laptop の時間が狂って、大きく進んだり遅れたりします。 |
laptop には二つ以上の時計が内蔵されていますが、FreeBSD が間違った方を選択して使用しています。 dmesg(8) を実行して
sysctl(3) 変数
バッテリ駆動している時に、BIOS が CPU の速度を変えるために TSC クロックを変更したり、電力節約モードに入ることがあります。 しかし、FreeBSD はそういった調整を関知しないので、 時間が早まったり遅れたりするようです。 上記の例では、
これで、laptop はより正確な時間を刻むでしょう。 この変更を起動時に自動で行うには、次の行を
kern.timecounter.hardware=i8254 | |
3.25. | BIOS 画面が出た後、FreeBSD のブートローダが Read error と表示して止まって しまいます。 |
FreeBSD のブートローダがハードディスクのジオメトリを正しく 認識していないようです。FreeBSD のスライスを fdisk によって手動で作成したり変更したりする際に、 ジオメトリを誤って指定してしまったのでしょう。 ハードディスクのジオメトリの正しい値は、マシンの BIOS から 得られます。そのハードディスクのシリンダ、ヘッド、セクタの 数を探してください。 sysinstall(8) の fdisk において、 G を入力してハードディスクのジオメトリを 設定してください。 シリンダ、ヘッド、セクタの数を入力するダイアログが出てきます。 BIOS から得た値を斜線 (/) で区切って入力してください。 5000 シリンダ、250 ヘッド、60 セクタなら、
リターンキーを押して値を設定してください。それから W を入力してハードディスクに新しいパーティ ションテーブルを書き込んでください。 | |
3.26. | 別のオペレーティングシステムが、ブートマネージャを 壊してしまいました。どうすれば復旧できるでしょうか。 |
sysinstall(8) を立ち上げて Configure (設定)、Fdisk の順に選択してください。ブートマネージャが置かれていた ディスクを選択して、スペースキーを 押してください。W を押して変更を ディスクに書き込んでください。どのブートローダを インストールするか尋ねられます。ここで選択すれば戻せます。 |
訳:
山下 淳 <junkun@esys.tsukuba.ac.jp>
、
1997 年 11 月 10 日
この章はまだまだ情報が足りません。 情報を追加してくれるような企業を待ち望んでいます。 FreeBSD グループはここに載っている企業からの金銭的な支援を期待してはいませんので、 奉仕作業の一つとして掲載しています (そして FreeBSD が係わる宣伝は、長い目で見ると FreeBSD に対してよい方向へ働くと思っています)。 私たちは商用ソフトウェアベンダに、 ここで製品を宣伝してもらうことを望んでいます。詳しくは、 商用ソフトウェアベンダ覧のページをご覧ください。
4.1. | FreeBSD 用のオフィススイートはどこで入手できますか? |
| |
4.2. | FreeBSD 用の Motif はどうやったら手に入りますか |
FreeBSD 用の廉価版 ELF Motif 2.1.20 (i386 版、Alpha 版) に関する情報はApps2go から 手に入れることができます。 この製品には、「開発者版 (development edition)」 と、 より安価な「ランタイム版 (runtime edition)」 の二つの版があります。これらの製品は以下の物が含まれています。
注文する際には FreeBSD 用の Motif であることをきちんと 確認してください (あなたの欲しいアーキテクチャを指定するのも 忘れないでください!)。NetBSD や OpenBSD 用の Motif もまた、 Apps2goから販売されています。現在、FTP による ダウンロードのみ利用可能です。
他の FreeBSD 用 Motif 2.1 (ELF 版、a.out 版) に関する情報は Metro Link から手に入れることができます。 この製品は以下の物が含まれています。
注文する際には FreeBSD 用の Motif であることをきちんと 確認してください。Linux 用の Motif も Metro Link から販売されています。現在、CDROM および FTP によるダウンロードが利用可能です。 FreeBSD 用の a.out 版 Motif 2.0 に関する情報は Xi Graphics から 手に入れることができます。 この製品には以下の物が含まれています。
注文する際には FreeBSD 用の Motif であることをきちんと 確認してください。BSDI や Linux 用の Motif もまた、Xi Graphics から販売されています。現在フロッピーディスク 4枚組ですが、 将来的には CDE のように統合された CD に変わるでしょう。 | |
4.3. | FreeBSD 用の CDE はどうやったら手に入りますか |
以前 Xi Graphics より FreeBSD 用の CDE が 販売されていましたが、現在は既に販売が終了しています。 KDE 多くの点で CDE と類似しているオープンソースの X11 デスクトップ環境です。 xfce の ルック & フィール (訳注: 外観や操作方法のこと) も気に入るかも知れません。 KDE、xfce は、いずれも FreeBSD Ports Collection に含まれています。 | |
4.4. | 高機能な商用 X サーバってあるんですか? |
はい、Xi Graphics と Metro Link から、FreeBSD ほか Intel ベースのシステムで動作する Accelerated-X という製品が販売されています。 Metro Link は、FreeBSD のパッケージ操作ツールを利用することで 容易に設定が行なえるほか、数多くのビデオボードをサポートした 高機能な X サーバを提供しています。配布はバイナリ形式のみで、 FTP が利用可能です。もちろん、とても安価 ($39) に手に入れることができます。 また、Metro Link は ELF 版、a.out 版の FreeBSD 用 Motif も販売しています (前を参照)。
Xi Graphics が提供している高性能な X サーバは楽に設定を行なえるほか、 数多くのビデオボード をサポートしています。サーバはバイナリのみが含まれます。 FreeBSD 用と Linux 用の統合されたフロッピーディスクに入っています。 Xi Graphics は Laptop サポートに特化した高性能 X サーバも提供しています。 バージョン 5.0 の「互換デモ」が無料で入手できます。 また Xi Graphics は FreeBSD 用の Motif と CDE も販売しています (前を参照)。
| |
4.5. | FreeBSD 用のデータベースシステムはありますか? |
もちろんです。FreeBSD のウェブサイトにある 商用ベンダー というセクションをご覧ください。 また、FreeBSD Ports Collection のデータベースのセクションも参考になるでしょう。 | |
4.6. | Oracle を FreeBSD 上で動かすことはできますか? |
はい。Linux 版 Oracle を FreeBSD でセットアップするための方法は、 次に示すページに詳しく書かれています。 |
訳:
山下 淳 <junkun@esys.tsukuba.ac.jp>
、
広瀬 昌一 <shou@kt.rim.or.jp>
、
1997 年 11 月 8 日
5.1. | そういうユーザアプリケーションはどこにあるの? |
FreeBSDに移植されたソフトウェアパッケージについては、
FreeBSD Ports Collection
のページをご覧ください。
このリストには現在 3400 を越える項目があり、
しかも毎日更新されています。このページをこまめに訪れるか、
大部分の ports は 2.2 と 3.x および 4.x ブランチで利用できるはずです。
多くは 2.1.x 系のシステムでも同様に動作するでしょう。
FreeBSD のリリースが出る度に、そのリリースの時点での ports ツリーの
スナップショットが撮られ、 また、「package」 という考えも採用されています。これは基本的には gzip で圧縮されたバイナリディストリビューションに、 インストール時に環境に合わせた作業が必要になった場合、 行う機能を多少付け加えたものです。 package を使えば、どのようなファイルが配布物として含まれているか、 と言った細かい事柄にいちいち煩わされることなく、 簡単にインストールやアンインストールを繰り返すことができます。
インストールしたい package があるなら、
お近くのミラーサイトもご利用ください。 新しい ports が続々と追加されている状態なので、すべての ports に 対応する package が存在するわけではないことを覚えておいてください。 定期的に ftp.FreeBSD.org マスターサイトを訪れて、どのような package が利用できるのかチェックするのも良いでしょう。 | |
5.2. | なぜ |
それは、POSIX がそのようなシェルがあることを規定しているからです。 もっと込み入った回答: 多くのユーザは、多くのシステムで同じように動作できるシェルスクリプトを書く必要があります。 これが、POSIX でシェルやユーティリティコマンドが細く規定されている理由です。 ほとんどすべてのスクリプトは Bourne shell で書かれているのですが、 それは、数多くの重要なプログラミングインタフェイス (make(1)、 system(3)、popen(3)、や Perl や Tcl 等の類似の 高水準スクリプト言語) が、コマンドの解釈に Bourne shell を使うからです。 このように Bourne shell が極めて頻繁にかつ広範囲で使われているため、 素早く起動できて確実に動作し、メモリを少ししか消費しないということが 重要になります。
既存の実装は、
私たちに可能な限りこれらの多くの要求を同時に満足することができる最良のものです。
| |
5.3. | libc.so.3.0 はどこにありますか? |
FreeBSD 2.1.x のシステムで 2.2 以降用の package を動かそうとしていますね? 前のセクションを読んで、システムに合った正しい port/package を入手してください。 | |
5.4. |
|
何かの手違いで、4.X と 5.X のシステム用 package をダウンロードし、 FreeBSD 2.X、もしくは 3.X のシステムにインストールしてしまったのでしょう。 対応する正しいバージョンの package をダウンロードしてください。 | |
5.5. | 386/486SX のマシンで ghostscript を動かすとエラーがでます。 |
あなたのマシンには数値演算プロセッサが搭載されていませんね? カーネルにコプロセッサの代わりとなる数値演算エミュレータを追加する必要があります。 以下のオプションをカーネルのコンフィグレーションファイルに追加して、 カーネルを再構築してください。 options GPL_MATH_EMULATE 注記:このオプションを追加する場合、
| |
5.6. | SCO/iBCS2 のアプリケーションを実行すると、
|
まず最初に
# Set to YES if you want ibcs2 (SCO) emulation loaded at startup ibcs2=NO これでシステムの起動時に ibcs2 カーネルモジュールが読み込まるようになります。 次に /compat/ibcs2/dev/ を以下のように編集します。 lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys -rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx
open や close の処理は、
socksys から
| |
5.7. | INN (インターネットニュース) の設定方法は? |
inn の package や port をインストールしたあとに Dave Barr's INN Page を見てみましょう。初心者向けの INN FAQ があります。 | |
5.8. | どのバージョンの Microsoft FrontPage を手に入れる必要がありますか? |
ルーク、ports を使うのだ! パッチ処理済みの Apache が ports ツリーから入手できます。 | |
5.9. | FreeBSD は Java をサポートしていますか? |
はい。 http://www.FreeBSD.org/java/ をご覧ください。 日本語訳 もあります。 | |
5.10. | 3.x-STABLE を載せているマシンで port がコンパイルできないことがあります。それはどうしてですか? |
もし、その時点の -CURRENT か -STABLE に比べてずっと古いバージョンの FreeBSD を利用しているなら、 http://www.FreeBSD.org/ports/ にある ports アップグレードキットが必要です。 最新の FreeBSD を利用しているのに発生する場合はおそらく、 -CURRENT では正常なのに -STABLE ではうまく動かなくなるような変更がその port に対して行なわれ、受理されてしまっているのでしょう。 ports コレクションは -CURRENT と -STABLE、 両方のブランチで動かなければならないものですので、 もしそれを発見したら send-pr(1) コマンドを使ってバグレポートの提出をお願いします。 | |
5.11. | ld.so はどこにありますか? |
3.1-R 以降などの Elf 化されたマシンで Netscape Navigator などの
aout 形式のアプリケーションを動かすときには、
| |
5.12. | ソースコードを更新しました。さて、インストール済みの ports を更新するにはどうすればよいでしょうか? |
残念ながら、インストール済みの ports を更新する簡単な
方法はありません。
出力されたスクリプトを使う前に、手で
編集しなければなりません。現在のバージョンの
スクリプトの出力には、更新された packages に依存する packages が記載されているので、保存しておきましょう。これらも やはり更新する必要があるかもしれません。通常、更新が 必要となるのは、共有ライブラリのバージョンが変化し、 そのライブラリを利用している ports が新しいライブラリを用いるために 再構築する必要がある場合です。 システムが常時稼動しているならば、
|
訳:
はらだ きろう <kiroh@jp.FreeBSD.org>
、
1997 年 11 月 10 日
6.1. | カーネルをカスタマイズしたいんですが、難しいですか? |
全然難しくありません。 カーネルの再構築を調べてください。 注記:うまく動作するカーネルができたら、
日付入りのカーネルのスナップショットを
| |
6.2. |
|
推測ですが、数値演算コプロセッサを持ってないからと思って、
| |
6.3. | わたしのカーネルはどうしてこんなに大きい (10MB 以上) のでしょうか? |
これはデバッグモードでカーネルを構築していることが原因です。 デバッグモードで構築されたカーネルは、 デバッグに用いられる膨大なシンボル情報を含んでいるため、 カーネルのサイズが非常に大きくなります。 ただし FreeBSD 3.0 とそれ以降のシステムの場合は カーネルのサイズは小さくなりますし、 デバッグカーネルを実行する時のパフォーマンスの低下もありません。 また、そのカーネルはシステムがパニックした場合に有用です。 しかし、容量の小さなディスクでシステムを運用していたり、 単にデバッグカーネルを実行したくない場合は、 以下の両方が当てはまっているかどうか確認してください。
上に書かれた指定は両方ともカーネルをデバッグモードで構築するためのものです。 上の手順を従っている限り、カーネルを普通に構築してサイズの小さなカーネルを得ることができます。 その場合のカーネルサイズは、およそ 1.5MB から 2MB 程度になります。 | |
6.4. | マルチポートシリアルのコードで割り込みが衝突しています。 |
マルチポートシリアルを サポートするコードを含んだカーネルをコンパイルしようとすると、 最初のポートだけ検出され、 残りのポートは割り込みの競合のためスキップされたと言われます。 どうやったらいいでしょうか? ここでの問題は、FreeBSD にはハードウェアまたはソフトウェアの競合により、 カーネルがクラッシュするのを防ぐコードが含まれているという点です。 解決するには、最初のポートにだけ IRQ の設定を書き、 残りは IRQ の設定を削除します。 以下に例を示します。 # Multiport high-speed serial line - 16550 UARTS # device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr | |
6.5. | カーネルを構築にいつも失敗します。 GENERIC カーネルも構築できません。 |
さまざまな理由が考えられます。以下、順に列記します。
|
訳:
にしか <nishika@cheerful.com>
、
1997 年 11 月 12 日
7.1. | システムスタートアップファイルはどこにあるのですか? | ||||||||
FreeBSD 2.0.5R から 2.2.1R までは、
プライマリコンフィグレーションファイルは
ファイル
FreeBSD 2.2.2 から 3.0 までのシステムでは、
FreeBSD 3.1 とそれ以降では、
たとえば named を起動したいとしましょう。 FreeBSD 3.1 かそれ以降のシステムで FreeBSD 付属の DNS サーバを起動するには、次のようにするだけです。
FreeBSD 3.1 かそれ以降でローカルサービスを起動するためには、
ファイル ファイル | |||||||||
7.2. | 簡単にユーザを追加するにはどうすればいいのですか? | ||||||||
adduser(8) コマンドを使用してください。 また、pw(8) コマンドを用いることで、さらに細かい操作が可能です。 ユーザを削除するには rmuser(8) コマンドを使用してください。 繰り返しになりますが、pw(8) でも構いません。 | |||||||||
7.3. | 新しいリムーバブルドライブを持っていますが、どうやって使うの? | ||||||||
そのリムーバブルドライブが ZIP であれ EZ drive であれ (あるいはもしそういう風に使いたいのなら、フロッピーであれ)、 またハードディスクであれ、一旦システムにインストールされて認識され、 カートリッジ、フロッピー等々が挿入されていれば、 ことはどのデバイスでも全く同じように進みます。 (このセクションはMark Mayo's ZIP FAQ に基づいています) ZIP ドライブやフロッピーで、すでに DOS のファイルシステムで フォーマットしてある場合、次のコマンドを使うことができます。 これはフロッピーの場合です。
出荷時の設定の ZIP ディスクではこうです。
その他のディスクに関しては、fdisk(8) や
以降は ZIP ドライブが 3 番目の SCSI ディスクで、 da2 と認識されている場合の例です。
他人と共有しなければならないフロッピーやリムーバブルディスク
でなければ、BSD ファイルシステムを載せてしまうのが良い考えでしょう。
ロングファイル名もサポートされ、パフォーマンスは少なくとも
2 倍は向上しますし、おまけにずっと安定しています。
まず最初に、DOS レベルでのパーティション
複数の BSD パーティションをつくる場合、
最後に、新しいファイルシステムをつくります。ディスク全体を使用する ZIP ドライブの場合は、以下のようにします。
次にマウントします。
また、次のような行を
/dev/da2c /zip ffs rw,noauto 0 0 | |||||||||
7.4. | 自分の crontab ファイルを編集した後 root: not found のようなメッセージが延々と表示されるのですが、 これはなぜですか? | ||||||||
これは通常、システム crontab (
この方法は正しくありません。 システム crontab のフォーマットは crontab(1) が更新する各ユーザの crontab とは異なります (フォーマットの相違点の詳細は crontab(5) で説明されています)。
もしこのような操作をしてしまったなら、
あらたな crontab は誤ったフォーマットの
今度
もしあなたが何かを一日一回、あるいは一週間や一ヶ月に一回だけ
実行させたいなら、シェルスクリプトを
このエラーの実際の原因は、システム crontab には
どのユーザ権限でコマンドを実行するかを指定する余分なフィールドがあることによるものです。
FreeBSD に添付されている標準のシステム crontab には、
すべてのエントリに | |||||||||
7.5. | su(1) コマンドを実行して
| ||||||||
これは、セキュリティ上の機能です。su コマンドを実行して
誰かが | |||||||||
7.6. |
| ||||||||
シェルのパス名を入力するプロンプトが表示されたときに、
単に vi(1) や emacs(1) の様なフルスクリーンエディタを
使うつもりなら これを行ったあとはいつもと同様、
| |||||||||
7.7. | どのようにしたら DOS の拡張パーティションをマウントできますか? | ||||||||
DOS 拡張パーティションは、
すべての基本パーティションの後に認識されます。
たとえば、2台目の SCSIドライブの拡張パーティションに
「E」
パーティションがあるとしますと、
これは
| |||||||||
7.8. | 他のシステムのファイルシステムを FreeBSD でマウントすることはできますか? | ||||||||
この問題について他の情報があれば、他の人から感謝されるでしょう。 | |||||||||
7.9. | どのようにしたら FreeBSD を NT ローダーから起動させることができますか? | ||||||||
この手順は 2.2.x と (起動が 3 つのステージに分かれている) 3.x のシステムとで多少異なります。
FreeBSD のネイティブルートパーティションの最初のセクタをファイルにして
DOS/NT パーティション上に置くという画期的なアイディアがあります。
ファイル名を
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" C:\BOOTSECT.BSD="FreeBSD" C:\="DOS" この手順は、利用しているシステムが 2.2.x であり、DOS、NT、FreeBSD あるいはその他のオペレーティングシステムがすべて、 同じディスクのそれぞれの fdisk パーティションにインストールされていることを想定しています。 この例は、DOS と NT を最初の fdisk パーティションにおき、 FreeBSD は 2 番目においたシステムで確認しています。 また、FreeBSD は MBR を使わずに、 ネイティブパーティションから起動するように設定してあります (訳注: FreeBSD のインストールで、ブートマネジャを使わずに標準 MBR を使う場合に相当します)。
(もし NTFS に変換してしまっているなら)DOS
フォーマットのフロッピーディスクか FAT
パーティションを
再起動して DOS か NT に切替えます。NTFS ユーザは
上の例の
FreeBSD が MBR から起動するようになっている場合、
それぞれのネイティブパーティションから起動するように設定した後で、
DOS から FreeBSD 3.X における手順は、これよりいくぶん簡単です。
FreeBSD が NT 起動パーティションとして同じディスクにインストールされている場合には、
警告:ここで
FreeBSD ブートマネージャは最後に起動した OS を記録するために
パーティションテーブルの最後に起動した OS
のエントリにあるアクティブフラグをセットし、512 バイト全体を MBR に書き戻します。
これは | |||||||||
7.10. | FreeBSD と Linux を LILO から起動するには? | ||||||||
FreeBSD と Linux が同じディスクにインストールされている場合、 単に Linux 以外の OS を起動するための LILO のインストール手順に 従えばいいだけです。非常に簡単にではありますが、記してみましょう。
Linux を起動し、 other=/dev/hda2 table=/dev/hda label=FreeBSD
(上記の手順は FreeBSD のスライスが Linux から
FreeBSD が別のディスクにインストールされているのなら、
LILO のエントリに
other=/dev/dab4 table=/dev/dab loader=/boot/chain.b label=FreeBSD 場合によっては、二つ目のディスクを正しく起動するために FreeBSD ブートローダに BIOS ドライブ番号を指定する必要があるかもしれません。 たとえば、FreeBSD SCSI ディスクが BIOS によって BIOS ディスク 1 として認識されるのなら、 FreeBSD のブートローダのプロンプトで、次のように指定する必要があります。
FreeBSD 2.2.5 やそれ以降の版では、boot(8) を設定すれば 起動時に上記のことが自動的に行えます。 Linux+FreeBSD mini-HOWTO が FreeBSD と Linux とを相互に使えるようにするためのよい参考資料になるでしょう。 | |||||||||
7.11. | FreeBSD と Linux を BootEasy から起動するには? | ||||||||
LILO をマスターブートレコード (MBR) ではなく Linux の起動パーティションにインストールしてください。 これで BootEasy から LILO を起動できるようになります。 Windows95 と Linux を使用している場合は、 いずれにせよ後者の方がおすすめです。 Windows95 を再インストールする必要にかられたとき、 Linux を起動可能に戻す手続きが簡単ですむからです (Windows95 は偏屈なオペレーティングシステムで、 マスターブートレコード (MBR) から他のオペレーティングシステムを追い払ってしまうのです)。 | |||||||||
7.12. | 「危険覚悟の専用 (dangerously dedicated) ディスク」は健康に悪いの? | ||||||||
インストール作業中、 ハードディスクのパーティションを切る際に 2 つの方法を選ぶことができます。 デフォルトの方法では、fdisk のテーブルエントリ (FreeBSD ではスライスと呼ばれる) を使って、 自身のパーティションを使用する FreeBSD のスライスを、 同じマシンの他のオペレーティングシステムと互換性のある形にします。 それに付随して、ブートセレクタをインストールすれば、 ディスク上の使用可能なオペレーティングシステムを切り替えることができます。 もう一つの方法はディスクすべてを FreeBSD で使うというもので、 この場合ほかのオペレーティングシステムとの互換性を考慮しないことになります。 では、なぜこれが 「危険覚悟の」と言われるのでしょう? このモードのディスクが、通常の PC のユーティリティが有効な fdisk テーブルと見なす情報を持っていないからです。 ユーティリティの出来如何によりますが、 そのようなディスクを発見したとき、 警告を出すものもあります。また、もっと悪い場合、 確認も通告もなしに BSD のブートストラップにダメージを与えるものもあるでしょう。 さらには、「危険覚悟の」ディスクレイアウトは多数の BIOS、 AWARD (たとえば HP Netserver や Micronics システム、 他多数で使用されていた) や Symbios/NCR (人気のあるSCSI コントローラ 53C8xx 用) などを混乱させることが分かっています。 これは完全なリストではありません。 他にもまだまだあります。この混乱の兆候は、 起動時にシステムがロックするというだけでなく、 FreeBSD のブートストラップが自分自身を見つけられないために表示する 「read error」 というメッセージなどにも現れることでしょう。 そもそもいったいなぜこのモードがあるのでしょうか? これはわずかに数キロバイトのディスク容量を節約するのみであり、 新規インストールで実際に問題を生ずるのです。 「危険覚悟の」モードの起源は新しい FreeBSD インストーラでの、 BIOS から見えるディスクの 「ジオメトリ」の値とディスク自身との整合性という、 もっとも一般的な問題のひとつを回避したいという要求が背景にあります。 「ジオメトリ」は時代遅れの概念ですが、 未だに PC BIOS とディスクへの相互作用の中核をなしています。 FreeBSD のインストーラがスライスを作る時、 ディスク上のスライスを BIOS が見つけられるように、 スライス位置をディスク上に記録します。それが誤っていれば、 起動できなくなってしまうでしょう。 「危険覚悟の」モードはこれを、 問題を単純にすることで回避しようとします。 状況によってはこれでうまくいきます。 しかし次善の策として使われているに過ぎません。 この問題を解決するもっと良い方法はいくらでもあるのです。
では、
インストール時に「危険覚悟の専用」モードが必要になる
状況を回避するにはどうすればよいのでしょうか?
まず BIOS が報告するディスクのジオメトリの値を覚えておくことからはじめましょう。
「boot:」
プロンプトで 「
ディスクをスライシングする際に、
FDISK の画面で表示されるディスクのジオメトリが正しいこと (BIOS
の返す値と一致しているか) を確認してください。
万一異なっていたら 「 ディスクのジオメトリについて BIOS と FreeBSD 間で一致させることができたら、この問題はほぼ解決したと思ってよいでしょう。 そしてもはや「危険覚悟の専用」モードは必要ありません。 しかし、まだ起動時に恐怖の 「read error」 メッセージが出るようであれば、 お祈りを捧げて新しいディスクを買いましょう。 もう失うものは何もありません。 「危険覚悟の専用ディスク」を通常の PC での使用法に戻すには、 原則として 2 つ方法があります。1 つは十分な NULL バイトを MBR に書き込んで、 きたるべきインストーラにディスクはまっさらだと思い込ませる方法です。 たとえば、こんな感じです。
また、マニュアルには書かれていない DOS の「機能」
は、BSD ブートストラップを追い払ってくれる上に、 新しいマスターブートレコードをインストールしてくれます。 | |||||||||
7.13. | どのようにしたらスワップ領域を増やせますか? | ||||||||
スワップパーティションのサイズを増やすのが最良の方法ですが、 別のディスクを追加しなくて済むという利点のある方法があります。 経験から得た一般的な方法はメインメモリの 2倍程度のスワップ領域を とるというものです。しかしごく小さなメインメモリしかない場合は、 それ以上のスワップを構成したいと思うでしょう。また、将来のメモリの アップグレードに備え、後でスワップの構成を変更する必要がないように 十分なスワップを構成しておくことは良い考えです。 スワップを別のディスク上に追加することは、単純に同じディスク上 にスワップを追加する場合よりも高速に動作するようになります。 例に挙げれば、あるディスク上のソースをコンパイルしているとして、 スワップが別のディスク上に作られていれば、これらが同じディスク上 にある場合よりも断然速いです。SCSI ディスクの場合は特にそうだと言えます。 ディスクが複数ある場合、スワップパーティションを各ディスクに 作るように構成すると、使用中のディスク上にスワップを置いたとしても、 通常の場合は有益です。一般的に、システムにある高速なディスクには スワップを作るようにすべきでしょう。 FreeBSD はデフォルトでインターリーブなスワップデバイスを 4つまで サポートします。複数のスワップパーティションを構成する際に、 普通はそれらを大体同じくらいの大きさにして作りたいところですが、 カーネルのコアダンプを取るのに都合が良いようにメインの スワップパーティションを大きめにとる人もいます。 メインのスワップパーティションはカーネルのコアがとれるように 最低でも実メモリと同じ大きさにすべきでしょう。 IDE ドライブは同時に同じチャネル上の複数のドライブには アクセスできません (FreeBSD は mode 4 をサポートしていないので、 すべての IDE ディスク I/O は 「programmed」 です)。 IDE の場合であってもやはり、スワップを別のハードディスク上に 作成することをおすすめします。 ドライブは実に安いものです、心配するだけ無駄です。 NFS 越しにスワッピングさせる方法は、 スワップ用のローカルディスクが無い場合にのみ推奨されます。 NFS 越しのスワッピングは遅く、FreeBSD 4.x より前のリリースでは 効率が悪いのですが、4.0 以降ではそれなりに高速になります。 そうはいっても、利用できるネットワークの太さに制限されますし、 NFS サーバに余計な負荷がかかります。
これは 64MBの vn-swap を作る例です (ここでは
カーネルが次の行を含むコンフィグファイルから構成されているかを 確認します。GENERIC カーネルには、この行が含まれています。 pseudo-device vn 1 #Vnode driver (turns a file into a device)
スワップファイルをすぐに有効化させたいのなら以下のようにタイプします。
| |||||||||
7.14. | プリンタのセットアップで問題があります | ||||||||
ハンドブックのプリンタの部分を参照してください。 探している問題のほとんどが書かれているはずです。 FreeBSD ハンドブックの「プリンタの利用」をご覧ください。 プリンタによっては、印刷するのにホスト側にドライバが
必要です。これら 「WinPrinters」 と呼ばれるものは、
素の FreeBSD では使えません。DOS や Windows NT 4.0 で動作しない
なら、そのプリンタはおそらく WinPrinter でしょう。
ただし、唯一の希望が残されています。
| |||||||||
7.15. | 私のシステムのキーボードマッピングは間違っています。 | ||||||||
これは
FreeBSD 2.0.5R
やそれ以降の版では、
テキストフォントやキーボードマッピングに関係のあるものはすべて、
現在以下のマッピングがサポートされています。
| |||||||||
7.16. | 起動時に、unknown: <PNP0303> can't assign resources というメッセージが表示されるのですが? | ||||||||
以下は、freebsd-current メーリングリストへの投稿からの 抜粋です。
| |||||||||
7.17. | ユーザディスククォータが正常に動作していないようです。 | ||||||||
| |||||||||
7.18. | わたしの ccd は、 何が適合していない (Inappropriate) のでしょう? | ||||||||
次のような症状が現れます。
通常この現象はタイプを「未使用 (unused)」のまま放っておかれた
| |||||||||
7.19. | どうしてわたしの ccd のディスクラベルを変更することができないのでしょう? | ||||||||
次のような症状が現れます。
これは ccd から返されるディスクラベルが、 実はディスク上にはないまったくの偽の情報だからです。 これを明示的に書き直すことで問題を解消できます、 それには、つぎのようにします。
| |||||||||
7.20. | FreeBSD は System V の IPC プリミティブをサポートしますか? | ||||||||
はい。 FreeBSD は System-V スタイルの IPC をサポートします。 共有メモリ、メッセージ、セマフォが含まれます。 以下の行をカーネルコンフィグファイルに加えると、 サポートが有効になります。 options SYSVSHM # enable shared memory options SYSVSEM # enable for semaphores options SYSVMSG # enable for messaging 注記:FreeBSD 3.2 とそれ以降では、 これらのオプションがあらかじめ GENERIC カーネルに含まれていますので、 あなたのシステムにはすでに組み込まれています。 カーネルを再構築してインストールしてください。 | |||||||||
7.21. | UUCP でメールを配送するには sendmail をどう使えばよいのですか? | ||||||||
FreeBSD に付属している sendmail は、 インターネットに直接つながっているサイトにあわせて設定してあります。 UUCP 経由で mail を交換したい場合には sendmail の設定ファイルを改めてインストールしなければなりません。
もしすべてのソースをインストールしていない場合には sendmail の設定ツールは、別の tar ファイルにまとめてあります。CD-ROM が mount されている場合には、次のようにしてください。
これはたった数 100Kbyte ですから心配ないでしょう。
UUCP での配送のためには、 まずはじめに、
標準的な
include(`../m4/cf.m4') VERSIONID(`
これが終了したら、次に
# # makemap hash /etc/mailertable.db < /etc/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:
見れば分かるように、これは実在する設定のファイルです。はじめの
3 行はドメイン名で指定されたメールが default の経路で配送されずに、
「近道」するために UUCP で隣りのサイトに送るための特別な状況を
処理するものです。
次の行は Ethernet でつながっているローカルのドメインに対しては
SMTP で送るための設定です。
最後に、UUCP での隣りのサイトが .UUCP で終わる仮想ドメインの書式で
指定されており、default の rule を
最後に、このファイルは使用する前に DBM データベースのファイルに 変換する必要があります。これを行なうコマンドラインは mailertable の最初のコメントに書いてあります。mailertable を変更した時には、 必ずこのコマンドを実行してください。
最後のヒントです: もし特定のメール配送がうまく作動するかどうか
確かめたい場合には、sendmail の
| |||||||||
7.22. | ダイアルアップでインターネットに接続する環境でメールをセットアップするにはどうやるの? | ||||||||
静的に IP アドレスが割り当てられる場合は、 デフォルトの状態を変更する必要はありません。 割り当てられた名前をホストネームと するだけで、sendmail が後のことを引き受けてくれます。
ダイアルアップ ppp を
インターネット接続に使用し、動的に IP アドレスが割り当てられる場合は、
インターネットサービスプロバイダ (ISP)
のメールサーバにメールボックスがあるはずです。
ISP のドメインが
メールボックスからメールを取ってくるためには、
回収 (retrieval) エージェントをインストールする必要があります。
Fetchmail
は多種多様なプロトコルをサポートしているのでお勧めです。
ISP が使用しているのは、大抵 POP3 プロトコルです。
ユーザ ppp を使用している場合、
MYADDR: !bg su user -c fetchmail ローカルでないアカウントにメールを配送するのに sendmail を使用している場合 (後述)、 上に示したエントリの後に !bg su user -c "sendmail -q" を記述します。これはネットワーク接続が確立したらすぐに sendmail に溜っている mailqueue を強制的に処理させるようにします。
この例では、 poll myISP.com protocol pop3 fetchall pass MySecret;
言うまでもなく、このファイルは
正しい
上の要件を満たすには、以下のような VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(`myISP.com')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(`SMART_HOST', `relay.myISP.com') Dmbsd.home define(`confDOMAIN_NAME',`bsd.home')dnl define(`confDELIVERY_MODE', `deferred')dnl
| |||||||||
7.23. | この UID が 0 の | ||||||||
心配無用です。
| |||||||||
7.24. | しまった! root のパスワードを忘れてしまった! | ||||||||
慌てないでください! 単にシステムを再起動し、
シングルユーザモードに移るために | |||||||||
7.25. | Control-Alt-Delete でシステムが再起動しないようにするにはどうすればいい? | ||||||||
FreeBSD 2.2.7-RELEASE 以降で syscons (デフォルトのコンソールドライバ) を使用している場合には、次の行をカーネルコンフィグレーションファイルに追加して カーネルを再構築し、インストールしてください。 options SC_DISABLE_REBOOT FreeBSD 2.2.5-RELEASE 以降で PCVT コンソールドライバを使用している 場合には、同様に次の行をカーネルコンフィグレーションファイルに追加して カーネルを再構築し、インストールしてください。 options PCVT_CTRL_ALT_DEL
上にあげたものよりも古い FreeBSD の場合、
現在コンソールが使用しているキーマップを編集し、
キーワード
| |||||||||
7.26. | DOS のテキストファイルを UNIX のテキストファイルに整形するにはどうすればいい? | ||||||||
単に次の perl コマンドを実行してください。
file
の部分には処理するファイルを指定してください。
整形後のファイルは元のファイル名で作成され、
整形前のファイルはバックアップとして元の
ファイル名の末尾に拡張子
あるいは tr(1) コマンドを使うこともできます。
| |||||||||
7.27. | 名前で指定してプロセスにシグナルを送るにはどうすればいい? | ||||||||
killall(1) を使ってください。 | |||||||||
7.28. | su が not in | ||||||||
Kerberos の認証システムからくるエラーです。
この問題は致命的なものではなく、
うっとおしいといったものです。
| |||||||||
7.29. | Kerberos をアンインストールするにはどうすればいいの? | ||||||||
システムから Kerberos を削除するには、
あなたの動かしているリリースの
bin ディストリビューションを再インストールしてください。
もし CDROM を持っているのなら、
その CDROM をマウント (マウントポイントは
| |||||||||
7.30. | 疑似ターミナルを追加するには? | ||||||||
telnet、ssh、X、screen をたくさん利用されている場合、 疑似ターミナルが足りなくなっている可能性があります。 これを増やすには次のようにします。
| |||||||||
7.31. |
| ||||||||
これらのデバイスを作成するには、次のようにする必要があります。
| |||||||||
7.32. | 再起動せずにもう一度
| ||||||||
シングルユーザモードに移行して、 マルチユーザモードに戻ってください。 コンソールで次のように実行します。
| |||||||||
7.33. | 砂場 (sandbox) とは何ですか? | ||||||||
「砂場 (Sandbox)」 とはセキュリティ用語の一つで、 次の二つの意味があります。
UNIX は、内部的に二つの砂場 (sandbox) を実装しています。 一つはプロセスレベルのもの、もう一つはユーザ ID レベルのものです。 UNIX プロセスはすべて、他の UNIX プロセスから完全に隔離されています。 どのプロセスも、他のプロセスのアドレス空間を変更することはできません。 これは、あるプロセスが他のプロセスのアドレス空間を上書きできるような、 クラッシュにつながる行為が容易に実現できる Windows とは全く異なるものです。
UNIX プロセスは、特定のユーザ ID が所有します。
もし、実行者のユーザ ID が | |||||||||
7.34. | セキュアレベル (securelevel) って何ですか? | ||||||||
セキュアレベルとはカーネルに実装されているセキュリティ機構の一つです。
簡単に言うと、カーネルはセキュアレベルが正の値の時に、
ある特定の操作を制限します。この制限は、たとえスーパユーザ
(
稼働中のシステムでセキュアレベルの状態をチェックするには、 次のコマンドを実行します。
出力には、sysctl(8) 変数 (今の場合は
システム稼働中にセキュアレベルを下げることはできません。
これは、それを可能にするとセキュアレベルの意味がなくなってしまうからです。
セキュアレベルが正の値でないことを要求する操作
(たとえば セキュアレベルに関する詳しい情報や、 各レベルで実現される機能に関しては init(8) のマニュアルページを参照してください。 警告:セキュアレベルは万能というわけではなく、 弱点も数多く存在します。また、場合によっては、 セキュリティを低下させてしまうこともあります。 最も大きな問題の一つに、 セキュアレベルの機能を有効にするには、 起動処理でセキュアレベルが設定されるまでに使われるすべてのファイルを 保護する必要があるということがあります。 もし攻撃者が、システムがセキュアレベルを設定する前にコードを実行することができるとしたら、 セキュアレベルによる保護は無意味になってしまいます (起動時には低いセキュアレベルでしか実行できない処理を行なう必要があるため、 セキュアレベルの設定は、起動処理の最後の方で行なわれます)。 起動処理で使われるすべてのファイルを保護することは技術的に不可能です。 もしそうできたとしても、システムの保守はまさに悪夢となるでしょう。 設定ファイル一つ書き換えるのにも、 シングルユーザモードに切替えなければならなくなるのですから。 以上で説明した内容やその他の点については、 メーリングリストでも良く話題にのぼります。 議論のようすをこのページから検索してみてください。 セキュアレベルは、 いずれより粒度の細かい機構にとって代わるだろうと考えている人々もいますが、 その点についてはまだ不透明なままです。 どうか注意するようにしてください。 | |||||||||
7.35. | フロッピーや CDROM や他のリムーバブルメディアのマウントを一般ユーザーに許可するには? | ||||||||
一般ユーザーでもデバイスをマウントできるようにすることができます。 手順は次のとおりです。
これで、すべてのユーザは
フロッピー
これで、
デバイスのアンマウントは簡単です。
しかし、
| |||||||||
7.36. | システムを新しい巨大ディスクへ移すにはどうするのですか? | ||||||||
一番良いのは新しいディスクに OS を再インストールして、 それからユーザデータを移すことです。特にあなたが -stable を 複数のリリースを跨いで追い掛けている場合にはこの方法をおすすめします。 あなたは boot0cfg(8) を使うことで booteasy を両方の ディスクにインストールでき、新しい配置で満足している間 デュアルブートができます。これを行ったあとデータを移す 方法を探すなら次の段落は読み飛ばしてください。 何もないディスクへインストールしないことに決めたならば
新しいディスクの立ち上げが終わってデータの移動を
待つばかりになりました。しかし悲しいかな、無闇やたらと
コピーすればいいというものではありません。デバイスファイル
( あなたは dump(8) と restore(8) 以外のもので root ファイルシステムを移行してはなりません。 tar(1) コマンドでもたぶんうまく行くでしょうが、 やらないほうがいいでしょう。パーティション一つを もう一つのからのパーティションに移すときは dump(8) と restore(8) 使うべきです。 パーティションのデータを新しいパーティションに移すのに dump を使うやり方は以下の通りです。
たとえば root を
もしパーティションの構成を変えようと思っているなら -
つまり一つだったものを二つにしたり二つだったものをくっつけたり
しようとしているなら、自前であるディレクトリ以下のすべてを
新しい場所へ移す必要が出てくるかも知れません。dump(8) は
ファイルシステムに働くのでこの目的には使えません。この場合は
tar(1) を使います。一般に
tar(1) のかわりに cpio(1) や pax(1), cpdup (ports/sysutils/cpdup) 等を 使っても構いません。 | |||||||||
7.37. | システムを最新の -STABLE にアップデートしようとしたのですが -RC や -BETA になってしまいました! 何が起こったのですか? | ||||||||
短い答え: ただの名前です。RC は 「リリース候補 (Release Candidate)」 に 由来するもので、リリースが間近であることを意味します。 また、FreeBSD における -BETA は通常、 リリース前のコードフリーズ期間に入っているという意味になります。 長い答え: FreeBSD はそのリリースを 2 ヶ所あるうちの 一方から派生させます。3.0-RELEASE や 4.0-RELEASE の様な (0 のマイナー番号を持つ) メジャーリリースは、一般に -CURRENT と呼ばれる 開発版の流れから分岐させられてできます。3.1-RELEASE や 4.2-RELEASE などのマイナーリリースはアクティブな -STABLE ブランチ (枝) の スナップショットでした。 4.3-RELEASE からは、リリース毎にブランチが作成されるように なりました。ものすごく保守的な開発速度 (主にセキュリティ 勧告のみ) を求めている人は、このブランチを追跡すると よいでしょう。 リリースを作る時になるとそれを分岐させるブランチは 特定のプロセスへ突入します。そのプロセスの一つは コードフリーズ (コードの凍結) です。コードフリーズが 始まると、そのブランチの名前がリリースになろうとしていることを 反映するものに変えられます。たとえば、4.0-STABLE と 呼ばれていたブランチは名前が 4.1-BETA へと 変えられ、コードフリーズとリリース前のテストが 始まったことを示します。 バグの修正はリリースの一部としてコミットされます。 ソースコードがリリースの形を取ったなら名前が 4.1-RC へと 変えられ、それからリリースが作られることを示します。 ひとたび RC のステージになってしまうと、発見された もっとも致命的なバグの修正しかできなくなります。 ひとたびリリースが (この例では 4.1-RELEASE) 作られれば、 そのブランチは 4.1-STABLE と改名されます。 | |||||||||
7.38. | 新しいカーネルを入れようとしたのですが、 chflags に失敗します。どうすれば良いのでしょう? | ||||||||
簡単な回答: 多分、セキュアレベルが 0 より大きくなっているのでしょう。 直接シングルユーザモードで再起動して、 カーネルをインストールしてください。 詳しい回答: FreeBSD では、セキュアレベルが 0 より大きい場合、 システムフラグの変更が禁止されます。 現在のセキュアレベルは、次のコマンドを使って調べることができます。
セキュアレベルを下げる操作は、できないようになっています。
そのため、カーネルをインストールするには、
シングルユーザモードで起動するか、 | |||||||||
7.39. | システムの時刻を 1 秒以上変更することができないのです! どうすれば良いのでしょう? | ||||||||
簡単な回答: 多分、セキュアレベルが 1 より大きくなっているのでしょう。 直接シングルユーザモードで再起動して、 時刻の変更をしてください。 詳しい回答: FreeBSD では、セキュアレベルが 1 より大きい場合、 1 秒以上の時刻変更が禁止されます。 現在のセキュアレベルは、次のコマンドを使って調べることができます。
セキュアレベルを下げる操作は、できないようになっています。
そのため、システムの時刻を変更するには、
シングルユーザモードで起動するか、 | |||||||||
7.40. | rpc.statd(8) にメモリリークを見つけました! メモリを 256 メガバイトも使っています。 | ||||||||
いいえ。それはメモリリークではありませんし、 256 メガバイトのメモリを使っている、ということでもありません。 おそらく (ほとんどの場合)、 処理に都合が良いように非常にたくさんの量のメモリを そのプロセスのアドレス空間にマッピングしているのでしょう。 技術的な見地から考えても、これは大きな害があることではなく、 単に top(1) や ps(1) といったツールの表示に影響がある程度です。 rpc.statd(8) は、( |
訳:
今野 元之 <motoyuki@FreeBSD.org>
1997 年 11 月 13 日
8.1. | X を動かしたいのですが、どうすればいいのですか? |
もっとも簡単な方法は FreeBSD のインストールの際に X を動かすことを指定するだけです。 それから Xaccel サーバーについて調べてみるのもいいでしょう。 詳しくは Xi Graphics について か Metro Link をご覧ください。 | |
8.2. | X を実行しようとして
|
あなたのシステムは高いセキュアレベルで運用されていますね? 実は、高いセキュアレベルで X を起動することはできないのです。 どうしてなのかについては、init(8) のマニュアルページに書かれています。 では、代わりにどうすれば良いのかお答えしましょう。
基本的に 2 つの方法があります。
一つはセキュアレベルを 0 にする (通常、これは
| |
8.3. | 私のマウスはなぜ X で動かないのでしょうか? |
syscons (デフォルトのコンソールドライバ) を使っているのであれば、
それぞれの仮想スクリーンでマウスポインターをサポートするように
FreeBSD を設定できます。X でのマウスの衝突を避けるために、syscons は
そして、 Section Pointer Protocol "SysMouse" Device "/dev/sysmouse" ..... 上の例は、XFree86 3.3.2 以降の場合の例です。 それより前のバージョンでは、 Protocol という部分を MouseSystems と置き換える必要があります。
X で
| |
8.4. | わたしのマウスにはホイール機能が付いているのですが、X で使うことはできますか? |
はい、もちろん使えますが、そのためには X クライアントプログラムを適切に設定する必要があります。これについては、 Colas Nahaboo 氏のウェブページ(http://www.inria.fr/koala/colas/mouse-wheel-scroll/) を参照してください。 imwheel というプログラムを使う場合は、 次のような簡単な手順にしたがってください。
| |
8.5. | X のメニューやダイアログボックスがうまく動きません。 |
Num Lock キーをオフにしてください。 Num Lock キーがデフォルトで起動時にオンになる場合は、
# Let the server do the NumLock processing. This should only be # required when using pre-R6 clients ServerNumLock 訳注:この問題は XFree86 3.2 以降では解決しています。 | |
8.6. | 仮想コンソールとは何ですか? どうやったら使えますか? |
仮想コンソールは、簡単にいうと、ネットワークや X を動かすなどの複雑なことを行なわずに、 いくつかのセッションを同時に行なうことを可能にします。 システムのスタート時には、 起動メッセージが出た後に login プロンプトが表示されます。そこで ログイン名とパスワードを入力すると 1 番目の仮想コンソール上で仕事 (あるいは遊び) を始めることができます。 他のセッションを始めたい場合もあるでしょう。 それは動かしているプログラムのドキュメントを見たり、 FTP の転送が終わるまで待つ間、 メールを読もうとしたりすることかもしれません。 Alt-F2 を押す (Alt キーを押しながら F2 キーを押す) と、 2 番目の「仮想コンソール」で ログインプロンプトが待機していることがわかります。 最初のセッションに戻りたいときは Alt-F1 を押します。 標準の FreeBSDインストールでは、 3 枚 (3.3-RELEASE では 8 枚) の仮想コンソールが有効になっていて、 Alt-F1、 Alt-F2、 Alt-F3 で仮想コンソール間の切替えを行ないます。
より多くの仮想コンソールを有効にするには、
# /etc/ttys には ttyv3 がありますので # "off" を "on" に変更します。 ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/libexec/getty Pc" cons25 on secure ttyv9 "/usr/libexec/getty Pc" cons25 on secure ttyva "/usr/libexec/getty Pc" cons25 on secure ttyvb "/usr/libexec/getty Pc" cons25 on secure
多くするか少なくするかはあなたの自由です。
より多くの仮想ターミナルを使うとより多くのリソースを使うことになります。
8MB 以下のメモリしかない場合はこれは重要な問題です。
もし必要があれば
重要:X を使いたいのであれば、 最低一つの仮想ターミナル (のエントリ) を使わずに残しておくか、 off にしておく必要があります。 つまり、12 個の Alt-ファンクションキーすべてでログインプロンプトを 出したいのならば、 残念ながら X は利用できないということです。 同じマシンで X サーバーも動かしたいのならば 11 個しか使えません。 仮想コンソールを無効にするもっとも簡単な方法は、 コンソールを off にすることです。 たとえば 12 個すべてのターミナルを割り当てている状態で X を動かしたいときは、 仮想ターミナル 12 を変更します。 ttyvb "/usr/libexec/getty Pc" cons25 on secure これを次のように変更します。 ttyvb "/usr/libexec/getty Pc" cons25 off secure キーボードにファンクションキーが 10 個しかないのであれば、 次のように設定します。 ttyv9 "/usr/libexec/getty Pc" cons25 off secure ttyva "/usr/libexec/getty Pc" cons25 off secure ttyvb "/usr/libexec/getty Pc" cons25 off secure (これらの行を消すだけでもいいです。)
さて、仮想コンソールを有効にするもっとも簡単 (そして確実) な方法は、
再起動することです。しかし、再起動したくない場合は、
X ウィンドウシステムを終了させて次の内容を
(
重要な点は、
このコマンドを実行する前に X
ウィンドウシステムを完全に終了させておくことです。
もしそうしないと | |
8.7. | X から仮想コンソールに切替えるにはどうすればよいのですか? |
仮想コンソールへ戻るには
Ctrl+Alt+F
テキストコンソールへ移った後は、その中で移動するのに
今度はいつもどおり
Alt+F
X のセッションへ戻るには X の走っている仮想コンソールへ
切り替える必要があります。もしあなたが X をコマンドラインから
実行していたのであれば (たとえば 訳注:X に戻るには、 3 枚の仮想コンソールが有効になっている場合は Alt-F4 です。 有効な仮想コンソールの数 +1 のファンクションキーの 位置に X が割り当てられます。 | |
8.8. | XDM を起動時に起動させるにはどうしますか? |
xdm
の起動方法については二つの流派があります。
一方の流派では提供された例を使用して xdm を
:0 local /usr/X11R6/bin/X vt4 上の例は、 | |
8.9. |
|
X を これはコンソールのパーミッションが、 標準ではそのように設定されているからです。 マルチユーザシステムでは、 ユーザの誰もがシステムコンソールに書き込むことが可能である必要は必ずしもありません。 VTY を使い直接マシンにログインするユーザのために、 このような問題を解決するために fbtab(5) というファイルがあります。
要点を述べると、次のような形式の行を
/dev/ttyv0 0600 /dev/console
そうすると、
| |
8.10. | わたしはいつも XFree86 を一般ユーザから起動していたのですが、
最近になって |
すべての X サーバは、
ビデオハードウェアに直接アクセスするために X サーバを root ユーザで動かすというのは、
明らかにセキュリティ的に不適当で受け入れられないことです。
X を一般ユーザで実行するには、二つの方法があります。
一つは
| |
8.11. | 私の PS/2 マウスは X ウィンドウシステム上でうまく動きません。 |
あなたのマウスとマウスドライバがうまく同期していないからかもしれません。 FreeBSD 2.2.5 までのバージョンでは、X から仮想ターミナルへ切替えて、 また X へ戻ると再同期するかもしれません。 この問題がよく起きるようであれば、カーネルコンフィグレーション ファイルに次のオプションを書いてカーネルを再構成してみてください。 options PSM_CHECKSYNC もし、カーネルの再構築を行なったことがないのであれば、 カーネルを構築するの項を参照してください。 このオプションにより、 マウスとドライバの同期で問題が起きる可能性は少なくなるでしょう。 もしそれでもこの問題が起きるようならば、 再同期させるにはマウスを動かさないようにしておいて マウスボタンのどれかを押してください。 このオプションは残念ながらすべてのシステムで働くわけではなく、 また、PS/2 マウスポートにつながれているのが タップ (tap) 機能を持つ アルプス社製 GlidePoint デバイスの場合、 タップ機能が無効となってしまいます。
FreeBSD 2.2.6 以降のバージョンでは、
同期のチェック方法が少し改善されたので標準で有効になっています。
GlidePoint でもうまく働きます (同期チェックが標準の機能になったので
psmintr: out of sync (xxxx != yyyy) というメッセージが出力されて、マウスが正しく動作していないように見える ことがあるかもしれません。
もしこのようなことが起こる場合には、PS/2 マウスドライバのフラグに
0x100 を指定して同期チェックを無効にしてください。システムの起動時に
「 boot:
UserConfig のコマンドラインで以下のように入力してください。 UserConfig> | |
8.12. | MouseSystems の PS/2 マウスがうまく動きません。 |
MouseSystems の PS/2 マウスのあるモデルは、 高解像度モードの場合にのみ正しく動作するということが報告されています。 それ以外のモードでは、 マウスカーソルがしょっちゅうスクリーン左上に行ってしまうかもしれません。
残念ながら FreeBSD 2.0.X や 2.1.X のバージョンでは、
この問題を解決する方法はありません。
2.2 から 2.2.5 のバージョンでは、
以下のパッチを
もし、カーネルの再構築を行なったことがないのであれば、 カーネルの構築の項を参照してください。 @@ -766,6 +766,8 @@ if (verbose >= 2) log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n", unit, i); + set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH); + #if 0 set_mouse_scaling(sc->kbdc); /* 1:1 scaling */ set_mouse_mode(sc->kbdc); /* stream mode */
FreeBSD 2.2.6 以降のバージョンでは、
PS/2 マウスドライバのフラグに
0x04 を指定してマウスを高解像度モードにします。
システムの起動時に
boot: UserConfig のコマンドラインで以下のように入力してください。 UserConfig> マウスに関する不具合の他の原因の可能性については、 直前のセクションも見てみてください。 | |
8.13. | X のアプリケーションを構築する時に、
|
| |
8.14. | マウスのボタンを入れ替える方法はありますか? |
というコマンドを実行してください。 | |
8.15. | スプラッシュスクリーンのインストールはどうするのですか。 どこで見つけることができますか? |
FreeBSD 3.1 のリリース直前に、起動メッセージの表示期間に
いわゆる "スプラッシュ"
スクリーンを表示させることができる新しい機能が追加されました。
いまのところスプラッシュスクリーンは
256 色のビットマップ ( スプラッシュスクリーンを使うには、 FreeBSD の起動プロセスをコントロールするスタートアップファイルを書き換える必要があります。 これらのファイルは FreeBSD 3.2 のリリース以前に変更されましたので、 現在は、スプラッシュスクリーンを読み込む方法が二つあります。
さて、あとはスプラッシュスクリーンを用意するだけです。 それには http://www.baldwin.cx/splash/ のギャラリーをサーフしてみてください。 | |
8.16. | X で Windows(tm) キーを使うことはできるのでしょうか? |
はい、もちろん。 どういう動作をするかについて定義するには xmodmap(1) を使います。 標準的な "Windows(tm)" キーボードの場合、 対応するキーコードは 3 種類あります。
左にある Windows(tm) キーを押すとカンマ記号が入力されるようにするには、 こんな風にします。
設定を反映させるには、おそらくウィンドウマネージャを再起動する必要があります。
Windows(tm) キーのキーマップを X 起動時に毎回、
自動的に有効化するには xmodmap $HOME/.xmodmaprc を たとえば、先ほどあげた三つのキーを F13、F14、F15 に割り当てるとします。 こうしておけば、後ほど示すように、アプリケーションや ウィンドウマネージャの便利な機能を その三つのキーに簡単に割り当てることができます。
こうするには、次の内容を keycode 115 = F13 keycode 116 = F14 keycode 117 = F15
たとえば
Key F13 FTIWS A Iconify Key F14 FTIWS A RaiseLower Key F15 A A Menu Workplace Nop |
訳:
有村 光晴 <arimura@jp.FreeBSD.org>
、
広瀬 昌一 <shou@kt.rim.or.jp>
、
にしか <nishika@cheerful.com>
、
はらだ きろう <kiroh@jp.FreeBSD.org>
、
1998 年 10 月 4 日
9.1. | 「ディスクレスブート (diskless boot)」 に関する情報はどこで得られますか? |
「ディスクレスブート (diskless boot)」 というのは、FreeBSD がネットワーク上で起動し、 必要なファイルを自分のハードディスクではなくてサーバから読み込むものです。 詳細については FreeBSD ハンドブックの「ディスクレスブート」を読んでください。 | |
9.2. | FreeBSD をネットワークのルータ (router) として使用することはできますか? |
インターネット標準やこれまでのよい経験によって指摘されている通り、
FreeBSD は標準ではパケットを転送 (forward) するように設定されていません。
しかし、
rc.conf(5)
の中で次の変数の値を
gateway_enable=YES # Set to YES if this host will be a gateway
このオプションによって
sysctl(8)
の変数
ほとんどの場合、 ルータについての情報を同じネットワークの他の計算機等に知らせるために、 経路制御のためのプロセスを走らせる必要があるでしょう。 FreeBSD には BSD の標準経路制御デーモンである routed(8) が付属していますが、より複雑な状況に対処するためには GaTeD(http://www.gated.org/ から入手可能) を使用することもできます。 3_5Alpha7 において FreeBSD がサポートされています。 注意してほしいのは、FreeBSD をこのようにして使用している場合でも、 ルータに関するインターネット標準の必要条件を完全には満たしていない ということです。しかし、普通に使用する場合にはほとんど問題ありません。 | |
9.3. | Win95 の走っているマシンを、FreeBSD 経由でインターネットに接続できますか? |
通常、この質問が出てくる状況は自宅に二台の PC があり、一台では FreeBSD が、もう一台では Win95 が走っているような場合です。 ここでやろうとしていう事は FreeBSD の走っている計算機をインターネット に接続し、Win95 の走っているマシンからは FreeBSD の走っているマシンを経由して接続を行なう事です。 これは二つ前の質問の特別な場合に相当します。 …で、答えは「はい」です。
FreeBSD 3.x のユーザモード ppp には 設定に関するさらに詳しい情報は、 Steve Sims 氏による Pedantic PPP Primer にあります。 カーネルモード ppp を利用する場合や、
インターネットとのイーサネット接続が利用できる場合は、
| |
9.4. | ISC からリリースされている BIND の最新版はコンパイルできないんでしょうか? |
BIND の配布物と FreeBSD とでは
| |
9.5. | FreeBSD で SLIP と PPP は使えますか? |
使えます。FreeBSD を用いて他のサイトに接続する場合には、 slattach(8)、sliplogin(8)、ppp(8) そして pppd(8) のマニュアルページをご覧ください。 ppp(8) と pppd(8) は、 PPP のサーバ、クライアント両方の機能を持っています。 その一方で、sliplogin(8) は SLIP のサーバ専用で、 slattach(8) は SLIP のクライアント専用です。 これらを使うためのさらなる情報については、ハンドブックの PPP と SLIP の章をご覧ください。 「シェルアカウント」を通じてのみインターネットへアクセス可能な場合、 slirp package みたいなものが欲しくなるかもしれませんね。 これを使えば、ローカルマシンから直接 ftp や http のようなサービスに (限定的ではありますが) アクセスすることができます。 | |
9.6. | FreeBSD は NAT か IP マスカレードをサポートしていますか? |
ローカルなサブネット (一台以上のローカルマシン) を持っているが、
インターネットプロバイダから 1 つしか IP
アドレスの割り当てを受けていない場合 (または IP
アドレスを動的に割り当てられている場合でも)、
natd(8)
プログラムを使いたくなるかもしれませんね。
ppp(8)
も同様の機能を持っており、 | |
9.7. |
|
Berkeley UNIX におけるネットワークの構成において、
ネットワークのインタフェースはカーネルコードからのみ、
直接あつかうことができます。
より詳しく知りたい場合は、
| |
9.8. | Ethernet アドレスのエイリアス (alias) はどのようにして設定できますか? |
ifconfig(8)
のコマンドラインに
| |
9.9. | 3C503 で他のネットワークポートを使用するにはどのようにすればよいですか? |
他のポートを使用したい場合には、
ifconfig(8)
のコマンドラインにパラメータを追加しなければなりません。
デフォルトでは
| |
9.10. | FreeBSD との間で NFS がうまくできません。 |
PC 用のネットワークカードによっては、 NFS のような、 ネットワークを酷使するアプリケーションにおいて問題を起こすものがあります。 この点に関しては FreeBSD ハンドブックの「NFS」を参照してください。 | |
9.11. | 何故 Linux のディスクを NFS マウントできないのでしょうか? |
Linux の NFS のコードには、 許可されたポートからのリクエストしか受けつけないものがあります。 以下を試してみてください。
| |
9.12. | 何故 Sun のディスクを NFS マウントできないのでしょうか? |
SunOS 4.X が走っている Sun Workstation は、 許可されたポートからのマウント要求しか受けつけません。 以下を試してみてください。
| |
9.13. |
|
最も良くある問題は、exports(5) のマニュアルページの以下の部分を正しく理解していないことです。
さて、ありがちな間違いをご覧になればはっきりするでしょう。
もし /usr/src client /usr/ports client 一つのファイルシステムに対して属性の指定が二行になっています。
/usr/src /usr/ports client もう一度マニュアルページの文章を確認すると、 あるホストにエクスポートされる各ファイルシステムの属性は すべて一行に書かれていなければならない、となっています (ここでは、「アクセス可能なすべてのホスト」 も一つの独立したホストとして扱われることに注意してください)。 このことは、ファイルシステムをエクスポートするために 奇妙な書式を使わなければならない原因にもなっているのですが、 ほとんどの人にとって、これは問題にはならないでしょう。 次に示すのは、有効な exports リストの例です。
ここでは、 # Export src and ports to client01 and client02, but only # client01 has root privileges on it /usr/src /usr/ports -maproot=0 client01 /usr/src /usr/ports client02 # The "client" machines have root and can mount anywhere # up /exports. The world can mount /exports/obj read-only /exports -alldirs -maproot=0 client01 client02 /exports/obj -ro | |
9.14. | PPP で NeXTStep に接続する際に問題があるのですが。 |
tcp_extensions=NO Xylogic の Annex も同様の問題がありますので、 Annex 経由で PPP を行なう場合にもこの変更を行ってください。 | |
9.15. | IP マルチキャスト (multicast) を有効にするには? |
FreeBSD 2.0 かそれ以降では、
標準の状態で完全にマルチキャストに対応しています。
現在使用している計算機をマルチキャストのルータ (router) として使用するには、
MBONE
用のツールは ports 内の専用のカテゴリー mbone
にあります。
詳しい情報は Mbone Information Web にあります。 | |
9.16. | DEC の PCI チップセットを用いているネットワークカードには、 どのような物がありますか? |
Glen Foster 氏による一覧に、 最近の製品を追加したものを以下に示します。 Vendor Model ---------------------------------------------- ASUS PCI-L101-TB Accton ENI1203 Cogent EM960PCI Compex ENET32-PCI D-Link DE-530 Dayna DP1203, DP2100 DEC DE435, DE450 Danpex EN-9400P3 JCIS Condor JC1260 Linksys EtherPCI Mylex LNP101 SMC EtherPower 10/100 (Model 9332) SMC EtherPower (Model 8432) TopWare TE-3500P Znyx (2.2.X) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348 (3.X) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd) | |
9.17. | 何故自分のサイトのホストに対して FQDN を使用する必要があるのですか? |
実際にはそのホストは別のドメインにあるのではないですか。
たとえば、foo.bar.edu
というドメインの中から、
伝統的に、BSD の
BIND のリゾルバ (resolver) ではこのような事は可能でしたが、
FreeBSD に入っている
bind (named(8) 参照)
の現在のバージョンでは、
自分以外のドメインに対して FQDN
でない別名を自動的につけてくれるような事はありません。
したがって
これは、
domain foo.bar.edu
と書いてある行を、
| |
9.18. | すべてのネットワークの操作に対して
|
もしファイアウォールの設定を間違えた場合にネットワークの操作が再びできる
ようにするには、
FreeBSD のファイアウォールの設定についての情報は FreeBSD ハンドブックの「ファイアウォール」にあります。 | |
9.19. | IPFW のオーバヘッドはどのくらいでしょうか? |
この答えは、 使っているルールセットとプロセッサのスピードによってほとんど決まります。 イーサネットに対して少しのルールセットだけを使っている場合には、 ほとんどその影響は無視できる程度です。 実際の測定値を見ないと満足できない方々のために、 実際の測定結果をお見せしましょう。
次の測定は 486-66 (訳注: Intel 社製 CPU i486、66MHz のこと) 上で
2.2.5-STABLE を使用して行なわれました。
IPFW は変更が加えられて、 それぞれ 1000 ずつのルールが入っている 2 つのルールセットでテストが行なわれました。 ひとつ目のルールセットは最悪のケースを見るために ipfw add deny tcp from any to any 55555 というルールを繰り返したものです。 IPFW のパケットチェックルーチンは、 パケットが (ポート番号のせいで) このルールにマッチしないことがわかるまでに、 何度も実行されます。そのため、これは最悪のケースを示します。 このルールを 999 個繰り返し並べた後に allow ip from any to any が書かれています。 2つ目のルールセットは、なるべく早くチェックが終了するように書かれたものです。 ipfw add deny ip from 1.2.3.4 to 1.2.3.4 このルールでは、発信元の IP アドレスがマッチしないので、 チェックはすぐに終了します。上のルールセットとおなじように、 1000 個目のルールは allow ip from any to any です。 1 つ目のルールセットの場合、 パケットあたりのオーバヘッドはおよそ 2.703ms/packet、 これはだいたい 1 つのルールあたり 2.7 マイクロ秒かかっていることになります。 したがって、 このルールにおけるパケット処理時間の理論的な限界は、 毎秒約 370 パケットです。 10Mbps のイーサネットで 1500 バイト以下のパケットサイズを仮定すると、 バンド幅の利用効率は 55.5% が限界となることになります。 2 つ目のルールセットでは、それぞれのパケットがおよそ 1.172msで処理されていますので、 だいたい 1 つのルールあたり 1.2 マイクロ秒かかっていることになります。 パケット処理時間の理論的な限界は、 毎秒約 853 パケットとなりますので、 10Mbps Ethernet のバンド幅を使い切ることができます。 このテストでのルール数は多過ぎるため、 実際に使用する際の結果を反映している訳ではありません。 これらは上に示した数値を出すためだけに用いられたものです。 効率の良いルールセットを作るためには、 次のような事を考えておけばよいでしょう。
| |
9.20. | ipfw(8) 「fwd」 ルールを使って他のマシンにサービスをリダイレクトしたのですが、 うまく動いてくれないようです。どうしてなんでしょう? |
おそらく、あなたが期待している動作とは、 単なるパケット転送ではなくネットワークアドレス変換 (NAT) と呼ばれるものだからでしょう。 「fwd」 ルールは文字どおり、本当に転送しか行ないません。 パケットの中身については一切手を加えないのです。 そのため、次のようなルールを設定したとすると、 01000 fwd 宛先アドレスに サービスの転送をきちんと動作させる方法については、 サービスのリダイレクトに関する FAQ や natd(8) のマニュアルページ、 Ports Collection にいくつか含まれているポート転送ユーティリティなどをご覧になると良いでしょう。 | |
9.21. | サービス要求を他のマシンにリダイレクトするには? |
FTP などのサービスのリクエストは、「socket」
パッケージを利用してリダイレクトできます。
「socket」
パッケージは ports の
ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp
ここで
| |
9.22. | バンド幅の管理を行なえるツールはどこで手に入れられますか? |
FreeBSD 用のバンド幅管理ツールには、無料で手に入れられる ALTQ と、 Emerging Technologies から入手できる Bandwidth Manager という市販のものの 2 種類があります。 | |
9.23. | BIND ( |
おそらく違います。FreeBSD 3.0 以降では、外向けの問合せに
ランダムな大きな番号のポートを用いるバージョンの BIND を
用いています。ファイアウォールを通すため、またはあなたの
気分で、外向きの問合せを 53 番ポートから行いたいならば、
options { query-source address * port 53; }; 更に限定したければ、 それはともかく、おめでとうごさいます。
| |
9.24. | なぜ 「 |
バークレーパケットフィルタ (bpf(4)) ドライバは、それを利用するプログラムを実行する前に有効にしておく必要があります。 カーネルコンフィグファイルに、次のように追加してカーネルの再構築をしてください。 pseudo-device bpfilter # Berkeley Packet Filter
そして再起動してから、次にデバイスノードを作成する必要があります。
これは、次のように入力し、
デバイスノードの作成の詳細は、 FreeBSD ハンドブックの「デバイスノード」を参照してください。 | |
9.25. | Linux の smbmount のように、 ネットワーク上の Windows マシンのディスクをマウントするにはどうしたら良いのでしょう? |
Ports Collection に含まれる sharity light パッケージを使ってください、 | |
9.26. | 「icmp-response bandwidth limit 300/200 pps」 というメッセージがログファイルに現れるのですが、 どういうことでしょう? |
これは、カーネル自身から「ICMP や TCP のリセット (RST) 応答を、妥当な数よりも多く送っている」ということを、 あなたに伝えるメッセージです。 ICMP 応答は良く、使われていない UDP ポートに接続しようとした結果として生成されます。 また、TCP リセットはオープンされていない TCP ポートに接続しようとした結果として生成されます。 その他、これらのメッセージが表示される原因となる状況として、 以下のようなものがあります。
メッセージ中の最初の数字は、
上限を設定しなかった場合にカーネルが送っていたであろうパケットの数を示し、
二番目の数字は、パケット数の上限値を示します。
この上限値は
カーネルの応答制限を無効にせず、
ログファイル中のメッセージだけを抑制したい場合、
最後に、もし応答制限を無効にしたい場合は、
|
10.1. |
|
まず ppp(8) のマニュアルと、 FreeBSD ハンドブックの「PPP」を読んでみましょう。 次に、 set log Phase Chat Connect Carrier lcp ipcp ccp command
という命令を ppp
のコマンドプロンプトに対して打ち込むか、
設定ファイル
!ppp *.* /var/log/ppp.log
と書かれた行が含まれているか、また、
訳注:ログの取得に syslog を使用するようになったのは 2.2.5 以降からです。
使用中の | |
10.2. |
|
ホスト名の解決がうまくいっていないのでしょう。まず、
リゾルバ (resolver) が
127.0.0.1 foo.bar.com foo localhost 使用しているホストのエントリを追加してもかまいません。 詳細は関連するマンページを参照してください。 | |
10.3. |
|
まず最初に、デフォルトルートが確立しているかどうかチェックしてください。
Destination Gateway Flags Refs Use Netif Expire default 10.0.0.2 UGSc 0 0 tun0 10.0.0.2 10.0.0.1 UH 0 0 tun0
これはあなたがハンドブックやマニュアル、
add 0 0 HISADDR と書かれた行を以下のように修正してください。 add 0 0 10.0.0.2
delete ALL の行をうっかり消してしまった可能性があります。 この場合は、 FreeBSD ハンドブックの「システムの最終設定」の項を読み直してください。 | |
10.4. | 「 |
このエラーは通常、
MYADDR: delete ALL add 0 0 HISADDR これは動的 IP アドレスを使用している場合、 またはゲートウェイのアドレスを知らない場合にのみ必要な設定です。 インタラクティブモードを使用している場合、 パケットモードに入った後で (プロンプトが PPP と大文字に変わったらパケットモードに入ったしるしです)、 以下の命令を入力してください。 delete ALL add 0 0 HISADDR 詳しい情報については、 FreeBSD ハンドブックの「PPP と動的 IP 設定」の項を参照してください。 | |
10.5. | 3 分ほど経つと接続が切れてしまう |
set timeout
という命令によって調整することができます。
訳注:
詳しい情報は ppp(8) のマニュアルページを参照してください。 | |
10.6. | 負荷が高いと接続が切れてしまう |
Link Quality Reporting (LQR) の設定を行っている場合、
マシンと接続先の間で非常にたくさんの LQR
パケットが失われている可能性があります。結果として
disable lqr | |
10.7. | 接続がランダムに切れてしまう |
ノイズの多い回線、あるいは待ち機能付きの回線では、 時々モデムが (誤って) キャリアを失ったと思い込み、 回線が切断されてしまうことがあります。 大多数のモデムでは、 一時的なキャリアの喪失をどれくらいの時間で検出するかを、 設定で決めることができます。 たとえば USR Sportster では、S10 レジスタ の値を 10 倍した秒数がその値になります。 この場合、モデムをもっとのんびり屋さんにするには、 dial 行に次のような文字列を加えると良いでしょう。 set dial "...... ATS10=10 OK ......" 詳しくはお使いのモデムのマニュアルをご覧ください。 | |
10.8. | 接続が不規則にハングアップしてしまう |
たくさんの人が、原因不明のハングアップを経験しています。 検証のために必要なのは、まずどちら側のリンクでそれが起こっているか、 ということです。
外部接続型モデムを利用しているなら、
単に 問題が回線のどちら側かにあることが分かったら、 つぎの二つの可能性が考えられるでしょう。 | |
10.9. | 回線の向こう側での反応がない |
これに対処できることはほとんどありません。大部分の ISP
は、Microsoft 社製 OS 以外の利用者に対してのサポートを拒否するでしょう。
まず最初に、こちら側の圧縮機能をすべて無効にしてみてください。 それには、設定ファイルをつぎのようにします。 disable pred1 deflate deflate24 protocomp acfcomp shortseq vj deny pred1 deflate deflate24 protocomp acfcomp shortseq vj そして再接続し、変更前と同じように通信できることを確認します。 もしこれによって状況が改善されるか、完全に解決したら、 (上の設定のうち) どの設定で状況が変化したのかを、 色々な組合せで試してみてください。これは、ISP に問い合わせを行なうときの有効な情報となります (ただし、 あなたが Microsoft 社製品以外のものを利用していることも明らかにしてしまいますが)。
ISP に問い合わせを行なう前に、こちら側の非同期ログを有効にして、
接続がハングアップするまで待ってください。この作業は、
非常に多くのディスク空間を消費するかも知れません。
興味の対象となっているのは、通信ポートから最後に読み込まれたデータです。
それは通常 ASCII データで、
問題点の詳細 (「
回線の向こう側で通信ログを監視することは可能なはずですので、
切断が発生した時、ISP の対応が好意的ならば
どうして ISP 側で問題が発生したのかこちらに伝えてくれるかも知れません。
| |
10.10. |
|
ベストな方法は、
スタックトレースの結果は、 | |
10.11. |
|
2.2.5 より前のリリースの FreeBSD では、 ppp(8) はリンクが確立した後、接続先が Line Control Protocol (LCP) を発信するのを待ちます。しかし、多くの ISP ではネゴシエーションを自分からは起こさず、 クライアントが起こすのを待っています。 ppp に強制的に LCP を発信させるには、 次の命令を使います。 set openmode active 注記:両方の側がネゴジェーションを起こしても、 大抵の場合は何の問題もありません。 ですから、現在では openmode はデフォルトで有効になっています。 次のセクションでこれが問題になる場合を説明します。 | |
10.12. | でもまだ 「 |
時折、接続直後のログに
「
これは通常、
ディスクアクセスの遅いサーバマシンのシリアルポートで
LCP
ネゴシエーションの一部として、
リンクの両サイドで
magic number を定めて、
「反射」が起きていないかどうか確かめる作業があります。
規約では、接続相手がこちらと同じ magic number を提示してきたら、
NAK を送って新しい
magic number を選択しなければならないと定めています。
この作業の間、サーバのシリアルポートの
この事態は、以下の行を
set openmode passive
これで set openmode active 3
これによって | |
10.13. | 接続が切れるまで LCP のネゴシエーションが続くのですが。 |
現在の ppp は、まだ LCP や CCP、 IPCP の返事が、 元のリクエストと連携してくれる機能がきちんと実装されていません。 その結果、ある ppp の実装が相手よりも 6 秒以上遅い場合には、 LCP 設定のリクエストをさらに 2 回送ります。 これは致命的な物です。
これが、片方の
これを回避する最も良い方法は、
片方を
set openmode passive というコマンドでできます。 このオプションは気を付けて使わないといけません。さらに set stopped というコマンドを追加して、 ppp がネゴシエーションが開始するまで待つ 最大の時間を設定してください。もしくは、 set openmode active
というコマンド (ここで、
| |
10.14. | ppp が接続直後に固まってしまう |
2.2.5 より前のバージョンの FreeBSD では、ppp が Predictor1 圧縮のネゴシエーションを誤って解釈して、 接続直後にリンクを無効にしている可能性があります。 これは両サイドが異なる Compression Control Protocols (CCP) を使ってネゴジェーションを行った場合にのみ発生します。 この問題は現在は解決していますが、あなたの走らせている ppp のバージョンが古い場合でも、次の命令で解決することができます。 disable pred1 | |
10.15. |
|
このような場合は、代わりに
| |
10.16. | ヌルモデムケーブルを使用しているとき、
|
ヌルモデムケーブルを使用して直接接続している場合、 ppp は自動的には接続の終了を知ることができません。 これはヌルモデムシリアルケーブルの配線に起因しています。 この種の接続形態を用いる場合は、 以下の命令を用いて LQR を常に有効にする必要があります。 enable lqr こうすると、接続先がネゴシエーションを行う場合、デフォルトで LQR の使用を受け入れるようになります。 | |
10.17. |
|
ppp が思いもしないときにダイアルを始める場合、その原因を突き止め、 防止のためにダイヤルフィルタ (dfilters) をかけてやる 必要があります。 原因を突き止めるためには、以下の命令を使用してください。 set log +tcp/ip これで接続を通過するすべてのトラフィックをログに残すことができるようになりました。 次に突然回線がつながったときのログのタイムスタンプをたどれば、 原因を突き止めることができるはずです。 原因がわかったら、次に、このような状況ではダイヤルが起こらないようにしましょう。 通常、この手の問題は、DNS で名前の解決をしようとしたために起こります。 DNS による名前の解決によって、 接続が行われるのを防止するには、 次のような手段を用います (これは ppp の既に確立した接続に関してパケットのフィルタリングをするものではありません)。 set dfilter 1 deny udp src eq 53 set dfilter 2 deny udp dst eq 53 set dfilter 3 permit 0/0 0/0 これはデマンドダイヤル機能に問題を生じさせるため、 常に適切であるとはかぎりません。 ほとんどのプログラムは他のネットワーク関連の処理を行なう前に DNS への問い合わせが必要になります。
DNS の場合は、
何が実際にホスト名を検索しようとしているのかを突き止めるべきでしょう。
大抵の場合は、
sendmail(8)
が犯人です。
設定ファイルで sendmail が
DNS に問い合わせないようになっているか確認すべきです。
自分用の設定ファイルを作成するための詳しい方法は、
メールの設定 の項をご覧ください。
または、
define(`confDELIVERY_MODE', `d')dnl
この行を追加すると、sendmail
はメールキューを処理する (通常
sendmail は 30 分ごとにキューを処理するよう、
「 訳注:
「 | |
10.18. | CCP エラーとはどういう意味ですか |
ログファイル中の以下のエラーは、 CCP: CcpSendConfigReq CCP: Received Terminate Ack (1) state = Req-Sent (6)
のネゴシエーションにおいて disable pred1 | |
10.19. | ファイル転送の途中で、 |
FreeBSD 2.2.2 以前のバージョンの
FreeBSD 2.2.2 以前のバージョンでは、MTU を決して 1500 より小さくしないことで、 この問題を回避することができます。 | |
10.20. | どうして |
モデムとの「やり取り」すべての行をログに残すには、 以下のようにして接続速度のログの有効化を行ってください。 set log +connect これは
ppp(8)
に最後にくることが要求されている
「
接続速度はログにとりたいけれど、PAP
や CHAP
を使っている (その結果、ダイヤルスクリプト中の
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
ここで、 | |
10.21. | 私の |
モデムにたとえば 「 set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK" 実際にモデムに送られる文字列は次のようになります。 ATZ OK AT\X OK 他の例ですと set phone 1234567 set dial "\"\" ATZ OK ATDT\\T" は次のようになります。 ATZ OK ATDT1234567 | |
10.22. |
|
ppp (や他のプログラム) は決して core を吐いてはいけません。 ppp は実効 uid が 0 で動いていますので、 オペレーティングシステムは ppp を終了させる前にディスクに core イメージを書き込みません。 しかし ppp は実際にはセグメンテーション違反や、 他の core を吐く原因となるようなシグナルによって終了しており、 さらに最新のバージョン (このセクションの始めを見てください) を使用しているならば、次のようにしてください。
これでデバッグ可能なバージョンの
ppp がインストールされます。
これで、ppp
がセグメンテーション例外を受け取ったときには
質問する際には、これらすべての情報を提供して、 問題点の分析ができるようにしてください。
| |
10.23. | auto モードでダイアルをするようなプロセスが接続されない。 |
これは ppp
がローカル側の IP アドレスを、
動的に通信相手と交渉するように設定されている時に発生する良く知られた障害でした。
最新のバージョンでは、
この問題は修正されています。
これは、最初のプログラムが
connect(2)
を呼び出した時、
この問題に対処する理論的な方法がいくつかあります。もし可能なら、
相手が再度、同じ IP
アドレスを割り当ててくれることが一番です
我々の側から対処できる最も簡単な方法は、 もう 1 つの (おそらく最も信頼できる) 方法は、bind された すべてのソケットの IP アドレスを、 異なるものに変更できるシステムコールを実装することです。 pppは、 新しい IP アドレスが割り当てられた時、 このシステムコールを用いて実行されているプログラムにある、 すべてのソケットを書きかえてやるわけです。 同じシステムコールが、DHCP クライアントが利用するソケットを 強制的に再 bind するのにも使うことができるでしょう。
3 つ目の方法は、IP
アドレスを指定しないでインターフェイスを利用できるようにすることです。
外に出ていくパケットは、最初の | |
10.24. | 何故ほとんどのゲームが
|
libalias を使っている時にゲームなどの類のものが動作しない理由は、 外側にあるマシンが接続しようとしているか、内側にあるマシンに (余計な) UDP パケットを送信しようとしているからです。 内側のマシンにこれらのパケットを送るべきかについて、 NAT ソフトウェアは関知しません。
うまく動かすためには、
実行中のものが問題の発生しているソフトウェアだけであるかを確認し、
ゲートウェイの
行儀の悪いソフトウェアを起動する際に、
ゲートウェイマシンを通過するパケットを監視すべきです。
外側から何かパケットが戻ってきた時に、
そのパケットは破棄されるでしょう (それが問題なのです)。
これらのパケットのポート番号に注意して、
その行儀の悪いソフトウェアを停止してください。
これを数回繰り返してポート番号が常に同じであるかを確認してみてください。
同じであった場合は、
nat
ここで 上記のコマンドを変更せずに、 他のマシン上でそのソフトウェアを使用できるようにはしたくないかもしれません。 そして同時に二つの内部のマシン上でそのソフトウェアを実行することは、 この質問の範囲を超えています。結局、外側の世界からは、 内部ネットワーク全体がただ一つのマシンとして見えるのです。 ポート番号が常に同じとは限らない場合、さらに三つのオプションがあります。
| |
10.25. | 有用なポート番号のリストはありませんか? |
まだ出来ていません。しかし、
これは (関心を持って頂けるならば) そういったリストにしていく予定です。
それぞれの例にある
| |
10.26. | FCS エラーって何? |
FCS とは
リンクの品質が悪かったり、 シリアルドライバがパケットを取りこぼしていたりすると、 FCS エラーがたびたび発生します。 FCS エラーは、 圧縮プロトコルの速度低下の原因にはなりますが、 特に心配する必要はありません。 外付けモデムを使っている場合は、 ケーブルがちゃんとシールドされているかを確認してください。 そうでない場合、 FCS エラーの原因となる場合があります。
接続直後からリンクがフリーズし、大量の
FCS エラーが発生する場合は、
リンクが 8 ビットクリーンでない可能性があります。
ソフトウェアフロー制御 (XON/XOFF)
が使われていないことを確認してください。
どうしてもソフトウェアフロー制御を使わなければならない場合は、
リモートホストが PPP プロトコルを使用してない場合も、大量の FCS エラーが発生します。 この場合はログをとりながら非同期で接続し、 ログインプロンプトやシェルプロンプトが送られて来ていないか確認してください。 ログファイルにリンクを終了した原因となるような記録がない場合は、 リモートホスト (プロバイダ?) の管理者に、 セッションを終了された理由を尋ねてください。 | |
10.27. | ゲートウェイで PPPoE を実行すると MacOS や Windows 98 との接続がフリーズしてしまうのですが、 これはなぜなのでしょうか? |
Michael Wozniak これは、いわゆる「ブラックホールルータ (Black Hole router)」に原因があります。 Windows 98 と MacOS (および、おそらく他の Microsoft 社製 OS) の TCP パケット送出は、 PPPoE のフレーム (Ethernet の MTU は標準で 1500) に入らないような大きなセグメントサイズを要求します。 そしてさらに分割禁止 (「don't fragment」) フラグビットを (TCP パケットにデフォルトで) セットするのですが、 Telco のルータは、分割が必須 ("must fragment") であることを示す ICMP メッセージを、接続しようとするウェブサイトに対して送出しません (つまり、ルータは正しく ICMP パケットを送出しているのですが、 ウェブサイトのファイアウォールがそれを落としているのです)。 そのためウェブサーバが PPPoE 接続に対して大きすぎるフレームを送出すると Telco のルータはそのフレームを捨ててしまい、 見ようとしたページが表示されないという症状が現われます (MSS より小さいページや画像は表示されます)。 ほとんどの Telco PPPoE 設定は、標準でこのように設定されているようです。 (ああ、彼らがルーティングプログラムの作り方を理解してさえいれば…)。 一つの解決法は、Windows 95/98 マシンで regedit を使い、 次のレジストリエントリを追加することです。 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU
レジストリエントリは、「1450」 の値
(もっと正確に言うと、TCP パケットを PPPoE フレームに完全に適合させるには
「1464」 であるべきでですが、
「1450」 とすると、現われる可能性がある他の IP
プロトコルに対してエラーマージンを確保することができます)
にする必要があります。
このレジストリキーは、Windows2000 で
FreeBSD/NAT/PPPoE ルータと共存させるために Windoze の MTU を変更する方法に関する詳細は、 Microsoft Knowledge Base にある、 番号 「Q158474 - Windows TCPIP Registry Entries」、 および番号 「Q120642 - TCPIP & NBT Configuration Parameters for Windows NT」 を参照してください。 残念なことに、MacOS には
TCP/IP 設定を変更する方法がありません。
しかし、Sustainable Softworks 社
が販売している OTAdvancedTuner (OT は OpenTransport という
MacOS の TCP/IP スタックの名前のこと) のような商用ソフトウェアが存在します。
このソフトウェアは、ユーザから TCP/IP 設定の変更を行なうことを可能にします。
MacOS NAT ユーザはドロップダウンメニューから
ppp の最新版
(2.3 かそれ以降) には、自動的に MSS を適切な値に調節する
| |
10.28. | どれにも当てはまらない! どうしたらいいの? |
これまでのすべての質問に当てはまらない場合、設定ファイル、
ppp
の実行方法、ログファイルの該当部分と
|
訳:
一宮 亮 <ryo@azusa.shinshu-u.ac.jp>
、
1997 年 11 月 16 日
このセクションでは、FreeBSD でシリアル接続をする時の一般的な質問に答えます。 PPP および SLIP については、 9章ネットワーキングのセクションを参照してください。
11.1. | どうやったら FreeBSD がシリアルポートを認識したことを知る事ができますか? |
FreeBSD のカーネルが起動する時、カーネルはその設定にしたがって、 システムのシリアルポートを検出します。起動時に表示されるメッセージをよく観察するか、 起動後に次のコマンドを実行する事によって確認できます。 dmesg | grep sio ここに上に挙げたコマンドの出力例を示します。 sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A
これは、二つのシリアルポートを示しています。1 番目は、
irq が 4 で GENERIC カーネルは、上の例と同じ irq とポートアドレスの設定の二つのシリアルポートをサポートしています。 これらの設定があなたのシステムに合わない場合、 またはモデムカードを追加した場合やカーネルの設定以上にシリアルポートを持っている場合は、 カーネルを再構築してください。 詳しくは、 カーネルの構築の項を参照してください。 | |
11.2. | どうやったら FreeBSD がモデムカードを認識したことを知ることができますか? |
前の質問を参照してください。 | |
11.3. | FreeBSD 2.0.5 にアップグレードしたら
|
心配ありません。
| |
11.4. | どうやったら FreeBSD でシリアルポートにアクセスできますか? |
3 番目のポート
まず、ダイヤルインの時には
| |
11.5. | マルチポートシリアルカードをサポートさせるにはどうしたらよいのでしょうか? |
繰り返しになりますが、
カーネルコンフィグレーションのセクションでは、
あなたのカーネルの設定についての情報が得られるでしょう。
マルチポートシリアルカードを使用するためには、カーネルの設定ファイルに、
カードの持つそれぞれのシリアルポートに対応する
sio(4)
の行を記述する必要があります。しかし、
irq とベクタアドレスは一つのエントリにのみ記述してください。
カード上のすべてのポートは一つの irq を共有しなければなりません。
一貫性を持たせるためにも、
最後のシリアルポートの所で irq を指定してください。
また、 次に示す例は、AST の 4 ポートシリアルカードを irq 7 で設定したものです。 options "COM_MULTIPORT" device sio4 at isa? port 0x2a0 tty flags 0x781 device sio5 at isa? port 0x2a8 tty flags 0x781 device sio6 at isa? port 0x2b0 tty flags 0x781 device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
このフラグはマスタポートがマイナー番号 7
( | |
11.6. | FreeBSD で複数のマルチポートシリアルカード間で irq を共有することはできますか? |
現在のところはできません。それぞれのカード毎に異なった irq を使ってください。 | |
11.7. | ポートにデフォルトのパラメータを設定する事は出来ますか? |
stty -a -f /dev/ttyd1
このデバイスに対する設定を変更した場合、
その設定はデバイスをクローズするまで有効です。
デバイスを再オープンした場合、それらの設定はデフォルトに戻ってしまいます。
デフォルトの設定に変更を加えるために、
「初期設定」デバイスをオープンし、
設定を修正することができます。
たとえば、CLOCAL モード、8 ビット、
XON/XOFF
フロー制御という設定を
stty -f /dev/ttyid5 clocal cs8 ixon ixoff
この設定を行なうためのコマンドを記述するのに適切なファイルは、
「設定固定」デバイスを調整してやることによって、
アプリケーションによる設定の変更を禁止することができます。
たとえば、
これにより、アプリケーションは
当然のことながら、初期設定デバイスおよび、設定固定デバイスは
| |
11.8. | どのようにしたらモデム経由でダイヤルアップログインができるのでしょうか? |
つまり、インターネットサービスプロバイダーになりたいのですね。 それにはまず、1 台ないし複数の自動応答モデムが必要です。 モデムには、キャリアーを検出した時には CD 信号を出力し、 そうでない場合には出力しないことが必要とされます。 また DTR 信号が on から off になった時には、 電話回線を切断し、モデム自身をリセットしなければなりません。 おそらく、RTS/CTS フロー制御を使うか、 ローカルフロー制御をまったく使わないかのどちらかでしょう。 最後に、コンピュータとモデムの間は固定速度でなければなりません。 ただ、(ダイヤルアップの発呼者に対して親切であるためには、 ) こちらのモデムと相手側のモデムの間の速度を、 モデム間で自動調整できるようにすべきでしょう。 多くあるヘイズコマンド互換モデムに対して、次のコマンドはこれらの設定を行ない、 その設定を不揮発性メモリーに保存します。 AT&C1&D3&K3&Q6S0=1&W MS-DOS のターミナルプログラムに頼らずに AT コマンドを送出するには、 「AT コマンドを入力するには」のセクションを参照してください。
次に、モデム用のエントリを
ttyd1 "/usr/libexec/getty std.57600" dialup on insecure
この行は、2 番目のシリアルポート
(
これが一般的な、ターミナルタイプとして
この操作は
ログイン可能であれば、次のような出力が得られるはずです。 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 | |
11.9. | ダムターミナルを FreeBSD マシンに接続するにはどうしたらよいのでしょうか? |
もし、他のコンピューターを FreeBSD の端末として接続したいのならば、 お互いのシリアルポート間をつなぐヌルモデムケーブル (訳注: リバースケーブルもしくはクロスケーブルとも呼ばれます) を用意してください。 もし、既製の端末を使う場合は、付属するマニュアルを参照してください。
そして、 ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
この例は、 | |
11.10. | どうして |
おそらくあなたのシステムでは
tip(1) や cu(1) は
そうする代わりに、次のようにタイプすることにより、
あなたのシステムの全ユーザーが
| |
11.11. | 私の Hayes モデムはサポートされていないのですが、 どうしたらいいのでしょうか。 |
実際、
tip(1)
のオンラインマニュアルは古くなっています。
すでに、Hayes ダイアラが実装されています。
Hayes ドライバは、最近のモデムの新しい機能である、
また、
実際、デフォルトの
「 | |
11.12. | これらの AT コマンドを入力するには? |
cuaa0:dv=/dev/cuaa0:br#19200:pa=none
モデムがサポートする最大の bps レートを
または
| |
11.13. | pn 機能の |
電話番号 (pn) 機能の中での
pn=\@ | |
11.14. | コマンドラインから電話番号を指定するには? |
「 tip115200|Dial any phone number at 115200 bps:\ :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: tip57600|Dial any phone number at 57600 bps:\ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
そして
「 cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
そして 「 | |
11.15. | 毎回 bps レートを入力しなければいけませんか? |
| |
11.16. | ターミナルサーバを経由して複数のホストへアクセスしたいのですが。 |
毎回接続されるのを待って
「 pain|pain.deep13.com|Forrester's machine:\ :cm=CONNECT pain\n:tc=deep13: muffin|muffin.deep13.com|Frank's machine:\ :cm=CONNECT muffin\n:tc=deep13: deep13:Gizmonics Institute terminal server:\ :dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:
これで、「 | |
11.17. |
|
これは大学に電話回線がいくつかあって、 数千人の学生が接続しようとする場合によくある問題です。
あなたの大学のエントリを
big-university:\ :pn=\@:tc=dialout dialout:\ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
そして
big-university 5551111 big-university 5551112 big-university 5551113 big-university 5551114
tip(1)
は一連の電話番号を上から順に試みて、
最終的に接続できなければあきらめます。リトライを続けさせたい場合は、
| |
11.18. | CTRL+P を 1 回送るために 2 度押す必要があるのはなぜ? |
CTRL+P
は通常「強制 (force)」文字であり、
tip(1)
に次の文字がリテラルデータであることを伝えます。
強制文字は「変数の設定」を意味する
「
force= | |
11.19. | 打ち込んだ文字が突然すべて大文字になりました?? |
CTRL+A
を押してしまい、caps-lock
キーが壊れている場合のために設計された
tip(1)
の 「raise character」 モードに入ったのでしょう。
既に述べた
以下は CTRL+2 や
CTRL+A
などを頻繁に使う必要のある Emacs ユーザにうってつけの
force=^^ raisechar=^^
| |
11.20. |
|
もし他の UNIX のシステムと接続しているなら、
~p この方法ではエラーチェックを行いませんので、 zmodem などの他のプロトコルを使った方がよいでしょう。 | |
11.21. | tip から zmodem を実行するには? |
まず始めに、FreeBSD Ports Collection から zmodem プログラムのいずれか (lrzszと rzsz の、通信カテゴリーの2 つのプログラムのどちらか) をインストールします。
ファイルを受信するには、リモート側で送信プログラムを起動します。
そして、Enter キーを押してから
「
ファイルを送信するには、リモート側で受信プログラムを起動します。
そして、Enter キーを押してから
「 | |
11.22. | 設定が正しいのにもかかわらず、FreeBSD がシリアルポートを見付けられません。 |
マザーボードやシリアルカードが Acer の UART チップを使った物の場合、
FreeBSD の |
訳:
内川 喜章 <yoshiaki@kt.rim.or.jp>
、
杉村 貴士 <sugimura@jp.FreeBSD.org>
、
福間 康弘 <yasuf@big.or.jp>
、
1997 年 11 月 10 日 - 1999 年 5 月 8 日
12.1. | FreeBSD は Linux より多くのスワップ領域を消費するのはなぜですか? | ||||||
実際にはそうではありません。 FreeBSD は Linux よりもスワップを多く使っているように見えるだけです。 この点における FreeBSD と Linux の主な違いは、 FreeBSD はより多くのメインメモリを有効利用できるようにするため、 完全にアイドルになったものやメインメモリ上の使われなくなったページを、 スワップにあらかじめ積極的に移動しているということです。 Linux では、 最後の手段としてページをスワップに移動させるだけという傾向があります。 このスワップの使い方は、 メインメモリをより効果的に使用することによってバランスが保たれています。 FreeBSD はこのような状況では先手策を取りますが、 システムが本当に空き状態の時に、 理由も無くページをスワップしようと決めることはないということに注意してください。 したがって、 夜中に使わずにおいたシステムが朝起きたとき、 すべてページアウトされているということはないのです。 | |||||||
12.2. | ほとんどプログラムは実行されていないのに、 どうして top(1) は非常に少ない free memory を報告するのでしょうか? | ||||||
簡単に言えば、free memory
とは無駄になっているメモリのことだからです。
プログラムが確保しているメモリ以外のすべてのメモリは、
FreeBSD カーネル内でディスクキャッシュとして利用されます。
この値は top(1) において
| |||||||
12.3. | FreeBSD の実行フォーマットの a.out、ELF とはどのようなものですか? また、a.out、ELF を使う理由は何でしょう? | ||||||
FreeBSD が何故 ELF フォーマットを利用しているのかを理解するためには、 まず UNIXにおいて現在「優勢」な 3 種類の実行フォーマットについて いくらか知っておく必要があります。 注記:FreeBSD 3.x より前の FreeBSD では a.out フォーマットが使われていました。
FreeBSD は伝統的な立場をとり、数多くの世代の BSD
のリリースで試され、実証されてきた
a.out(5)
フォーマットを伝統的に使用しています。
いつかは FreeBSD システムでネイティブ
ELF バイナリを作り、
実行することができるようになるかもしれませんが、
初期の頃 FreeBSD
では ELF
をデフォルトのフォーマットに変更するという動きは
ありませんでした。なぜでしょうか?
ところで Linux においては、
ELF への苦痛をともなった変更は、
その時に FreeBSD の場合は、共有ライブラリのメカニズムは Sun の SunOS 形式の共有ライブラリの メカニズムに極めて近いものになっていて、 非常に使いやすいものになっています。 しかしながら、FreeBSD では 3.0 から ELF バイナリをデフォルトのフォーマットとして公式にサポートしています。 a.out 実行フォーマットはよいものを私達に提供してくれているものの、 私たちの使っているコンパイラの作者である GNU の人々は a.out フォーマットのサポートをやめてしまったのでした。 このことは、 私たちに別バージョンのコンパイラとリンカを保守することを余儀なくされることとなり、 最新の GNU 開発の努力による恩恵から遠ざかることになります。 その上、ISO C++ の、 とくにコンストラクタやデストラクタがらみの要求もあって、今後の FreeBSD のリリースでネイティブの ELF のサポートされる方向へと話が進んでいます。 | |||||||
12.4. | それにしても、なぜそんなに多くのフォーマットがあるのですか? | ||||||
もうおぼろげになってしまった暗い過去に、単純なハードウェアがありました。 この単純なハードウェアは、単純で小さなシステムをサポートしていました。 a.out はこの単純なシステム (PDP-11) での作業を行なうバイナリとして完全に適したものだったのです。 人々はこの単純なシステムから UNIX を移植する際に、a.out フォーマットをそのまま使いました。というのは Motorola 68k、VAXen、 といったアーキテクチャへの UNIX の初期の移植ではこれで十分だったからです。 やがてある聡明なエンジニアが、 ソフトウェアでちょっとしたトリックを使うことを決めました。 彼はいくつかのゲートを削り取って CPU のコアをより速く走らせることができたのです。 これは新しい種類のハードウェア (今日では RISC として知られています) で動いたのです。 a.out はこのハードウェアには適していなかったので、 このハードウェア上で多くのフォーマットが、 限定された単純な a.out フォーマットでのものよりもより良いパフォーマンスを出すことを目指して開発されたのです。 COFF、ECOFF、 そしていくつかの有名でないフォーマットが ELF が標準になる前に開発され、 それらの限界が探求されたのです。
さらに、プログラムサイズは巨大になり、
ディスク (および物理メモリ) は依然として相対的に小さかったため、
共用ライブラリのコンセプトが誕生しました。
また、VM システムはより複雑なものになりました。
これらの個々の進歩は a.out フォーマットを使用して遂げられましたが、
その有用性は新しい機能とともにどんどん広がってきました。
これらに加え、実行時に必要なものを動的にロードする、
または初期化コードの実行後にプログラムの一部を破棄し、
コアメモリおよびスワップ空間を節約するという要望が高まりました。
プログラミング言語はさらに複雑になり、
しかし時が経つにつれ、FreeBSD
のビルドツールの元となったツール群 (特にアセンブラとローダ) と
FreeBSD のビルドツール群は異なった進化の経路をたどりました。
FreeBSD のツリーでは、共有ライブラリが追加され、
バグフィックスも行われました。
もともとのツール群を作成した GNU の人たちは、プログラムを書き直し、
クロスコンパイラのサポート、
異なるフォーマットを任意に取り込む機能などを追加していきました。
多くの人々が FreeBSD
をターゲットとしたクロスコンパイラの構築を試みましたが、
FreeBSD の使っている ELF は a.out に比べてより表現力があり、 ベースのシステムに対してより幅広い拡張性を提供できます。 ELF 用のツールはよりよく保守されています。 また多くの人にとって重要なクロスコンパイルもサポートしています。 ELF の実行速度は、ほんの少し a.out より遅いかもしれませんが、 実際に速度の差をはかるのは困難でしょう。 ELF と a.out の間には、ページマッピング、 初期化コードの処理など多くの違いがありますが、 とりたてて重要なものはありません。しかし違いがあるのは確かです。ほどなく、 GENERIC カーネルから a.out のサポートが外されます。 a.out のプログラムを実行する必要性がなくなれば、 最終的に a.out のサポートはカーネルから削除されます。 | |||||||
12.5. | シンボリックリンクの許可属性を
| ||||||
シンボリックリンクは許可属性を持ちません。
また chmod(1) のデフォルト動作は、
シンボリックリンクをたどってリンク先のファイルの許可属性を変更するようになっていません。
そのため、
しかしこの場合、
この場合、「 警告:
「
後ろにスラッシュをつけると、
chmod(1) はシンボリックリンク
「 | |||||||
12.6. | ログイン名がいまだに 8 文字に制限されているのはなぜですか? | ||||||
しかし、FreeBSD 3.0 以降では 16 文字となり、 多くのユーティリティのハードコードされた名前の長さの問題も解決されます。 実際にはシステムのあまりに多くの部分を修正するために、 3.0 になるまでは変更が行われませんでした。
それ以前のバージョンでは、これらの問題が起こった場合に、
問題を自分自身で発見し、解決できることに絶対的な自信がある場合は
| |||||||
12.7. | FreeBSD 上で DOS のバイナリを動かすことはできますか? | ||||||
はい、FreeBSD 3.0 からは、 統合と改良が重ねられた BSDI の doscmd DOS エミュレーションサブシステムを使ってできるようになりました。 今なお続けられているこの努力に興味を持って参加していただけるなら、 FreeBSD-emulation メーリングリスト へメールを送ってください。 FreeBSD 3.0 以前のシステムでは、 pcemu という巧妙なユーティリティが FreeBSD Ports Collection にあり、 8088 のエミュレーションと DOS のテキストモードアプリケーションを動かすに十分な BIOS サービスを行ないます。これは X ウィンドウシステムが必要です (XFree86 として提供されています)。 | |||||||
12.8. | どこで無料の FreeBSD のアカウントを取得できますか? | ||||||
FreeBSD はいずれのサーバーにもアクセスを開放していませんが、 Unix システムへの自由なアクセスを提供しているところがあります。 費用はまちまちで、限定されたサービスが利用できます。 M-Net としても知られる Arbornet, Inc は 1983 年から Unix システムへのアクセスを提供しています。 System III が動作する Altos に始まり、1991 年には BSD/OS に移行しました。2000 年 6 月には、再び FreeBSD に 移行しています。M-Net には SSH または telnet 経由で アクセスすることができ、FreeBSD ソフトウェア一式が 利用できるようになっています。ただし、ネットワーク接続は 会員と、非営利組織として運営されているシステムに寄付をする 後援者に制限されています。また、M-Net は掲示板システムと 双方向チャットも提供しています。 Grex は、 掲示板システムと双方向チャットソフトウェアが同じであることも含め、 M-Net とよく似たサイトを提供しています。しかし、 マシンは Sun 4M で、SunOS が動作しています。 | |||||||
12.9. | 「sup」 とは何で、 どのようにして使うものなのでしょうか? | ||||||
SUP とは、ソフトウェアアップデートプロトコル (Software Update Protocol) で カーネギーメロン大学 (CMU) で開発ツリーの同期のために開発されました。 私たちの中心開発ツリーをリモートサイトで同期させるために使っていました。 SUP はバンド幅を浪費しますので、今は使っていません。 ソースコードのアップデートの現在のおすすめの方法は FreeBSD ハンドブックの「CVSup」にあります。 | |||||||
12.10. | FreeBSD をクールに使うには? FreeBSD を動かす時に温度測定を行なった人はいますか? Linux は dos よりも温度が下がるということは知っていますが、FreeBSD についてはこのようなことに触れたものを見たことはありません。 実際熱くなっているように見えます。 | ||||||
いいえ。 私たちは 250 マイクログラムの LSD-25 をあらかじめ与えておいたボランティアに対する、 目隠し味覚テストを大量に行なっています。 35% のボランティアは FreeBSD はオレンジのような味がすると言っているのに対し、 Linux は紫煙のような味わいがあると言っている人もいます。 両方のグループとも温度の不一致については何も触れていません。 この調査で、非常に多くのボランティアがテストを行なった部屋から不思議そうに出てきて、 このようなおかしな結果を示したことに私たちは当惑させられました。 私たちは、ほとんどのボランティアは Apple にいて彼らの最新の「引っかいて匂いをかぐ」GUI を使っているのではないかと考えています。 私たちは奇妙な古い仕事をしているのでしょう! 真面目に言うと、FreeBSD や Linux は共に 「HLT」 (停止) 命令をシステムのアイドル (idle) 時に使い、 エネルギーの消費を押えていますので熱の発生も少なくなります。 また、APM (advanced power management) を設定してあるなら FreeBSD は CPU をローパワーモードにすることができます。 | |||||||
12.11. | 誰かが私のメモリカードをひっかいているのですか?? FreeBSDでカーネルのコンパイルをしている時、 メモリから引っかいているような奇妙な音が聞こえるようなことはあるのでしょうか? コンパイルをしている時 (あるいは起動時にフロッピドライブを認識した後の短い間など)、 奇妙な引っかくような音がメモリカードのあたりから聞こえてきます。 | ||||||
その通り! BSD の文書には良く、デーモン (daemon) という言葉が出てきます。 ほとんどの人は知らないのですが、 デーモンとは、あなたのコンピュータを依り代とする、 純粋で非物質的な存在のことです。 メモリから聞こえるひっかくような音は、 さまざまあるシステム管理タスクの扱いをいかに最善なものにするか、 といったことを決めるときにデーモンたちが交わす、 かん高いささやき声なのです。
この雑音が聞こえたとき、DOS から
「 | |||||||
12.12. | "MFC" とはどういう意味ですか | ||||||
MFC とは、 「CURRENT との合流 (Merged From -CURRENT)」の頭文字をとったものです。 CVS ログで -CURRENT から -STABLE ブランチへの合流を示します。 | |||||||
12.13. | "BSD" とはどういう意味ですか? | ||||||
この言葉は、仲間うちだけに分かる隠語で何とかという意味です。
文字どおりに訳すことはできませんが、
BSD の訳は「F1 のレーシングチーム」か「ペンギンはおいしいスナック」、
あるいは「俺たちゃ
Linux より洒落は利いてるぜ」とかそのへんだと言っておけばおっけーでしょう。
冗談はさておき、BSD とは、Berkeley CSRG (コンピュータシステム評議会) が彼らの UNIX の配布形態の名前として当時選んだ "Berkeley Software Distribution" の略です。 | |||||||
12.14. | リポジトリ・コピー (repo-copy) とは一体何のことでしょう? | ||||||
repo-copy (「repository copy」 の略) とは、 CVS リポジトリの中で直接ファイルをコピーすることを示す用語です。 repo-copy を行なわない場合を考えます。
リポジトリの中の異なる場所にファイルをコピーしたり、
移動したりする必要性が生じると、コミッターは
ファイルを新しい場所に置くために この方法の欠点は、ファイルの変更履歴
(たとえば CVS ログのエントリ) が新しい場所にコピーされないことです。
FreeBSD プロジェクトではこの変更履歴をとても有用なものだと考えているため、
前述の方法の代わりにリポジトリコピーが良く用いられます。
この操作は | |||||||
12.15. | なんでバイク小屋 (bikeshed) の色にまで気を使わなければいけないんですか? | ||||||
一言で言ってしまえば、そうすべきではありません。 もう少し詳しく説明しましょう。 たとえば、あなたがバイク小屋を建てる技術を持っていたとします。 しかしそれは、塗ろうとしている色が気に入らないからと言って、 他人がバイク小屋を建てようとしているのを止めて良い理由にはなりませんよね。 これは、自分の行動について十分な理解を持っているなら、 あなたは細かな機能すべてにわたって議論する必要はないことを示す比喩です。 ある変更によって産み出されるノイズの総量は、 その変更の複雑さに反比例するのだと言っている人達もいます。 さらに詳しく、完全な回答を紹介しましょう。 Poul-Henning Kamp は、 「sleep(1) は分数の秒数を引数として取るべきか」という 非常に長い議論の後で、 「A bike shed (any colour will do) on greener grass...」 というタイトルの長文を投稿しました。 関係のある部分だけを以下に掲載します。
| |||||||
12.16. | ひとつの電球を取り替えるのに、何人の FreeBSD ハッカーが必要? | ||||||
1,172人です。
Nik Clayton |
訳:
岩崎 満 <iwasaki@FreeBSD.org>
、
1997 年 11 月 8 日
13.1. | SNAP とか RELEASE とかは何? |
現在、FreeBSD の CVS リポジトリ には、三つのアクティブ/準アクティブなブランチがあります (アクティブな開発ブランチは三つしか存在しないため、 おそらく RELENG_2 ブランチの変更は年に 2 回だけになるでしょう)。
HEAD
は他の二つと違って、
実際のブランチタグではなく、
「current、
分岐していない開発本流」のための単なるシンボリックな定数です。
私たちはこれを
現在、
「-CURRENT」 は 5.0 の開発本流であり、
| |
13.2. | 自分用のカスタムリリースを構築するには? |
リリースを構築するには三つのことが必要です。まず、 vn(4) ドライバが組み込まれたカーネルを実行させている必要があります。 以下をカーネルコンフィグレーションファイルに追加し、 カーネルを作り直してください。 pseudo-device vn #Vnode driver (turns a file into a device) 次に、CVS リポジトリ全体を手元においておく必要があります。 これを入手するには CVSUP が使用できますが、supfile で release の名称を cvs にして 他のタグや date フィールドを削除する必要があります。 *default prefix=/home/ncvs *default base=/a *default host=cvsup.FreeBSD.org *default release=cvs *default delete compress use-rel-suffix ## Main Source Tree src-all src-eBones src-secure # Other stuff ports-all www doc-all
そして
最後に、ビルド用にかなりの空き領域を用意する必要があります。
そのディレクトリを
注記:ただし、すでに
処理が終了すると、
リリース全体が | |
13.3. | カスタムのインストールディスクを作るにはどうすればいいのですか? |
| |
13.4. | 「make world」 を行なうと既存のバイナリを上書きしてしまうのですが。 |
ええ、それが一般的な考え方です。名前が示しているように 「make world」 はすべてのシステムのバイナリを最初から作り直しますので、結果として、 クリーンで一貫性のある環境を得ることができます (これがそれだけ長い時間がかかる理由です)。
環境変数 | |
13.5. | システム起動時に
「( |
Adaptec の 1542 SCSI ホストアダプタは、 ユーザがソフトウェア的にバスアクセス速度の設定を行なうことができます。 以前のバージョンの 1542 ドライバは、 使用可能な最大の速度を求めてアダプタをその設定にしようとしました。 これは特定のユーザのシステムでは問題がある事がわかり、 現在ではカーネルコンフィグオプションに 「TUNE_1542」 が加えられています。 これを使用すると、これが働くシステムではディスクが速くなりますが、 データの衝突が起きて速くはならないシステムもあるでしょう | |
13.6. | インターネットアクセスに制限があっても current を追いかけられますか? |
はい、 CTM システムを使って、 ソースツリー全体のダウンロードを行なわずに追いかけることができます。 | |
13.7. | どのようにして配布ファイルを 240KB に分割しているのですか? |
比較的新しい BSD ベースのシステムでは、
以下は bin-tarball: (cd ${DISTDIR}; \ tar cf - . \ gzip --no-name -9 -c | \ split -b 240640 - \ ${RELEASEDIR}/tarballs/bindist/bin_tgz.) | |
13.8. | 私はカーネルに拡張を行ないました。 誰に送ればいいですか? |
FreeBSD ハンドブックの「FreeBSD への貢献」を参照してください。 あなたのアイディアに感謝します! | |
13.9. | PnP ISA カードの検出と初期化はどのように行なうのですか? |
Frank Durda IV 氏 より:
| |
13.10. | FreeBSD は、他のアーキテクチャをサポートしないんですか? |
いくつかのグループの人々が、FreeBSD
の他のアーキテクチャへの移植に関心を示しており、
FreeBSD/AXP (ALPHA) はこれらの成果としてはとても成功したものの一つです。
FreeBSD/AXP は現在
ftp://ftp.FreeBSD.org/pub/FreeBSD/alpha
から入手できます。
ALPHA への移植版が現在動く機種は増えつつあり、
その中には AlphaStation、AXPpci、PC164、Miata そして Multia
といったモデルが含まれています。
現状についての情報を得るには
その他に FreeBSD の SPARC アーキテクチャへの移植があります。
プロジェクトへの参加に興味がある方は
| |
13.11. | デバイスドライバを開発したので、メジャー番号が欲しいのですが。 |
これは、開発したドライバを公開するかどうかに依存します。
公開するのであれば、ドライバのソースコード、
| |
13.12. | 代替のディレクトリ配置ポリシー |
現在使われているディレクトリの配置ポリシーは、 私が 1983 年に書いたものから全く変更されていません。 私は当初の配置ポリシーを、オリジナルの fast filesystem のために書き、 まったく改定していません。 このポリシーはシリンダグループを使い尽くすのを防ぐにはうまくいきましたが、 お気づきの方もいる通り find の動作には不適切です。 ほとんどのファイルシステムの内容は、 深さ優先検索 (ftw とも呼ばれます) によって作られたアーカイブから、 抽出 (restore) して作成されます。この際、 ディレクトリは、シリンダグループにまたがって配置され、 以降の深さ優先検索を行うには、 考え得る限り最悪の状態になります。 もし作成するディレクトリの総数がわかっていれば、 解決方法はあります。(総数/シリンダグループ数) 個のディレクトリを、 シリンダグループごとにまとめて作成すれば良いのです。 もちろん最適なディレクトリ配置になるように、 総数を予測する方法を考えなければなりません。 しかし仮にシリンダグループあたりのディレクトリ数を 10 くらいの小さな数に固定してしまったとしても、 大幅な改善が望めるでしょう。 このポリシーを用いるべきリストア作業を、通常の作業 (おそらく既存のポリシーを使用したほうが良いでしょう) を区別するには、 10 秒間の間に作成されたディレクトリを最大 10 個までまとめて単一のシリンダグループに書き込むという手順が使えるでしょう。 とにかく私の結論は、そろそろ実験を始めて見る時期だろうということです。 | |
13.13. | カーネルパニックを最大限に利用する |
注記:この節は、freebsd-current メーリングリストに Bill Paul 氏が投稿したメールを、 Dag-Erling Smørgrav 氏が校正し、[] 内のコメントを追加して引用したものです。 From: Bill Paul <wpaul@skynet.ctr.columbia.edu> Subject: Re: the fs fun never stops To: ben@rosengart.com Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT) Cc: current@FreeBSD.ORG [<ben@rosengart.com> が以下のパニックメッセージを投稿しました。] > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x40 > fault code = supervisor read, page not present > instruction pointer = 0x8:0xf014a7e5 ^^^^^^^^^^ > stack pointer = 0x10:0xf4ed6f24 > frame pointer = 0x10:0xf4ed6f28 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 80 (mount) > interrupt mask = > trap number = 12 > panic: page fault このようなメッセージが表示された場合、問題が起きる状況を確認して、 情報を送るだけでは十分ではありません。 下線をつけた命令ポインタ値は重要な値ですが、 残念ながらこの値は構成に依存します。つまり、 この値は使っているカーネルのイメージに依存するのです。 もしスナップショットなどの GENERIC カーネルを使っているのであれば、 他の人間が問題のある関数について追試をすることができますが、 カスタマイズされたカーネルの場合は、 使っている本人にしか問題の起こった場所は特定できないのです。 何をすれば良いのでしょう?
このようなパニックメッセージを投稿している人はよく見掛けますが、 このように、命令ポインタ値を、 カーネルシンボルテーブルの中の関数とつき合わせて調べている人はまれです。 パニックの原因を突き止める最良の方法は、クラッシュダンプをとり、 gdb(1) でスタックトレースを行うことです。 どっちにしろ、私は普通以下のようにします。
make(1) プロセスは2つのカーネル、
確実にクラッシュダンプをとるには、 注記:FreeBSD のクラッシュダンプのサイズは、
ふつう物理メモリサイズと同じです。
つまり 64MB のメモリを積んでいれば、
64MB のクラッシュダンプが生成されることになります。
クラッシュダンプを取り出せたら、 以下のように gdb(1) を使ってスタックトレースをとります。
必要な情報が 1 画面に収まらないことも多いので、できれば script(1) を使って出力を記録します。 strip していないカーネルイメージを使うことで、 すべてのデバッグシンボルが参照でき、 パニックの発生したカーネルのソースコードの行が表示されているはずです。 通常、正確なクラッシュへの過程を追跡するには、 出力を最後の行から逆方向に読まなければなりません。 また gdb(1) を使って、 変数や構造体の内容を表示させ、 クラッシュした時のシステムの状態を調べられます。 もしあなたがデバッグ狂で、同時に別のコンピュータを利用できる環境にあれば、 gdb(1) をリモートデバッグに使うこともできます。 リモートデバッグを使うと、あるコンピュータ上の gdb(1) を使って、 別のコンピュータのカーネルをデバッグできます。 ブレークポイントの設定、カーネルコードのステップ実行など、 ふつうのプログラムのデバッグと変わりません。 コンピュータを 2 台並べてデバッグするチャンスにはなかなか恵まれないので、 私はまだリモートデバッグを試したことはありません。 Bill による追記:
DDB を有効にしていてカーネルがデバッガに
落ちたら、ddb のプロンプトで " | |
13.14. |
|
ELF のツール類は、
デフォルトでは実行形式の中に定義されているシンボルを、
ダイナミックリンカから見えるようにはしません。
このため、
もし、あなたがプロセスの中心にあたる実行形式の中にあるシンボルを探索したければ、
ELF リンカ (ld(1)) に
| |
13.15. | カーネルアドレス空間を大きくしたり、 小さくするにはどうしたら良いのですか? |
カーネルアドレス空間は、FreeBSD 3.X 上で 256MB、FreeBSD 4.X 上で 1GB がデフォルトになっています。 負荷の高いネットワークサーバ (たとえば大きな FTP、HTTP サーバ) を運用する場合は、256MB では足りないことに気付くかも知れません。 では、アドレス空間を大きくするにはどうしたら良いのでしょうか? それには、二つの段階を踏みます。まず、 より大きいアドレス空間を割り当てることをカーネルに知らせる必要があります。 次に、カーネルはアドレス空間の先頭にロードされるため、 アドレスの先頭が天井 (訳注:カーネルアドレス空間の最下端アドレスのこと) と ぶつかることのないように、ロードアドレスを今までより低位に設定する必要があります。
最初の段階は、 #ifndef NKPDE #ifdef SMP #define NKPDE 254 /* addressable number of page tables/pde's */ #else #define NKPDE 255 /* addressable number of page tables/pde's */ #endif /* SMP */ #endif
正確な
次の段階を行なうには、ロードアドレスを正確に計算することが必要です。
単純に、アドレス空間の大きさ
(バイト単位) を 0x100100000 から引き算してください。
1GB アドレス空間の場合、その結果は 0xc0100000 になります。
そして、 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(btext) SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/obj/elf/home/src/tmp/usr/i386-unknown-freebsdelf/lib); SECTIONS { /* Read-only sections, merged into text segment: */ . = 0xc0100000 + SIZEOF_HEADERS; .interp : { *(.interp) }
それが完了したら、 注記:カーネルアドレス空間の大きさは、4MB の倍数である必要があります。 David Greenman 氏による補足:カーネルアドレス空間は 2 の乗数である必要があると思いますが、 それが確かなことかどうかははっきりしていません。 昔の起動コードには、良く高位アドレスビットのトリックが使われていたため、 少なくとも 256MB の粒度であることが想定されていたと思います。 |
訳:
こがよういちろう <y-koga@ccs.mt.nec.co.jp>
、
1997 年 11 月 10 日
〓 |
この FAQ について問題を見つけたり、何か登録したい場合は、
FAQ 保守担当者 | 〓 |
〓 | --FreeBSD Core Team |
たまに起こす FAQ の並べ替えや更新の発作
freebsd-questions メーリングリストでの義務を超えたサービス
Usenet (NetNews) での義務を超えたサービス
ネットワーク節の執筆と文書整形
マルチキャストについて
FreeBSD FAQ タイピング機械奴隷
不平を言ったり、うめいたり、情報提供してくれたり
あと、抜けてしまった他の方々に対して、謝罪と心からの感謝を捧げます!
FreeBSD 日本語ドキュメンテーションプロジェクトは、
FreeBSD 関係の日本語文書が少ないことを嘆いた数人の
FreeBSD ユーザの提唱によって 1996 年 2 月 26 日にスタートし、
FreeBSD 日本語ハンドブックの作成をはじめとした活動を行なってきました。
FreeBSD FAQ の日本語化についてはオリジナルの翻訳作業だけでなく、
日本国内に固有の話題についても広く情報を集め、
日本の FreeBSD ユーザにとって真に有益なドキュメントを提供しようと考えています。
オリジナルの FAQ は日毎に更新されており、
私たちもまたこれに追い付くために作業を続けていきます。もちろん、新しいメンバも大歓迎です。
日本語翻訳版について、何かお気づきの点がありましたら、
日本語ドキュメンテーションプロジェクト <doc-jp@jp.FreeBSD.org>
までご連絡ください。
また、もし私たちの作業を手伝ってくれるなら、
FreeBSD
日本語ドキュメンテーションプロジェクトのページをご覧の上、是非参加してください。
有村 光晴 <arimura@jp.FreeBSD.org>
一宮 亮 <ryo@azusa.shinshu-u.ac.jp>
岩崎 満 <iwasaki@FreeBSD.org>
内川 喜章 <yoshiaki@kt.rim.or.jp>
栗山 淳 <kuriyama@FreeBSD.org>
こがよういちろう <y-koga@ccs.mt.nec.co.jp>
今野 元之 <motoyuki@FreeBSD.org>
杉村 貴士 <sugimura@jp.FreeBSD.org>
中井 幸博 <nakai@mlab.t.u-tokyo.ac.jp>
にしか <nishika@cheerful.com>
花井 浩之 <hanai@FreeBSD.org>
はらだ きろう <kiroh@jp.FreeBSD.org>
広瀬 昌一 <shou@kt.rim.or.jp>
福間 康弘 <yasuf@big.or.jp>
むらたしゅういちろう <mrt@mickey.ai.kyutech.ac.jp>
山下 淳 <junkun@esys.tsukuba.ac.jp>
浅見 賢 <asami@FreeBSD.org>
岩崎 満 <iwasaki@FreeBSD.org>
内川 喜章 <yoshiaki@kt.rim.or.jp>
栗山 淳 <kuriyama@FreeBSD.org>
今野 元之 <motoyuki@FreeBSD.org>
佐伯 隆司 <saeki@jp.FreeBSD.org>
杉村 貴士 <sugimura@jp.FreeBSD.org>
花井 浩之 <hanai@FreeBSD.org>
浜田 直樹 <nao@tom-yam.or.jp>
はらだ きろう <kiroh@jp.FreeBSD.org>
日野 浩志 <hino@ccm.cl.nec.co.jp>
檜山 卓 <shiyama@intercity.or.jp>
広瀬 昌一 <shou@kt.rim.or.jp>
むらたしゅういちろう <mrt@mickey.ai.kyutech.ac.jp>
若井 久史 <earth@hokuto7.or.jp>
一宮 亮 <ryo@azusa.shinshu-u.ac.jp>
岩崎 満 <iwasaki@jp.FreeBSD.org>
下川 英敏 <simokawa@jp.FreeBSD.org>
鈴木 秀幸 <hideyuki@jp.FreeBSD.org>
[biblio-44sysman] 4.4BSD System Manager's Manual. O'Reilly and Associates. 1st Edition. June 1994. 804 pages. ISBN 1-56592-080-5.
[biblio-44userman] 4.4BSD User's Reference Manual. O'Reilly and Associates. 1st Edition. June 1994. 905 pages. ISBN 1-56592-075-9.
[biblio-44suppman] 4.4BSD User's Supplementary Documents. O'Reilly and Associates. 1st Edition. June 1994. 712 pages. ISBN 1-56592-076-7.
[biblio-44progman] 4.4BSD Programmer's Reference Manual. O'Reilly and Associates. 1st Edition. June 1994. 866 pages. ISBN 1-56592-078-3.
[biblio-44progsupp] 4.4BSD Programmer's Supplementary Documents. O'Reilly and Associates. 1st Edition. June 1994. 596 pages. ISBN 1-56592-079-1.
[biblio-44kernel] The Design and Implementation of the 4.4BSD Operating System. Addison-Wesley. Reading MA . 1996. ISBN 0-201-54979-4.
[biblio-nemeth3rd] Unix System Administration Handbook. Prentice-Hall. 3rd edition. 2000. ISBN 0-13-020601-6.