The Debian GNU/Linux FAQ ------------------------ 第 15.1 節, `著者' version CVS, 2 January 2007 ------------------------------------------------------------------------------- 概要 ---- この文書は Debian GNU/Linux についてたびたび尋ねられる質問に答えたものです。 著作権表示 ---------- Copyright (C) 1996-2000 by Software in the Public Interest Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. この著作権表示と許諾条件告知が記載してあれば、何も手を加えずにこの 文書を複製し配布してもかまいません。 上記の複写条件に加えて、この文書から派生した著述全体がこの許諾条件 と同じ条件で配布されるならば、この文書に変更を加えたものを複写して配布 してもかまいません。 変更した版に対する上記の許諾条件と同じ条件で、この文書を他の言語に 翻訳したものを複写して配布してもかまいません。ただし、この許諾条件告知 は、原文の英語版の代わりにフリーソフトウェア財団が承認した翻訳を含めて もかまいません。 (訳註) 上記翻訳は FSF の承認を得たものではありません。SPI に問い合 わせたところ、この FAQ の再配布は以下の条件に従うようにとの返答をいた だきました。 Copyright 1997 Software in the Public Interest (SPI) P.O. Box 70152 Pt. Richmond, CA 94807-0152. Verbatim copying and distribution is permitted in any medium, provided this notice is preserved. You may translate these documents and their licence into another language providing: * You do not deliberately change their meaning beyond changes meant to achieve a coloquial rendering in another language. * Translations of the licence must be clearly marked as translations, and the licence in its original language shall continue to apply to all translations. * In the case of hypertext pages, you must maintain a copy of the oroginal page on the sme site, and must provide a link from the translated page to its original. この著作権表示が記載してあるならば、どのような媒体にでも何も手を加 えずに複写して再配付することを許可します。これらのドキュメントとその使 用許諾を他の言語に翻訳する際は、以下の条件に従って下さい。 * 他の言語に翻訳する際に、他の言語での口語表現への変更の範囲を越えて 故意に意味を変更しないこと。 * 翻訳した使用許諾には、それが翻訳であること、また原文の使用許諾が翻 訳全体に依然適用されることを明示すること。 * ハイパーテキストの場合、同一サイト上で原文のコピーを保守すること。 また、翻訳したハイパーテキストのページからその原文へのリンクを提供する こと。 なお日本語訳については、笹井 崇司、橋本 喜代太、八田 修三、 前原 恵太 (1997 年)、関戸 幸一 (2000 年) に著作権があります。 ------------------------------------------------------------------------------- 目次 ---- 1. 定義と概観 1.1. Debian GNU/Linux とは何ですか? 1.2. はい、Debian が何かは分かりました。でも Linux とは何で すか?! 1.3. 見慣れないこの「Hurd」というのは何ですか? 1.4. Debian GNU/Linux と他の Linux ディストリビューションとの違 いは何ですか? 1.5. Debian プロジェクトは フリーソフトウェア財団 の GNU プロ ジェクトとどれくらいうまくやっているんでしょう? 1.6. Debian はどう発音するのですか。またその意味は? 2. Debian GNU/Linux の入手とインストール 2.1. Debian の最新バージョンは何ですか? 2.2. Debian のインストールディスクはどこからどのよう に入手できますか? 2.3. Debian を CD-ROM からインストールするにはどうしますか? 2.4. 私は CD ライターを持っています。どこかに CD イメージ はありますか? 2.5. フロッピィをたくさん使ってインストールできますか? 2.6. Debian を遠隔のインターネットサイトから直接入手 してインストールできますか? 2.7. Debian をテープデバイスから取得・インストールできますか? 3. 互換性に関する問題 3.1. Debian GNU/Linux はどんなハードウェアのアーキテクチャ/システム で動きますか? 3.2. Debian は他の Linux ディストリビューションとど れくらい互換性がありますか? 3.3. Debian は他の Unix システムとどれぐらいソースレベ ルの互換性があるのでしょうか? 3.4. Debian パッケージ (「.deb」ファイル) は RedHat/Slackware/... の Linux システムで使えますか? RedHat パッケージ (「.rpm」ファイル) を Debian GNU/Linux システムで使えますか? 3.5. 私の非常に古い「a.out」プログラムをDebian で実行できま すか? 3.6. 私の古い libc5 プログラムを Debian で実行できますか? 3.7. libc5 プログラムをコンパイルするのに Debian を 使えますか? 3.8. 非 Debian プログラムをインストールするに はどうしたらよいですか? 3.9. `foo' を実行しようとすると「Can't find libX11.so.6」というエラーが起きるのはなぜですか? 3.10. どうして libtermcap を使用するプログラムをコンパイル できないのですか? 3.11. どうして AccelX がインストールできないのですか? 3.12. 古い XFree 2.1 Motif のアプリケーションがクラッシュ するのはなぜですか? 4. Debian システムで利用可能なソフトウェア 4.1. どんな種類のアプリケーションや開発用ソフトウェアが Debian GNU/Linux 向けに提供されていますか? 4.2. それらのソフトウェアは誰が作成したのですか? 4.3. Debian プロジェクト向けにパッケージ化されているプログ ラムの最新の一覧はどうやったら入手できますか。 4.4. Debian ライブラリパッケージにどんな libfoo.so ファイ ルもないのはなぜですか? 4.5. Debian GNU/Linux には何が欠けていますか? 4.6. Debian は (どのように) Java をサポートしていますか? 4.7. Debian システムを使用していることを確かめるにはど うしたらよいですか? またそのバージョンを調べるには? 4.8. Debian は英語以外の言語をどのようにサポートしてい ますか? 4.9. アメリカ合州国の輸出規制の制限はどうなのでしょう? 4.10. pine はどこにあるのですか? 5. Debian FTP アーカイブ 5.1. Debian FTP アーカイブにあるあのディレクトリは何ですか? 5.2. `dists' ディレクトリにはどれくらいの Debian ディ ストリビューションがありますか? 5.3. slink とか potato とかいう名前は何ですか? 5.4. 「frozen」とは何ですか? 5.5. 他にどのようなコードネームが過去に使われましたか? 5.6. これらのコードネームはどこから来ているので すか? 5.7. 「sid」とは何ですか? 5.8. stable ディレクトリには何がありますか? 5.9. unstable ディレクトリには何がありますか? 5.10. `dists/stable/main' の中のディレクトリは 何ですか? 5.11. ソースコードはどこにありますか? 5.12. 分かりました。`dists' の外の他のディレクトリ についてはどうですか? 6. Debian パッケージ管理システムの基本 6.1. Debian パッケージとはどのようなものですか? 6.2. Debian バイナリパッケージはどんな形式ですか? 6.3. どうして Debian パッケージのファイル名はこんなに長い のですか? 6.4. Debian 制御ファイルとは何ですか? 6.5. Debian conffile とは何ですか? 6.6. Debian preinst、postinst、prerm、postrm スクリプ トとは何ですか? 6.7. Required/Important/Standard/Optional/Extra パッケー ジとはなんですか ? 6.8. 仮想パッケージとはなんですか? 6.9. 他のパッケージに Depends/Recommends/Suggests/Conflicts/Replaces/Provides しているとはどう いう意味ですか? 6.10. Pre-Depends とはどういう意味ですか? 6.11. パッケージ状態の unknown/install/remove/purge/hold とはどういう意味ですか? 6.12. どうしたらパッケージを hold にできますか? 6.13. ソースパッケージをインストールするにはどうしたらよ いですか? 6.14. ソースパッケージからバイナリパッケージを作るには どうしたらよいですか? 6.15. Debian パッケージを自分で作るにはどうしたらよい ですか? 7. Debian パッケージ管理ツール 7.1. パッケージを管理するために Debian は何というプログラ ムを用意していますか? 7.1.1. dpkg 7.1.2. dselect 7.1.3. dpkg-deb 7.1.4. apt-get 7.1.5. dpkg-split 7.2. Debian は実行中のプログラムを更新できると言って ますが、どのようにして実現しているのですか ? 7.3. Debian システムにどのパッケージがすでにインストー ルされているかを調べるにはどうしたらよいですか? 7.4. あるファイルがどのパッケージに入っているか調べるに はどうしたらいいですか? 8. Debian システムを最新に保つには 8.1. libc5 に基づく私の Debian 1.3.1 (あるいはそれ 以前) を libc6 に基づく2.0 (あるいはそれ以降) にアップグレードするにはど うすればいいのですか? 8.2. Debian システムを最新に保つにはどうすればいいの ですか? 8.2.1. APT 8.2.2. dpkg-ftp 8.2.3. mirror 8.2.4. dftp 8.2.5. dpkg-mountable 8.3. パッケージをアップグレードするにはシングルユー ザモードに入る必要がありますか? 8.4. 自分のディスクに全ての .deb アーカイブファイルを保存 しておかなければならないのですか? 8.5. システムに追加したパッケージのログを保存するには どうしたらいいのですか? 9. Debian とカーネル 9.1. 何らかの Debian 特有の微調整をしなくてもカー ネルをコンパイル・インストールできますか? 9.2. カスタムカーネルを構築するために Debian にはどん なツールがあるのですか? 9.3. カスタムブートフロッピーを作るにはどうすればよ いですか? 9.4. Debian にはモジュールを扱うための何か特別な決まりがあ りますか? 9.5. 古いカーネルを安全に消去することはできますか ? もしできるならどうすればいいのですか? 10. Debian GNU/Linux のインストールをカスタマイズする 10.1. 全てのプログラムが確実に同じ用紙サイズを使うように 設定するにはどうすればいいのですか? 10.2. セキュリティを弱めることなしにハードウェア機器 にアクセスするにはどうしたらよいですか? 10.3. スタートアップ時にコンソールフォントを Debian 流 にロードするにはどうしたらよいですか? 10.4. X11 プログラムのアプリケーションデフォルトを設定 するにはどうすればいいのですか? 10.5. どのディストリビューションもそれぞれ起動方法が異なっ ているようですね。Debian の場合について教えて下さい。 10.6. Debian はブートプロセスをカスタマイズするの に `rc.local' を使っていないようですね。どんな手段が使えるのです か? 10.7. パッケージ管理システムでは、別のパッケージに関 する設定ファイルを含んでいるようなパッケ ージをどのようにして取り扱うので すか? 10.8. あるパッケージによってインストールされたファイルを上書 きして、代わりに違うバージョンのものを使 うにはどうすればいいのですか? 10.9. パッケージ管理システムが知っている利用可能パッ ケージのリストの中に自分で作ったパッケー ジを含めるにはどうすればいいので すか? 10.10. mawk が好きなユーザもいれば gawk が好きなユーザもいま す。vim が好きなユーザもいれば elvis が好きなユーザもいます。trn が好き なユーザもいればtin が好きなユーザもいます。このような多様性を Debian は どのようにしてサポートしていますか? 11. Debian GNU/Linux のサポートを得る 11.1. Debian システムに関するドキュメントは他にどんなも のがありますか? 11.2. オンラインで参照できる Debian についての資料 はありますか? 11.3. メーリングリストのための行動規範は何ですか? 11.3.1. メーリングリストの広告方針 11.4. Debian GNU/Linux に関する情報をてっとりばやく検索する方法 はありますか? 11.5. 既知のバグの記録はありますか? 11.6. Debian のバグはどのようにして報告すればいいのですか? 12. Debian プロジェクトに貢献する 12.1. Debian のソフトウェア開発者になるにはどうすればよいの ですか? 12.2. どうすれば Debian プロジェクトに資源を寄贈することができますか? 12.3. 金銭的に Debian プロジェクトに貢献す るにはどうすればいいのですか? 12.3.1. Software in the Public Interest 12.3.2. フリーソフトウェア財団 (Free Software Foundation, FSF) 13. Debian GNU/Linux を商用製品の中で再配布する 13.1. Debian の CD を作って売ることができますか? 13.2. Debian をフリーではないソフトウェアと一緒にパッ ケージにできますか? 13.3. 私は「バーチカル市場」向けに特殊な Linux のディス トリビューションを作成しています。Linux システムの核として Debian GNU/Linux 使っ てその上に独自のアプリケーションを加えてもいいですか? 13.4. 私が作成した商用のプログラムを Debian 「パッケー ジ」にして Debian システムへのインストールを楽にしてもいいですか? 14. Debian GNU/Linux の次のメジャーリリースでどのような変更が行 われると予想しておくべきでしょうか? 14.1. 強化されたセキュリティ 14.2. 非英語ユーザのさらなるサポート 14.3. より多くのアーキテクチャ 14.4. Linux kernel 2.4 14.5. GNU C ライブラリ 2.2 15. この FAQ に関する一般的な情報 15.1. 著者 15.2. フィードバック 15.3. 入手先 15.4. 文書形式 ------------------------------------------------------------------------------- 1. 定義と概観 ------------- 1.1. Debian GNU/Linux とは何ですか? ----------------------------------- Debian GNU/Linux とは Linux オペレーティングシステムの_ディストリビューショ ン_の一つであり、その上で動く膨大なパッケージのことです。 原理上は、利用者は Linux カーネルをインターネットかどこかを経由して入 手できるでしょうし、自分自身でコンパイルできるでしょう。同じ方法で多くの アプリケーションのソースコードを入手し、プログラムをコンパイルし、システ ムにインストールできるでしょう。しかしながら、複雑なプログラムではこの手 順は時間がかかるばかりでなく間違いを誘うものとなります。これを避けるため に利用者は多くの場合、Linux 配布業者の一つからオペレーティングシステムと アプリケーションパッケージを入手することを選びます。様々な Linux 配布業 者の間で何が違うかというと、ソフトウェアやプロトコル、アプリケーションパッ ケージのパッケージ化やインストール、パッケージの追跡のやり方、組みこまれ ているインストールと保守ツール、文書、その他のサービスです。 Debian GNU/Linux は、アプリケーションが完備されたフリーで高品質な Unix 互換の オペレーティングシステムを作ろうとしたボランティアの努力の結晶です。 Unix ライクのフリーなシステムというアイデアは GNU プロジェクトによって創 案されました。また Debian GNU/Linux を有益にしている多くのアプリケーションを開発 したのも GNU プロジェクトです。 Debian GNU/Linux にとって「フリー」とは GNU 的な意味です (Debian フリーソフトウェアガイドライン (http://www.debian.org/social_contract#guidelines) を参照してくださ い)。我々が言う「フリー」とは価格のことではなく自由のことを意味します。 フリーソフトウェアが意味するのは、複製を自由に配布でき、ソースコードを与 えられるか望めば入手できるかし、ソフトウェアを改変したり一部を新しいフリー なプログラムに使ったりできるということであり、そしてこれらができることを 知っているということです。 Debian プロジェクトは 1993 年に Ian Mardock が創設しました。当初はフ リーソフトウェア財団 の GNU プロジェクトの後援を受けていました。現在、 Debian の開発者たちは Debian のことを GNU プロジェクトの直系の子孫である と考えています。 Debian GNU/Linux は * _フル機能_: 現在 Debian には 4200 を超えるソ フトウェアパッケージがあります。利用者はどのパッケージをインストールする か選べます。また Debian にはインストールのために専用のツールが用意されて います。Debian の ミラーサイト (http://www.debian.org/distrib/ftplist) には現在 入手できるパッケージの一覧と説明があります。 * _使用や再配布が自由_: Debian の配布や開発にあたっ て、コンソーシアムへ入会したり金銭を支払ったりする必要ありません。 Debian GNU/Linux の公式な部分として含まれているパッケージは、通常 GNU 一般公有使 用許諾書で定められた条件の下ですべて自由に再配布できます。 Debian の FTP アーカイブには約 450 のソフトウェア パッケージも提供されています (`non-free'、`contrib' セクショ ンにあります)。これらのパッケージはそれぞれのパッケージに含まれている特 定の条件に従って配布することができます。 * _活発_: およそ 500 人のボランティアが絶え ず新しいソフトウェアを寄せたりソフトウェアを改良したりするので、Debian は迅速に進化しています。新しいリリースが数ヵ月ごとに作成される計画になっ ており、また FTP サイトは毎日更新されています。 Debian GNU/Linux 自体はフリーソフトウェアですが、これをベースとして付加価値を つけた Linux ディストリビューションを構築することができます。Debian によっ て信頼できるフル機能の基本システムが提供されるため、Linux ユーザは互換性 の増大を亨受できますし、Linux ディストリビューション作成者は同じような努 力をせずにすんでディストリビューションの特色となるものに専念できるように なります。詳しくは 第 13.3 節, `私は「バーチカル市場」向けに特殊な Linux のディス トリビューションを作成しています。Linux システムの核として Debian GNU/Linux 使っ てその上に独自のアプリケーションを加えてもいいですか?' を参照してください。 1.2. はい、Debian が何かは分かりました。でも Linux とは何で すか?! ------------------------------------------------------------------ 端的に言って、Linux は Unix ライクなオペレーティングシステムのカーネ ルです。もともとは 386 (以上) の PC 用に設計されました。現在ではマルチプ ロセッサシステムを含む他のシステムにも移植版が開発中です。Linux は Linus Torvalds と世界中に散らばっている多くの計算機科学者が開発していま す。 カーネルの他にも「Linux」システムには普通下記のものが含まれています。 * Linux ファイルシステム階層標準 http://www.pathname.com/fhs/ に準拠したファイルシステム。 * 様々な分野の Unix ユーティリティ。その多くは GNU プロジェクトと フリーソフトウェア財団が開発しました。 Linux カーネルとファイルシステム、GNU と FSF のユーティリティ、その他 のユーティリティの組み合わせは POSIX (IEEE1003.1) 標準に準拠するように設 計されています。第 3.3 節, `Debian は他の Unix システムとどれぐらいソースレベ ルの互換性があるのでしょうか?' を参照してください。 Linux についてのより詳しい情報は Michael K. Johnson の INFO-SHEET (ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/INFO-SHEET) と META-FAQ (ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/META-FAQ) を見てください。日本語で読めるものとしては、内容がやや 古くなりますが Linux 情報メ モ (http://www.linux.or.jp/JF/JFdocs/INFO-SHEET.html) があります。 1.3. 見慣れないこの「Hurd」というのは何ですか? ---------------------------------------------- Hurd は GNU Mach マイクロカーネルの上で動作するサーバの集まりです。こ れらは一緒になって GNU オペレーティングシステムのベースを形成します。 今のことろ Debian は Linux のでのみ利用可能ですが、Debian GNU/Hurd で 我々は Hurd を開発・サーバ・デスクトップのプラットフォームとして提供しは じめています。しかしながら GNU/Hurd はまだ正式にはリリースされておらず、 しばらくはそうならないでしょう。 GNU/Hurd 一般についてのより詳しい情報は http://www.gnu.org/software/hurd/ を見てください。Debian GNU/Hurd についてのより詳しい情報は http://www.debian.org/ports/hurd/ を見てください。 1.4. Debian GNU/Linux と他の Linux ディストリビューションとの違 いは何ですか? ---------------------------------------------------------------------------- 次のキーとなる機能が Debian と他の Linux ディストリビューションを区 別しています。 Debian パッケージ保守システム: システム全体またはシステムを構成する個々の部品を手際よくアップグ レードできます。その際、フォーマットしなおす必要はありませんし、また書 き換えた構成ファイルがなくなることもありませんし、(たいていの場合) シ ステムを再起動しなくてすみます。現在入手できるたいていの Linux ディス トリビューションには何らかのパッケージ保守システムが備わっていますが、 Debian パッケージ保守システムはユニークで特に頑強です (第 6 章, `Debian パッケージ管理システムの基本' 参照)。 開放的な開発: 他の Linux ディストリビューションは個人や小人数の閉鎖的なグルー プ・商業ベンダが開発しているのに対し、Debian は、Linux や他のフリーソ フトウェアの精神に則り、インターネットを通じ多くの個人が協力して開発し ている唯一の Linux ディストリビューションです。 500 人を越えるボランティアのパッケージ保守担当者が 4200 以上のパッケージに取り組んで Debian GNU/Linux を改良しています。 Debian の開発者は、(たいていの場合) 新しくアプリケーションを作成するの ではなくて、すでに作成されたソフトウェアをプロジェクトの標準に沿うよう にパッケージにしたり、上流の開発者にバグレポートを送ったり、ユーザサポー トを行ったりして貢献しています。貢献者になるための更なる情報 第 12.1 節, `Debian のソフトウェア開発者になるにはどうすればよいの ですか?' もご覧ください。 バグ追跡システム: Debian の開発者は地理的に散らばっているので、システム開発を進め るためにはバグとバグフィックスに関する洗練されたツールと迅速なコミュニ ケーションが必要です。利用者は一定の形式でバグを報告するよう推奨されて います。報告されたバグは WWW アーカイブか電子メールを使って素早くアク セスできます。詳細はこの FAQ の 第 11.5 節, `既知のバグの記録はありますか?' を見てください。 Debian ポリシー: Debian は品質に関する標準を詳細に規定しています。これが Debian ポリシーで、Debian パッケージで保持するべき品質と標準とを定義していま す。 1.5. Debian プロジェクトは フリーソフトウェア財団 の GNU プロ ジェクトとどれくらいうまくやっているんでしょう? ---------------------------------------------------------------------------- Debian システムはフリーソフトウェアの理念に基づいて作られています。こ の理念を最初に擁護したのはフリーソフトウェア財団 (Free Software Foudation, FSF) http://www.gnu.org/home.ja.html であり、特に Richard Stallman でした。FSF の強力なシステム開発ツールやユーティリティ・ アプリケーションも Debian システムの重要な部分です。 Debian プロジェクトは FSF とは異なる団体ですが、さまざまなプロジェク トについて定期的に連絡を取ったり協力したりしています。FSF は私たちのシス テムを「Debian GNU/Linux」と呼ぶように表立って要求しました。私たちはこの要求に喜 んで従っています。 FSF は、HURD http://www.gnu.org/software/hurd/hurd.html を ベースにした GNU という新しいオペレーティングシステムの開発をずっと以前 から目指しています。 1.6. Debian はどう発音するのですか。またその意味は? --------------------------------------------------- Deb'-ian と e は短く、また第一音節にアクセントを置いて発音します。こ の語はプロジェクトを立ちあげた Debra と Ian Murdock の名前を短縮したもの です。(辞書によると Ian の発音には少しばかり曖昧さが見られます(!)。Ian は ee'-an という発音を好んでいます) ------------------------------------------------------------------------------- 2. Debian GNU/Linux の入手とインストール ---------------------------------------- 2.1. Debian の最新バージョンは何ですか? --------------------------------------- 現在 Debian GNU/Linux には 2 つのバージョンがあります。 _リリース 2.2。別名「stable (安定版)」_ これは安定版で充分テストされたソフトウェアですが、セキュリティ や使用上の大きな修正が組み入れられたときには変更があります。 _「unstable (開発版)」ディストリビューション_ これは現在開発中のバージョンであり、絶え間なく更新されています。 任意の Debian FTP サイトにある「unstable」なアーカイブからパッケージ を取得でき、それらを使って好きなときにシステムをアップグレードできま すが、システムが以前と同じように有用で安定していることを期待してはい けません。だからこそ「_unstable (開発版)_」と呼ばれているので す! より詳しくは 第 5.2 節, ``dists' ディレクトリにはどれくらいの Debian ディ ストリビューションがありますか?' を見てください。 2.2. Debian のインストールディスクはどこからどのよう に入手できますか? ---------------------------------------------------------------------- インストールディスクを入手するには Debian FTP サイトから適切なファイ ルをダウンロードします。場所は ftp://ftp.debian.org/pub/debian/ とその ミラー (http://www.debian.org/distrib/ftplist) です。 2.3. Debian を CD-ROM からインストールするにはどうしますか? ----------------------------------------------------------- Linux は ISO 9660 (CD-ROM) ファイルシステムとその Rock Ridge 拡張 (以 前は「High Sierra」として知られていたもの) をサポートしています。いくつ かの ベンダ (http://www.debian.org/distrib/vendors) がこ のフォーマットの Debian GNU/Linux を提供しています。 警告: CD-ROM からインストールする場合、dselect の `cdrom' アク セスメソッドを選択するのは通常あまり良い考えではありません。このメソッド はとても遅いのが普通です。CD-ROM からインストールするには、例えば `mountable' や `apt' メソッドの方がずっと良いでしょう (第 8.2.5 節, `dpkg-mountable' と 第 8.2.1 節, `APT' を参照)。 2.4. 私は CD ライターを持っています。どこかに CD イメージ はありますか? ----------------------------------------------------------------------- あります。CD ベンダが高品質なディスクを容易に提供できるよう、我々は オフィシャル CD イメージ (http://cdimage.debian.org/) を 提供しています。 2.5. フロッピィをたくさん使ってインストールできますか? ------------------------------------------------------ 初めに警告しておきます。標準的な 1.44MB のフロッピィディスクのように 小さなメディアからインストールするには Debian GNU/Linux は大きすぎます。フロッピィ からのインストールはあまり楽しい経験とはならないでしょう。 フォーマットされたフロッピィディスクにDebian パッケージをコピーしてく ださい。DOS フォーマット、ネイティブな Linux の ext2 フォーマット、 minix フォーマットが使えます。あとは使用するフロッピィに対して mount コ マンドを適切に使うだけです。 フロッピィを使うのは次の点で厄介です。 * MS-DOS の短いファイル名: Debian パッケージを MS-DOS フォーマット のディスクに配置しようとすると、たいていファイル名が長すぎるため、 MS-DOS の 8.3 文字というファイル名の制限を超えてしまうことに気付くで しょう。これを解決するために Debian の開発者はすべてのパッケージを 8.3 のファイル名で利用できるようにしています。それらは別に分けた 「msdos」というサブディレクトリ (`stable/msdos-i386/'、 `contrib/msdos-i386/'、`non-free/msdos-i386/')にありま す。これらのディレクトリの中のファイルは Debian アーカイブのファイル への単なるシンボリックリンクで、`binary-i386/' などのディレク トリにあるファイルと何も違いません。 * 大きなファイルサイズ: パッケージの中には 1.44 M バイトを超えるも のがあり、これらは 1 枚のフロッピィに収まりません。この問題を解決す るには dpkg-split ツールを使います (第 7.1.5 節, `dpkg-split' を参照)。 これは ftp://ftp.debian.org/debian/ とその ミ ラー (http://www.debian.org/distrib/ftplist) の `tools' ディレクトリで入手できます。 フロッピィディスクに読み書きするにはカーネルでフロッピィディスクをサ ポートするようにしなければなりません。ほとんどのカーネルにはフロッピィド ライブのサポートがあらかじめ組み入れられています。 マウントポイント `/floppy' にフロッピィディスクをマウントする には次のようにします (マウントポイントとなるディレクトリははインストール 中に作成されていなければなりません)。 * フロッピィディスクが A: ドライブにあって MS-DOS ファイルシステム の場合 mount -t msdos /dev/fd0 /floppy/ * フロッピィディスクが B: ドライブにあって MS-DOS ファイルシステム の場合 mount -t msdos /dev/fd1 /floppy/ * フロッピィディスクが A: ドライブにあって ext2 ファイルシステム (通常の Linux のファイルシステム) の場合 mount -t ext2 /dev/fd0 /floppy/ 2.6. Debian を遠隔のインターネットサイトから直接入手 してインストールできますか? ---------------------------------------------------------------------------- できます。このためにはいくつかの方法があります。 * _APT を使う:_ `apt' パッケージをインストールし、 `/etc/apt/sources.list' ファイルをニーズに合わせて編集します。 最も近い Debian のミラーについての情報を含めるように変更するべきです。 これに関する詳細は apt-get(8) と sources.list(8) のマニュアルページにあります。APT ユーザーズガイド `/usr/share/doc/apt/guide.html/index.html' にもあります。 そうしてから apt-get update を実行し、続いて apt-get upgrade を実行します。するとシステムは最新の Debian リリースにアップグレード されます。 * _dselect と dpkg-ftp を使う:_ `dpkg-ftp' パッケージ (第 8.2.2 節, `dpkg-ftp' を参照) をインス トールします。 それからプログラム `dselect' を起動します。これは `dpkg-ftp' を呼び出し、パッケージ選択について案内して、パッケー ジ自体をあなたのマシンにいちいちダウンロードせずにインストールします。 この方法はディスク容量と時間の両方を節約するために設計されています。 dselect は、使おうとする ftp サイトの完全修飾ドメイン名を聞いてき ます。どの ftp サイトを指定したらよいのか分からなかったら ftp.debian.org か http.us.debian.org を試してみてください。 インストールしたいファイルが入っているディレクトリまたはサブディ レクトリも聞かれます。このディレクトリには「Packages」(もしくは圧縮 された「Packages.gz」) というファイルがなければなりません。通常 dists/stable/main/binary-ARCH となります。ARCH はあなたのマシンのアー キテクチャです。 注意していただきたいのは、パッケージを取得しインストールするときにそ れらが /var ディレクトリ階層に保持されるということです。したがって余分な ファイルを削除するかどこか他へ移動させておいてください (ヒント: `apt-move' を使ってください)。そうしないとパーティションがオーバー フローするかもしれません。 2.7. Debian をテープデバイスから取得・インストールできますか? ------------------------------------------------------------- 現在のところ、テープからの直接のインストールはサポートされていません。 しかし、`tar' や `cpio'・`afio' を使って Debian アー カイブファイルをテープにコピーし、それらをローカルのディスクにコピーして インストールすることは可能です。同じような調子で、「tar」ファイルの入って いるフロッピィディスクを、Debian パッケージツールで管理される前にローカ ルのディスクにコピーしておかなくてはなりません。 ------------------------------------------------------------------------------- 3. 互換性に関する問題 --------------------- 3.1. Debian GNU/Linux はどんなハードウェアのアーキテクチャ/システム で動きますか? ---------------------------------------------------------------------------- Debian GNU/Linux にはすべてのプログラムの完全なソースコードが入っています。で すから Linux カーネルでサポートされるあらゆるシステムで動きます。詳しく は Linux FAQ (http://www.linuxdoc.org/FAQ/Linux-FAQ/) を見てください。 現在の Debian GNU/Linux リリース 2.2 には以下のアーキテクチャ用の完全な バイナリ配布物が含まれています。 _i386_: Intel とその互換プロセッサを使用した PC をカバーします。 Intel の 386 や 486、Pentium、Pentium Pro、Pentium II (Klamath と Celeron の両方)、Pentium III、ほとんどの AMD や Cyrix の互換プロセッサな どです。 _m68k_: MMU が附属している Motorola 680x0 プロセッサ (ただし x >=2) を 持っている Amiga や ATARI をカバーします。 _alpha_: Compaq/Digital の Alpha システムをカバーします。 _sparc_: Sun の SPARC と ほとんどの UltraSPARC システムをカバーし ます。 _powerpc_: IBM/Motorola の PowerPC マシンのいくつかをカバーします。 CHRP、PowerMac、PReP マシンなどです。 _arm_: ARM と StrongARM マシン。 Sparc64 (UltraSPARC ネイティブ) や MIPS アーキテクチャ用の Debian バ イナリ配布物は現在開発が進行中です。 起動の方法やドライブのパーティショニング、PCMCIA (PC カード) デバイス を有効にするやり方などについてはインストールマニュアルの指示に従ってくだ さい。インストールマニュアルは我々の WWW サイト http://www.debian.org/releases/stable/i386/install にあります。 3.2. Debian は他の Linux ディストリビューションとど れくらい互換性がありますか? ---------------------------------------------------------------------------- Debian の開発者は、Linux ディストリビューション同士でバイナリ互換性が 維持できるよう、他の Linux ディストリビューション作成者と連絡を取りあっ ています。商用の Linux 製品はたいていその製品が構築されたシステムと同じ くらいうまく Debian の上でも動きます。 Debian GNU/Linux は Linux ファイルシステム階層標準 (http://www.pathname.com/fhs/) に厳密に従っています。とはいえ、この 標準には解釈の余地の残っている規則がいくつか存在するので、Debian システ ムと他の Linux システムとで異なる点があるかもしれません。 3.3. Debian は他の Unix システムとどれぐらいソースレベ ルの互換性があるのでしょうか? ---------------------------------------------------------------------------- Linux のソースコードはたいていのアプリケーションで他の Unix システム と互換性があります。System V Unix システムや BSD から派生したフリーま たは商用のシステムが提供するものを Linux はほとんどすべてサポートします。 しかし、Unix 業界ではこのように主張しても検証するすべがないのでほとんど 意味を持ちません。ソフトウェア開発においては、「たいていの」場合に互換性 が保たれていることではなく、完全に互換性が保たれていることが要求されます。 数年前に標準の必要性が高まり、今日では POSIX.1 (IEEE bStandard 1003.1-1990) が Unix ライクなオペレーティングシステム間でソースコードの 互換性をとるための主要な標準の一つになっています。 Linux も POSIX.1 に従おうとしていますが、POSIX 標準は現金を要し、 POSIX.1 (と FIPS 151-2) 検定はかなり高額です。このため完全な POSIX 準拠 をめざして働くのは Linux 開発者にとって簡単ではありません。たとえ Debian が確認テストセットに全てパスしていても、検定コストが高いので Debian が公式に適合保証を得る見込みはほとんどありません (確認テストセッ トは今では自由に利用でき、より多くの人が POSIX.1 問題のために働くことが 期待されています)。 Unifix GmbH (ブラウンシュワイク、ドイツ) は FIPS 151-2 (POSIX.1 のスー パーセット) に準拠していると認められた Linux システムを開発しました。この 技術は Unifix Linux 2.0 という Unifix 自身のディストリビューションと Lasermoon の Linux-FT として利用できます。 3.4. Debian パッケージ (「.deb」ファイル) は RedHat/Slackware/... の Linux システムで使えますか? RedHat パッケージ (「.rpm」ファイル) を Debian GNU/Linux システムで使えますか? ---------------------------------------------------------------------------- Linux ディストリビューションが異なればパッケージフォーマットが異なり、 パッケージ管理プログラムも異なります。 _おそらくできること:_ 「よその」ディストリビューションが動いている Linux ホストに Debian パッケージをアンパックするプログラムがあります。ファイルがアン パックされるという意味においてはたいてい動作するでしょう。逆もまたおそ らく真です。つまり RedHat や Slackware のパッケージをアンパックするプ ログラムは、Debian Linux が動いているホストでもパッケージを滞りなくア ンパックし、たいていのファイルを意図されたディレクトリに置くでしょう。 これは Linux ファイルシステム標準が存在する (また広くそれに従っている) からです。 _できる望みがあまりないもの:_ たいていのパッケージ管理プログラムは、アーカイブをアンパックする ときに管理ファイルを書き出しています。このような管理ファイルは一般に標 準化されていないので、Debian パッケージを「よその」ホストでアンパック すると、そのシステムのパッケージ管理プログラムに予測できない (まあ、無 用な) 効果を与えます。同様に他のディストリビューションのユーティリティ は Debian システムにそのシステム用のアーカイブをアンパックできるでしょ うが、おそらく Debian パッケージ管理システムがパッケージをアップグレー ドしようとしたり、削除しようとしたとき、あるいは単に現在どんなパッケー ジがシステムに入っているか調べようとしただけのときでも失敗するかもしれ ません。 _よりよい方法:_ Linux ファイルシステム標準では、(ということはつまり Debian GNU/Linux) で は、サブディレクトリ `/usr/local/' 以下はユーザの裁量にすべて任 せることになっています。そのため、「よその」パッケージをこのディレクト リにアンパックでき、パッケージの構成やアップグレード・削除も個別に管理 できます。 3.5. 私の非常に古い「a.out」プログラムをDebian で実行できま すか? ----------------------------------------------------------------- 実際にそんなプログラムをまだ持っているんですか? :-) `a.out' (つまり QMAGIC や ZMAGIC) 形式のプログラムを_実行す る_には以下のようにして下さい。 * カーネルに `a.out' サポートが組み込まれていることを確かめ てください。直接組み込まれていても (CONFIG_BINFMT_AOUT=y) モジュールに なっていても (CONFIG_BINFMT_AOUT=m) どちらでもかまいません (Debian の kernel-image パッケージには `binfmt_aout' モジュールが含まれて います)。 モジュールで `a.out' をサポートしているカーネルでは、 `binfmt_aout' モジュールが必ずロードされるようにして下さい。 `/etc/modules' ファイルに `binfmt_aout' という行を追加し てブート時に読み込まれるようにもできます。コマンドラインからコマンド `insmod DIRNAME/binfmt_aout.o' を実行してもロードできます。ここ で`DIRNAME' は現在実行されているカーネルのバージョンに対応した モジュールが置かれているディレクトリ名です。カーネルのバージョンが 2.2.17 のシステムだったら、`DIRNAME' は `/lib/modules/2.2.17/fs/' のようになります。 * `libc4' パッケージをインストールしてください。2.0 より前 のリリースにあります (このパッケージはその時に削除してしまったのです )。古い Debian CD-ROM (Debian 1.3.1 にはまだこのパッケージがありました ) を探したり、インターネットで ftp://archive.debian.org/debian-archive/ を見ることもできるでしょ う。 * 実行したいプログラムが `a.out' 形式の X クライアントなら `xcompat' パッケージをインストールして下さい (入手については上 記参照)。 `a.out' 形式の商用アプリケーションを持っているのなら、 `ELF' 形式へのアップグレードを催促する絶好の機会です。 3.6. 私の古い libc5 プログラムを Debian で実行できますか? --------------------------------------------------------- できます。必要となる `libc5' ライブラリを `oldlibs' セ クションからインストールするだけです (このセクションには互換性のため古い アプリケーションに含まれる古いパッケージがあります)。 3.7. libc5 プログラムをコンパイルするのに Debian を 使えますか? --------------------------------------------------------------- 使えます。`libc5-altdev' と `altgcc' パッケージを (`oldlibs' セクションから) インストールしてください。libc5 コンパ イルに適した `gcc' と `g++' が `/usr/i486-linuxlibc1/bin' ディレクトリに置かれます。 `make' などのプログラムがそれらを最初に実行するように変数 $PATH に 配置してください。 libc5 な X クライアントをコンパイルする必要があるならば `xlib6' と `xlib6-altdev' パッケージをインストールしてく ださい。 libc5 環境はもはや他のパッケージでは完全にはサポートされないことに注 意してください。 3.8. 非 Debian プログラムをインストールするに はどうしたらよいですか? --------------------------------------------------------------------- ディレクトリ `/usr/local/' 以下のファイルは Debian パッケージ 管理システムの制御下にありません。ですから、自分のプログラムのソースコー ドは `/usr/local/src/' に置くようお勧めします。例えば、 「foo.tar」という名前のパッケージのファイルは、ディレクトリ `/usr/local/src/foo/' に展開できます。コンパイルした後は `/usr/local/bin/' にバイナリを置いて下さい。ライブラリは `/usr/local/lib/' に、構成ファイルは `/usr/local/etc/' に 置いて下さい。 プログラムやファイルをどうしても他のディレクトリに置かなければならな い場合は、`/usr/local/' に置いたままにしておき、必要な場所から `/usr/local/' へ適切なシンボリックリンクを張って下さい。例えば以 下のようにします。 ln -s /usr/local/bin/foo /usr/bin/foo いずれにせよ、手に入れたパッケージが著作権で再配布を許可していたら、 Debian パッケージにして Debian システム向けにアップロードすることを考え てみてください。パッケージ開発者になるためのガイドラインは、Debian ポリ シーマニュアルに書かれています (第 11.1 節, `Debian システムに関するドキュメントは他にどんなも のがありますか?' 参照)。 3.9. `foo' を実行しようとすると「Can't find libX11.so.6」というエラーが起きるのはなぜですか? ---------------------------------------------------------------------------- このエラーメッセージはおそらくプログラムが `libc5' バージョン の X11 ライブラリでリンクされていることを示しています。この場合 `oldlibs' セクションから `xlib6' パッケージをインストールす る必要があります。 libXpm.so.4 ファイルについて同じようなエラーメッセージが表示される場 合は、やはり `oldlibs' セクションの `xpm4.7' パッケージから libc5 バージョンの XPM ライブラリをインストールする必要があります。 3.10. どうして libtermcap を使用するプログラムをコンパイル できないのですか? ---------------------------------------------------------------------------- Debian は端末インターフェースの手段として `terminfo' データベー スと `ncurces' ライブラリを使用しています。`termcap' デー タベースと `termcap' ライブラリは使用しません。ターミナルインター フェースの何らかの情報が必要なプログラムをコンパイルするなら `libtermcap' への参照を `libncurses' への参照に置き換えて ください。 すでに `termcap' ライブラリとリンクされているがソースコードが 手元にないというバイナリをサポートするために、Debian では `termcap-compat' パッケージを用意しています。このパッケージには `libtermcap.so.2' と `/etc/termcap' が入っています。プログ ラムが実行できずに「Can't load library 'libtermcap.so.2' (「libtermcap.so.2」ライブラリをロードできません)」というエラーメッセー ジが出力されたり、`/etc/termcap' ファイルが見つからないと表示され たりしたら、このパッケージをインストールしてください。 3.11. どうして AccelX がインストールできないのですか? ----------------------------------------------------- AccelX は インストール時に `termcap' ライブラリを使用します。 上記 第 3.10 節, `どうして libtermcap を使用するプログラムをコンパイル できないのですか?' を見て下さい。 3.12. 古い XFree 2.1 Motif のアプリケーションがクラッシュ するのはなぜですか? ---------------------------------------------------------------------------- `motifnls' パッケージをインストールする必要があります。これは、 XFree-2.1 でコンパイルされた Motif アプリケーションを XFree-3.1 で動かす のに必要な XFree-2.1 の設定ファイルを提供します。 これらのファイルがなかったら、他のマシンでコンパイルされた Motif アプ リケーション (Netscape など) のいくつかは、テキストフィールドの間でコピー や貼り付けをするとクラッシュしたり他の問題が表示されたりするかもしれませ ん。 ------------------------------------------------------------------------------- 4. Debian システムで利用可能なソフトウェア ------------------------------------------ 4.1. どんな種類のアプリケーションや開発用ソフトウェアが Debian GNU/Linux 向けに提供されていますか? ---------------------------------------------------------------------------- たいていの Linux ディストリビューションと同じく Debian GNU/Linux は以下のもの を提供しています。 * ソフトウェア開発やファイル操作、テキスト処理のための主要な GNU アプリケーション。gcc と libc、g++、make、texinfo、gnuplot、Bash シェ ル、数多くのアップグレードされた Unix ユーティリティ。 * Perl・Python・Tcl/Tk と、それらに関連する様々なプログラム・モジュー ル・ライブラリ。 * Tex (LaTeX)、Lyx、dvips、ghostscript。 * ネットワーク化されたグラフィカルユーザインターフェースを Linux に与える X Window System と、GNOME を含む数多くの X アプリケーション。 * ネットワーク関連のアプリケーション一式。HTTP (WWW)、FTP、NNTP (news)、SMTP と POP (メール)、ネームサーバのほか、Web ブラウザや開発ツー ルも含みます。 ニュースサーバとニュースリーダにはじまりサウンドのサポート、FAX プロ グラム、データベースと表計算プログラム、イメージ処理プログラム、通信、ネッ トワーク、メールユーティリティ、Web サーバ、アマチュア無線プログラムにい たるまで、3750 を超えるパッケージがディストリビューションに含まれ ます。この他にも 450 のソフトウェアが Debian パッケー ジとして入手できますが、使用許諾の制限のため公式な Debian ディストリビュー ションの一部ではありません。 4.2. それらのソフトウェアは誰が作成したのですか? ------------------------------------------------ プログラムの_作成者_はパッケージごとに `/usr/doc/PACKAGE/copyright' にクレジット表示されています。ここで PACKAGE はパッケージ名に置き換えてください。 Debian GNU/Linux システム向けにソフトウェアをパッケージした_保守担当者_は、それぞれのパッケージに含まれる Debian 制御ファイル (第 6.4 節, `Debian 制御ファイルとは何ですか?' 参照) に表示されています。 4.3. Debian プロジェクト向けにパッケージ化されているプログ ラムの最新の一覧はどうやったら入手できますか。 ---------------------------------------------------------------------------- 完全な一覧は Debian の ミラー (http://www.debian.org/distrib/ftplist) のどれからでも入手できます。 `indices/Packages-Master-i386.gz' というファイルには、ix86 (と その互換) のチップが使われているコンピュータで利用できるパッケージの一覧 があり、それぞれのパッケージの簡単な説明も付されています。 `indices/Packages-Master-ARCH.gz' という同じようなファイルもあり ます。ここで ARCH は適切なアーキテクチャに置き換えてください。これはその 計算機・アーキテクチャで利用できるパッケージの同様のリストです。 Debian パッケージの WWW インタフェース (http://packages.debian.org/) には、Debian アーカイブの約 20 の「セ クション」のそれぞれのパッケージが便利よく要約されています。 4.4. Debian ライブラリパッケージにどんな libfoo.so ファイ ルもないのはなぜですか? ---------------------------------------------------------------------------- Debian ポリシーではそのような (libfoo.so.x.y.z などへの) シンボリックリ ンクは開発パッケージとして分けなければなりません。これらの開発パッケージ は libfoo-dev とか libfooX-dev という名前になっているのが普通です。 libfooX-dev の場合、ライブラリパッケージは libfooX (X は整数)という名前 だと推測できます。 4.5. Debian GNU/Linux には何が欠けていますか? --------------------------------------------- 依然として Debian 用にパッケージ化が求められているパッケージの一覧が あります。「作業を必要としているパッケージ (Work-Needing and Prospective Packages)」です。詳しくは 第 12.1 節, `Debian のソフトウェア開発者になるにはどうすればよいの ですか?' を見てください。 4.6. Debian は (どのように) Java をサポートしていますか? -------------------------------------------------------- 現在 Sun の Java 開発キットが Debian パッケージ (`jdkVVV_VVV-RRR.deb') として入手できます。JDK があれば Java プロ グラムとアプレットを実行できるようになり、自分でプログラムが書けるように なります。カーネルが適切に設定されていれば (下記参照)、JDK を使うと他の 実行形式のプログラムとまったく同じように Java プログラムを_実行_できます。JDK パッケージはデモプログラムも数多く収録されています。 Debian のデフォルトのカーネルは Java をモジュールとしてサポートするよ う構成されています (すなわち CONFIG_BINFMT_JAVA=m)。カスタムカーネルを作 りたい方は、選択すればこの機能をもちろん削除できます (第 9.2 節, `カスタムカーネルを構築するために Debian にはどん なツールがあるのですか?' を参照)。いったんカーネルでモジュールサポート機能が使 えるようになったら、モジュールがロードされているか確認する必要があります。 `/etc/modules' というファイルに `binfmt_java' と一行つけ加 えれば、システム起動時にロードすることができます。 また、コマンドラインから `insmod DIRNAME/binfmt_java.o' と実行 してモジュールをインストールすることもできます。ここで `DIRNAME' は、現在動作中のカーネル向けに作成されたモジュールが置 かれているディレクトリの名前です。カーネルのバージョンが 2.2.17 のシステ ムでは `DIRNAME' は `/lib/modules/2.2.17/fs/' のようになり ます。あるモジュールがロードされているかどうかは `lsmod' コマンド を使えば確認できます。 Java アプレットの実行にはアプレットを認識し実行できるブラウザが必要で す。Debian のパッケージとしてインストールできる Netscape のブラウザは Java アプレットを実行できます。(Netscape のソースコードは公開されていま せん。Debian の Netscape パッケージは、Debian システム上で Netscape をイ ンストールし管理するのを助けるラッパーを提供します。これは、Debian シス テムと商用パッケージの統合のよい実例です) 最後に、ありがたいようなありがたくないようなことについて。JDK の使用 許諾に関する Sun の方針は時とともに厳しくなっています。そのため、もうす ぐこのパッケージは Debian の一部分としては提供できなくなるかもしれません。 あるいは Debian Linux 向けに Netscape が利用できるのと同じように JDK を 利用できるようになるかもしれません。一方でよい知らせもあります。いくつも の開発中のプログラムが誰でも利用できる魅力的な代替品を提供するでしょう。 4.7. Debian システムを使用していることを確かめるにはど うしたらよいですか? またそのバージョンを調べるには? ---------------------------------------------------------------------------- システムが 本当に Debian の base ディスクからインストールされているか 確認するには `/etc/debian_version' というファイルがあるか調べてく ださい。このファイルには、パッケージ `base-files' で定義されてい るリリースのバージョン番号が一行で書かれています。 `dpkg' プログラムが存在していれば、お使いのシステムに Debian パッケージをインストールすることができることを示しています。しかしこのプ ログラムは他の多くのオペレーティングシステムやアーキテクチャに移植されて きているので、Debian GNU/Linux システムかどうかを決定する確実な方法とはもはや言 えません。 とはいえ利用者は以下のことに気をつけておくべきです。Debian システムは 多くの部分から成りたっていますが、それぞれが (ほとんど) 独立にアップデー トできます。それぞれの Debian の「リリース」は、きちんと定義された、変更 されない内容を持っています。アップデートは別々に提供されます。 `foo' というパッケージのインストール状態を一行で解説されたものを 見るには、`dpkg --list foo' という命令を使用して下さい。インストー ルされているすべてのパッケージのバージョンを表示させるには dpkg -l を実行してください。より詳しい解説には dpkg --status foo を使って下さい。 4.8. Debian は英語以外の言語をどのようにサポートしてい ますか? -------------------------------------------------------------- * Debian GNU/Linux には、およそ 2 ダースのキーボードに対応したキーマップが 収録されています。また (`kbd' パッケージとして) その対応表を インストールしたり、表示、修正したりするためのユーティリティも一緒に 配布されています。 インストール時に、ユーザが使っているキーボードを指定するように促 されます。 * パッケージ化されているソフトウェアの大多数が、他の Latin 言語 (ISO-8859-1 や ISO-8859-2) で使われる非 US-ASCII 文字の入力をサポー トしており、日本語や中国語のようなマルチバイト言語をサポートしている プログラムも多数あります。 * 現在、ドイツ語とスペイン語・フィンランド語・フランス語・ハンガリー 語・イタリア語・日本語・韓国語・ポーランド語のマニュアルページが `manpages-LANG' (LANG は二文字の ISO の国コード) パッケージで サポートされています。各国語版のマニュアルページを見るにはシェルの LC_MESSAGES 変数に適切な値を設定しなければなりません。 例えばイタリア語のマニュアルページの場合、LC_MESSAGES に 「italian」という値を設定しなければなりません。そうすると `man' プログラムは `/usr/share/man/it/' の下のイタリア語 のマニュアルページを検索します。 4.9. アメリカ合州国の輸出規制の制限はどうなのでしょう? ------------------------------------------------------ アメリカ合州国は国防にかかわる物件の輸出に法律で制限を設けており、こ れにはある種の暗号化ソフトウェアが含まれます。PGP と ssh、その他はこの範 疇に入ります。 不必要な法的リスクを避けるために、Debian GNU/Linux のパッケージの幾つ かはアメリカ合州国外のサイト ftp://non-US.debian.org/debian-non-US/ でのみ入手可能です。ミラー サイトも数多くあります。これらはすべてアメリカ合州国外にあります。完全な 一覧は ftp://non-US.debian.org/debian-non-US/README.non-US を 見てください。 4.10. pine はどこにあるのですか? -------------------------------- ライセンスに制限があるため non-free にあります。そのうえライセンスに よって改変されたバイナリを配布することも禁じられているため、ソースと Debian パッチとから自分でコンパイルしなければなりません。dselect を使う 人に便利なように、pine の Debian バージョンはパッケージ `pine396-src' と `pine396-diffs' か、あるいはバージョン 4.* 用には `pine4-src' と `pine4-diffs' とから入手できま す。 pine や pico に代わるものが多くあることに注意してください。例えば `mutt' や `nano' です。これらは main セクションにありま す。 ------------------------------------------------------------------------------- 5. Debian FTP アーカイブ ------------------------ 5.1. Debian FTP アーカイブにあるあのディレクトリは何ですか? ----------------------------------------------------------- Debian GNU/Linux 用にパッケージ化されたソフトウェアは、それぞれの Debian ミラー サイトにあるいくつかのディレクトリのうちの一つから利用できます。 ディレクトリ `dists' には「ディストリビューション」があります。 現在利用可能な Debian リリース (やプレリリース) にアクセスするにはここを 使うのが正規の方法です。 5.2. `dists' ディレクトリにはどれくらいの Debian ディ ストリビューションがありますか? ---------------------------------------------------------------------------- 普通は「stable (安定版)」と「unstable (開発版)」の二つのディストリビュー ションがあります。「frozen (凍結版)」というディストリビューションが存在 することもあります (第 5.4 節, `「frozen」とは何ですか?' 参照)。 5.3. slink とか potato とかいう名前は何ですか? ---------------------------------------------- 単なる「コードネーム」です。Debian ディストリビューションが開発段階に あるときにはバージョン番号は存在しませんがコードネームはあります。コード ネームの目的は Debian ディストリビューションのミラーリングをより簡易にす ることです (`unstable' のような実際のディレクトリの名前が突然 `stable' に変わると、たくさんのものを再度無駄にダウンロードしなく てはなりません)。 現在 `stable' は `potato' (つまり Debian GNU/Linux 2.2) へのシンボリックリンクで、`unstable' は `woody' へのシンボリック リンクです。つまり `potato' が現在の安定版ディストリビューション で `woody' が現在の開発版ディストリビューションということです。 5.4. 「frozen」とは何ですか? ---------------------------- 開発版 (unstable) ディストリビューションは充分に安定したら凍結 (frozen) されます。凍結されると新たなコードはもはや取り込まれず、必要な らバグ修正だけが行われます。同時に新しい開発版ツリーが `dists' ディ レクトリに作られ、新たなコードネームが付けられます。凍結版ディストリビュー ションは二三ヶ月テストされます。この間更新は一時的に中断され、「テストサ イクル」と呼ばれる「深い凍結 (deep freeze)」に入ります。我々は、パッケー ジをリリースから遅らせうる凍結版ディストリビューションのバグや、全体のリ リースを遅らせうるバグを記録し続けます。バグの数が許容最大値を下回ったら 凍結版ディストリビューションは安定版となってリリースされ、前の安定版ディ ストリビューションは御祓箱となってアーカイブに移されます。 5.5. 他にどのようなコードネームが過去に使われましたか? ------------------------------------------------------ 今までに使われた他のコードネームは次の通りです。リリース 1.1 の `buzz'、リリース 1.2 の `rex'、リリース 1.3.x の `bo'、リリース 2.0 の `hamm'、リリース 2.1 の `slink'。 5.6. これらのコードネームはどこから来ているので すか? ----------------------------------------------------- 今までのところ、Pixar 作の映画「トイストーリー」の登場人物から取られ ています。 * _buzz_ (Buzz Lightyear) は 宇宙飛行士。 * _rex_ はチラノザウルス。 * _bo_ (Bo Peep) は羊飼いの娘。 * _hamm_ は子供銀行。 * _slink_ (Slinky Dog) はおもちゃの犬。 * _potato_ はもちろんミスターポテト。 * _woody_ はカウボーイ。 5.7. 「sid」とは何ですか? ------------------------- まだリリースされていないアーキテクチャ用の初めての特別なディストリビュー ションです。 sid が存在していなかったとき、FTP サイト構成には一つの大きな欠点があ りました。あるアーキテクチャが現在の開発版に作成されたら、そのディストリ ビューションが新たな安定版となったときにリリースされるという仮定があった のです。多くのアーキテクチャにとってこれは当てはまらず、その結果、これら のディレクトリはリリース時に移動されなければならなくなり、たくさんの帯域 を消費していました。 まだリリースされていないアーキテクチャの場合、それが初めてリリースさ れるときに現在の stable から sid へリンクが張られ、そこから unstable な ツリーに通常通りアーキテクチャが作られます。 sid がリリースされるという ことはありませんし、直接アクセスされることもありません。現在の stable か frozen、unstable ツリーの中のシンボリックリンクを通じてのみアクセスでき ます。つまり既リリース・未リリースのアーキテクチャの混合体なのです。 「sid」という名前もアニメ映画「トイストーリー」から来ています。sid は 次のドアで人形を破壊する少年でした :-)。 5.8. stable ディレクトリには何がありますか? ------------------------------------------- * stable/main/: このディレクトリには Debian GNU/Linux システムの最も新しいリリースを正式に構成 するパッケージがあります。 ここにあるパッケージはすべて Debian フリーソフトウェアガ イドライン (http://www.debian.org/social_contract#guidelines) を満たしており、 すべて自由に使って配布することができます。 * stable/non-free/: このディレクトリには、特別な著作権の要求の扱い に配布者が注意を要するような、配布に制限がかかっているパッケージがあり ます。 たとえば、商用として配布することを禁止している使用許諾を持っている ものがあります。また、再配布はできますが、実のところシェアウェアであっ てフリーウェアではないものもあります。どのような再配布物 (CD-ROM など )に含めるのであれ、それぞれのパッケージの使用許諾を事前に調べておき、 できえるだけ交渉しておかなければなりません。 * stable/contrib/: このディレクトリにあるパッケージは Debian フリー ソフトウェアガイドライン的にフリーであり_自由に再配布できます_が、自由に再配布_できない_ため non-free セクションでのみ利 用できるパッケージにともかく依存しています。 5.9. unstable ディレクトリには何がありますか? --------------------------------------------- 「unstable」ディレクトリには現在の開発版システムのスナップショットが あります。これらのパッケージを使ったりテストしたりすることは歓迎されます が、準備段階であることに留意しなければなりません。unstable ディストリビュー ションを使うことのメリットは GNU/Linux ソフトウェア製品を常に最新に保て ることですが、動かなくなったら両方の部分を維持できるようになります :-)。 「unstable」にも「stable」と同じ規則で main・contrib・non-free サブディ レクトリが分かれて存在します。 5.10. `dists/stable/main' の中のディレクトリは 何ですか? -------------------------------------------------------- 主要なディレクトリツリー (`dists/stable/main'、 `dists/stable/contrib'、`dists/stable/non-free'、 `dists/unstable/main/' など。ただし `project/experimental/' は分割するには小さすぎるので除きます) の それぞれの中で、サブディレクトリ中にバイナリパッケージが存在します。サブ ディレクトリの名前はパッケージがコンパイルされたチップアーキテクチャを示 しています。 * binary-all/ アーキテクチャに依存しないパッケージがあります。たと えば Perl スクリプトや純粋な文書です。 * binary-i386/ 80x86 PC マシンで実行されるパッケージです。 * binary-m68k/ モトローラの 680x0 プロセッサの一つを使用したマシン で実行されるパッケージです。現在、おもに Atari と Amiga 向けに作られて おり、VME ベースの産業標準ボードのなかにも実行できるものがあります。 * binary-sparc/ Sun Sparcstations で実行されるパッケージです。 * binary-alpha/ DEC Alpha マシンで実行されるパッケージです。 * binary-powerpc/ PowerPC マシンで実行されるパッケージです。 * binary-arm/ ARM マシンで実行されるパッケージです。 更なる情報は 第 3.1 節, `Debian GNU/Linux はどんなハードウェアのアーキテクチャ/システム で動きますか?' を参照してください。 5.11. ソースコードはどこにありますか? ------------------------------------- Debian システムではあらゆるもののためにソースコードが含まれています。 さらに、システムのプログラムの使用許諾条件は、たいてい、プログラムと一緒 にソースコードが配布されるか、ソースコードを提供する申し出がプログラムに 附属していることを_要求_しています。 通常ソースコードは「source」ディレクトリで配布されています。このディ レクトリはアーキテクチャ固有のバイナリディレクトリと同列にあります。 「contrib」と「non-free」ディレクトリのパッケージのためのソースコード はあってもなくても構いません。これらは Debian システムの公式な一部ではあ りません。 5.12. 分かりました。`dists' の外の他のディレクトリ についてはどうですか? ------------------------------------------------------------------------ 以下の追加的ディレクトリがあります。 _/tools/_: ブートディスクを作ったり、ディスクドライブをパーティショニング したり、ファイルを圧縮/伸長したり、Linux をブートさせるための DOS ユー ティリティ。 _/doc/_: Debian の文書や Debian FAQ、バグ報告の提出方法。 _/indices/_: 様々な索引、保守担当者、Packages-master ファイル、override ファ イル。 _/project/_: 主として開発者専用のもの。例えば以下のようなもの。 _project/experimental/_: まだ開発中あるいはアルファのテスト段階のパッケージがこのディ レクトリには含まれます。利用者はここにあるパッケージを使うべきで はありません。ほとんどの経験者にとってさえも危険で有害なものであ りうるからです。 _project/orphaned/_: 古い保守担当者によって「みなしご化」され、ディストリビュー ションから引き上げさせられたパッケージ。 ------------------------------------------------------------------------------- 6. Debian パッケージ管理システムの基本 -------------------------------------- 6.1. Debian パッケージとはどのようなものですか? ----------------------------------------------- 一般にパッケージには関連するコマンドや機能を実装するにに必要なファイ ルすべてが含まれています。Debian パッケージには二つのタイプがあります。 * _バイナリパッケージ_。これには実行ファイル、設定ファイル、 man ページと info ページ、著作権情報やその他の文書が含まれます。これら のパッケージは Debian 固有のアーカイブ形式で配布されています (第 6.2 節, `Debian バイナリパッケージはどんな形式ですか?' 参照)。また .deb というファイル拡張子を持っているので、 普通それと分かります。バイナリパッケージは Debian ユーティリティ `dpkg' を用いて展開できます。詳細はそのマニュアルページに記載さ れてあります。 * _ソースパッケージ_。ソースパッケージの解説が書かれた `.dsc' ファイル (このファイルには以下のファイルの名前も書かれて います) や、修整されていないオリジナルのプログラムソースが gzip で圧縮 された tar フォーマット形式で含まれている `.orig.tar.gz' ファイ ル、通常 Debian 固有の変更を記した `.diff.gz'ファイルから構成 されています。`dpkg-source' ユーティリティは Debian ソースアー カイブをパックしたりアンパックしたりします。詳細はマニュアルページに記 載されています。 このパッケージシステムでは、ソフトウェアをインストールするとき、パッ ケージ保守担当者が注意深く設計した「依存情報」を使います。この依存情報は それぞれのパッケージに関連する制御 (`control')ファイルに記載され ています。例えば、GNU C コンパイラ (`gcc') を含むパッケージは、 リンカやアセンブラを含む `binutils' パッケージに「依存」していま す。もしユーザがあらかじめ `binutils' をインストールしていないの に `gcc' をインストールしようとしたなら、Debian のパッケージシス テムは `binutils' も必要であるというエラーメッセージを出力し、ユー ザがまず `binutils' をインストールするのに同意するまで `gcc' をインストールしません (とは言うものの、頑固なユーザはこの 機能を上書きできます)。詳細は下記の 第 6.9 節, `他のパッケージに Depends/Recommends/Suggests/Conflicts/Replaces/Provides しているとはどう いう意味ですか?'をご覧ください。 Debian のパッケージングツールは以下の用途に使えます。 * パッケージやパッケージの一部を操作したり管理したりする。 * フロッピーディスクなどの限られたサイズの媒体を通じて伝送しなけれ ばならないパッケージをユーザが分解するのを助ける。 * パッケージアーカイブを開発者が構築するのを助ける。 * 遠くにあるFTPサイトに置かれたパッケージをユーザがインストールす るのを助ける。 6.2. Debian バイナリパッケージはどんな形式ですか? ------------------------------------------------- Debian の「パッケージ」つまり Debian アーカイブファイルには、実行プロ グラム一式や関連するプログラムのセットに関係する実行可能ファイルやライブ ラリ・文書が含まれています。通常、Debian アーカイブファイルはファイル名 の最後に `.deb'が付いています。 Debian バイナリパッケージの形式の内部仕様は deb(5) マニュアルページに解説されています。この内部形式は (Debian GNU/Linux のメジャーリリースの間で) 変更されることがあるので、 `.deb' ファイルを操作する時は必ず dpkg-deb(8) を使って下さい。 6.3. どうして Debian パッケージのファイル名はこんなに長い のですか? ------------------------------------------------------------------- Debian バイナリパッケージのファイル名は次のような規則に従います。 _<バージョン番号>-.deb。 `foo' はパッケージ名の代わりであることに注意して下さい。照会す るためには、以下の方法で特定の Debian アーカイブファイル (.deb ファイル ) に関係のあるパッケージ名を調べることができます。 * Debian FTP アーカイブサイトの中の、そのパッケージが置かれていた ディレクトリにある「Packages」ファイルを調べる。このファイルにはそれぞ れのパッケージの解説が数行づつ書かれています。解説行の最初のフィールド は正式なパッケージ名です。 * コマンド `dpkg --info foo_VVV-RRR.deb' を使う (VVV と RRR はそれぞれ、問い合わせたいパッケージのバージョンとリビジョン)。この コマンドは、アンパックされるアーカイブファイルに対応するパッケージ名を 他の情報と一緒に表示します。 `VVV' の部分はバージョン番号を示し、上流の開発者により指定され ます。この部分には標準がありません。バージョン番号は「19960513」や 「1.3.8pre1」のようにフォーマットが異なっているかもしれません。 `RRR' の部分は Debian のリビジョン番号で、Debian の開発者 (か自分 自身のためにパッケージをビルドすることにした個人ユーザ) が決定します。こ の番号は Debian パッケージのリビジョンレベルに対応します。したがって、リ ビジョンレベルが新しくなると、普通、Debian の Makefile (`debian/rules') や Debian 制御ファイル (`debian/control')、インストールまたは削除スクリプト (`debian/p*')、パッケージが利用する設定ファイルなどに変更があった ことを意味します。 6.4. Debian 制御ファイルとは何ですか? ------------------------------------- Debian 制御ファイルの内容に関する仕様は Debian パッケージングマニュア ルの第 4 章にあります。第 11.1 節, `Debian システムに関するドキュメントは他にどんなも のがありますか?' を参照してください。 簡単に Debian パッケージ hello のための制御ファイルの例を以下に書いてお きます。 Package: hello Priority: optional Section: devel Installed-Size: 45 Maintainer: Adam Heath Architecture: i386 Version: 1.3-16 Depends: libc6 (>= 2.1) Description: The classic greeting, and a good example The GNU hello program produces a familiar, friendly greeting. It allows nonprogrammers to use a classic computer science tool which would otherwise be unavailable to them. . Seriously, though: this is an example of how to do a Debian package. It is the Debian version of the GNU Project's `hello world' program (which is itself an example for the GNU Project). Package フィールドにはパッケージ名が書いてあります。これはパッケージ ツールがパッケージを操作するときの名前です。通常は Debian アーカイブファ イル名の最初の構成要素と同じですが、同じでなければならないわけではありま せん。 version フィールドには上流の開発者のバージョン番号と (最後の構成要素 で) そのプログラムの Debian パッケージのリビジョンレベル (第 6.3 節, `どうして Debian パッケージのファイル名はこんなに長い のですか?' で説明したもの) が表示されます。 Architecture フィールドにはどの CPU 向けにそのバイナリがコンパイルさ れているか書かれています。 Depends フィールドにはこのパッケージをきちんとインストールするために、 あらかじめインストールされていなければならないパッケージの一覧があります。 Installed-Size フィールドはインストールしたパッケージがどれくらいディ スク領域を消費するかを表しています。プログラムをインストールするのに十分 なディスクがあるかどうかをインストールのフロントエンドが表示するために使 われる予定です。 Section フィールドは Debian パッケージが Debian FTP サイトのどの「セ クション」に収容されるかを示します。これはパッケージが収容されるサブディ レクトリ(main ディレクトリの中の一つ。第 5.1 節, `Debian FTP アーカイブにあるあのディレクトリは何ですか?' 参照) の名前で す。 Priority フィールドはこのパッケージがインストールにあたってどのくらい 重要かを示します。これによって dselect や console-apt のような半インテリ ジェントなソフトウェアが、パッケージを「任意にインストールされるパッケー ジ」のようなカテゴリーに並べ変えられるようになります。第 6.7 節, `Required/Important/Standard/Optional/Extra パッケー ジとはなんですか ?' を参照してください。 Maintainer フィールドは、現在そのパッケージの維持に責任を持っている人 の電子メールアドレスを示します。 Description フィールドはパッケージの特徴の簡単なまとめがあります。 パッケージで使えるすべての可能なフィールドのより詳細な情報に関しては Debian パッケージングマニュアルの第 4 章「制御ファイルとそのフィールド」 を参照してください。 6.5. Debian conffile とは何ですか? ---------------------------------- conffile は (通常 `/etc/'の下に置かれる) 設定ファイルの一覧で す。これらの設定ファイルはパッケージをアップグレードしてもパッケージ管理 システムに上書きされません。つまり、これらのファイルの内容のローカルな値 が保存されることが保証されます。また、稼動中のシステムのパッケージをきち んと更新できるようにする重要な機能です。 更新中にどのファイルが保存されるかを正確に断定するには dpkg --status package を実行して「Conffile:」の下を見てください。 6.6. Debian preinst、postinst、prerm、postrm スクリプ トとは何ですか? --------------------------------------------------------------------- これらのファイルはパッケージがインストールされる前か後で自動的に実行 される実行可能なスクリプトです。これらのファイルは `control' とい う名前のファイルと一緒にすべて Debian アーカイブファイルの制御セクション の一部となっています。 個々のファイルは以下の通りです。 preinst このスクリプトは、パッケージが Debian アーカイブ (「.deb」) ファイ ルからアンパックされる前に実行されます。パッケージがインストールかアップ グレードし終わる (「postinst」スクリプトが正常に実行されたあと) まで、多 くの「preinst」スクリプトの中で、更新されるパッケージのためにサービスが 停止されるようになっています。 postinst このスクリプトの典型的な仕事は、パッケージ `foo' が Debian アーカイブファイル (「.deb」) からアンパックされたらそれに必要な 設定をすべて完了させることです。「postinst」スクリプトのよくある動作とし て、ユーザに入力を求め、既定値を受け入れるなら後戻りしてこのパッケージを 環境に沿うように再設定することを忘れないように警告を表示します。新しいパッ ケージがインストールされるかアップグレードされると、多くの「postinst」ス クリプトはサービスを開始または再開するのに必要なコマンドをすべて実行しま す。 prerm このスクリプトは典型的にはパッケージに関連したあらゆるデーモンを停 止します。これはパッケージに関連したファイルを削除する前に実行されます。 postrm このスクリプトは典型的には `foo' に関連したリンクや他のファ イルを修整したりパッケージが作成したファイルを削除したりします (第 6.8 節, `仮想パッケージとはなんですか?' も参照してください)。 現在、制御ファイルはすべて `/var/lib/dpkg/info/' に置かれてい ます。パッケージ `foo' に関係するファイルは「foo」で始まる名前を 持ち、「preinst」や「postinst」などの適当なファイル拡張子を持ちます。こ のディレクトリにある `foo.list' というファイルは、パッケージ `foo' によってインストールされたファイルがすべてリストされていま す (これらのファイルの存在場所は dpkg が内部に持っていることに注意して下 さい。存在場所を頼りにしないほうがいいでしょう)。 6.7. Required/Important/Standard/Optional/Extra パッケー ジとはなんですか ? --------------------------------------------------------------------------- それぞれの Debian パッケージには、パッケージ管理システムの助けとして、 ディストリビューション保守担当者が_優先度_を割りあてています。優 先度には以下のものがあります。 * _Required (要求)_: システムを正しく動作させるため に必要なパッケージです。 システムの欠陥を修復するのに必要なツールをすべて含みます。これら のパッケージを消去してはいけません。システムがすっかり破壊され、復旧 するために dpkg を使うことすら恐らくできなくなります。Required パッ ケージだけのシステムは恐らく使いものになりませんが、システム管理者が 起動したり他のソフトウェアをインストールするだけの機能はあります。 * _Important (重要)_: どのような Unix ライクなシス テムにもあるべきパッケージです。 Required 以外のパッケージで、ないとシステムがうまく動かなかったり 不便だったりするものにこの優先度がつけられています。これには Emacs や X11、TeX 他の巨大なアプリケーションは含まれて_いません_。 ここのパッケージは、素のインフラストラクチャを構成するだけです。 * _Standard (標準)_: どんな Linux システムにも標準 的なパッケージで、手頃な小ささですが機能が限定されすぎていないキャラ クタモードシステムを含んでいます。 ユーザが何も指示しなかったらデフォルトでインストールされます。多 くの巨大なアプリケーションは含まれませんが、Emacs はあります (これは アプリケーションというよりも多くのプログラムのためのインフラストラク チャの一部です) し、TeX と LaTeX の手頃なサブセットが (X なしで稼動 可能な部分なら) 含まれています。 * _Optional (任意)_: そのパッケージが何なのかを知ら なかったり、そのパッケージを使わなければならない特別な要求がなかった りしてもインストールしてかまわないパッケージが含まれています。 これには X11 や TeX 配布物全体、多くのアプリケーションが含まれて います。 * _Extra (付録)_: より高い優先度を持つパッケージと 衝突するか、そのパッケージがどういうものか知っているか、あるいは「任意」 というには相応しくない特殊な要求を持っているパッケージです。 6.8. 仮想パッケージとはなんですか? ---------------------------------- 仮想パッケージとは、すべて同じ基本機能を提供するパッケージの集まりの どれか一つに供される一般的な名前のことです。たとえば `tin' と `trn' プログラムはどちらもニュースリーダであり、それゆえ、動作す るか便利に使うかするためにニュースリーダを要求するプログラムの依存性を満 たします。したがって両プログラムは `news-reader' と呼ばれる「仮想 パッケージ」を供給します。 同様に、`smail' と `sendmail' には両方ともメール配送エー ジェント (mail transport agent) の機能が備わっています。それゆえ仮想パッ ケージ「mail transport agent」を提供するといわれます。どちらかがインストー ルされていれば、`mail transport agent' がインストールされているこ とに依存するプログラムはどれでも、この仮想パッケージが存在しているので条 件を満たされています。 Debian はこのようなしくみを提供するので、同じ仮想パッケージを持つパッ ケージが一つ以上システムにインストールされると、システム管理者は優先パッ ケージを設定できます。関連するコマンドは `update-alternatives' で、 第 10.10 節, `mawk が好きなユーザもいれば gawk が好きなユーザもいま す。vim が好きなユーザもいれば elvis が好きなユーザもいます。trn が好き なユーザもいればtin が好きなユーザもいます。このような多様性を Debian は どのようにしてサポートしていますか?' の節でより詳しく解説されています。 6.9. 他のパッケージに Depends/Recommends/Suggests/Conflicts/Replaces/Provides しているとはどう いう意味ですか? ---------------------------------------------------------------------------- Debian パッケージシステムはパッケージ「依存性」に幅を持っています。あ るシステム上でプログラム A がプログラム B の存在からどれくらい独立して動 作させられるかを (フラグ一つで) 表示するよう設計されています。 * もし A を実行するためには B が必ずインストールされていなければな らないなら、パッケージ A はパッケージ B に_依存 (Depend)_して います。A は B の存在だけではなく B のバージョンにも依存していること があります。この場合、バージョン依存性は通常下限を設定します。つまり、 A はあるバージョンより新しいバージョンの B に依存しているということ です。 * パッケージ A の保守担当者が、たいていのユーザはパッケージ B の機 能を使うことなく A を使いたくはないだろうと判断したら、パッケージ A はパッケージ B を_推奨 (Recommends)_しているといいます。 * もしパッケージ B に含まれているファイルがパッケージ A の機能に関 係している (通常は機能を拡張する) なら、パッケージ A はパッケージ B を_提案 (Suggest)_すると言います。 * システムにパッケージ B がインストールされているとパッケージ A が 動作しないというとき、パッケージ A はパッケージ B と_衝突 (conflicts)_していると言います。ほとんどの場合、衝突はパッケージ B に含まれているファイルをパッケージ A が書き換えるのが原因で起こり ます。「衝突 (Conflicts)」はしばしば「置換 (Replaces)」と組みあわさ れます。 * パッケージ B がインストールしたファイルが削除され (ある場合には) パッケージ A のファイルで上書きされるとき、パッケージ A はパッケージ B を_置換 (Replace)_するといいます。 * パッケージ B のすべてのファイルと機能がパッケージ A の中に組み込 まれているとき、パッケージ A はパッケージ B を_提供 (Provide)_するといいます。このしくみは、ディスクの空き容量に余裕 がないユーザに、パッケージ A のなかで本当に必要な部分を取得する方法 を用意します。 これらの用語の使用法についてのより詳しい情報は Debian パッケージング マニュアルとポリシーマニュアルにあります。 6.10. Pre-Depends とはどういう意味ですか? ----------------------------------------- 「Pre-Depends」は特殊な依存性です。たいていのパッケージでは、 `dpkg' はそのアーカイブファイル (つまりその `.deb' ファイ ル)を、そのパッケージが依存するファイルがシステムにあろうがなかろうが、 アンパックしようとします。単純にいうと、アンパックとは `dpkg' が アーカイブファイルからファイルを取り出すことを意味しています。取り出され たファイルはファイルシステムにインストールされ、あるべき場所に置かれるこ とになります。これらのパッケージが他のパッケージに_依存_している なら `dpkg' はその他のパッケージがインストールされるまで「設定」 動作を行わずにインストールの完了を拒否します。 しかしながらいくつかのパッケージでは `dpkg' はある依存関係が解 決されるまでアンパックすら拒否します。このようなパッケージを、他のパッケー ジの存在に「Pre-depends」していると言います。Debian プロジェクトは、 `a.out' 形式から `ELF' 形式へシステムを安全にアップグレー ドするためにこのしくみを作りました。このアップグレードの際はどのパッケー ジがアンパックされるかその_順序_が重要なのです。この方法が役に立 つ大きなアップグレード状況は他にもあります。例えば「required (要求)」優 先度を持つパッケージとその LibC 依存などです。 先の項目と同様に、より詳しい情報はパッケージングマニュアルにあります。 6.11. パッケージ状態の unknown/install/remove/purge/hold とはどういう意味ですか? ---------------------------------------------------------------------------- これらの「want」フラグは利用者がそのパッケージをどう扱いたいかを示し ています。利用者は `dselect' の「Select」セクションでのアクション や `dpkg' の直接起動によってこれを示すことができます。 それぞれの意味は以下の通りです。 * unknown - インストールするかどうかユーザが表明していないパッケー ジ * install - ユーザがインストールまたはアップグレードしたいパッケー ジ * remove - 削除はしたいが、既存の設定ファイルは一つも削除したくな いパッケージ * purge - 設定ファイルを含め、完全に削除してしまうパッケージ * hold - 処理はしない、つまりどのような状態であれ現在の状態で 現在のバージョンを維持するパッケージ 6.12. どうしたらパッケージを hold にできますか? ----------------------------------------------- パッケージを hold するには二つの方法があります。dpkg を使う方法と dselect を使う方法です。 dpkg では、パッケージ選択の一覧を dpkg --get-selections > selections.txt で書き出すだけです。それから書き出されたファイル `selections.txt' を編集して hold したいパッケージの行を変更します。例えば libc6 install を libc6 hold にします。ファイルを保存して dpkg --set-selections < selections.txt で dpkg データベースに再ロードしてください。 dselect では、[S]elect 画面に入って hold したいパッケージの現在の状態 を確認し、「=」キー (もしくは「H」キー) を押下するだけです。変更は [S]elect 画面を終了するとすぐに反映します。 6.13. ソースパッケージをインストールするにはどうしたらよ いですか? ------------------------------------------------------------------ Debian のソースパッケージは実際には「インストール」できません。作成す るバイナリパッケージを構築したい任意のディレクトリにソースの中身を取り出 せるだけです。 ソースパッケージは `source' というディレクトリ以下で配布されます。 マニュアルでダウンロードすることもできますし、 apt-get source foo を使って取得することもできます (このための APT の設定法については apt-get(8) マニュアルページを参照してください)。 6.14. ソースパッケージからバイナリパッケージを作るには どうしたらよいですか? ---------------------------------------------------------------------------- ソースをコンパイルするには foo_*.dsc と foo_*.tar.gz 、 foo_*.diff.gz のすべてが必要になります (ただし Debian 固有のパッケージに は .diff.gz はありません)。 これらを入手すると、`dpkg-dev' パッケージがインストールされて いたら dpkg-source -x foo_version-revision.dsc というコマンドを実行すれば `foo-version' というディレクトリにパッ ケージが取り出されます。 単にパッケージをコンパイルしたいだけなら `foo-version' ディレ クトリに cd してから debian/rules build を実行してプログラムを作成し、root で debian/rules binary してパッケージを構築し、 dpkg -i ../foo_version-revision_arch.deb で新規作成パッケージをインストールすれば結構です。 6.15. Debian パッケージを自分で作るにはどうしたらよい ですか? ------------------------------------------------------------- これについての詳細な情報に関しては『Debian メンテナ入門』を読んでくだ さい。`maint-guide-ja' パッケージか ftp://ftp.debian.org/debian/doc/package-developer/maint-guide.ja.html.tar.gz で入手できます。 ------------------------------------------------------------------------------- 7. Debian パッケージ管理ツール ------------------------------ 7.1. パッケージを管理するために Debian は何というプログラ ムを用意していますか? ---------------------------------------------------------------------------- 7.1.1. dpkg ----------- メインのパッケージ管理プログラムです。`dpkg' は起動時に多くのオ プションをとりえます。一般的用法は以下の通りです。 * オプションをすべて調べる: `dpkg --help'。 * 指定したパッケージの制御ファイル (とその他の情報) を表示する: `dpkg --info foo_VVV-RRR.deb'。 * ハードディスクのファイルシステムにパッケージを (アンパックも構成 もして) インストールする: `dpkg --install foo_VVV-RRR.deb'。 * Debian アーカイブファイルをファイルシステムへアンパックする (が 構成はしない): `dpkg --unpack foo_VVV-RRR.deb'。注意して欲し いのですが、この操作では必ずしもパッケージが使用できるようになるとい うわけでは_ありません_。適切に実行するには更にカスタマイズが 必要なファイルがあるかもしれません。このコマンドはすでにインストール されていた前のバージョンのプログラムを全部削除し、そのパッケージの preinst (第 6.6 節, `Debian preinst、postinst、prerm、postrm スクリプ トとは何ですか?' 参照) スクリプトを実行します。 * すでにアンパックされたパッケージを設定する: `dpkg --configure foo'。中でもこのコマンドはパッケージの postinst (第 6.6 節, `Debian preinst、postinst、prerm、postrm スクリプ トとは何ですか?' 参照) スクリプトを実行します。また、 conffile に書かれているファイルを更新します。「configure (設定)」操 作を指示する際の引き数はパッケージ名 (例えば foo) であって、Debian アーカイブファイルの名前 (例えば foo_VVV-RRR.deb) では_ありません_。 * Debian アーカイブファイルから「blurf」という名前のファイルを一つ だけ (か「blurf*」という名前の複数のファイル) を取り出す: `dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf -'。 * パッケージを削除する (が構成ファイルは削除しない): `dpkg --remove foo'。 * パッケージを削除する (構成ファイルも削除する): `dpkg --purge foo'。 * 文字列「foo*」を含むパッケージのインストール状態を表示する: `dpkg --list 'foo*''。 7.1.2. dselect -------------- このプログラムは Debian パッケージ管理システムのためにメニュー形式の インタフェースを提供します。最初のインストールや大規模なアップグレードに 特に有効です。 `dselect' で以下のことができます。 * インストールしたり削除したりするパッケージを選ぶときに、衝突して いるパッケージがインストールされないように、またあるパッケージが正し く動作するために必要なパッケージが全てインストールされるように、ユー ザを助けます。 * 選択したものに矛盾があったり互換性がなかったりしたときにユーザに 警告を発します。 * インストールされなければならないパッケージの順序を決定します。 * インストールや削除を自動的に実行します。 * それぞれのパッケージに必要な設定作業すべてにおいてユーザを援助し ます。 `dselect' を起動すると 7 つのメニューアイテムが表示されます。そ れぞれのメニューアイテムが特定の機能に対応しています。矢印キーを使って反 転表示部を動かし機能を選択します。反転表示された機能を選ぶには __ キーを押します。 次に何が起こるかは選択した機能によります。もし `Access' か `Select' 以外の選択肢を選んだら `dselect' は単に特定の機能を 実行します。例えば `Remove' 機能を選んだら dselect は `Select' アクションで最後に削除するよう選んだファイルをすべて削除 しようとします。 `Access' メニューアイテムと `Select' メニューアイテムは どちらも次のメニューを呼び出します。両方ともウィンドウ形式でメニューを表 示します。スクリーンの上部には選択肢のリストがスクロール表示されます。ま たスクリーン下部には各選択肢の簡単な説明 ("info") が表示されます。 広範囲に渡るオンラインヘルプが利用できます。いつでも「?」キーを押すと ヘルプ画面が表示されます。 最初に表示される `dselect' のメニューに対応づけられた機能の順番 は、パッケージをインストールするときに通常 `dselect' で選ぶことにな る順序になっています。しかし、必要なら (全部を選ぶこともありません。やり たいことによります) メインメニューのどの選択肢も随時選択できます。 * まず _アクセス方法 (Access Method)_ を選択します。ここで は Debian パッケージを取得する際の手段を決定します。例えば CD-ROM に 入った Debian パッケージを持っているユーザがいると思えば、匿名 FTP を使ってパッケージを取得しようと考えているユーザもいます。選択した 「Access Method」は `dselect' を終了するときに記録されるので、 次に起動したときに変更がなければ、再度この選択肢を選ぶ必要はありませ ん。 * 次に、入手可能なパッケージのリストを _更新 (Update)_ しま す。`dselect' は「Packages.gz」ファイルを読み込みます。このファ イルはインストールされる Debian パッケージが格納されるべきトップレベ ルのディレクトリに含まれているはずです。(ですがもしそこになかったら、 `dselect' はそのファイルを作ろうとします)。 * システムにインストールするパッケージを _選択 (Select)_ し ます。このメニューアイテムを選んだらヘルプが全画面に表示されます (コ マンドラインオプションで「--expert」を指定していない限り)。いったん ヘルプ画面を抜けたら、インストール (あるいは削除) するパッケージを選 択するための分割されたメニューが表示されます。 画面上部には比較的幅が狭いウィンドウで Debian の約 4200 の パッケージが一覧表示されます。画面下部には、画面上部で反転表示されて いるパッケージかパッケージグループに関する説明が表示されます どのパッケージを操作するかはパッケージ名かパッケージグループのレ ベルを反転させることで指定できます。その後、選択したパッケージに対し て以下のことができます。 インストールする インストールするには「+」キーを押下します。 削除する パッケージを削除するには二つの方法があります。 * 削除: パッケージに関連したほとんどのファイルを削除します が、設定ファイル (第 6.5 節, `Debian conffile とは何ですか?' 参照) として記載されたファ イルとパッケージ設定情報は保持します。このためには「-」キーを 押下します。 * 完全削除: パッケージに属する_すべての_ファイルを削除 します。このためには「_」キーを押下します。 「すべてのパッケージ」を削除することはできないことに注意してくだ さい。そうしようとすると、システムが初期インストールのベースパッ ケージ状態に縮小してしまいます。 「hold 状態」にする このためには「=」キーを押下します。こうすると `dselect' はそのパッケージを事実上アップグレードしないよう になります。現在システムにインストールされているバージョンが、使 用している Debian リポジトリ (これは _Access Method_ をセッ トするときに指定し、_Update_ するときに取得されます) で利 用可能なバージョンより古いとしてもです。 パッケージを hold できるのと同じように、その設定を「:」で取り 消すことができます。こうすると、より新しいバージョンが利用可能だっ たら `dselect' はパッケージをアップグレードできます。これは デフォルトの設定です。 パッケージが表示される順番は変えることができます。「o」キーでパッ ケージを並べ変える様々なオプションを循環します。デフォルトの順番は優 先度 (Priority) 順です。それぞれの優先度の中でパッケージは、格納され ているアーカイブのディレクトリ (つまりセクション) の順に表示されるの です。この並び換え順では、例えばセクション A のパッケージが最初に表 示され、次にセクション B のパッケージが表示されます。その後でセクショ ン A の他のパッケージ (優先度のより低いもの) が表示されます。 「v」(冗長) キーで画面上部のラベルの意味の表示を拡大することもで きます。そうすると画面サイズに合っていたテキストの多くが右に押し広げ られます。これを見るには右矢印キーを押してください。左にスクロールバッ クするには左矢印キーを押してください。 例えば `foo.deb' というパッケージをインストールあるいは削 除しようと選択して、そのパッケージが例えば `blurf.deb' とい う他のパッケージに依存 (またはそれを推奨) していたら、 `dselect' はメインの選択画面のサブ画面を表示します。そのサブ画 面で関連するパッケージについて推奨されるアクション (インストールする かしないか) を受け入れるか拒否するかを選べます。 * メインメニューに戻って「Install」メニューアイテムを選ぶと、選択 したパッケージをアンパックし設定することができます。ファイルを削除し たかったら「Remove」メニューアイテムを選ぶこともできます。「Quit」を 選べばいつでも dselect を終了できます。選択した情報は `dselect' によって保持されます。 7.1.3. dpkg-deb --------------- このプログラムは Debian アーカイブ (`.deb') ファイルを操作する ためのものです。一般的使用方は以下の通りです。 * すべてのオプションを表示する: `dpkg-deb --help'。 * Debian アーカイブファイルにどんなファイルが入っているか調べる: `dpkg-deb --contents foo_VVV-RRR.deb'。 * ある Debian アーカイブファイルに含まれているファイルをユーザが指 定したディレクトリへ書き出す: `dpkg-deb --extract foo_VVV-RRR.deb tmp'。これは `foo_VVV-RRR.deb' のなかのファ イルをディレクトリ `tmp/' へ取り出します。ルートファイルシス テムにパッケージをインストールせずにローカルなディレクトリでパッケー ジの内容を確かめるのに有用です。 単に `dpkg-deb --extract' で取り出しただけのパッケージは正常にイン ストールされないことに注意してください。代わりに `dpkg --install' を 使う必要があります。 詳細はマニュアルページ dpkg-deb(1) を見て下 さい。 7.1.4. apt-get -------------- `apt-get' はコマンドラインからパッケージをインストールする簡単な 方法を提供します。`dpkg' とは異なり `apt-get' は .deb ファイル を理解しません。パッケージの正式名を扱って、 `/etc/apt/sources.list' で指定されたソースから .deb アーカイ ブをインストールすることができるだけです。 詳細は `apt' パッケージをインストールして apt-get(8)、sources.list(5)、 `/usr/share/doc/apt/guide.html/index.html' を読んでください。 7.1.5. dpkg-split ----------------- このプログラムは大きなパッケージを小さなファイルに (例えば複数のフロッ ピーディスクへ書き込めるように) 分割したり、分割されたファイルを一つのファ イルへ結合しなおしたりします。Debian パッケージファイルを構成部分のレコー ドへ切り分けるためにプログラム `dpkg-deb' を呼び出すため、 Debian システム (つまり `dpkg' パッケージのあるシステム) でしか 使用できません。 以下のようにすれば、大きな.deb ファイルを N 個に分割できます。 * コマンド `dpkg-split --split foo.deb' を実行する。それぞ れが約 460K バイトの N 個のファイルをカレントディレクトリに作成します。 * 作成された N 個のファイルをフロッピーディスクへコピーします。 * フロッピーディスクの内容を別のコンピュータのハードディスクへコピー します。 * `dpkg-split --join "foo*"' で分割されたファイルを結合しま す。 7.2. Debian は実行中のプログラムを更新できると言って ますが、どのようにして実現しているのですか ? ---------------------------------------------------------------------------- Debian GNU/Linux システムのカーネル (ファイルシステム) では使われているファイ ルでも置き換えることができます。 `start-stop-daemon' というプログラムもあります。このプログラムは ブート時にデーモンを起動したり、カーネルのランレベルが (たとえば、マルチ ユーザからシングルユーザや停止状態へ) 変更された時にデーモンを停止したり するために使われます。デーモンを含むパッケージをインストールする時にイン ストールスクリプトによって使用され、実行中のデーモンを停止し、必要なら再 起動します。 7.3. Debian システムにどのパッケージがすでにインストー ルされているかを調べるにはどうしたらよいですか? ---------------------------------------------------------------------------- Debian システムにインストールされているすべてのパッケージの状態を調べ るには次のコマンドを実行して下さい。 dpkg --list このコマンドはそれぞれのパッケージの要約を一行にまとめ出力します。この要 約には、2 文字の記号で表された状態 (ヘッダで説明されます)、パッケージ名、 _インストールされている_バージョン、ごく簡単な説明が記述されてい ます。 パッケージ名が「foo」で始まるパッケージの状態を調べるには次のコマンド を実行して下さい。 dpkg --list 'foo*' あるパッケージのより詳しいレポートは、次のコマンドで出力されます。 dpkg --status packagename 7.4. あるファイルがどのパッケージに入っているか調べるに はどうしたらいいですか? ---------------------------------------------------------------------------- `foo' という名前のファイルがどのパッケージに入っているか調べる には以下のどちらかを実行して下さい。 * `dpkg --search filename' このコマンドは、インストールされているパッケージから `filename' という名前のファイルを検索します。 (`/var/lib/dpkg/info/' ディレクトリの `.list' という拡 張子を持つファイルをすべて検索し、その名前を含むすべてのパッケージの 名前を表示するよう出力を調整しているのと (いまのところ) 変わりありま せん)。 * `zgrep foo Contents-ARCH.gz' このコマンドはフルパス名に `foo' という文字列が含まれてい るファイルを検索します。ファイル `Contents-ARCH.gz' (ARCH は 検索したいアーキテクチャを表す) は Debian FTP サイトの主要なパッケー ジディレクトリ (main、non-free、contrib) にあります。ある `Contents' ファイルには、そのファイルが置かれているディレクト リ配下のパッケージについてのみ書かれて。そのため、どのパッケージにファ イル `foo' が入っているか調べるためには一つ以上の `Contents' ファイルを調べなければならないかもしれません。 この方法は、現在システムにインストールされていないパッケージに含 まれるファイルも検索できる点で `dpkg --search' より優れていま す。 ------------------------------------------------------------------------------- 8. Debian システムを最新に保つには ---------------------------------- Debian の目標の一つは首尾一貫したアップグレード方針と安全なアップグレー ド手順を提供することであり、前のリリースから新リリースにスムーズにアップ グレードできるよう我々は常に最善を尽しています。アップグレード手順に加え るべき何か重要な注記事項がある場合には、パッケージはユーザに注意を促し、 ありうる問題への解決法を提供します。 アップグレードの詳細を具体的に解説した『リリースノート』も読んでおく べきです。これはすべての Debian CD と一緒に出荷されており、WWW でも http://www.debian.org/releases/stable/i386/release-notes/ で 利用可能です。 8.1. libc5 に基づく私の Debian 1.3.1 (あるいはそれ 以前) を libc6 に基づく2.0 (あるいはそれ以降) にアップグレードするにはど うすればいいのですか? ---------------------------------------------------------------------------- アップグレードするにはいくつかの方法があります。 * 重要なパッケージの大部分をアップグレードする `autoup.sh' という簡単なシェルスクリプトを使う。 `autoup.sh' がその仕事を終えたあと、dselect を使って残りのパッ ケージを_まとめて_インストールできます。おそらくこれが推奨さ れる方法ですが、唯一の方法ではありません。 現在 `autoup.sh' の最新リリースは以下にあります。 * http://www.taz.net.au/autoup/ * http://csanders.vicnet.net.au/autoup/ * libc5-libc6-Mini-HOWTO (ftp://ftp.debian.or.jp/debian-jp/doc-jp/libc5-libc6-Mini-HOWTO-ja.txt) に厳密に従って、ほとんどの重要なパッケージを手動でアップグレードする。 `autoup.sh' はこの mini-HOWTO を元にしているので、この方法は およそ `autoup.sh' を使うのと同じように動作するはずです。 * libc5 ベースの `apt' を使う。APT は A Package Tool の略で、 いつか dselect に取って代わるかもしれないものです。現在はコマンドラ インインタフェースか dselect のアクセスメソッドとしてしか動きません。 libc5 バージョンが Debian アーカイブの `dists/slink/main/upgrade-older-i386' ディレクトリにあります。 * 最初に手動ではどんなパッケージのアップグレードせず、単に dselect を使う。可能な限りこの方法を使わ_ない_ことを強くお勧 めします。今のところ dselect だけではパッケージは最適な順序でインス トールされません。APT の方がよりよいですし安全です。 8.2. Debian システムを最新に保つにはどうすればいいの ですか? ------------------------------------------------------------ 単純に Debian アーカイブに匿名 ftp をかけ、次にディレクトリをよく調べ て、欲しいファイルを見つけ、それを取ってきます。最後に `dpkg' を 使ってそのファイルをインストールします。たとえシステムが稼動していても、 `dpkg' はアップグレードする必要のあるファイルをきちんとインストー ルしてくれます。あるパッケージをアップグレードしようとした時、他のパッケー ジもアップグレードするように要求される場合があります。この場合、指示され たアップグレードを行うまで、あるいは行わなければ、希望するパッケージのアッ プグレードは失敗してしまいます。 この方法はあまりにも時間がかかり過ぎると多くの人が感じるでしょう。と いうのも Debian は急速に進化しているからです。通常、一週間に 1 ダース以 上もの新しいパッケージがアップロードされています。新しいメジャーリリース の直前にはもっと増えます。このような大変なアップグレード作業を自動化して くれるプログラムを使いたいという人が多くいます。このためにいくつかのパッ ケージが利用できます。 8.2.1. APT ---------- APT はソフトウェアパッケージ、言い換えると Debian のバイナリとソース のパッケージのための管理システムです。パッケージを扱うコマンドラインツー ルとして apt-get があり、`dselect' 経由の APT インタフェースとして APT dselect メソッドがあります。 APT の特徴はインストールの順序が完璧であること、複数のソースを利用で きることです。他にもいくつかありますので、 `/usr/share/doc/apt/guide.html/index.html' のユーザーズガイドを見 てください。 8.2.2. dpkg-ftp --------------- この方法は `dselect' のアクセスメソッドの一つになっています。 `dselect' の中から実行できるので、ファイルをダウンロードしてインス トールするという作業を一度に直接行うことができます。やり方は、まず `dselect' プログラムを起動してオプション「0」("Choose the access method to use") を選択します。そしてオプション「ftp」を反転表示させてリ モートホスト名とディレクトリを指定します。`dpkg-ftp' は今回新たに選 択したファイルや以前に選択したファイルを自動的にダウンロードしてくれます。 `mirror' プログラムと違って `dpkg-ftp' はミラーサイトの全て のファイルを取ってくるわけではありません。このプログラムは (`dpkg-ftp' を立ち上げた時に) 選択したパッケージのうちアップグレー ドする必要のあるファイルだけをダウンロードします。 8.2.3. mirror ------------- この Perl スクリプトと `mirror-master' という (付属の) 管理プロ グラムは、ユーザが指定したホストから匿名 ftp を_使って_指定したディ レクトリツリーを取ってくるのに使います。 `mirror' は大量のソフトウェアをダウンロードする場合に特に役立ち ます。あるサイトから初めてファイルをダウンロードすると、 `.mirrorinfo' と呼ばれるファイルがローカルホストに作成されます。 `mirror' がこのファイルとリモートシステムにある同様のファイルを比較 することによって、リモートファイルシステムの変更が自動的に認識され、変更 されたファイルだけがダウンロードされます。 `mirror' プログラムは一般にリモートディレクトリツリーのローカル なコピーを更新するのに役立ちます。取ってくるファイルは Debian ファイルで ある必要はありません。(`mirror' は Perl スクリプトなので非 Unix シ ステム上でも動かせます。) `mirror' プログラムにには指定した文字列に マッチする名前のファイルを除外する機能もありますが、このプログラムはパッ ケージを選択してダウンロードするよりもディレクトリツリー全体をダウンロー ドするのに大変役立ちます。 8.2.4. dftp ----------- この Perl スクリプトは特定のホストからユーザ指定の Debian パッケージ を取ってくるのに使えます。このプログラムは、ユーザが指定したディレクトリ (たとえば、stable、contrib、non-free) の Packages.gz ファイルをダウンロー ドして、そのディレクトリに含まれるパッケージの一覧を表示します。ファイル は new upgrades、downgrades、new packages、ignored upgrades、ignored packages などの様々なセクションに置かれます。それから欲しいパッケージを 選択すると dftp はそれをダウンロードしてインストールします。これによって インストールするつもりのないパッケージをダウンロードすることなく、非常に 簡単に Debian システムを常に最新にしておくことができます。 `dftp' は `dselect' (第 7.1.2 節, `dselect' 参照) を呼び出すこ とができるので、Debian パッケージのシステムへの取得と更新を統合して行え ます。インストールが終了すると別の `dftp' コマンドでパッケージアー カイブ (「.deb」) ファイルを消去することができます。リモートファイルシス テムの変更は `dftp' がローカルとリモートシステムの Packages.gz ファ イルを比較することによって、自動的に認識されます。 8.2.5. dpkg-mountable --------------------- dpkg-mountable を使うと dselect のリストに「mountable」というアクセス メソッドが加わります。こうすると /etc/fstab に指定されている任意のファイ ルシステム (例えば通常のハードディスクパーティションや NFS サーバなど) からインストールできるようになります。これらのファイルシステムは必要に応 じて自動的にマウントされアンマウントされます。 dselect の標準的なメソッドにない特別な機能もいくつかあります。ローカ ルのファイルツリー (メインのディストリビューションと並行か全く別か) を指 定できたり、時間をかけてディレクトリを再帰的に見渡すのではなく必要なパッ ケージだけを取得できたりします。インストールメソッドで dpkg アクションの すべてを記録することもできます。 8.3. パッケージをアップグレードするにはシングルユー ザモードに入る必要がありますか? ---------------------------------------------------------------------------- いいえ、その必要はありません。システム稼動中であってもパッケージをきちん とアップグレードすることができます。Debian には `start-stop-daemon' プログラムがあり、パッケージをアップグレード する時にもし必要なら、動いているプロセスをストップしてその後再びスタート するという作業を行ってくれます。 8.4. 自分のディスクに全ての .deb アーカイブファイルを保存 しておかなければならないのですか? ---------------------------------------------------------------------------- いいえ、その必要はありません。もし自分のディスクにファイルをダウンロー ドしているなら (これは必ずしも必要なことではありません。上記の dpkg-ftp や dftp を見てください)、そのパッケージをインストールした後、そ のファイルをシステムから消去しても構いません。 8.5. システムに追加したパッケージのログを保存するには どうしたらいいのですか? ---------------------------------------------------------------------------- `dpkg' は、展開したり設定したり削除したり完全削除したりしたパッ ケージの記録をとっていますが、パッケージが処理される間の端末表示のログは (現在のところは) 保存しません。あるユーザはこの問題を以下のように `tee' コマンドを使うことで簡単に克服しています。 dpkg -iGOEB -R main/binary non-free/binary contrib/binary | \ tee -a /root/dpkg.log 長いオプションを用いて書くと次のようになります。 dpkg --install --refuse-downgrade --selected-only \ --skip-same-version --auto-deconfigure \ --recursive main/binary non-free/binary contrib/binary | \ tee -a /root/dpkg.log ------------------------------------------------------------------------------- 9. Debian とカーネル -------------------- 9.1. 何らかの Debian 特有の微調整をしなくてもカー ネルをコンパイル・インストールできますか? ---------------------------------------------------------------------------- できます。ただしヘッダに関する Debian のポリシーを理解しておかなけれ ばなりません。 Debian の C ライブラリは、最も新しい_安定版_リリースの_カー ネル_ヘッダで構築されています。 例えば Debian 1.2 リリースはバージョン 5.4.13 のヘッダを使っていまし た。この実践は、すべての Linux FTP アーカイブサイトで配布されている Linux カーネルのソースパッケージと対立します。これらはもっと新しいバージョ ンのヘッダを使っているのです。カーネルソースと共に配布されているカーネル ヘッダは `/usr/include/linux/include/' に位置しています。 `libc6-dev' で提供されているものより新しいカーネルヘッダでプ ログラムをコンパイルしたい場合は、コンパイル時のコマンドラインに `-I/usr/src/linux/include/' を加えなければなりません。このことは 例えばオートマウンタデーモン (`amd') をパッケージ化する際に問題 になりました。新しいカーネルが NFS 関連で内部に変更があった場合、 `amd' はそのことを知る必要がありました。つまり最新のカーネルヘッ ダを含める必要があったのです。 9.2. カスタムカーネルを構築するために Debian にはどん なツールがあるのですか? ---------------------------------------------------------------------------- カスタムカーネルを構築したい (あるいは、しなければならない) ユーザは `kernel-package' をダウンロードして下さい。このパッケージにはカー ネルパッケージを構築するためのスクリプトが含まれており、カーネルのソース のトップディレクトリでコマンド make-kpkg kernel_image を実行するだけで Debian の kernel-image パッケージを作成してくれます。 詳しい説明はコマンド make-kpkg --help を実行するか、 make-kpkg(8) のマニュアルページを見て下さい。 またこれとは別に、最新のカーネル (あるいはお好みのカーネル) のソース コードをお気に入りの Linux アーカイブサイトからダウンロードしておいて下 さい。kernel-source-version (「version」はカーネルバージョンのこと) パッ ケージがある場合は必要ありません。 `kernel-package' パッケージを利用する際の詳しい手順はファイル `/usr/doc/kernel-package/README' に記されています。簡単に述べると 次のようになります。 * カーネルのソースを展開し、新しく作成されたディレクトリに `cd' (移動) して下さい。 * 以下のコマンドのどれかを使ってカーネルの設定を修正して下さい。 * `make config' (tty で一度に一行づつ設定していきます)。 * `make menuconfig' (ncurses ベースのメニュー形式インタ フェース)。この方法を使うには `libncurses5-dev' パッケー ジがインストールされている必要があります。 * `make xconfig' (X11 インタフェース)。この方法を使うに は、X と Tcl/Tk の適切なパッケージ群がインストールされている必要 があります。 どのやり方でも、カーネルのソースのトップディレクトリに新しい `.config' が作成されます。 * `make-kpkg -rev Custom.N kernel_image' というコマンドを実 行して下さい。ここで N はユーザが割り当てるリビジョン番号です。このよ うにして作った新しい Debian アーカイブはリビジョン Custom.1 になります。 例えば、Linux カーネル 2.2.14 に対して、 `kernel-image-2.2.14_Custom.1_i386.deb' が作成されます。 * 作成したパッケージをインストールして下さい。 * `dpkg --install /usr/src/kernel-image_VVV_Custom.N.deb' を実行してカーネルをイン ストールして下さい。インストールスクリプトは以下のことをします。 * (もし LILO がインストールされていれば) ブートローダ LILO を走らせる。 * カスタムカーネルを /boot/vmlinuz_VVV-Custom.N にインストー ルして、最も新しいバージョンのカーネルに適切なシンボリックリン クを作成する。 * ブートフロッピーを作るかどうかをユーザに尋ねる。このブート フロッピーは raw カーネルだけを含みます。第 9.3 節, `カスタムブートフロッピーを作るにはどうすればよ いですか?' を見て下さい。 * `grub' や `loadlin' のような 2 次的なブートローダを 使うには、このイメージを別の場所 (例えば /boot/grub や `MS-DOS' のパーティション) にコピーして下さい。 9.3. カスタムブートフロッピーを作るにはどうすればよ いですか? ------------------------------------------------------------- この作業には、通常 Debian FTP アーカイブの `admin' セクション にある Debian パッケージ `boot-floppies' がとても役に立ちます。 このパッケージのシェルスクリプトは `SYSLINUX' 形式でブートフロッ ピーを作成します。これはマスターブートレコードが変更された `MS-DOS' 形式のフロッピーなので、Linux (あるいはフロッピー中のファ イル syslinux.cfg で設定した別の OS) を直接ブートします。またこのパッケー ジには、非常用のルートディスクを作成したり、ベースディスクを再作成したり するスクリプトも含まれています。 `boot-floppies' パッケージをインストールしたあとなら `/usr/doc/boot-floppies/README' ファイルでこれに関する詳しい情報 を得ることができます。 9.4. Debian にはモジュールを扱うための何か特別な決まりがあ りますか? -------------------------------------------------------------------- Debian の `modconf' パッケージには、モジュールの設定をカスタ マイズするシェルスクリプト (`/usr/sbin/modconf') が入っています。 このスクリプトはメニューベースのインタフェースを持ち、ユーザはシステム中 のロード可能なデバイスドライバの詳細な設定を行うことができます。これを使 うと、`/etc/modutils/' 以下のファイルと `/etc/modules' (ブー ト時にロードするモジュールを記入します) とを通じて、ファイル `/etc/modules.conf' (エイリアスや様々なモジュールの組み合わせに必要な引数を記入します) をカスタマイズすることができます。 (新しい) Configure.help ファイルがカスタムカーネルの構築をサポートし てくれますし、modconf パッケージにも、個々のモジュールに関する適切な引数 の詳しい情報を教えてくれるヘルプファイルが (`/usr/lib/modules_help/' に) 付属しています。 9.5. 古いカーネルを安全に消去することはできますか ? もしできるならどうすればいいのですか? ---------------------------------------------------------------------------- できます。`kernel-image-NNN.prerm' スクリプトは、現在動いてい るカーネルが消去しようとしているカーネルと同じかどうかを調べてくれます。 したがって次のコマンドを使えば不要なカーネルイメージパッケージを消去する ことができます。 dpkg --purge --force-remove-essential kernel-image-NNN (もちろん「NNN」はあなたのバージョン・リビジョン番号に置き換えてください ) ------------------------------------------------------------------------------- 10. Debian GNU/Linux のインストールをカスタマイズする ----------------------------------------------------- 10.1. 全てのプログラムが確実に同じ用紙サイズを使うように 設定するにはどうすればいいのですか? ---------------------------------------------------------------------------- ファイル `/etc/papersize' にはシステムのデフォルト用紙サイズの 名前 (すなわち letter や A4) が書かれています。これは環境変数 `PAPERSIZE' を使って上書きすることができます。詳しくは `papersize(5)' のマニュアルページを見て下さい。 10.2. セキュリティを弱めることなしにハードウェア機器 にアクセスするにはどうしたらよいですか? ---------------------------------------------------------------------------- `/dev' ディレクトリにある多くのデバイスファイルは予め定義され た何らかのグループに属しています。例えば `/dev/fd0' は `floppy' グループに属しており、`/dev/dsp' は `audio' グループに属しています。 あるユーザがこれらのデバイスの一つにアクセスできるようにするには、そ のデバイスが属するグループにそのユーザを加えれば結構です。つまり adduser user group とします。こうすればデバイスファイルを chmod する必要はありません。 10.3. スタートアップ時にコンソールフォントを Debian 流 にロードするにはどうしたらよいですか? ---------------------------------------------------------------------------- `kbd' と `console-tools' パッケージがこれをサポートし ています。`/etc/kbd/config' あるいは `/etc/console-tools/config' ファイルを編集してください。 10.4. X11 プログラムのアプリケーションデフォルトを設定 するにはどうすればいいのですか? ---------------------------------------------------------------------------- Debian の X11 インストールは、ユーザが `/usr/X11R6/lib/X11/app-defaults/' の中のファイルを変更しないこと を想定しています。もし X アプリケーションを全体的にカスタマイズしたけれ ば `/etc/X11/Xresources' をカスタマイズして下さい。このファイル は設定ファイルとして登録されているので、パッケージをアップグレードしても その内容は保存されます。 10.5. どのディストリビューションもそれぞれ起動方法が異なっ ているようですね。Debian の場合について教えて下さい。 ---------------------------------------------------------------------------- 全ての Unix と同様に Debian は `init' プログラムを実行すること によってブートアップします。`init' の設定ファイル (`/etc/inittab') にはスクリプト `/etc/init.d/rcS' を最初に 実行するように書かれています。このスクリプトはファイルシステムを検査して マウントし、モジュールをロードして、ネットワークサービスを開始します。ま た時刻を合わせたり、その他の初期化も行います。それから `/etc/rc.boot/' にある (ファイル名に「.」が付くものを除いた) 全て のスクリプトを実行します。ここにあるスクリプトはシステム管理者のために予 約されており、パッケージでそれを使うことは推奨されません。 ブートプロセスを終えると `init' はデフォルトのランレベル (この ランレベルは `/etc/inittab' に書かれた `id' のエントリによっ て与えられます) によって指定されたディレクトリ中の全ての開始スクリプトを 実行します。多くの System V 互換 Unix と同様に Linux には 7 つのランレベ ルがあります。 * 0 (システムを停止する) * 1 (シングルユーザモード) * 2 から 5 (様々なマルチユーザモード) * 6 (システムの再起動) Debian システムは id=2 で始まります。これはマルチユーザ状態に入った時の デフォルトのランレベルが 2 であり、`/etc/rc2.d/' の中のスクリプト が実行されることを意味しています。 実際には、`/etc/rcN.d/' のどのディレクトリのスクリプトも `/etc/init.d/' の中にあるスクリプトへの単なるシンボリックリンクに なっています。しかし、ディレクトリ `/etc/rcN.d/' の各々の_ファ イル名_は、`/etc/init.d/' 中のスクリプトを走らせる_方法_がわかるように選ばれています。具体的に言うと、あるランレベルに入る 前に「K」で始まる全てのスクリプトが実行されます。これによってそのサービ スは停止されます。次に「S」で始まる全てのスクリプトが実行されます。これ によってそのサービスは開始されます。「K」や「S」に続く 2 桁の数はスクリ プトが実行される順番を表しており、数の小さいスクリプトが最初に実行されま す。 このやり方はうまく機能します。というのも `/etc/init.d/' の中に あるスクリプトはすべて「start」か「stop」か「reload」か「restart」か 「force-reload」のどれかを引数にとり、その引数に従って定められた仕事を行 うからです。これらのスクリプトはシステムがブートしてしまった後でも様々な プロセスを制御するために利用できます。 例えば「reload」を引数としたコマンド `/etc/init.d/sendmail reload' は sendmail デーモンに設定ファイルを再読み込みするようシグナ ルを送ります。 10.6. Debian はブートプロセスをカスタマイズするの に `rc.local' を使っていないようですね。どんな手段が使えるのです か? ---------------------------------------------------------------------------- 起動時や特定の (System V) ランレベルへの入り口でシステムがスクリプト `foo' を実行しなければならないとします。その場合システム管理者は 次のようにして下さい。 * スクリプト `foo' をディレクトリ `/etc/init.d/' に 入れる。 * Debian コマンド `update-rc.d' を適切な引数で実行する。こ れにより、引数としてコマンドラインに指定したディレクトリ rc?.d と `/etc/init.d/foo' の間にリンクが作られます。ここで「?」は 0 か ら 6 までの数であり、System V のランレベルに対応します。 * システムを再起動する。 コマンド `update-rc.d' は `/etc/init.d/' の中のスクリプ トからディレクトリ rc?.d の中のファイルへのリンクを作成します。各々のリ ンクは「S」か「K」で始まり、その次に数字が続き、最後にスクリプトの名前が 続きます。`/etc/rcN.d/' の中の「S」で始まるスクリプトはランレベル `N' に入った時に実行されます。「K」で始まるスクリプトはランレベル `N' を離れた時に実行されます。 例えば、スクリプト `foo' を `/etc/init.d/' の中に置き、 `update-rc.d foo defaults 19' としてリンクを作成すると、スクリプ ト foo を起動時に実行させることができます。ここで引数「defaults」はデフォ ルトのランレベルである 2 から 5 を表しており、引数「19」は `foo' がファイル名に 20 以上の数を含んでいるスクリプトよりも先に 呼び出されることを表しています。 10.7. パッケージ管理システムでは、別のパッケージに関 する設定ファイルを含んでいるようなパッケージをどのようにして取り扱うので すか? ---------------------------------------------------------------------------- 例えば、ユーザの環境に合わせた設定ファイルを含むパッケージをローカル に作成しておき、いくつかの Debian パッケージ群とこの設定ファイルを含むパッ ケージをインストールすることで簡単に新しいサーバを作りたい、という状況を 考えてみます。これは一般的に良い考えではありません。もし設定ファイルが別 のパッケージの中にあっても `dpkg' はそれらの設定ファイルについて知 るはずもなく、パッケージ「群」の一つをアップグレードした時に設定ファイル も更新されて矛盾が生じてしまうからです。 代わりに、関心のある Debian パッケージ「群」の設定ファイルを修正する ローカルなパッケージを作って下さい。こうすれば、`dpkg' などのパッケー ジ管理システムは、ファイルがローカルな「システム管理者」によって修正され たかどうかわかるので、パッケージをアップグレードする時に上書きされること はありません。 10.8. あるパッケージによってインストールされたファイルを上書 きして、代わりに違うバージョンのものを使うにはどうすればいいのですか? ---------------------------------------------------------------------------- システム管理者やローカルユーザが、Debian の `login' パッケー ジに含まれる「login」プログラムではなく「login-local」プログラムを使いた いとします。 次のようにしてはいけません。 * `/bin/login' を `login-local' で上書きする。 パッケージ管理システムはこの変更について知るはずもなく、`login' (あるいは `/bin/login' を提供するパッケージ) を新たにインストール したり更新したりすると、カスタム `/bin/login' は単純に上書きされ てしまいます。 代わりに次のようにして下さい。 * dpkg-divert --divert /bin/login.debian /bin/login を実行する。こうすれば、Debian `login' パッケージを将来イン ストールすると、`/bin/login' ではなく `/bin/login.debian' にインストールされます。 * 次に cp login-local /bin/login を実行する。ローカルに構築したプログラムを `/bin/login' へ移動 します。 詳しくは マニュアルページ dpkg-divert(8) に 書かれています。 10.9. パッケージ管理システムが知っている利用可能パッ ケージのリストの中に自分で作ったパッケージを含めるにはどうすればいいので すか? ---------------------------------------------------------------------------- 次のコマンドを実行してください。 dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PATHPREFIX] > my_Packages ここで * BIN-DIR は Debian アーカイブファイル (普通、拡張子「.deb」を持 つ) があるディレクトリです。 * OVERRIDE_FILE はディストリビューションメンテナにより編集される ファイルで、main ディストリビューションの Debian パッケージのものは 普通 Debian FTP アーカイブの `indices/override.main.gz' に保 管されています。ローカルパッケージの場合これは無視できます。 * PATHPREFIX は生成される `my_Packages' ファイルに付加す ることのできる_オプション_文字列です。 いったんファイル `my_Packages' を作ってしまえば、以下のコマン ドによってパッケージ管理システムにそれを教えることができます。 dpkg --merge-avail my_Packages 10.10. mawk が好きなユーザもいれば gawk が好きなユーザもいま す。vim が好きなユーザもいれば elvis が好きなユーザもいます。trn が好き なユーザもいればtin が好きなユーザもいます。このような多様性を Debian は どのようにしてサポートしていますか? ---------------------------------------------------------------------------- 二つのパッケージがあるプログラムの異なるバージョンを提供しており、双 方が同じ基本機能を提供しているといういくつかのケースがあります。ユーザが どちらか一方のパッケージを好むのは、習慣からかもしれませんし、あるパッケー ジのユーザインタフェースが別のものよりもどういうわけか心地よいという理由 からかもしれません。同じシステムの別のユーザは違う選択をするかもしれませ ん。 Debian では「仮想」パッケージシステムを使うことによって、同じ基本機能 を提供する 2 つ以上のパッケージが存在している時にシステム管理者 (あるい はユーザ) がお気に入りのツールを選ぶことができます。また、特定のパッケー ジを指定しなくてもパッケージ依存条件が満たされるようになっています。 例えば、一つのシステムに 2 つの異なるニュースリーダーが存在するとしま す。ニュースサーバパッケージは、システムに_なんらかの_ニュースリー ダーがインストールされていることを「recommend (推薦)」してはいますが、 `tin' か `trn' かという選択は個々のユーザに任せています。 これがうまく機能するのは、`tin' と `trn' が共に仮想パッケー ジ `news-reader' を提供しているからです。_どの_プログラム が実行されるかは、仮想パッケージ名を持つファイル `/etc/alternatives/news-reader' から選択したファイル、例えば `/usr/bin/trn' へリンクを張ることにより決定されます。 このような方法を使う場合、リンクが一つだけではプログラムを十分に利用 するのに不十分です。普通、マニュアルページやその他のサポートファイルも適 切に選択されていなければなりません。Perl スクリプト `update-alternative' を使えば、パッケージに関連する全てのファイル をシステムデフォルトとして正しく選択することができます。 例えば、どの実行ファイルが「x-window-manager」を提供するのかをチェッ クするには update-alternatives --display x-window-manager を走らせます。それを変更したいのなら update-alternatives --config x-window-manager を走らせ、画面の指示に従います (基本的には選択したいエントリの次の番号を 入力します)。 何らかの理由でパッケージが自分自身をウィンドウマネージャとして登録し ない場合 (エラーになるならバグとして提出してください)、あるいは /usr/local ディレクトリにあるウィンドウマネージャを使いたい場合は、選択 したいエントリが画面の選択肢に現れないでしょう。そんなときは例えば以下の ようにコマンドラインオプションでリンクを更新できます。 update-alternatives --install /usr/bin/x-window-manager \ x-window-manager /usr/local/bin/wmaker-cvs 50 「--install」オプションの第一引数は /etc/alternatives/NAME へのシンボ リックリンクです。ここで NAME が次の引数になります。第三引数は /etc/alternatives/NAME が指すべきプログラムです。第四引数は優先度で、大 きな値を指定すると自動的に選択される可能性が大きくなります。 別候補を削除するには単に update-alternatives --remove x-window-manager /usr/local/bin/wmaker-cvs を実行してください。 ------------------------------------------------------------------------------- 11. Debian GNU/Linux のサポートを得る ------------------------------------- 11.1. Debian システムに関するドキュメントは他にどんなも のがありますか? ----------------------------------------------------------------------- * 現在のリリースのインストールガイド。http://www.debian.org/releases/stable/i386/installを見てくださ い。 * パッケージングマニュアルは Debian のバイナリとソースのパッケージ を作成する際の技術的側面に関する基本文書です。 `packaging-manual' パッケージまたは ftp://ftp.debian.org/debian/doc/package-developer/packaging.html.tar.gz にあります。 日本語訳が Debian JP プロジェクトの `packaging-manual-ja' パッケージまたは ftp://ftp.debian.or.jp/debian-jp/doc-jp/package-developer/packaging-ja.html.tar.gz にあります。 * ポリシーマニュアルはディストリビューションとしての方針的要求を記 したものです。つまり、ディストリビューションに収録されるにあたって各 パッケージが満たすべき技術的要求に加えて、Debian アーカイブの構造と 内容やオペレーティングシステムのいくつかの設計問題などです。 `debian-policy' パッケージまたは ftp://ftp.debian.org/debian/doc/package-developer/policy.html.tar.gz. で入手してください。 * インストールされた Debian パッケージのドキュメント。たいていのパッ ケージには `/usr/doc/PACKAGE' に展開されるファイルがあります。 * Linux プロジェクトに関するドキュメント。`doc-linux' とい う Debian パッケージは Linux Documentation Project (http://www.linuxdoc.org) の HOWTO や mini-HOWTO の最新バージョ ンをインストールします。また `doc-linux-ja' というパッケージ は Linux JF プロジェクト (http://www.linux.or.jp/JF/) の日本語版 HOWTO や mini-HOWTO の最 新バージョンをインストールします。 * Unix 形式の「man」ページ。たいていのコマンドにはオリジナルの Unix の「man」ファイル形式で書かれたマニュアルページがあります。マニュ アルページは置かれている「man」ディレクトリのセクションで参照されま す。たとえば、foo(3) は /usr/share/man/man3/ にあるマニュアルページ を参照し、`man 3 foo' というコマンドを実行すれば呼び出せます。 もし `foo' に関するページを含む最初の章が 3 章なら、単に `man foo'とできます。 あるマニュアルページが `/usr/share/man/' のどのディレクト リに含まれているかを知りたければ `man -w foo' としてください。 新しく Debian を使いはじめられた方は、一般的なシステムコマンドの 「man」ページの多くは以下のパッケージをインストールするまで利用でき ないことに注意して下さい。 * `man-db'。`man' プログラム自身が含まれています。 またマニュアルページを操作するその他のプログラムも入っています。 * `manpages'。システムのマニュアルページが収録されてい ます (第 4.8 節, `Debian は英語以外の言語をどのようにサポートしてい ますか?' を参照してください)。 * GNU 形式の「info」ページ。多くのコマンド特に GNU ツールのユーザ 向け資料は「man」ページではなく「info」ファイルとして提供されます。 このファイルは GNU ツールの `info' を使うか、GNU Emacs から `M-x info' と実行するか、あるいは他の Info ページビューワを使 うかして読むことができます。「man」ページに対する主な利点はハイパー テキストシステムであることです。しかしながら `info' は WWW を 必要と_せず_、プレーンテキストのコンソールから実行できます。 これは Richard Stallman が設計し、WWW に先行していました。 「dwww」や「dhelp」コマンドを通じて WWW ブラウザを使えばシステムのド キュメントの多くにアクセスできることを忘れないでください。これらはそれぞ れ同名のパッケージにあります。 11.2. オンラインで参照できる Debian についての資料 はありますか? ---------------------------------------------------------------- Debian に関連した多くのメーリングリストがあります。 システムに `doc-debian' パッケージがインストールされていれば、 メーリングリストの完全な一覧が `/usr/share/doc/debian/mailing-lists.txt' にあります。 `doc-debian-ja' パッケージがインストールされていれば日本語訳 が読めます。 debian-X (X には announce、user などが入ります) を購読するには、 Subject: ヘッダに「subscribe」と書いたメールを debian-X-request@lists.debian.org へ送って下さい。もしフォームに対応した World Wide Web ブラウザをお使いなら、WWW フォーム (http://www.debian.org/MailingLists/subscribe) を使ってメーリングリ ストを購読できます。購読取消にも同じフォームが使えます。 何かトラブルに遭遇したときのメーリングリスト管理者の電子メールアドレ スは です。 Debian メーリングリストのアーカイブは、http://lists.debian.org/ で WWW 経由で利用できます。 Debian プロジェクトが運営するこれらのメーリングリストでは主として英語 が使われますが、日本語で Debian システムについて議論するために Debian JP プロジェクトがいくつかのメーリングリストを提供しています。http://www.debian.or.jp/MailingList.html をご覧ください。 個々のパッケージの保守担当者に質問をぶつけることもできます。担当者の 電子メールアドレスは、それぞれのパッケージに含まれている Debian 制御ファ イル (第 6.4 節, `Debian 制御ファイルとは何ですか?') に入っています。保守担当者の名前と電子メー ルアドレスは「Packages」ファイルを探してもわかります。このファイルは、あ るディレクトリツリーの中にあるすべてのパッケージの制御ファイルを単に繋げ ただけのものです。Debian パッケージから制御ファイルを取り出すには以下の コマンドを実行して下さい。 dpkg --info packageName_VVV-RRR.deb Debian に特有ではない質問は Linux の USENET グループのどれかに投稿す るべきです。このグループは、comp.os.linux.* とか linux.* とかいう名前が ついています。WWW にも Linux の USENET グループや他の関連リソースの一覧 がいくつかあります。例えば Linux Online (http://www.linux.org/docs/usenet.html) や LinuxJournal (http://www.linuxjournal.com/help/online.html) のサイトなどです。 日本のユーザにのためにも linux-users メーリングリストや fj.os.linux USENET グループなどがあります。日本の Linux 情報 (http://www.linux.or.jp/) からたどれる情報が参考になるでしょう。 11.3. メーリングリストのための行動規範は何ですか? ------------------------------------------------- Debian メーリングリストを利用する際は以下のルールに従って下さい。 * 罵詈雑言お断り。品がよくありませんから。Debian を開発している人々 はすべてボランティアであり、時間やエネルギー・お金を寄付して Debian プロジェクトをまとめようとしているのです。 * 間違った言葉を使用しないこと。メーリングリストをパケット無線で受 け取る人もいます。パケット無線では罵倒語は違法です。 * 適切なメーリングリストを利用しているかご確認を。講読 (取消) のリ クエストをメーリングリスト自体に_決して_投稿しないでください [1]。 * バグを報告する時の注意点は 第 11.6 節, `Debian のバグはどのようにして報告すればいいのですか?' という節を見て下 さい。 [1] 講読 (取消) のリクエストには _listname_-REQUEST@lists.debian.org アドレスを使ってください。 11.3.1. メーリングリストの広告方針 ---------------------------------- Debian GNU/Linux メーリングリストは有料の商業広告を許可しています。フリーソフ トウェア財団に「Debian」用として 1000 米ドル以上の寄付を行い、検閲解除を 申し出ていただければ、有償免除権をお渡しします。どうか 1 広告あたり 1 回 の寄付をしてください。寄付したくなければ単にメーリングリストに広告を投稿 してください。メーリングリストの運営者が 1999 米ドルの請求書を発送します。 運営者はこの額から集金経費を差し引いた額を FSF に寄付します。 広告を投稿するという行為により、支払い責任の承諾に同意したということ になります。また、あなたの広告に関してあなたやそれ以外の方からのいかなる 法的請求に対してメーリングリスト運営者は免責されることを認め、料金の後納 による法的商業的費用を負担することに同意したということになります。 Debian に関連した広告に対しては広告料の割引や免除が可能です。割引や免 除のためには投稿するに先立ってメーリングリスト運営者と相談しなければなり ません。 11.4. Debian GNU/Linux に関する情報をてっとりばやく検索する方法 はありますか? ---------------------------------------------------------------------------- Debian に関連するドキュメントを供する検索エンジンが幾種類もあります。 * Debian WWW 探索サイト (http://www.debian.org/search) * DejaNews ニュース探索サー ビス (http://www.dejanews.com/)。人々が Western Digital のコントローラ用のドライバを見つける のにどんな経験をしてきたかを捜し出すには `linux & WD' のフレー ズを検索してみて下さい。こうすると、「Linux」という文字列と「WD」と いう文字列の両方を含む投稿を報告するように DejaNews に指定したことに なります。著者の一人が使用したときは、自分の WD のカードは手にいれて から 6 ヵ月しか経っていませんでしたが、アダプテックから流行遅れと宣 告されていることを発見しました。そのときアダプテックは WD を買収して いたのです。ですから、利用できるドライバはありません(なんてこった、 アダプテック)。 * AltaVista (http://www.altavista.com/) や Google (https://www.google.com) などの Web のスパイダー型 検索エンジンのどれでも (DejaNews ほど更新されてはいませんが) Usenet の検索ができます。 例えば「cgi-perl」という文字列を検索すると、制御ファイルに書いて ある簡単な説明よりも詳しいパッケージの解説が得られます。 * http://www.debian.or.jp/search/ で Debian JP プロジェ クトが運営するメーリングリストの記事が検索できます。 11.5. 既知のバグの記録はありますか? ----------------------------------- Debian GNU/Linux ディストリビューションには、ユーザや開発者によって報告された バグの詳細を記録するバグ追跡システム (bug tracking system, BTS) がありま す。それぞれのバグには番号が付けられ、処理されたものとみなされるまで記録 に残されています。 この情報は http://www.debian.org/Bugs/ にて入手できます。 バグ追跡システムのデータベースへ電子メールでアクセスできるようにする メールサーバがあります。解説を入手するには、本文に「help」と書いた電子メー ルを request@bugs.debian.org に送ってください。 11.6. Debian のバグはどのようにして報告すればいいのですか? ---------------------------------------------------------- もし Debian のバグを見つけたら、バグを報告するための解説書を読んで下 さい。この解説書は以下のいずれかの方法で入手できます。 * 匿名 FTP で。Debian のミラーサイトには、解説書が `doc/bug-reporting.txt' というファイルにあります。 * WWW から。解説が http://www.debian.org/Bugs/Reporting にて公開されています。 * `doc-debian' パッケージがインストールされた Debian シス テム上で。解説書が `/usr/doc/debian/bug-reporting.txt' とい うファイルにあります。`doc-debian-ja' パッケージがインストール されていればその日本語訳が `/usr/doc/debian-ja/bug-reporting.ja.txt' というファイルに あります。 `bug' や `reportbug' というパッケージが使えます。これ は報告の手順を案内し、適切なアドレスにメッセージをメールしてくれます。そ の際システムに関する余分な詳細をいくつか自動的に付加します。 MUA を使って報告をメールする場合は宛先を とし、最初の行を Package: packagename (「packagename」はパッケージ名に置き換える) としてください。それ以降には バグの説明 (適度に詳しく)、使用している Debian のリリース、パッケージと 関連するパッケージのバージョンを必ず記してください。 バグ報告に関する感謝が自動的に届きます。バグ追跡番号も自動的に附され、 バグ記録に入って debian-bugs-dist メーリングリストに転送されます。 多くのプログラムに共通するバグを特定した場合は、似たバグ報告をたくさ んするよりも、個々のバグを (submit@bugs.debian.org ではなく) に送ってそれぞれのパッケージ保守担当者 だけに届くようにし、それから debian-devel と debian-bugs-dist のどちらか あるいは両方に要約を送るのが望ましいでしょう。 加えて Lintian (http://www.debian.org/lintian/) とい う Debian パッケージチェッカーがあります。これは Debian パッケージのポリ シー侵害やよくあるパッケージ化エラーをチェックするように設計されています。 したがって、他のパッケージにも起こりそうなバグを発見したら、直接バグを報 告するよりも、 の Lintian メンテナに連絡 して Lintian に新たなチェックを書いてもらう方が望ましいでしょう。こうす ることで、そのパッケージの将来のバージョンやディストリビューションの他の パッケージにバグが出現するのを防げる可能性が高くなります。 を使ってバグ報告を BTS にだけ提出し、 debian-bugs-dist やメンテナに遅らないようにすることもできます。この「秘 密の」表明が使われることはめったにありません。例えば、単にログに記録され るべき何らかの少量データを報告したい場合や、BTS のログに何かを記録したい がメンテナには既に送信している場合などです。 なお、Debian JP プロジェクト (http://www.debian.or.jp/) のパッケージに関するバグ報告は Debian JP プロジェクトのバグ追跡システム (http://www.debian.or.jp/Bugs/) に提出してください。 ------------------------------------------------------------------------------- 12. Debian プロジェクトに貢献する --------------------------------- 時間の寄付 (新たなパッケージを開発する、既存のパッケージの保守を行な う、あるいはユーザサポートを提供する)、資源の寄付 (FTP や WWW のアーカイ ブのミラーをする)、そして金銭の寄付 (アーカイブのためのハードウェアの他、 新たなテストベッドにお金を出す) はプロジェクトの助けになります。 12.1. Debian のソフトウェア開発者になるにはどうすればよいの ですか? ------------------------------------------------------------------- Debian の開発はすべての人々に公開されています。前の保守担当者によって 「みなしご化」された既存パッケージの保守を行なったり、新たなパッケージを 開発したり、ユーザサポートを提供したりするだけの確かな腕を持っている、あ るいは、それらを進んで習得しようとする新規ユーザが必要とされています。 Debian の開発者になるための詳細はすべて `developers-reference' パッケージに書かれているので、それをイン ストールして熟読してください。 developers-reference のオンライン版は 我々の Web サイト (http://www.debian.org/doc/packaging-manuals/developers-reference/) にあります。 12.2. どうすれば Debian プロジェクトに資源を寄贈することができますか? --------------------------------------------------------------------- 本プロジェクトは価値あるソフトウェア群を世界中の至るところから迅速か つ容易にアクセスできるようにすることを目標としているため、差し迫ってミラー が必要とされています。全アーカイブをミラーすることが望ましいですが、絶対 に必要というわけではありません。ディスクスペース要求の情報は Debian ミラーサイズ (http://www.debian.org/mirror/size) のペー ジを見てください。 ミラーリングの大部分は人が介在することなくスクリプトによって完全に自 動的に行なえます。しかしながら、人の介在を必要とする偶発的な不調やシステ ムの変更が起こることはあります。 もしあなたがインターネットへ高速に接続でき、ディストリビューションの すべてあるいはその一部をミラーするだけの資源を持っていて、進んで時間を割 いてくれるなら (あるいは、定期的なシステムの保守を行える人を見つけてくれ るなら)、 まで連絡下さい。 12.3. 金銭的に Debian プロジェクトに貢献す るにはどうすればいいのですか? ------------------------------------------------------------------------ Debian プロジェクトの開発にとって重要な二つの組織に対して別々に寄付を することができます。 12.3.1. Software in the Public Interest --------------------------------------- Software in the Public Interest (SPI) は、FSF が Debian のスポンサー から撤退したときに結成された IRS 501(c)(3) の非営利組織です。 我々のゴールは FSF のゴールと非常に似ており、プログラマ達に自分のプロ グラムに「GNU 一般公有使用許諾書」を適用することを奨励しています。しかし ながら、我々は FSF によって計画された GNU システムの数多くの技術から分岐 した Linux システムを構築し配布するという、少し異なった点に興味の対象を 向けています。我々は今でも FSF と通じ合っていますし、GNU ソフトウェアへ の変更点を彼らに伝えたり Debian のユーザに FSF と GNU プロジェクトへの寄 付をお願いするなどの協力を行なっています。 SPI には http://www.spi-inc.org/ で連絡を取ることができま す。 12.3.2. フリーソフトウェア財団 (Free Software Foundation, FSF) -------------------------------------------------------------- 現在は Debian とフリーソフトウェア財団との間に正式な関係はありません。 しかしながら、GNU C コンパイラや GNU Emacs、システム上のすべてのプログラ ムによって利用される多くの C のランタイムライブラリなど、Debian の最も重 要なソフトウェアのいくつかは FSF によるものです。FSF は今日のフリーソフ トウェアのあり方の多くを開拓してきました。彼らは Debian のソフトウェアの 多くで用いられている「GNU 一般公有使用許諾書」を書き上げ、完全に自由な Unix システムを作り上げるために「GNU」プロジェクトを創設しました。 Debian は GNU システムの子孫と考えられるべきです。 FSF には http://www.fsf.org/ で連絡を取ることができます。 ------------------------------------------------------------------------------- 13. Debian GNU/Linux を商用製品の中で再配布する ----------------------------------------------- 13.1. Debian の CD を作って売ることができますか? ------------------------------------------------ はい、どうぞ。私達が_リリースした_ものはどれでも配布するのに許 可はいりません。ですからベータテストが済み次第 CD を作成することができま す。何も支払う必要はありません。もちろん全ての CD 製造業者は Debian に含 まれているプログラムの使用許諾を尊重しなければなりません。例えば多くのプ ログラムが GPL を使用許諾として採用しています。GPL はプログラムのソース コードも提供するように要求しています。 私達はまた Debian プロジェクトにお金やソフトウェア・時間などを寄付し た CD 製造業者の一覧を発行して、寄付を行っている製造業者から購入するよう にユーザに勧めるつもりです。ですから寄付は良い宣伝となります。 13.2. Debian をフリーではないソフトウェアと一緒にパッ ケージにできますか? ------------------------------------------------------------------------- できます。Debian の主要な構成要素はすべてフリーソフトウェアですが、自 由に再配布できないプログラムのための non-free ディレクトリを我々は提供し ています。 使用許諾条件やソフトウェアパッケージの作者との個別の調整によっては、 CD 製造業者はこのディレクトリに置いてあるプログラムを配布できる_かも しれません_。CD 製造業者はまた、同じ CD の別のソースから取得したフリー ではないソフトウェアを配布することもできます。この状況はなんら新しいもの ではありません。今ではフリーなソフトウェアと商用のソフトウェアを同じ CD に入れて配布している製造業者は数多くいます。もちろん私達は、ソフトウェ アの作者に彼らが書いたプログラムをフリーソフトウェアとしてリリースするよ うに勧めています。 13.3. 私は「バーチカル市場」向けに特殊な Linux のディス トリビューションを作成しています。Linux システムの核として Debian GNU/Linux 使っ てその上に独自のアプリケーションを加えてもいいですか? ---------------------------------------------------------------------------- 構いません。例えば、アマチュア無線向けの特殊なプログラムが付属してい る「ハム用 Linux」ディストリビューションを作っている人がいるとします。 「基本システム」としての Debian から始めて、送信機を制御するプログラムや 衛星を追尾するプログラムなどを追加していきます。付け加えられたプログラム はすべて Debian パッケージシステムでパッケージ化されているので、ユーザは 次の CD がリリースされたときに簡単にアップグレードできます。 Corel Linux (http://www.corel.com/) や Storm Linux (http://www.stormix.com/) など、Debian から派生した他のディストリビュー ションがいくつか既に市場に出回っています。これらはオリジナルの Debian GNU/Linux とはターゲットが異なりますが、製品に我々の構成部分のほとんどを 使っています。 Debian にはまた、開発者やシステム管理者が選択したファイルのローカルバー ジョンをインストールする際、他のパッケージがアップグレードされてもそれら が上書きされないような仕組みが用意されています。これは 第 10.8 節, `あるパッケージによってインストールされたファイルを上書 きして、代わりに違うバージョンのものを使うにはどうすればいいのですか?' に関する質問で詳しく述べられています。 13.4. 私が作成した商用のプログラムを Debian 「パッケー ジ」にして Debian システムへのインストールを楽にしてもいいですか? ---------------------------------------------------------------------------- すぐにでもどうぞ。パッケージツールはフリーソフトウェアです。パッケー ジはフリーソフトウェアであるかもしれませんし、そうでないかもしれませんが、 パッケージツールはパッケージをすべてインストールできます。 ------------------------------------------------------------------------------- 14. Debian GNU/Linux の次のメジャーリリースでどのような変更が行 われると予想しておくべきでしょうか? ---------------------------------------------------------------------------- 14.1. 強化されたセキュリティ ---------------------------- Debian はリリース 1.3 からシャドウパスワードをサポートしています。加 えて、アプリケーション固有の原則に基いてシステム管理者が認証モードを選べ るようにする Pluggable Authentication Modules (着脱可能認証モジュール) の Linux ライブラリ (別名 libpam (http://www.kernel.org/pub/linux/libs/pam/)) も利用可能で、シャドウ パスワードを用いて認証を行うように初期設定されます。 Kerberos や RSBAC などの進んだ認証方式のサポートは現在進行中です。 14.2. 非英語ユーザのさらなるサポート ------------------------------------ Debian はすでに非英語のユーザをいくらかサポートしています。第 4.8 節, `Debian は英語以外の言語をどのようにサポートしてい ますか?' を参照してください。 より多くの言語をサポートし翻訳してくれる人々を見つけられたらと思って います。すでに国際化をサポートしているプログラムもあるので、メッセージカ タログの翻訳者が必要です。国際化しなければならないプログラムもまだまだ多 く残っています。 GNU 翻訳プロジェクト ftp://ftp.gnu.org/pub/gnu/ABOUT-NLS では GNU プログラムの国際化の作業をしています。 14.3. より多くのアーキテクチャ ------------------------------ 現在、完全な Debian のリリースが利用できるアーキテクチャは Intel i386 (_i386_)、Motorola 680x0 (_m68k_)、Alpha (_alpha_)、 SPARC (_sparc_)、PowerPC (_powerpc_)、ARM (_arm_)です。 MIPS や SPARC64 など他のアーキテクチャ用の完全な Debian システムはも うすぐ利用できる予定です。 14.4. Linux kernel 2.4 ---------------------- 現在は _woody_ というコードネームの次期リリースには Linux kernel 2.4.x の最新版を収録することを予定しています。 もちろん Linux 2.0.x や 2.2.x のためのパッケージやそれらのサポートは 継続する予定です。 14.5. GNU C ライブラリ 2.2 -------------------------- _woody_ リリースには GNU C ライブラリのバージョン 2.2.x を収録する ことを予定しています。 ------------------------------------------------------------------------------- 15. この FAQ に関する一般的な情報 --------------------------------- 15.1. 著者 ---------- この FAQ の初版は J.H.M. Dassen (Ray) と Chuck Stickelman によって作 成保守されました。書き直された Debian GNU/Linux FAQ の著者は Susan G. Kleinmann と Sven Rudolph です。彼らの後は Santiago Vila が保守しまし た。現在の保守担当者は Josip Rodin です。 最初の日本語訳は笹井 崇司・橋本 喜代太・八田 修三・前原 恵太が 1997 年に行い、2000 年に関戸 幸一が最新の原版の内容を取り込みました。 情報の一部は以下から得ています。 * The Debian-1.1 リリースアナウンス、Bruce Perens (http://www.perens.com/)。 * The Linux FAQ、Ian Jackson (http://www.chiark.greenend.org.uk/~ijackson/)。 * Debian メーリングリストアーカイブ (http://lists.debian.org/), * dpkg プログラマーズマニュアルと Debian ポリシーマニュアル (see 第 11.1 節, `Debian システムに関するドキュメントは他にどんなも のがありますか?') * たくさんの開発者とボランティア・ベータテスター。そして * 著者たちのあてにならない記憶。:-) この文書の作成を助けてくださったすべての方に感謝します。 すべての保証責任を放棄します。すべての商標はそれぞれの商標保有者が所 持します。 15.2. フィードバック -------------------- この文書へのコメントや追加はいつでも歓迎します。 へ電子メールを送るか、 `doc-debian' パッケージに対して wishlist のバグ報告を提出してく ださい。 日本語版については Debian JP プロジェクトの debian-doc メーリングリス ト (http://www.debian.or.jp/MailingList.html 参照) へ送るか、 `doc-debian-ja' パッケージに対して wishlist のバグ報告を提出して ください。 15.3. 入手先 ------------ この文書の最新版は http://www.debian.org/doc/FAQ/ の Debian WWW ページで見ることができます。 プレーンテキストや HTML・PostScript 形式でダウンロードすることもでき ます。Debian FTP サーバ (ftp://ftp.debian.org/debian/) とその ミラー (http://www.debian.org/distrib/ftplist) の `doc/FAQ/ (ftp://ftp.debian.org/debian/doc/FAQ/)' ディレク トリを見てください。 この文書を作るのに使われたオリジナルの SGML ファイルも入手可能です。 `doc-debian' のソースパッケージか、 `:pserver:anonymous@cvs.debian.org:/cvs/debian-doc/ddp/manuals.sgml/faq' の CVS を参照してください。 15.4. 文書形式 -------------- この文書は DebianDoc SGML DTD (LinuxDoc SGML からの書き直し) を使って 書かれました。DebianDoc SGML によって一つのソースから様々な形式のファイ ルを作成できます。例えばこの文書は HTML・プレーンテキスト・TeX DVI・ PostScript・PDF・GNU info として見ることができます。 DebianDoc SGML のための変換ユーティリティは Debian パッケージ `debiandoc-sgml' として入手できます。 ------------------------------------------------------------------------------- The Debian GNU/Linux FAQ 第 15.1 節, `著者' version CVS, 2 January 2007