> Debian GNU/Linux FAQ --------------------------------------------------------------------- [FAMILY Given] Version 11.0 --------------------------------------------------------------------- 製作著作 © 1996-2021 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. January 2021 概要 この文書は Debian GNU/Linux についてよく聞かれる疑問に答えます。 --------------------------------------------------------------------- 目次 1. 定義と概要 1.1. この FAQ は何? 1.2. Debian GNU/Linux とは何? 1.3. これで Debian が何なのかはわかった。。。では Linux とは何? 1.4. Debian は GNU/Linux だけ? 1.5. Debian GNU/Linux と他の Linux ディストリビューションの違いは 何? 他のディストリビューションよりも Debian を選択すべき理由は? 1.6. Debian プロジェクトは Free Software Foundation の GNU プロ ジェクトにとってどういう存在? 1.7. Debian の発音とその意味は何? 2. Debian GNU/Linux の取得とインストール 2.1. Debian の最新のバージョンは何? 2.2. 「安定版 (stable)」にパッケージのアップグレードはありますか? 2.3. Debian のインストール用イメージはどこで/どうやって入手できま すか? 2.4. CD-ROM から Debian をどうやってインストールしますか? 2.5. 公式の安定版 (stable) リリース CD-ROM に「frozen」や 「unstable」へのシンボリックリンクがあるのは何故? この CD に入っ ているのは「安定版 (stable)」だけだと思っていたのに! 2.6. Debian をリモートのインターネットサイトから直接取得、インス トールすることはできますか? 2.7. 他の手段でシステムのインストーラをブートできますか? 3. Debian ディストリビューションの選択 3.1. 自分にはどの Debian ディストリビューション (stable/testing/ unstable) が合いますか? 3.1.1. 安定版 (stable) をインストールするように勧められたけど 安定版だとハードウェアが全然検出されない/機能しない。どうすれ ばいい? 3.1.2. 異なるディストリビューションではパッケージのバージョン も異なりますか? 3.1.3. 安定版 (stable) ディストリビューションには相当古くなっ ているパッケージが収録されています。Kde、Gnome、Xorg、さらに はカーネルも。すごく古いです。これはどうして? 3.1.4. 別のディストリビューションへの変更を決心したとして、そ れは可能ですか? 3.1.5. 安定版 (stable) やテスト版 (testing)、不安定版 (unstable) をインストールすべきですか? 3.1.6. テスト版 (testing) が壊れているということですがそれは どういう意味ですか? 3.1.7. テスト版 (testing) が何ヶ月も壊れている可能性があると いうのはどうして? 不安定版 (unstable) に取り込まれた修正はテ スト版 (testing) にそのまま流れてくるのでは? 3.1.8. 管理者として注意が必要なのはどのディストリビューション ですか? 3.1.9. 新しいリリースができたら何が起きますか? 3.1.10. Debian をインストールしたデスクトップ/クラスタが動作 しているんですがどのディストリビューションを使っているのか確 認する方法は? 3.1.11. 現在安定版 (stable) を追跡しています。これをテスト版 (testing) や不安定版 (unstable) に変更できますか? できるのな ら方法は? 3.1.12. 現在テスト版 (testing、bookworm) を追っています。リ リースされると何が起きますか? 引き続きテスト版 (testing) を追 跡するのか、それともこのマシンは新しい安定版 (stable) ディス トリビューションを使うことになるのでしょうか? 3.1.13. ややこしいですね。どれをインストールしたらいいんで しょうか? 3.2. でも Knoppix や LMDE (Linux Mint Debian Edition)、Ubuntu そ の他については? 3.2.1. Knoppix/LMDE (Linux Mint Debian Edition)/Ubuntu/... が Debian ベースだということはわかりました。ハードディスクにイン ストールした後に「apt」パッケージツールを使えますか? 3.2.2. ハードディスクに Knoppix/LMDE (Linux Mint Debian Edition)/Ubuntu/... をインストールしました。問題がありますが どうしたらいいでしょう? 3.2.3. Knoppix/LMDE (Linux Mint Debian Edition)/Ubuntu/... を 使っていますが Debian を使いたくなりました。移行する方法はあ りますか? 4. 互換性の問題 4.1. Debian GNU/Linux はどのハードウェアアーキテクチャ/システムで 動作しますか? 4.2. Debian GNU/Linux ではどのカーネルを実行しますか? 4.3. Debian は他の Linux ディストリビューションとどれくらい互換性 がありますか? 4.4. Debian と他の Unix システムではどのくらいソースコードの互換 性がありますか? 4.5. Debian パッケージ (「.deb」ファイル) を Red Hat/Slackware /... Linux システムで使うことはできますか? Red Hat パッケージ (「.rpm」ファイル) を Debian GNU/Linux システムで使うことはできま すか? 4.6. Debian ではないプログラムはどのようにインストールすべきです か? 5. Debian システムで利用可能なソフトウェア 5.1. Debian GNU/Linux ではどんな種類のアプリケーションや開発用ソ フトウェアが利用できますか? 5.2. このソフトウェア全ては誰が書いたのですか? 5.3. Debian 用にパッケージ化されているプログラムの現在の一覧を得 る方法はありますか? 5.4. パッケージをビルドするための開発環境をインストールするにはど のようにしたらいいですか? 5.5. Debian GNU/Linux に足りないものは何? 5.6. プログラムをコンパイルしたときに「ld: cannot find -lfoo」 メッセージが出るのは何故ですか? Debian ライブラリパッケージに libfoo.so ファイルが無いのは何故ですか? 5.7. Debian は Java を (どのように) サポートしていますか? 5.8. Debian システムを使っていることやそれがどのバージョンなのか 確認する方法は? 5.9. Debian は英語以外の言語をどのようにサポートしていますか? 5.10. ezmlm/djbdns/qmail はどこですか? 5.11. Flash (SWF) 用プレーヤーはどこですか? 5.12. Google Earth はどこですか? 5.13. VoIP ソフトウェアはどこですか? 5.14. Linux で機能しない無線ネットワークカードを持っています。ど うするべきですか? 6. The Debian archives 6.1. Debian ディストリビューションはいくつありますか? 6.2. etch や lenny 等という名前は一体何ですか? 6.2.1. 他にはどんなコード名が過去に使われましたか? 6.2.2. このコード名は何に由来しているのですか? 6.3. 「sid」とは何ですか? 6.4. stable ディレクトリには何がありますか? 6.5. テスト版 (testing) ディストリビューションには何が収録されて いますか? 6.5.1. 「テスト版 (testing)」はどういうものですか? どのように 「凍結 (freeze)」されますか? 6.6. 不安定版 (unstable) ディストリビューションには何が収録されて いますか? 6.7. What are all those directories at the Debian archives? 6.8. dists/stable/main 以下にあるディレクトリは一体何ですか? 6.9. ソースコードはどこにありますか? 6.10. pool ディレクトリには何がありますか? 6.11. 「incoming」とは何ですか? 6.12. apt 対応リポジトリを用意する方法は? 7. Debian パッケージ管理システムの基礎 7.1. Debian パッケージとは何ですか? 7.2. Debian のバイナリパッケージはどんな形式ですか? 7.3. Debian パッケージのファイルが長いのは何故ですか? 7.4. Debian 制御ファイルとは何ですか? 7.5. Debian conffile とは何ですか? 7.6. Debian preinst、postinst、prerm、postrm スクリプトとは何です か? 7.7. Essential、Required、Important、Standard、Optional、Extra パッケージとは何ですか? 7.8. 仮想パッケージとは何ですか? 7.9. あるパッケージが他のパッケージに Depends、Recommends、 Suggests、Conflicts、Replaces、Breaks、Provides しているというの はどういう意味ですか? 7.10. Pre-Depends とは何ですか? 7.11. パッケージ状態の unknown、install、remove、purge、hold とい うのは何ですか? 7.12. パッケージを保留 (hold) しておく方法は? 7.13. ソースパッケージをインストールする方法は? 7.14. ソースパッケージからバイナリパッケージをビルドする方法は? 7.15. Debian パッケージを自分で作成する方法は? 8. Debian パッケージ管理ツール 8.1. Debian はパッケージ管理にどんなプログラムを提供していますか? 8.1.1. dpkg 8.1.2. APT 8.1.3. aptitude 8.1.4. synaptic 8.1.5. tasksel 8.1.6. 他のパッケージ管理ツール 8.2. Debian は実行中のプログラムを更新できると主張しています。こ れはどうやっているのでしょう? 8.3. Debian システムにどのパッケージが既にインストールされている のか調べる方法は? 8.4. インストールされている、あるパッケージのファイルを表示する方 法は? 8.5. 特定のファイルをどのパッケージが提供しているのか調べる方法は ありますか? 8.6. 「foo」をアンインストールしたときに「foo-data」が削除されな いのは何故ですか? 古く利用されていないライブラリパッケージが完全 削除されているか確認する方法はありますか? 9. Debian システムを最新に保つ 9.1. Debian システムを現行版に維持する方法は? 9.1.1. aptitude 9.1.2. apt-get、apt-cdrom 9.2. パッケージをアップグレードするためにシングルユーザモードに入 る必要はありますか? 9.3. こういった .deb アーカイブファイルを全てディスク上に残してお く必要はありますか? 9.4. システムに追加したパッケージの記録を残す方法は? いつ、どの パッケージにアップグレードや削除があったのか知りたいのですが! 9.5. システムを自動的に更新することはできますか? 9.6. 複数のマシンがありますが、更新のダウンロードを一度だけにする 方法はありますか? 10. Debian とカーネル 10.1. Debian 特有の調整を行わずにカーネルをインストール、コンパイ ルすることはできますか? 10.2. 独自カーネルをビルドためにどんなツールを Debian は提供して いますか? 10.3. モジュールを扱うために Debian が特別に用意しているものはあ りますか? 10.4. 古いカーネルパッケージを安全に削除できますか? できるのなら その方法は? 10.5. Debian 用の Linux パッケージについてのさらなる情報はどこで 得られますか? 11. Debian GNU/Linux システムの調整 11.1. プログラムが全て確実に同一の用紙サイズを使うようにする方法 は? 11.2. セキュリティ問題を発生させることなくハードウェア周辺機器へ のアクセスを提供する方法は? 11.3. Debian のやり方で起動時にコンソール用フォントを読み込む方法 は? 11.4. X11 プログラムのアプリケーションデフォルトを設定する方法は? 11.5. How does a Debian system boot? 11.6. And how about Debian and traditional System V init? 11.7. And are there yet other ways of booting a Debian system? 11.8. パッケージ管理システムは他のパッケージの設定ファイルを収録 するパッケージをどのように扱いますか? 11.9. パッケージによりインストールされたファイルを上書きして、異 なるバージョンを代わりに使う方法は? 11.10. ローカルでビルドしたパッケージをパッケージ管理システムが認 識する利用可能パッケージ一覧で見られるようにする方法は? 11.11. あるユーザは mawk、別のユーザは gawk、あるユーザは vim、別 のユーザは elvis、あるユーザは trn、別のユーザは tin を好みます。 Debian は多様性をどのようにサポートしますか? 12. Debian GNU/Linux のサポートを得る 12.1. Debian システム上の、あるいは Debian システム用の文書は他に どんなものがありますか? 12.2. Debian について議論できるオンラインリソースはありますか? 12.2.1. メーリングリスト 12.2.2. Web forum 12.2.3. Wiki 12.2.4. メンテナ 12.2.5. Usenet ニュースグループ 12.3. Debian GNU/Linux の情報を手っ取り早く検索する方法はあります か? 12.4. 既知のバグのログはありますか? 12.5. Debian のバグを報告する方法は? 13. Debian プロジェクトへの寄付 13.1. Debian メンバー/Debian 開発者になる方法は? 13.2. Debian プロジェクトにリソースを提供する方法は? 13.3. Debian プロジェクトに資金提供する方法は? 13.3.1. Software in the Public Interest (SPI) 13.3.2. 他の組織 14. 商用製品での Debian GNU/Linux の再配布 14.1. Debian CD を作成、販売することはできますか? 14.2. Debian はフリーではないソフトウェアを収録してパッケージ化す ることはできますか? 14.3. 「特定用途」向けの特別な Linux ディストリビューションを作成 しています。この Linux システムの中核に Debian GNU/Linux を使って その上に自分のアプリケーションを追加することはできますか? 14.4. 自分の商用プログラムを Debian「パッケージ」にして任意の Debian システムに手間無くインストールするようにできますか? 15. Debian の次期主要リリースに予定している変更 15.1. システムの堅牢化 15.2. 非英語ユーザのサポート拡大 15.3. Debian インストーラの改善 15.4. もっと多くのアーキテクチャ 15.5. もっと多くのカーネル 16. この FAQ についての一般情報 16.1. 著者 16.2. 意見 16.3. 入手先 16.4. 文書形式 第1章定義と概要 1.1. この FAQ は何? この文書は Debian ディストリビューション (Debian GNU/Linux その 他) や Debian プロジェクトについてよく聞かれる疑問 (その回答も!) を集めています。他の文書へのポインタで済ませることができるものに     ついてはそのようにしています: この文書に外部文書から大々的に引用 することはしません。Unix 類似オペレーティングシステムについてのい くらかの知識を前提としている回答があることがわかるでしょう。前提 とする予備知識はできるだけ少なく済むように努めます: 初心者一般の 疑問に対する回答は簡単なものにしています。 探しているものがこの FAQ から見つけられない場合は「Debian システ     ム上の、あるいは Debian システム用の文書は他にどんなものがありま すか?」を確認してください。それでもわからないときは「意見」を参照 してください。 1.2. Debian GNU/Linux とは何? Debian GNU/Linux は独特の Linux オペレーティングシステムディスト     リビューションですが、その上で動作する多数のパッケージを指すこと もあります。     Debian GNU/Linux は: * 機能満載: Debian には現在 59100 超のソフトウェアパッケージが 収録されています。どのパッケージをインストールかはユーザが選 択できます。この目的のためのツールを Debian は提供していま す。現在 Debian で利用可能なパッケージの一覧や説明は任意の Debian ミラーサイト (https://www.debian.org/distrib/ftplist) で探せます。 * 利用や再配布を自由にできます: ディストリビューションに首を 突っ込んだり開発するために協会の会員資格や支払いを要求するこ とはありません。正式に Debian GNU/Linux の一部であるパッケー     ジは全て、通常は GPL (GNU General Public License) により指定 される条件の下で自由に再配布できます。 The Debian archives also carry approximately 1000 software packages (in the non-free and contrib sections), which are distributable under specific terms included with each package. * dynamic: With about 1012 volunteers constantly contributing new and improved code, Debian is evolving rapidly. The archives are updated twice every day. ほとんどの Linux ユーザは例えば Debian GNU/Linux のような Linux の特定のディストリビューションを使っています。建前としては、ユー ザはインターネットや他のどこかから Linux カーネルを取得して自分で コンパイルすることができます。それから同じ方法で多数のアプリケー ションのソースコードを取得してプログラムをコンパイルし、システム にインストールします。複雑なプログラムではこのプロセスは時間がか     かるだけでなくエラーを起こしやすいことがあります。それを避けるた め、オペレーティングシステムやアプリケーションパッケージを Linux 配布者から取得することを選択するユーザが多くいます。様々な Linux 配布者を特徴づけるものはパッケージ化やインストール、ユーザのシス テム上のアプリケーションパッケージ追跡に使うソフトウェアや手順、 方法と、インストールや保守のために利用するツールや文書その他の サービスの調和です。 Debian GNU/Linux はフリーで高品質な Unix 互換オペレーティングシス テムを作る有志による取り組みの成果で、アプリケーション一式を備え     ています。フリーの Unix 類似システムという構想は GNU プロジェクト が起源で、Debian GNU/Linux をとても有用なものにする多数のアプリ ケーションは GNU プロジェクトにより開発されました。 Debian ではフリーには GNU での意味があります (Debian フリーソフト ウェアガイドライン (DFSG) (https://www.debian.org/social_contract #guidelines) 参照)。私達がフリーソフトウェアについて話すときに     は、自由のことを指し、価格のことではありません。フリーソフトウェ アとは、フリーソフトウェアの複製を配布する自由があること、ソース コードを受け取っているか望めば取得できること、ソフトウェアを変更 できること、新しいフリーのプログラムで利用できること、そしてこう いったことができるということをわかっていることを意味します。 Debian プロジェクトは Ian Murdock さんによって 1993 年に創設さ     れ、初期は FSF の GNU プロジェクトによる支援を受けました。現在で は、GNU プロジェクトの直系の子孫プロジェクトだと Debian の開発者 は考えています。 Debian GNU/Linux 自体はフリーソフトウェアですが、付加価値のある Linux ディストリビューションを作るための土台にもなります。信頼性 の高い機能満載の基礎システムを提供することで Debian は Linux ユー ザに更なる互換性を提供し、Linux ディストリビューションの作成者は     手間の繰り返しを廃してディストリビューションを特別なものにするこ とに注力できます。さらなる情報については、「「特定用途」向けの特 別な Linux ディストリビューションを作成しています。この Linux シ ステムの中核に Debian GNU/Linux を使ってその上に自分のアプリケー ションを追加することはできますか?」を見てください。 1.3. これで Debian が何なのかはわかった。。。では Linux とは何? 一言で言えば Linux は Unix 類似オペレーティングシステムのカーネル     です。元々は 386 (以上) の PC 向けに設計されました。現在では Linux は他の多くのシステムでも動作します。Linux は Linus Torvalds および世界中の多数のコンピュータ科学者により書かれました。     カーネル以外に、「Linux」システムには通常、 * Linux Filesystem Hierarchy Standard https://www.pathname.com/ fhs (https://www.pathname.com/fhs) 準拠のファイルシステム。     * その多くが GNU プロジェクトや Free Software Foundation により 開発されている広範な Unix ユーティリティ。 があります。Linux カーネルやこのファイルシステム、GNU や FSF によ るユーティリティ、それ以外のユーティリティを組み合わせることで     POSIX (IEEE 1003.1) 標準への準拠を実現しています。「Debian と他の Unix システムではどのくらいソースコードの互換性がありますか?」を 見てください。 Linux のさらなる情報については、Linux Online (https://     www.linux.org/) による What is Linux (https://www.linux.org/info /) を見てください。 1.4. Debian は GNU/Linux だけ? 現在 Debian は Linux のみが利用可能ですが、Debian GNU/Hurd 及び     BSD カーネル上の Debian から、開発、サーバ、デスクトップ基盤用に Linux ベースではない OS の提供も開始しました。     最初に移植に取りかかったのは Debian GNU/Hurd でした。     Hurd は GNU Mach マイクロカーネル上で動作するサーバ群です。GNU オ ペレーティングシステムの基礎を構成します。 GNU/Hurd 全般のさらなる情報については https://www.gnu.org/     software/hurd (https://www.gnu.org/software/hurd) 、Debian GNU/ Hurd のさらなる情報については https://www.debian.org/ports/hurd/ (https://www.debian.org/ports/hurd/) を見てください。     次に取りかかったのは BSD カーネルへの移植でした。FreeBSD のカーネ ルについて作業しています。 こういった linux 以外への移植版のさらなる情報については https://     www.debian.org/ports/#nonlinux (https://www.debian.org/ports/# nonlinux) を見てください。 1.5. Debian GNU/Linux と他の Linux ディストリビューションの違いは何? 他のディストリビューションよりも Debian を選択すべき理由は?     他の Linux ディストリビューションと Debian の違いを特徴づける重要 な特色は: 自由: Debian 社会契約 (https://www.debian.org/social_contract) で述 べられているように、Debian は 100% フリーを維持します。Debian は真にフリーであるソフトウェアを提供するということについて非 常に厳格です。作業が「フリー」なのか判断するためのガイドラ インは Debian フリーソフトウェアガイドライン (DFSG) (https:// www.debian.org/social_contract#guidelines) で提供されていま す。 Debian パッケージ保守システム: システム全体やその中の個々の構成要素は再構成の必要なく適切に アップグレード可能で、独自の設定ファイルを失うことや (ほとん どの場合) システムを再起動する必要はありません。現在の Linux ディストリビューションはほとんどがある種のパッケージ保守シス テムを利用可能です。Debian のパッケージ保守システムはその堅牢 性に特化し、また差別化を図っています (7章Debian パッケージ管 理システムの基礎参照)。 開かれた開発: 他の多くの Linux ディストリビューションが個人や小規模な内輪の 集団、あるいは商用ベンダーにより開発されているのに対し、 Debian はフリーのオペレーティングシステムを作成するという共通 の利害を持つ多くの個人の集まりにより開発されている主要 Linux ディストリビューションの一つです。これは Linux その他のフリー ソフトウェアと同一の精神によるものです。 1012 人以上の有志であるパッケージメンテナが 59100 以上のパッ ケージについて作業し、Debian GNU/Linux を改善しています。     Debian の開発者のプロジェクトへの貢献は (ほとんどの場合) 新し いアプリケーションを作成することだけではなく、既存のソフト ウェアをパッケージにしたり、プロジェクトの標準に従って上流の 開発者とやりとりしてバグを報告したり、ユーザへのサポートを提 供することによっても行われます。貢献者になる方法に関する追加 情報は 13章Debian プロジェクトへの寄付を見てください。 ユニバーサルオペレーティングシステム: Debian には 59100 以上のパッケージ (https:// packages.debian.org/stable/) が付属し、9 のアーキテクチャ (https://www.debian.org/ports/) で動作します。これは他のどの GNU/Linux ディストリビューションで利用可能なものをもはるかに しのぐものとなっています。提供されているソフトウェアの概要に ついては「Debian GNU/Linux ではどんな種類のアプリケーションや 開発用ソフトウェアが利用できますか?」、サポートしているハード ウェア基盤の説明については「Debian GNU/Linux はどのハードウェ アアーキテクチャ/システムで動作しますか?」を見てください。 バグ追跡システム Debian 開発者が地理的に分散していることで、バグについて迅速に やりとりし、バグを修正してシステムの開発を加速するためには、 洗練されたツールが必要となります。ユーザはバグを決まった形式 で送ることを奨励され、その結果 WWW アーカイブやメール経由で迅 速にアクセスできるようになります。この FAQ のバグ記録の管理「 既知のバグのログはありますか?」にある追加情報を見てください。 Debian ポリシー: Debian には品質標準を広範囲にわたり説明している Debian ポリ シーがあります。この文書では私達が保持する Debian パッケージ の品質と標準を定めています。 これについての追加情報は Debian を選ぶ理由 (https://     www.debian.org/intro/why_debian) にある私達のウェブページを見てく ださい。 1.6. Debian プロジェクトは Free Software Foundation の GNU プロジェク トにとってどういう存在? Debian システムは Free Software Foundation (https://www.gnu.org/) と特に Richard Stallman (https://www.stallman.org/) により初めて     推進されたフリーソフトウェアの理想を土台に作られています。FSF の 強力なシステム開発ツールやユーティリティ、アプリケーションもすべ て Debian システムの要です。 Debian プロジェクトは FSF とは別個の団体ですが、様々なプロジェク     トで定期的に協力しています。FSF は私達のシステムを「Debian GNU/ Linux」と呼ぶようにはっきりと要求し、私達はその要求に喜んで従って います。 FSF の長期目標は Hurd (https://www.gnu.org/software/hurd) をベー     スにした GNU と呼ばれる、新しいオペレーティングシステムを開発する ことです。Debian は Debian GNU/Hurd (https://www.debian.org/ports /hurd/) というこのシステムについて FSF とともに作業しています。 1.7. Debian の発音とその意味は何? プロジェクト名は Deb'-ee-en と発音し、Deb に短い e、最初の音節に 強勢があります。この語はプロジェクトを創設した Debra と Ian     Murdock という名を短縮したものです。 (辞書では Ian の発音にいくら かあいまいな表現が示されているようですが (!)、Ian は ee'-en を 好んでいます) 第2章 Debian GNU/Linux の取得とインストール インストール手順を示した公式の文書が Debian GNU/Linux インストー     ルガイド (https://www.debian.org/releases/stable/installmanual) です。ここでは Debian GNU/Linux の取得とインストールについて追加 の注意をいくらか示します。 2.1. Debian の最新のバージョンは何?     現在 Debian GNU/Linux のバージョンは 3 種あります: リリース 11 別名「安定版 (stable)」ディストリビューション、 bullseye とも呼ばれます これは安定した、十分にテストされたソフトウェアで、主なセキュ リティや使い勝手について修正が取り入れられると変更されます。 「テスト版 (testing)」ディストリビューション、現在は bookworm と も呼ばれます これは次の「安定版 (stable)」としてリリースされるパッケージが 置かれる場所です。「不安定版 (unstable)」でいくらかテストされ     ていますがまだ完全にリリース向きとはなっていないかもしれま せん。このディストリビューションは「安定版 (stable)」よりは頻 繁に更新されますが、「不安定版 (unstable)」ほどではありま せん。 「不安定版 (unstable)」ディストリビューション This is the version currently under development; it is updated continuously. You can retrieve packages from the `unstable' archive on any Debian mirror site and use them to upgrade your system at any time, but you may not expect the system to be as usable or as stable as before - that's why it's called `unstable'!     さらなる情報については「Debian ディストリビューションはいくつあり ますか?」を見てください。 2.2. 「安定版 (stable)」にパッケージのアップグレードはありますか? No new functionality is added to the stable release. Once a Debian version is released and tagged `stable' it will only get     security updates. That is, only packages for which a security vulnerability has been found after the release will be upgraded. All the security updates are served through security.debian.org (https://security.debian.org) . セキュリティ更新の提供の目的は一つ: セキュリティ脆弱性の修正を提 供することです。通常のポイントリリースの手順を経ずに安定版 (stable) リリースに予告無く変更を追加する手段ではありません。その     ため、セキュリティ問題のあるパッケージの修正でソフトウェアをアッ プグレードすることはありません。Debian セキュリティチームは代わり に「安定版 (stable)」で配布されたバージョンのソフトウェアに対する 修正を必要に応じてバックボートします。 セキュリティサポートに関するさらなる情報については、セキュリティ     FAQ (https://www.debian.org/security/faq) や Debian Security Manual (https://www.debian.org/doc/manuals/securing-debian-howto /) を読んでください。 2.3. Debian のインストール用イメージはどこで/どうやって入手できます か? インストール用イメージは Debian ウェブサイト (https://     www.debian.org/distrib/) から適切なファイルをダウンロードすること で入手できます。     CD (や DVD) イメージに関するさらなる情報については、Debian GNU/ Linux の CD (https://www.debian.org/CD) を参照してください。 2.4. CD-ROM から Debian をどうやってインストールしますか? CD からの Debian インストールは簡単です: システムを CD から起動す るように設定し、CD を入れて再起動します。それで Debian インストー     ラがそのシステムで動作しているでしょう。さらなる情報については Debian GNU/Linux インストールガイド (https://www.debian.org/ releases/stable/installmanual) を見てください。 2.5. 公式の安定版 (stable) リリース CD-ROM に「frozen」や「unstable」 へのシンボリックリンクがあるのは何故? この CD に入っているのは「安定 版 (stable)」だけだと思っていたのに!     公式の Debian CD イメージにはその通り、シンボリックリンクが /dists/frozen -> bullseye/     /dists/stable -> bullseye/ /dists/testing -> bullseye/ /dists/unstable -> bullseye/     となっていて、sources.list に     deb cdrom:[]/ unstable main [...]     のようなエントリがある場合に機能するようになっています。 こういったシンボリックリンクが存在することはそのイメージが     「unstable」や「testing」その他だという意味ではありません。収録さ れている Debian のバージョンを調べるには /.disk/info にある CD ラ ベルを見てください。この情報は CD 上の /README.txt にもあります。 現在の「安定版 (stable)」や「テスト版 (testing)」リリースが何なの     か調べるには https://www.debian.org/releases (https:// www.debian.org/releases) を読んでください。 2.6. Debian をリモートのインターネットサイトから直接取得、インストー ルすることはできますか?     Yes. You can boot the Debian installation system from a set of files you can download from our archive site and its mirrors. 小さな CD イメージファイルをダウンロードしてブート可能な CD を作 成して基本システムをインストールし、残りはネットワーク越しでイン     ストールすることができます。さらなる情報については https:// www.debian.org/CD/netinst/ (https://www.debian.org/CD/netinst/) を見てください。 2.7. 他の手段でシステムのインストーラをブートできますか? Yes. Apart from CD or DVD, you can install Debian GNU/Linux by booting from USB memory stick, directly from hard disk, or using TFTP net booting. For installing on multiple computers it's possible to do fully automatic installations. NB: not all methods     are supported by all computer architectures. Once the installer has booted, the rest of the system can be downloaded over the network, or installed from local media. See the Debian GNU/Linux Installation Guide (https://www.debian.org/releases/stable/ installmanual) for more information. 第3章 Debian ディストリビューションの選択 Debian ディストリビューションには多くの様々なものがあります。適切 な Debian ディストリビューションを選択することは重要な判断です。     ここでは自分のシステムに最適なものを選択しようとするユーザにとっ て有用な情報をいくらか示し、その過程で出てくるであろう疑問に回答 します。「Debian を選択すべき理由」ではなく「どの Debian ディスト リビューションか」を扱います。 利用可能なディストリビューションのさらなる情報については、「     Debian ディストリビューションはいくつありますか?」を見てくださ い。 3.1. 自分にはどの Debian ディストリビューション (stable/testing/ unstable) が合いますか? この回答は少々難解です。使用目的にかなり依存するためです。Debian     を使っている友人に聞いてみるのも良いでしょう。ただ、それは自分で 決断することができないと言っているわけではありません。実際には、 この章を読み終えれば判断できるようになっているはずです。 * セキュリティや安定性がとにかく重要なら: 安定版 (stable) を インストールしてください。それで終わりです。これが最も好まし い方法です。 * デスクトップマシンにインストールする新規ユーザなら、安定版 (stable) から始めてください。かなり古いソフトウェアもあります がバグの少ない環境です。少し自信がついたらもっと新しい不安定 版 (unstable) またはテスト版 (testing) に切り替えるのは簡単で す。     * 多くのオペレーティングシステム経験のあるデスクトップユーザで 奇妙なバグに遭遇する、あるいはシステム全体が壊れるようなこと を今もこの先も気にしないのであれば不安定版 (unstable) を使っ てください。不安定版 (unstable) はすべて最新、最高のソフト ウェアで、バグは通常迅速に修正されます。 * サーバ運用、特に強力な安定性が要求される、あるいはインター ネットに公開される場合は安定版 (stable) をインストールしてく ださい。これは圧倒的に強力、安全な選択です。 以下の質問でここでの選択についての更なる詳細を (願わくば) 提供し     ます。この FAQ 全体を読み終わってもなお決断できない場合は安定版 (stable) ディストリビューションを選択してください。 3.1.1. 安定版 (stable) をインストールするように勧められたけど安定版だ とハードウェアが全然検出されない/機能しない。どうすればいい? 検索エンジンを使ってウェブを検索して安定版 (stable) で使えた人が いないか調べてみてください。ほとんどのハードウェアが安定版     (stable) で問題なく動作するはずです。ですが、あまりに新しすぎる ハードウェアだと安定版 (stable) では動作しないかもしれません。そ の場合は不安定版 (unstable) をインストールまたはアップグレードし てみるのも良いでしょう。 ノート PC の場合、他に Linux で動作させることのできた誰かがいない か調べるのに最適なウェブサイト https://www.linux-on-laptops.com/     (https://www.linux-on-laptops.com/) があります。このウェブサイト は Debian 専門ではありませんが、それでもなお強大なリソースとなり ます。デスクトップ向けのこういったウェブサイトは知りません。 他に、debian-user@lists.debian.org にメールを送って debian-user メーリングリストで質問する選択肢があります。メッセージの投稿は購 読しなくてもできます。アーカイブは https://lists.debian.org/ debian-user/ (https://lists.debian.org/debian-user/) 経由で読むこ     とができます。メーリングリストの購読に関する情報はアーカイブと同 じ所にあります。質問には irc (https://www.debian.org/support) よ りもメーリングリストを強く奨励します。メーリングリストのメッセー ジはアーカイブとして公開されるため、メーリングリストで問題を解決 した場合は同じ問題を抱える人の助けとなる可能性があります。 3.1.2. 異なるディストリビューションではパッケージのバージョンも異なり ますか? はい。不安定版 (unstable) には最新のバージョンがあります。しかし     不安定版 (unstable) にあるパッケージはテストが十分に行われておら ずバグがあるかもしれません。 別の言い方をすると安定版 (stable) には古いバージョンのパッケージ     が収録されています。しかしこのパッケージは十分にテストされており バグがある可能性は低くなります。     テスト版 (testing) のパッケージはこの二極の中間になります。 3.1.3. 安定版 (stable) ディストリビューションには相当古くなっている パッケージが収録されています。Kde、Gnome、Xorg、さらにはカーネルも。 すごく古いです。これはどうして? はい、あなたは正しいです。安定版 (stable) のパッケージの古さはリ リースされた時期に依ります。リリース間隔は通常一年を超えるため古 いバージョンのパッケージが安定版 (stable) に含まれていることはあ るでしょう。しかし、これはテストを受けた上で公開されています。そ     のパッケージに既知の深刻なバグやセキュリティホールがないというこ とは確信を持って言えます。安定版 (stable) のパッケージは他の安定 版 (stable) パッケージと途切れなく一体となっています。この特徴は 一日24時間、週7日機能していなければならないサーバ環境ではとても重 要です。 別の言い方をするとテスト版 (testing) や不安定版 (unstable) のパッ ケージには潜在的にバグやセキュリティホール等がある可能性がありま     す。さらに、テスト版 (testing) や不安定版 (unstable) のパッケージ の一部意図したとおりに機能しないかもしれません。通常単一のデスク トップで作業する人は最新の流行っているパッケージ群を好みます。不 安定版 (unstable) はこのグループの人たちへの回答となります。 お分かりのように安定性と新しさは両極にあります。安定性が必要なら     安定版 (stable) ディストリビューションをインストールしてくださ い。最新のパッケージで作業したいのであれば不安定版 (unstable) を インストールしてください。 3.1.4. 別のディストリビューションへの変更を決心したとして、それは可能 ですか? はい、できますがそれは一方向だけです。安定版 (stable) --> テスト 版 (testing) --> 不安定版 (unstable) と移行させることはできます。     しかし逆方向は「できません」。なので、不安定版 (unstable) のイン ストール、不安定版 (unstable) へのアップグレードを考えている場合 は気を付けてください。 実際には、経験者で、時間をいくらか費やす覚悟があり、本当に注意深 い人で、それが何をしているのか理解していれば、不安定版 (unstable)     からテスト版 (testing)、それから安定版 (stable) へと移行させるこ とはできるかもしれません。インストーラのスクリプトはそのように設 計されてはいません。そのため、その過程で設定ファイルが失われる等 の可能性があります。 3.1.5. 安定版 (stable) やテスト版 (testing)、不安定版 (unstable) を インストールすべきですか? これはどちらかというと主観的な問題です。必要なソフトウェアや、不     具合発生時に対処する意志、システム管理の経験に依るため万能の回答 はありません。判断材料として: * 安定版 (stable) は岩のように安定しています。壊れることはなく セキュリティサポートも万全です。ただし最新のハードウェアに対 するサポートはないかもしれません。 * テスト版 (testing) には安定版 (stable) よりも最新のソフトウェ アがあり、不安定版 (unstable) ほど頻繁には壊れません。しかし     壊れている時には修正されるまで時間がかかることもあります。そ れには数日、時には何か月もかかることもあります。また、永続的 なセキュリティサポートもありません。 * 不安定版 (unstable) には最新のソフトウェアがあってよく変更さ れるため、その結果ある時点では壊れている可能性があります。し かし、修正は多くの場合数日で取り込まれ、それは常に Debian 用 にパッケージされたソフトウェアの最新のリリースです。 テスト版 (testing) か不安定版 (unstable) かを判断する際、テスト版 (testing) を追いかけた方が不安定版 (unstable) よりもいいときもあ るということに留意してください。この文書の作者の一人が、gcc が gcc3 から gcc4 に移行中のために経験した事例です。不安定版 (unstable) を追いかけているマシンで labplot パッケージをインス     トールしようとした場合に、不安定版 (unstable) ではそれが依存する パッケージの一部が gcc4 に移行していて、まだ移行できていないもの もあるためにインストールすることは不可能となります。一方テスト版 (testing) では gcc4 に移行済みのパッケージはテスト版 (testing) に 「流れて」こないためそのパッケージはテスト版 (testing) マシンに インストール可能です。 3.1.6. テスト版 (testing) が壊れているということですがそれはどういう 意味ですか? パッケージ管理ツール経由でパッケージがインストールできないことが     あります。おそらくバグや未解決の依存関係のために (一時的に) 削除 されたことでパッケージが全く利用不可能なこともあります。パッケー ジがインストールできたとしても適切に機能しないこともあります。     こういったことが起きたときに、そのディストリビューション (少なく ともこのパッケージ) は壊れていると呼ばれます。 3.1.7. テスト版 (testing) が何ヶ月も壊れている可能性があるというのは どうして? 不安定版 (unstable) に取り込まれた修正はテスト版 (testing) にそのまま流れてくるのでは? 不安定版 (unstable) ディストリビューションに取り込まれたバグ修正 や改善は特定の日数を経た後にテスト版 (testing) に流れてきます。そ のしきい値は 5 日間としましょう。不安定版 (unstable) のパッケージ     はそれに対する RC バグが報告されていないときにのみテスト版 (testing) に移行されます。不安定版 (unstable) のパッケージに対し て RC バグが報告されていれば 5 日を経過してもテスト版 (testing) に移行されません。 これはパッケージに何か問題があれば不安定版 (unstable) を使ってい る人により発見され、テスト版 (testing) に入る前に修正されるだろう     という考え方です。そうしてテスト版 (testing) はほぼ常に使える状態 を維持します。全体としては質問の条件においては優れた概念です。し かし物事はいつもそう単純ではありません。以下の状況を考えてみま しょう: * パッケージ XYZ に関心があるものとしてください。 * 6 月 10 日にテスト版 (testing) のバージョンが XYZ-3.6 で不安 定版 (unstable) では XYZ-3.7 だと仮定しましょう。 * 5 日後に XYZ-3.7 は不安定版 (unstable) からテスト版 (testing) に移行します。 * なので 6 月 15 日にはテスト版 (testing) と不安定版 (unstable) の両方に XYZ-3.7 が置かれることになります。 * Let's say, the user of testing distribution sees that a new XYZ package is available and updates the XYZ-3.6 to XYZ-3.7. * そして 6 月 25 日、テスト版 (testing) か不安定版 (unstable) を使っている誰かが XYZ-3.7 に RC バグを発見して BTS に報告し ます。 * XYZ のメンテナがこのバグを修正して不安定版 (unstable) に 6 月 30 日にアップロードしたとします。ここではメンテナがバグを修正     して新しいバージョンをアップロードするのに 5 日かかると仮定し ています。この 5 は文字通りに捉えないでください。これは目前に ある RC バグの重要度によって変わってきます。 * 不安定版 (unstable) のこの新しいバージョン XYZ-3.8 は 7 月 5 日にテスト版 (testing) に入る予定です。 * ところが 7 月 3 日、また別の誰かが別の RC バグを XYZ-3.8 に発 見します。 * XYZ のメンテナがこの新しい RC バグを修正して XYZ の新しいバー ジョンを 5 日後にアップロードしたとしましょう。 * そうすると 7 月 8 日の時点でテスト版 (testing) には XYZ-3.7、 不安定版 (unstable) には XYZ-3.9 があります。 * この新しいバージョン XYZ-3.9 は 7 月 13 日にテスト版 (testing) に入る予定になりました。 * 現在テスト版 (testing) を使っていて XYZ-3.7 にはバグがあるた め XYZ を使えるのは恐らく 7 月 13 日以降となります。これは結 局 XYZ が約一か月間壊れて使えないということになります。 状況ははるかに複雑になりえます。もし XYZ が他の 4 つのパッケージ に依存していたら。ところてん式にテスト版 (testing) ディストリ     ビューションが何か月も使えない状態になる可能性があります。前述の 筋書きは空想上のものですが同様のことが実際に起きる可能性はありま す。とはいっても発生はまれです。 3.1.8. 管理者として注意が必要なのはどのディストリビューションですか? 多くの人が他の Linux ディストリビューションよりも Debian を選択す る大きな理由の一つが必要となる管理作業がとても少ないという点で す。望まれているのはただ動作するシステムです。一般論としてテスト 版 (testing) や不安定版 (unstable) が管理者による絶え間ない保守を     必要とするのに対し、安定版 (stable) が必要とする保守作業は非常に 少ないということが言えます。安定版 (stable) を使っている場合に必 要なのはセキュリティ更新を追い続けることだけです。テスト版 (testing) や不安定版 (unstable) を使っている場合はインストールし たパッケージで発見された新しいバグや取り入れられた新しいバグ修正 や新機能について留意するのが良いでしょう。 3.1.9. 新しいリリースができたら何が起きますか?     この疑問は Debian ディストリビューションを選択する材料にはなりま せん。しかし遅かれ早かれこの疑問が出てくるでしょう。 安定版 (stable) ディストリビューションは現在 bullseye です。次期     安定版 (stable) ディストリビューションは bookworm と呼ばれます。 新しい安定版として bookworm がリリースされたら何が起きるのか考え てみましょう。 * 旧安定版 (oldstable) = buster、安定版 (stable) = bullseye、テ スト版 (testing) = bookworm、不安定版 (unstable) = sid * 不安定版 (unstable) はリリースの有無に関係なく常に sid と呼ば れます。 * パッケージは絶えず sid (不安定版、unstable) からテスト版 (testing) (つまり bookworm) に移行しています。しかし安定版 (stable) (つまり bullseye) のパッケージはセキュリティ更新を除 いて同じものが残ります。 * いくらか時間が過ぎてテスト版 (testing) が凍結 (フリーズ) され ます。この時点ではまだテスト版 (testing) と呼ばれます。この時 点で不安定版 (unstable) からテスト版 (testing) に新しいパッ ケージを移行させることはリリースクリティカル (RC) バグの修正 を取り込む以外ではできなくなります。 * テスト版 (testing) が凍結 (フリーズ) されているときは、導入さ れる新しいバグ修正はすべてリリースチームのメンバーにより手作 業での確認が行われることになります。この作業を行うことによっ     て凍結 (フリーズ) されているテスト版 (testing) に未知の深刻な 問題が生まれないようにします。 * 「凍結 (フリーズ) されているテスト版 (testing)」の RC バグが なくなるか、まだ残っていればそのリリースでは無視、または以後 のポイントリリースへの延期を決定します。 * 「凍結 (フリーズ) されているテスト版 (testing)」の RC バグが なくなると新しい安定版 (stable) バージョンとしてリリースされ ます。この例では新しい安定版 (stable) リリースは bookworm と 呼ばれます。 * この段階で旧安定版 (oldstable) = bullseye、安定版 (stable) = bookworm となります。この時点では安定版 (stable) と「凍結 (フ リーズ) されているテスト版 (testing)」の内容は同一です。 * 新しいテスト版 (testing) は旧テスト版 (testing) が基となりま す。 * パッケージが sid (不安定版、unstable) からテスト版 (testing) に来るようになり、Debian コミュニティは次期安定版 (stable) リ リースに向けた作業を開始します。 3.1.10. Debian をインストールしたデスクトップ/クラスタが動作してい るんですがどのディストリビューションを使っているのか確認する方法は? ほとんどの状況でこれはとても簡単に確認できます。/etc/apt/     sources.list ファイルを見てみてください。これに似たようなエントリ があるでしょう:     deb http://ftp.jp.debian.org/debian/ unstable main contrib     システムが現在追跡している Debian ディストリビューションを 3 つ目 のフィールド (上記の例では「unstable」) が示しています。     lsb_release を使うこともできます (lsb-release パッケージで利用可 能)。このプログラムを不安定版 (unstable) システムで実行すると: $ lsb_release -a LSB Version: core-2.0-noarch:core-3.0-noarch:core-3.1-noarch:core-2.0-ia32:core-3.0-ia32:core-3.1-ia32     Distributor ID: Debian Description: Debian GNU/Linux unstable (sid) Release: unstable Codename: sid のような出力が得られますが、常にそう単純とは限りません。システム によっては異なるディストリビューションを指す複数のエントリを sources.list ファイルで指定しているかもしれません。管理者がパッ     ケージによって異なる Debian ディストリビューションを追っている場 合にこういうことが起きます。apt-pinning とも呼ばれる機能です。こ ういったシステムでは混成したディストリビューションを使っているこ とになります。 3.1.11. 現在安定版 (stable) を追跡しています。これをテスト版 (testing) や不安定版 (unstable) に変更できますか? できるのなら方法は? 現在安定版 (stable) を使っているなら /etc/apt/sources.list ファイ ルで 3 つ目のフィールドに「bullseye」か「stable」があるでしょう。 これを希望のディストリビューションに変更する必要があります。テス     ト版 (testing) を使いたいなら /etc/apt/sources.list の 3 つ目の フィールドを「testing」に変更してください。不安定版 (unstable) を 使いたいならこの 3 つ目のフィールドを「unstable」に変更してくださ い。 現在のテスト版 (testing) は bookworm と呼ばれます。なので /etc/ apt/sources.list の 3 つ目のフィールドを「bookworm」に変更しても     テスト版 (testing) を使うことになります。しかし、この場合は bookworm が安定版 (stable) になってもそのまま bookworm を追うとい うことになります。 不安定版 (unstable) は常に sid と呼ばれます。なので /etc/apt/     sources.list の 3 つ目のフィールドを「sid」に変更すると不安定版 (unstable) を追うことになります。 現在 Debian はテスト版 (testing) 向けのセキュリティ更新を提供して いますが不安定版 (unstable) 向けには提供していません。不安定版     (unstable) の修正は直接メインのアーカイブに対して行われるためで す。そのため、不安定版 (unstable) を使う場合は /etc/apt/ sources.list のセキュリティ更新関連の行を必ず削除するようにしてく ださい。 アップグレードする先のディストリビューション向けのリリースノート     文書が利用可能になっていれば (まだリリースされていなくても) 一読 しておくのが賢明です。そのアップグレードで取るべき方法についての 情報が提供されていることがあるためです。 いずれにせよ、上記の変更を加えることで aptitude update を実行すれ ば欲しいパッケージをインストールできるようになります。異なるディ     ストリビューションからパッケージをインストールするとそのシステム の一部を自動的にアップグレードする可能性があることに注意してくだ さい。個々のパッケージをインストールすると混成したディストリ ビューションを使ったシステムになります。 状況によっては apt full-upgrade、aptitude safe-upgrade、aptitude     full-upgrade のどれかを実行して単純に新しいディストリビューション に完全にアップグレードするのが最適かもしれません。さらなる情報に ついては apt や aptitude のマニュアルページを読んでください。 3.1.12. 現在テスト版 (testing、bookworm) を追っています。リリースされ ると何が起きますか? 引き続きテスト版 (testing) を追跡するのか、それと もこのマシンは新しい安定版 (stable) ディストリビューションを使うこと になるのでしょうか?     /etc/apt/sources.list ファイルのエントリによります。現在テスト版 (testing) を追っているならそのエントリは     deb http://ftp.jp.debian.org/debian/ testing main     または     deb http://ftp.jp.debian.org/debian/ bookworm main のようになっているでしょう。/etc/apt/sources.list の 3 つ目の フィールドが「testing」ならリリースされた後もテスト版 (testing) を追うことになります。bookworm がリリースされたら別のコード名を付     けられた新しい Debian ディストリビューションを使うということにな ります。当初は変更が見えないかもしれませんが、新しいパッケージが 不安定版 (unstable) からテスト版 (testing) ディストリビューション に向けて動き始めるとすぐにわかるでしょう。 この 3 つ目のフィールドが「bookworm」の場合は安定版 (stable) を追     うことになります (bookworm が新しい安定版 (stable) ディストリ ビューションになっているため)。 3.1.13. ややこしいですね。どれをインストールしたらいいんでしょうか?     よくわからないなら安定版 (stable) ディストリビューションが確実で す。 3.2. でも Knoppix や LMDE (Linux Mint Debian Edition)、Ubuntu その他 については?     それは Debian ではありません。Debian ベースというだけです。似てい る部分や共通する部分が多くありますが、決定的な違いもあります。 こういったディストリビューションにはすべて、特定のユーザ群にとっ て長所になる部分や適合させた部分を独自に持たせています。さらなる     情報については、Debian ウェブサイト Debian ベースのディストリ ビューション (https://www.debian.org/misc/children-distros) を見 てください。 3.2.1. Knoppix/LMDE (Linux Mint Debian Edition)/Ubuntu/... が Debian ベースだということはわかりました。ハードディスクにインストールした後 に「apt」パッケージツールを使えますか? こういったディストリビューションは Debian をベースにしています。 しかし Debian ではありません。/etc/apt/sources.list ファイルでこ     ういったディストリビューションのリポジトリを指定すれば apt パッ ケージツールを使うことはできるでしょう。それは Debian を使ってい るのではなく別のディストリビューションを使っていることになりま す。同一のものではありません。 ほとんどの状況で、あるディストリビューションを選んだらそれだけを 使うべきで、他のディストリビューションのパッケージを混ぜて使うべ     きではありません。あるディストリビューションを使っている人が他の ディストリビューションから Debian パッケージをインストールしよう としてよく問題に遭遇しています。同一の形式と名前 (.deb) を使って いるということはそのまま互換性があるということにはなりません。 例えば Debian がハードディスクにインストールするように設計されて いるのに対し、Knoppix はライブ CD として起動するように設計されて いる Linux ディストリビューションです。特定のハードウェアが動作す るか確認したい、あるいは GNU/Linux システムが「どんな感じ」なのか     試してみたい、というような場合 Knoppix は素晴らしいものとなるで しょう。Knoppix が実演目的に適するのに対し、Debian は常時運用する ように設計されています。さらに、利用可能なパッケージの数や Debian がサポートするアーキテクチャの数は Knoppix よりもはるかに多くなっ ています。 Debian を使いたい場合は最初から Debian をインストールするのが最善 です。他のディストリビューション、例えば Knoppix から Debian を     インストールすることは可能ですがその手順には知識が要求されます。 この FAQ を読んでいるということから Debian にも Knoppix にも初心 者だということを仮定します。その場合は後々出てくる多くの問題を避 けるため、最初から Debian をインストールしてください。 3.2.2. ハードディスクに Knoppix/LMDE (Linux Mint Debian Edition)/ Ubuntu/... をインストールしました。問題がありますがどうしたらいいで しょう? 助けを得るのに Debian フォーラム (メーリングリストや IRC も) を使 うことは勧められません。助言する人は Debian システムを使っている     ことを前提として提案する可能性があるためです。そうした「対策」は 適切でないかもしれません。現状の問題をさらに悪化させることになる かもしれません。 使っているディストリビューション専門のフォーラムをまず使用してく     ださい。そこで助けが得られない、あるいは得られた対策が問題の修正 に至らない場合は Debian フォーラムで聞いてみるのもいいかもしれま せんが、前述の指摘に留意してください。 3.2.3. Knoppix/LMDE (Linux Mint Debian Edition)/Ubuntu/... を使ってい ますが Debian を使いたくなりました。移行する方法はありますか? Debian ベースのディストリビューションから Debian への変更はオペ レーティングシステムを別のものに変更するのと同じようなものだと考     えてください。必要なデータを全てバックアップしてオペレーティング システムを最初からインストールし直してください。パッケージ管理 ツールを使って Debian への「アップグレード」を試みるべきではあり ません。そうした場合システムが使えなくなるかもしれないためです。 必要なユーザデータ (つまり /home) が別個のパーティションにある場 合 Debian への移行は実際にかなり単純で、インストールし直すときに     インストールシステムにそのパーティションをマウントさせる (フォー マットし直すのとは違います) だけです。念のため、必要なデータと同 様に前のシステムの設定 (つまり /etc/ や /var/) のバックアップを作 成しておくと良いでしょう。 第4章互換性の問題 4.1. Debian GNU/Linux はどのハードウェアアーキテクチャ/システムで動作 しますか? Debian GNU/Linux には、収録する全プログラムの完全なソースコードが 収録されているため、Linux カーネルによりサポートされるあらゆるシ     ステムで動作するはずです。詳細については Linux FAQ (http:// en.tldp.org/FAQ/Linux-FAQ/intro.html#DOES-LINUX-RUN-ON-MY- COMPUTER) を見てください。     現在の Debian GNU/Linux リリース 11 には以下のアーキテクチャ向け の完全なバイナリディストリビューションが収録されています: * amd64: これは AMD64 拡張付きの AMD 64 ビット CPU や EM64T 拡 張付きのあらゆる Intel CPU をベースとした一般的な 64 ビット ユーザ空間のシステムを対象としています。 * arm64: 最新の 64ビット ARM 搭載機器をサポートしています。 * armel: リトルエンディアン ARM マシン * armhf: ハードウェア浮動小数演算ユニット付き ARMv7 マシン用 armel の代替です。 * i386: これは Intel 及び互換プロセッサをベースとしたシステムを 対象としています。Intel の 386、486、Pentium、Pentium Pro、 Pentium II (Klamath と Celeron 両方)、Pentium III、AMD や Cyrix その他によるほとんどの互換プロセッサ等があります。     * ia64: Intel IA-64 (「Itanium」) コンピュータ。 * mips: SGI のビッグエンディアン MIPS システム、Indy や Indigo2 。mipsel: リトルエンディアン MIPS マシン、Digital DECstations。 * powerpc: これは IBM/Motorola PowerPC マシン Apple Macintosh PowerMac モデル等の一部と CHRP 及び PReP オープンアーキテク チャのマシンを対象としています。 * ppc64el: 64ビットのリトルエンディアン PowerPC への移植版で、 最近の複数の PowerPC/POWER プロセッサをサポートしています。 * s390x: IBM System z マシン用の s390 を置き換える 64 ビット 版。 hurd-i386 (i386 32ビットPC用 GNU Hurd カーネル)、mipsel64 (リトル エンディアンモードの64ビット MIPS)、powerpcspe (「信号処理エン     ジン」ハードウェア向け移植版)、sparc64 (64ビット SPARC プロセッ サ)、sh (日立 SuperH プロセッサ用)、x32 (32ビットのポインタを使用 した amd64/x86_64 CPU) 向けの Debian バイナリディストリビュー ションの開発が現在進行中です。 m68k アーキテクチャは Etch (Debian 4.0) リリースで Debian リリー ス管理者の基準を満たさなかったためサポートから外されています。こ のアーキテクチャは Amiga や ATARI の MMU 付き Motorola 680x0 プロ     セッサ (68020 以降) を対象としています。この移植版では現在も積極 的に活動があり、公式の安定版 (stable) リリースに収録されていなく てもインストール可能で、将来のリリースに再び収録されるかもしれま せん。 hppa (Hewlett-Packard の PA-RISC マシン) や alpha (Compaq/Digital     の Alpha システム) のサポートは同じような理由で Squeeze (Debian 6.0) リリースで外されています。このリリースで armel アーキテク チャに置き換えられた arm も外されています。 32ビットの s390 移植版 (s390) のサポートは Jessie (Debian 8) で中     止され、s390x に、置き換えられました。さらに、十分な開発者サポー トを得られないため IA-64 及び Sparc 移植版がこのリリースで削除さ れています。     利用可能な移植版についてのさらなる情報については、ウェブサイトの 移植版のページ (https://www.debian.org/ports/) を見てください。 ブートやドライブのパーティション作業、PCMCIA (PC カード) デバイス の有効化、そのた同様の問題の詳細な情報についてはインストールマ     ニュアルの指示に従ってください。このマニュアルは https:// www.debian.org/releases/stable/installmanual (https:// www.debian.org/releases/stable/installmanual) のウェブサイトで利 用可能です。 4.2. Debian GNU/Linux ではどのカーネルを実行しますか?     Linux 以外にも、Debian では以下のオペレーティングシステムのカーネ ル向けの完全なバイナリディストリビューションを提供しています: * FreeBSD: 64 ビット PC 用と 32 ビット PC 用をそれぞれ kfreebsd-amd64 及び kfreebsd-i386 移植版で提供しています。こ     の移植版は Debian 6.0 Squeeze で初めて、技術プレビューとして リリースされました。しかし Debian 8 Jessie リリースの一部とし ては収録されませんでした。     上記に加え、以下について作業が進められています: * avr32 Atmel の 32 ビット RISC アーキテクチャへの移植版。 * hurd-i386 32 ビット PC 用の移植版。この移植版は GNU グループ     の企画による新しいオペレーティングシステム GNU Hurd を使いま す。 * sh 日立 SuperH プロセッサへの移植版。 ディストリビューションを NetBSD カーネルに移植して netbsd-i386     (32 ビット PC 用) や netbsd-alpha (Alpha マシン用) を作る動きがあ りましたが、この移植版はリリースされることなく現在では中止されて います。     利用可能な移植版についてのさらなる情報については、ウェブサイトの 移植版のページ (https://www.debian.org/ports/) を見てください。 4.3. Debian は他の Linux ディストリビューションとどれくらい互換性があ りますか? Debian developers communicate with other Linux distribution creators in an effort to maintain binary compatibility across     Linux distributions. ^[1] Most commercial Linux products run as well under Debian as they do on the system upon which they were built. Debian GNU/Linux は Linux Filesystem Hierarchy Standard (FHS、 ファイルシステム階層標準) (https://www.pathname.com/fhs) を順守し     ます。しかし、この標準の範囲内でもいくらか解釈の余地があるため、 Debian システムと他の Linux システムの間にはわずかな違いがあるか もしれません。 4.4. Debian と他の Unix システムではどのくらいソースコードの互換性が ありますか? ほとんどのアプリケーションの Linux ソースコードが他の Unix システ ムと互換性があります。System V Unix システムやフリー及び商用の BSD 派生システムで利用可能ほぼ全てをサポートしています。しかし Unix の世界ではこういった主張はそれを証明する方法がないためほぼ無     意味です。ソフトウェア開発においては「ほとんど」の場合使える互換 性ではなく完全な互換性が要求されます。そのため何年か前に標準仕様 の必要性が提起され、今では POSIX.1 (IEEE 標準 1003.1-1990) が Unix 類似オペレーティングシステムにおけるソースコード互換性の主要 な標準の一つとなっています。 Linux は POSIX.1 を順守するつもりではありますが、POSIX 標準には現 金が必要で、POSIX.1 (と FIPS 151-2) の認定はかなり高価です。この ため、Linux 開発者が完全な POSIX 適合に向けて作業することはさらに     困難なものとなっています。この認定コストのため、検証テスト群を完 全に通過したとしても Debian が公式の適合認定を得ることはなさそう です。(検証テスト群は現在自由に利用可能なので、もっと多くの人が POSIX.1 の問題に取り組むことが期待されます。) Unifix GmbH (ドイツ、ブラウンシュワイク) が開発した Linux システ     ムが FIPS 151-2 (POSIX.1 の上位集合) に適合すると認定されていま す。この技術は Unifix Linux 2.0 という Unifix 自身のディストリ ビューションと Lasermoon の Linux-FT で利用可能でした。 4.5. Debian パッケージ (「.deb」ファイル) を Red Hat/Slackware/... Linux システムで使うことはできますか? Red Hat パッケージ (「.rpm」 ファイル) を Debian GNU/Linux システムで使うことはできますか?     異なる Linux ディストリビューションでは異なるパッケージ形式、異な るパッケージ管理プログラムを使っています。 恐らくできるでしょう: Debian パッケージを「無関係の」ディストリビューションによる Linux ホストで展開するプログラムが利用可能で、ファイルが展開 されるという意味では基本的には動作します。逆も恐らく真で、Red Hat や Slackware のパッケージを Debian GNU/Linux ベースのホス トで展開するプログラムがあり、恐らくパッケージを展開して意図 したディレクトリにほとんどのファイルを配置することに成功しま す。これは (広く守られている) Linux ファイルシステム階層標準 (FHS) が存在する結果です。異なるパッケージ形式の間の変換には Alien (https://packages.debian.org/alien) パッケージが利用さ れます。 望まない結末: パッケージ管理プログラムはほとんどがアーカイブ展開時に管理用     ファイルを書き出します。こういった管理用ファイルは通常標準化 されていません。したがって、Debian パッケージを「無関係の」ホ ストで展開した結果は予測不可能で、そのシステムのパッケージ管 理プログラムに対して (有用とはほど遠い) 影響があるでしょう。 同様に他のディストリビューションのユーティリティを Debian シ ステムで使おうとした場合、アーカイブの展開には成功するでしょ うが、一部のパッケージをアップグレードや削除するときに、もし かするとシステムに存在するパッケージを確認するだけでも、 Debian パッケージ管理システムで恐らく問題が起きるでしょう。 より良い方法: Linux ファイルシステム標準 (ひいては Debian GNU/Linux) は / usr/local/ 以下のサブディレクトリが完全にユーザの裁量の下にあ ることを要求します。したがって、ユーザは「無関係の」パッケー ジをこのディレクトリに展開し、設定やアップグレード、削除を個 々に管理することができます。 4.6. 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 ポリシーマ ニュアルに収録されています (「Debian システム上の、あるいは Debian システム用の文書は他にどんなものがありますか?」参照)。 --------------------------------------------------------------------- ^[1] The Linux Standard Base (https://wiki.linuxfoundation.org/ lsb/start/) is a specification for allowing the same binary package to be used on multiple distributions. After Jessie (Debian 8) was released, Debian abandoned (https://     sources.debian.org/src/lsb/9.20170808/debian/README.Debian/) the pursuit of LSB compatibility. See this July 3, 2015 message from Didier Raboud (https://lists.debian.org/ 4526217.myWFlvm1rM@gyllingar) and the following discussion for background information. 第5章 Debian システムで利用可能なソフトウェア 5.1. Debian GNU/Linux ではどんな種類のアプリケーションや開発用ソフト ウェアが利用できますか?     ほとんどの Linux ディストリビューションと同様、Debian GNU/Linux では * gcc や g++、make、texinfo、Emacs、Bash シェルその他多数のアッ プグレードされた Unix ユーティリティ等、ソフトウェア開発や ファイル操作、テキスト処理用の主な GNU アプリケーション、 * Perl や Python、Tcl/Tk とそれぞれに関連する様々なプログラムや モジュール、ライブラリ、 * TeX (LaTeX) や Lyx、dvips、Ghostscript、 * ネットワーク対応の Linux 用グラフィカルユーザインターフェイス     を提供する Xorg ウィンドウシステムや、GNOME や KDE、Xfce デス クトップ環境といった無数の X アプリケーション、 * HTTP (ウェブ) や FTP、NNTP (ニュース)、SMTP 及び POP (メー ル)、DNS (ネームサーバ) 等インターネットプロトコル用サーバ、 PostgreSQL や MySQL 等のリレーショナルデータベースといった ネットワークアプリケーション群一式、さらに様々な Mozilla 製品 等のウェブブラウザ、 * LibreOffice 製品群や Gnumeric その他のスプレッドシート等オ フィスアプリケーション一式、WYSIWYG エディタ、カレンダー、 等のソフトウェアを提供しています。ニュースサーバやリーダーから音 声サポートや FAX プログラム、データベース、スプレッドシートプログ ラム、画像処理プログラム、通信、ネット、メールユーティリティ、     ウェブサーバまで、さらに無線ラジオプログラムまでも、58100 以上の パッケージがディストリビューションに収録されています。他にも 1000 のソフトウェア群が Debian パッケージとして利用できますが、こちら はライセンスの制限により正式には Debian の一部ではありません。 5.2. このソフトウェア全ては誰が書いたのですか? 各パッケージのファイル /usr/share/doc/[パッケージ]/copyright にプ     ログラムの作者が記載されています。[パッケージ]の部分はパッケージ 名に置き換わります。 このソフトウェアを Debian GNU/Linux システム用にパッケージ化した メンテナは各パッケージに付属している Debian 制御ファイル (「     Debian 制御ファイルとは何ですか?」参照) に列挙されています。/usr/ share/doc/[パッケージ]/changelog.Debian.gz にある Debian の変更記 録でも、Debian パッケージについて作業した人について触れています。 5.3. Debian 用にパッケージ化されているプログラムの現在の一覧を得る方 法はありますか? 完全な一覧は Debian ミラー (https://www.debian.org/distrib/     ftplist) のページ及びファイル indices/Maintainers のどちらにもあ ります。このファイルにはパッケージ名とそれぞれのメンテナの名前と メールアドレスが記載されています。 Debian パッケージへの WWW インターフェイス (https://     packages.debian.org/) のページに Debian アーカイブの30ほどの「区 分」それぞれに収録されているパッケージについて使いやすいようにま とめられています。 5.4. パッケージをビルドするための開発環境をインストールするにはどのよ うにしたらいいですか? Debian システムでパッケージをビルドしたい場合、C/C++ コンパイラや その他の必須パッケージ等の基礎的な開発環境が必要です。この環境の     インストールは単にbuild-essential パッケージをインストールするだ けです。これはメタパッケージあるいはプレースホルダーパッケージと いうもので、Debian パッケージのビルドに必要な標準的な開発ツール群 に依存しています。 ただし、ソフトウェアによっては再ビルドに autoconf や gettext 等ラ     イブラリヘッダや追加のツールといった、追加のソフトウェアを必要と します。Debian は他のソフトウェアを Debian パッケージとしてビルド するのに必要なツールを多数提供しています。 正確にどのソフトウェアが必要となるのかは、Debian パッケージの再ビ ルドを予定していない場合は見つけにくいかもしれません。この最後の 作業は公式のパッケージの場合はそのパッケージのビルドに     (build-essential のパッケージ以外で) 必要な追加ソフトウェアの一覧 を収録しなければならないため簡単です。これは Build-Dependencies と呼ばれます。あるソースパッケージのビルドに必要なパッケージを全 てインストールしてそのソースパッケージをビルドするには単に     # apt-get build-dep foo # apt-get source --build foo を実行するだけです。Debian により配布されている Linux カーネルを ビルドしたい場合は kernel-package パッケージもインストールする必     要があることに注意してください。さらなる情報については「独自カー ネルをビルドためにどんなツールを Debian は提供していますか?」を見 てください。 5.5. Debian GNU/Linux に足りないものは何? Debian 用にパッケージ化する必要があるパッケージの一覧があります。     作業が望まれるパッケージ (Work-Needing and Prospective Packages) 一覧 (https://www.debian.org/devel/wnpp/) 。     足りないものの追加についての詳細は 13章Debian プロジェクトへの寄 付を見てください。 5.6. プログラムをコンパイルしたときに「ld: cannot find -lfoo」メッ セージが出るのは何故ですか? Debian ライブラリパッケージに libfoo.so ファイルが無いのは何故ですか? Debian ポリシーでこういった (libfoo.so.x.y.z 等への) シンボリック     リンクは別個の開発用パッケージで配置するように要求しています。こ ういったパッケージは通常 libfoo-dev や libfooX-dev (ライブラリ パッケージが libfooX で X が全体番号の場合) と名付けられます。 5.7. Debian は Java を (どのように) サポートしていますか? Java 技術はフリーの実装が複数 Debian パッケージとして利用可能で     す。Java Development Kits と Runtime Environments を両方とも提供 しています。Debian を使って Java プログラムの作成、デバッグ、実行 ができます。 Java アプレットの実行にはそれを認識、実行できるウェブブラウザが必     要です。Mozilla や Konqueror 等、Java アプレットを実行できる Java プラグインに対応しているウェブブラウザが複数 Debian で利用できま す。     さらなる情報については、Debian Java FAQ (https://www.debian.org/ doc/manuals/debian-java-faq/) を参照してください。 5.8. Debian システムを使っていることやそれがどのバージョンなのか確認 する方法は?     実際に Debian ベースのディスクからインストールされたシステムであ ることを確認するには     lsb_release -a コマンドを使います。ディストリビューションの名前 (Distributor ID     欄) とシステムのバージョン (Release 欄と Codename 欄) を表示しま す。Debian システムでの例: $ lsb_release -a No LSB modules are available.     Distributor ID: Debian Description: Debian GNU/Linux 7.4 (wheezy) Release: 7.4 Codename: wheezy /etc/debian_version ファイルの存在を確認する方法もあります。これ     にはパッケージ base-files により定義されるそのリリースのバー ジョン番号を示す一行のエントリが収められます。 ユーザならわかっていることですが、Debian システムは多数の構成要素 からなり、それぞれを (ほぼ) 別々に更新することができます。Debian     「リリース」にはそれぞれよく練られた、不変のものが収録されていま す。更新は個別に利用できます。パッケージ foo のインストール状態の 一行の説明を見るにはコマンド dpkg --list foo を使ってください。 もっと詳細な説明は     dpkg --status foo     を使ってください。インストールされている全パッケージのバージョン を表示するには:     dpkg -l を使ってください。プログラム dpkg が存在することはそのシステムに Debian パッケージをインストールできることを示すはずです。しかし、     このプログラムは他の多くのオペレーティングシステムやアーキテク チャに移植されているため、これはそのシステムが Debian GNU/Linux だと判定するには信頼性の高い方法ではなくなっています。 5.9. Debian は英語以外の言語をどのようにサポートしていますか? * Debian GNU/Linux は 20以上のキーボード用のキーボード配置と、 その対応表をインストール、表示、変更するユーティリティ (kbd パッケージ) を収録し、配布しています。 The installation prompts the user to specify the keyboard to use. * Debian にあるソフトウェアはほぼ全てが文字セットとして UTF-8 をサポートしています。過去に利用されていた ISO-8859-1 や ISO-8859-2 等はもう時代遅れの文字セットだと見なすべきです。     * 現在、ドイツ、スペイン、フランス、ハンガリー、イタリア、日 本、韓国、オランダ、ポーランド、ポルトガル、ロシア、トルコ、 中国の各言語のマニュアルページのサポートが manpages-[言語] パッケージ ([言語]には2文字の ISO 国コード) により提供されて います。NLS マニュアルページにアクセスするには、ユーザがシェ ルの LC_MESSAGES 変数に適切な文字列をセットしなければなりま せん。 例えばイタリア語のマニュアルページの場合は LC_MESSAGES には 'italian' がセットされている必要があります。そうすると man プ ログラムはイタリア語のマニュアルページを /usr/share/man/it/ から探すようになります。 5.10. ezmlm/djbdns/qmail はどこですか? Dan J. Bernstein は彼が書いた全ソフトウェア (https://cr.yp.to/ software.html) を改変したバイナリの配布を許可しない制限のあるライ センスで配布していました。しかし 2007 年 11 月に Bernstein は「     [...] 自分の将来及び [...] 過去のソフトウェア全てをパブリックドメ インにすることを決めた」と言いました。彼の配布条件については配布 者による FAQ (https://cr.yp.to/distributors.html) を見てくださ い。 これを書いている時点 (2016-03) で ezmlm-idx は experimental での み利用可能 (類似の mlmmj は Debian jessie に収録); djbdns は sid (unstable) でのみ利用可能、詳細は Bug #516394 (https://     bugs.debian.org/516394) 及び Bug #796118 (https://bugs.debian.org /796118) 、類似の代替についてはdbndns を参照; publicfile ソフト ウェアは今でもフリーソフトウェアではありません。 publicfile-installer パッケージは Debian の contrib セクションか ら利用できるようになっています。     Dan J. Bernstein 氏による他のソフトウェア (qmail、daemontools、 ucspi-tcp) は Debian に収録されています。 5.11. Flash (SWF) 用プレーヤーはどこですか?     Debian はフリーの SWF 動画プレーヤーを2つ、gnash と swfdec を両方 収録しています。 5.12. Google Earth はどこですか? Google Earth は Google のウェブサイトから GNU/Linux 用が利用でき ますが、これはフリーソフトウェアでないばかりでなく、サードパー     ティにより配布することは全くできません。しかし、 googleearth-package (contrib にあります) がこのソフトウェアを使う のに役立つかもしれません。 5.13. VoIP ソフトウェアはどこですか? Voice Over IP では公開プロトコルが主に2つ、SIP と H.323 が利用さ     れています。両方とも Debian の main にある広範なソフトウェアによ り実装されています。ekiga は最も人気のあるクライアントの一つで す。 5.14. Linux で機能しない無線ネットワークカードを持っています。どうす るべきですか?     機能するものを買ってください :) 代わりに ndiswrapper を使って Linux システムで Windows 用ドライバ     (持っている場合) を使う方法もあります。さらなる情報については Debian Wiki ndiswrapper のページ (https://wiki.debian.org/ NdisWrapper) を見てください。 第6章 The Debian archives 6.1. Debian ディストリビューションはいくつありますか? 主要なディストリビューションは3つあります:「安定版 (stable)」ディ ストリビューション、「テスト版 (testing)」ディストリビュー ション、「不安定版 (unstable)」ディストリビューション。「テスト版     (testing)」ディストリビューションは「凍結」されていることもありま す (「「テスト版 (testing)」はどういうものですか? どのように「凍 結 (freeze)」されますか?」参照)。次に、「旧安定版 (oldstable)」 ディストリビューション (これは単純に前の「安定版 (stable)」です) と「experimental」ディストリビューションがあります。 Experimental は未だ開発中のパッケージが利用するもので、システムを 破壊するような高い危険性があります。これは最前線のソフトウェアに     ついて学習やテストを望む開発者により利用されます。経験のあるほ とんどの人にとっても危険で有害である可能性があるため、ユーザがこ こからパッケージを使うべきではありません。     Debian ディストリビューションを選択する際の手助けについては 3章 Debian ディストリビューションの選択を見てください。 6.2. etch や lenny 等という名前は一体何ですか? 単なる「コード名」です。Debian ディストリビューションが開発段階に あるとき、そこにバージョン番号はなくコード名はあります。このコー     ド名の目的は Debian ディストリビューションのミラー作業を楽にする ことです (もし実際のディレクトリ、例えば unstable が突然 stable に変わったとしたら無用に多く再ダウンロードする羽目になるでしょ う)。 現在 stable は bullseye (つまり Debian GNU/Linux 11) へのシンボ リックリンクで、testing は bookworm へのシンボリックリンクです。     これはつまり bullseye は現在の安定版 (stable) ディストリビュー ションで、bookwormは現在のテスト版 (testing) ディストリビュー ションだということです。 unstable は恒久的に sid へのシンボリックリンクで sid は常に不安定     版 (unstable) ディストリビューションです (「「sid」とは何です か?」参照)。 6.2.1. 他にはどんなコード名が過去に使われましたか? Aside bullseye and bookworm, other codenames that have been already used are: buzz for release 1.1, rex for release 1.2, bo for releases 1.3.x, hamm for release 2.0, slink for release 2.1,     potato for release 2.2, woody for release 3.0, sarge for release 3.1, etch for release 4.0, lenny for release 5.0, squeeze for release 6.0, wheezy for release 7, jessie for release 8, stretch for release 9, buster for release 10. 6.2.2. このコード名は何に由来しているのですか?     これまでのところ Pixar による映画「トイストーリー」のキャラクター から選ばれています。 * buzz (Debian 1.1) was the spaceman Buzz Lightyear, * rex (Debian 1.2) was the tyrannosaurus, * bo (Debian 1.3) was Bo Peep, the girl who took care of the sheep, * hamm (Debian 2.0) was the piggy bank, * slink (Debian 2.1) was Slinky Dog, the toy dog, * potato (Debian 2.2) was, of course, Mr. Potato, * woody (Debian 3.0) was the cowboy, * sarge (Debian 3.1) was the sergeant of the Green Plastic Army Men, * etch (Debian 4.0) was the toy whiteboard (Etch-a-Sketch),     * lenny (Debian 5.0) was the toy binoculars, * squeeze (Debian 6) was the name of the three-eyed aliens, * wheezy (Debian 7) was the rubber toy penguin with a red bow tie, * jessie (Debian 8) was the yodeling cowgirl, * stretch (Debian 9) was the rubber toy octopus with suckers on her eight long arms. * buster (Debian 10) was Andy's pet dog. * bullseye (Debian 11) was Woody's wooden toyhorse. * bookworm (Debian 12) was a green toy worm with a built-in flashlight who loves reading books. * trixie (Debian 13) was a blue plastic triceratops. * sid はおもちゃを全て壊す隣の悪ガキでした。 トイストーリーの名前の使用は、当時 Debian プロジェクトリーダーで あり映画制作会社の Pixar で働いていた Bruce Perens により決定     (https://lists.debian.org/debian-devel/1996/06/msg00515.html) さ れました (https://lists.debian.org/debian-user/1997/04/msg00011. html) 。 6.3. 「sid」とは何ですか? sid あるいは unstable というのはほとんどのパッケージが最初にアッ プロードされる場所です。リリースするパッケージは stable にリリー     スする前にまず testing に収録される必要があるため、これが直接リ リースされることはありません。sid にはリリースされるアーキテク チャもリリースされないアーキテクチャも、両方のパッケージが収録さ れます。     「sid」という名もアニメ映画の「トイストーリー」から来ています: Sid はおもちゃを壊す隣の少年でした :-)     ^[2] 6.4. stable ディレクトリには何がありますか? * stable/main/: このディレクトリには Debian GNU/Linux システム の最新リリースを正式に構成するパッケージが収録されています。 ここに置かれるパッケージは全て Debian フリーソフトウェアガイ ドライン (DFSG) (https://www.debian.org/social_contract# guidelines) に準拠し、全て自由に利用、配布できます。 * stable/non-free/: このディレクトリには配布に制限があり、指定 されている著作権要求について配布者が注意を払う必要のあるパッ ケージが収録されています。     例えばパッケージによっては商用での配布を禁止するライセンスを 採用しています。他に、再配布はできるものの実際はフリーソフト ウェアではなくシェアウェアであるものもあります。こういった パッケージは、(例えば CD-ROM に) 収録して再配布する前に各パッ ケージごとのライセンスを調査し、場合によっては交渉する必要が あります。 * stable/contrib/: このディレクトリには、それ自体は DFSG フリー で自由に配布できるけれども、自由に配布できないために non-free でのみ利用可能なパッケージに依存しているパッケージが収録され ています。 6.5. テスト版 (testing) ディストリビューションには何が収録されていま すか?     パッケージは unstable である程度のテストを経た後に「testing」に ディレクトリに入ります。 ビルドしている全アーキテクチャで同調していなければならず、インス トールできなくなるような依存を作ることもできません。リリースクリ     ティカルバグが現在不安定版 (unstable) にあるバージョンよりも増え ることも許されません。こうして、「テスト版 (testing)」が常にリ リース候補に近づいていくことを期待します。 「テスト版 (testing)」の状態全般や個々のパッケージについてのさら     なる情報は https://www.debian.org/devel/testing (https:// www.debian.org/devel/testing) にあります。 6.5.1. 「テスト版 (testing)」はどういうものですか? どのように「凍結 (freeze)」されますか? 「テスト版 (testing)」ディストリビューションが十分完成の域に達す     ると、リリース管理者が「凍結 (freeze)」を開始します。新しいバグが 「不安定版 (unstable)」から「テスト版 (testing)」にできるだけ持ち 込まれないようにするため、通常の伝搬の遅延は増加します。 しばらくして「テスト版 (testing)」ディストリビューションが本当に 「凍結 (freeze)」されます。これは新しいパッケージの「テスト版 (testing)」への伝搬が、それがリリースクリティカルバグを修正するも     のでない限り全て止められるということです。リリースが迫っているよ うな時には、いわゆる「テストサイクル」の間「テスト版 (testing)」 ディストリビューションがこういったさらに強い凍結 (deep freeze) の ままになることもあります。 「テスト版 (testing)」リリースが「凍結」されると「不安定版 (unstable)」も同様に部分的な凍結 (freeze) になる傾向があります。 これはテスト版 (testing) で凍結 (freeze) されているソフトウェアに     些細な更新やテスト版 (testing) が「安定版 (stable)」になるのを妨 害するリリースクリティカルバグの修正が必要な場合に、開発者が全く 新しいソフトウェアを不安定版 (unstable) にアップロードすることに 消極的なためです。 リリースを避ける可能性のあるパッケージやリリース全体を止める可能 性のあるバグについて、テスト版 (testing) ディストリビューションの     バグ記録を維持しています。詳細についてはテスト版 (testing) リリー ス情報 (https://www.debian.org/releases/testing/) を見てくださ い。 このバグの数が受け入れられる最大値まで下がると、凍結 (freeze) さ     れているテスト版 (testing) ディストリビューションは安定版 (stable) と宣言され、バージョン番号を付けてリリースされます。 最も重要なバグの数は「リリースクリティカル (RC、Release Critical)」バグの数で、これは Release-critical bug status (RCバグ 状況) のページ (https://bugs.debian.org/release-critical/) で追う ことができます。一般的なリリース目標は NoRCBugs (RCバグ0) (https:     //wiki.debian.org/ReleaseGoals/NoRCBugs) で、そのディストリビュー ションには重要度が critical (致命的)、grave (重大)、serious (深 刻) のバグがあるべきではないことを意味します。致命的だと見なされ る問題の完全な一覧は RC ポリシー文書 (https://release.debian.org/ testing/rc_policy.txt) にあります。 新しいリリースごとに、以前の安定版 (stable) ディストリビュー     ションは古くなってアーカイブに移動します。さらなる情報については Debian アーカイブ (https://www.debian.org/distrib/archive) を見て ください。 6.6. 不安定版 (unstable) ディストリビューションには何が収録されていま すか? 「unstable」ディレクトリには現在の開発用システムのスナップショッ トが収録されます。ここにあるパッケージをユーザが使ってテストする     のは歓迎ですが、注意して準備しておく必要があります。不安定版 (unstable) ディストリビューションには常に GNU/Linux ソフトウェア の世界で最新版を使用するという利点がありますが、それが壊れていた としたら (略)。利点だけではなく欠点もあり得るということです :-)     「unstable」にも「stable」と同一の基準で分けられた main、 contrib、non-free サブディレクトリがあります。 6.7. What are all those directories at the Debian archives? Debian GNU/Linux 用にパッケージ化されているソフトウェアは各     Debian ミラーサイトにある複数のディレクトリツリーのどれかから利用 できます。 dists ディレクトリは「distributions (ディストリビューション)」の     短縮形で現在利用可能な Debian リリース (とリリース前) にアクセス するための正当な手段です。     pool ディレクトリには実際のパッケージが収録されます。「pool ディ レクトリには何がありますか?」参照。     以下の補足するディレクトリがあります: /tools/: 起動ディスクの作成やディスクドライブのパーティション作業、 ファイルの圧縮/伸張、Linux のブート等を行う DOS ユーティリ ティ。 /doc/:     この FAQ やバグ報告システムの説明等、基礎的な Debian 文書。 /indices/: サイトの様々な索引 (Maintainers ファイルや override ファイ ル)。 /project/: ほぼ開発者だけを対象とするものや雑多なファイル。 6.8. dists/stable/main 以下にあるディレクトリは一体何ですか?     Within each of the major directory trees^[3], there are three sets of subdirectories containing index files. 利用可能な各コンピュータアーキテクチャ、例えば Intel x86 PC マ     シン上で実行するパッケージ向けの binary-i386 や Sun SPARCStation 上で実行するパッケージ向けの binary-sparc のバイナリパッケージの 索引ファイルを収録する binary-何かサブディレクトリ群があります。 各リリースで利用可能なアーキテクチャ完全な一覧はリリースウェブ     ページ (https://www.debian.org/releases) にあります。現在のリリー スについては「Debian GNU/Linux はどのハードウェアアーキテクチャ/ システムで動作しますか?」を見てください。 binary-* にある索引ファイルは Packages(.gz、.bz2) と呼ばれ、ディ     ストリビューションに収録されている各バイナリパッケージについての まとめが収録されています。実際のバイナリパッケージは最上位の pool ディレクトリ以下にあります。 さらに source/ というサブディレクトリにはディストリビューションに     収録されているソースパッケージの索引ファイルが収録されています。 この索引ファイルは Sources(.gz、.bz2) と呼ばれます。 大事なことを言い忘れましたが、インストールシステムの索引ファイル     用のサブディレクトリ群が debian-installer/binary-アーキテクチャに あります。 6.9. ソースコードはどこにありますか? Debian システム全てのソースコードが収録されています。また、このシ     ステムにあるほとんどのプログラムのライセンス条件がソースコードを プログラムと共に配布するかソースコードをプログラムと同時に提供す ることを要求しています。 The source code is distributed in the pool directory (see 「pool ディレクトリには何がありますか?」) together with all the     architecture-specific binary directories. To retrieve the source code without having to be familiar with the structure of the archive, try a command like apt-get source mypackagename. ライセンスによる制限のため、「contrib」や「non-free」ディレクトリ に置かれるパッケージにはソースコードが利用できないものもあり、そ ういったパッケージは正式には Debian システムの一部ではありま     せん。一部にはソースのない「バイナリ形式」だけが配布可能 (例えば firmware-misc-nonfree) なものやライセンスがビルド済みバイナリの配 布を禁止していて、ユーザによりローカルでコンパイルできるソース コードのパッケージの配布は許可しているものがあります (例えば broadcom-sta-dkms)。 6.10. pool ディレクトリには何がありますか? パッケージは巨大な「pool」に置かれています。ここはソースパッケー ジの名前を基に構造化されています。管理しやすくするため、pool は区     分 (「main」、「contrib」、「non-free」) とソースパッケージ名の頭 文字によりさらに分割されています。このディレクトリには複数のファ イルが収録されます: 各アーキテクチャ用のバイナリパッケージとその バイナリパッケージを生成する元となるソースパッケージです。 apt-cache showsrc パッケージ名のようなコマンドを実行してその「     Directory:」行を確認することで各パッケージが置かれている場所を調 べることができます。例えば apache パッケージは pool/main/a/apache / に置かれています。 さらに、lib* パッケージはあまりに多いため特別に扱っています: 例え     ば libpaper パッケージは pool/main/libp/libpaper/ に置かれていま す。     ^[4] 6.11. 「incoming」とは何ですか? 開発者がパッケージをアップロードした後、それが本物であることが確     認されるまでの短期間「incoming」ディレクトリに置かれ、それから アーカイブ行きが許可されます。 通常この場所からは誰も何かをインストールすべきではありません。し かし、緊急時のまれな状況では https://incoming.debian.org/ (https:     //incoming.debian.org/) にある incoming ディレクトリを利用するこ とができます。手作業によりパッケージを取得して .changes や .dsc ファイルにある GPG 署名や MD5sums を確認しインストールしてくださ い。 6.12. apt 対応リポジトリを用意する方法は? 私的な Debian パッケージをいくらか作成し、標準の Debian パッケー ジ管理ツールを使ってインストールしたい場合、自分の独自の apt 対応     パッケージアーカイブを用意することできます。これは Debian プロ ジェクトにより配布されるのではない Debian パッケージを共有したい 場合にも有用です。その手順は Debian Wiki (https://wiki.debian.org /HowToSetupADebianRepository) で示されています。 --------------------------------------------------------------------- ^[2] When the present-day sid did not exist, the FTP site organization had one major flaw: there was an assumption that when an architecture is created in the current unstable, it will     be released when that distribution becomes the new stable. For many architectures that isn't the case, with the result that those directories had to be moved at release time. This was impractical because the move would chew up lots of bandwidth. The archive administrators worked around this problem for several years by placing binaries for unreleased architectures in a special directory called "sid". For those architectures not yet     released, the first time they were released there was a link from the current stable to sid, and from then on they were created inside the unstable tree as normal. This layout was somewhat confusing to users. With the advent of package pools (see 「pool ディレクトリには何が ありますか?」), binary packages began to be stored in a canonical     location in the pool, regardless of the distribution, so releasing a distribution no longer causes large bandwidth consumption on the mirrors (there is, however, a lot of gradual bandwidth consumption throughout the development process).     ^[3] dists/stable/main, dists/stable/contrib, dists/stable/non- free, and dists/unstable/main/, etc. ^[4] Historically, packages were kept in the subdirectory of dists corresponding to which distribution contained them. This     turned out to cause various problems, such as large bandwidth consumption on mirrors when major changes were made. This was fixed with the introduction of the package pool.     The dists directories are still used for the index files used by programs like apt. 第7章 Debian パッケージ管理システムの基礎 この章では、Debian パッケージ管理内部のいくらか深いレベルまで触れ     ます。関心が主に関連するツールの使い方であれば、8章Debian パッ ケージ管理ツールや 9章Debian システムを最新に保つの章まで飛ばして ください。 7.1. Debian パッケージとは何ですか?     パッケージは通常関連するコマンド群や機能の実装に必要なファイルを 全て収録します。Debian パッケージは2種類あります: * バイナリパッケージ。これは実行可能ファイルや設定ファイル、man /info ページ、著作権情報、その他の文書を収録します。この種の パッケージは Debian 固有の圧縮形式 (「Debian のバイナリパッ ケージはどんな形式ですか?」参照) で配布されています。通常、 ファイルの拡張子が「.deb」だという特徴があります。バイナリ パッケージは Debian ユーティリティ dpkg を使って (あるいは aptitude のようなフロントエンド経由で) 展開することができま す。詳細はそのマニュアルページにあります。     * ソースパッケージ。ソースパッケージ (以下に示すファイルの名前 も) について説明する .dsc ファイルや元の変更していないソース を tar 形式でまとめて gzip 圧縮で収録した .orig.tar.gz ファイ ルと通常、元のソースに対する Debian 固有の変更を収録する .diff.gz ファイルで構成されます。ユーティリティ dpkg-source が Debian ソースアーカイブの圧縮や展開を行います。詳細はマ ニュアルページで提供されています (プログラム apt-get を dpkg-source のフロントエンドに利用することができます)。 Installation of software by the package system uses "dependencies" which are carefully designed by the package maintainers. These dependencies are documented in the control file associated with each package. For example, the package containing the GNU C compiler (gcc) "depends" on the package binutils which includes the linker and assembler. If a user     attempts to install gcc without having first installed binutils, the package management system (dpkg) will send an error message that it also needs binutils, and stop installing gcc. (However, this facility can be overridden by the insistent user, see dpkg (8).) See more in 「あるパッケージが他のパッケージに Depends、 Recommends、Suggests、Conflicts、Replaces、Breaks、Provides して いるというのはどういう意味ですか?」 below.     Debian のパッケージ用ツールは: * パッケージの操作や管理、 * パッケージ内ファイルのローカルオーバーライド管理、     * 開発者によるパッケージアーカイブの構成支援、 * aid users in the installation of packages which reside on a remote archive site. 7.2. Debian のバイナリパッケージはどんな形式ですか? Debian の「パッケージ」あるいは Debian アーカイブファイルには実行     可能ファイルやライブラリ、特定のプログラム集や関連プログラム群に 関連する文書が収録されています。通常、Debian アーカイブファイルの ファイル名は .deb で終わります。 The internals of this Debian binary packages format are described in the deb(5) manual page. This internal format is subject to     change (between major releases of Debian GNU/Linux), therefore please always use dpkg-deb(1) if you need to do lowlevel manipulations on .deb files. 7.3. Debian パッケージのファイルが長いのは何故ですか? Debian バイナリパッケージのファイル名は以下の慣例に従っています:     _<バージョン番号>-_ .deb foo にはパッケージ名が入ることに注意してください。特定の Debian     アーカイブファイル (.deb ファイル) に関連するパッケージの名前は以 下のような方法で確認できます: * inspect the "Packages" file in the directory where it was stored at a Debian archive site. This file contains a stanza describing each package; the first field in each stanza is the formal package name.     * コマンド dpkg --info foo_VVV-RRR_AAA.deb を使う (VVV、RRR、 AAA はそれぞれそのパッケージのバージョン、改訂番号、アーキテ クチャを示します)。これで、例えば展開するアーカイブファイルに 対応するパッケージ名がわかります。 VVV は上流の開発者により指定されるバージョン番号です。この形式に     は標準化されたものはないため、バージョン番号には「19990513」と「 1.3.8pre1」のように異なる形式を使うことができます。 The RRR component is the Debian revision number, and is specified by the Debian developer (or a user who chooses to rebuild the package locally). This number corresponds to the revision level     of the Debian package, thus, a new revision level usually signifies changes in the Debian Makefile (debian/rules), the Debian control file (debian/control), the installation or removal scripts (debian/p*), or in the configuration files used with the package. The AAA component identifies the processor for which the package was built. This is commonly amd64, which refers to AMD64, Intel     64 or VIA Nano chips. For other possibilities review Debian's archive directory structure at 「What are all those directories at the Debian archives?」. For details, see the description of "Debian architecture" in the manual page dpkg-architecture(1). 7.4. Debian 制御ファイルとは何ですか? Debian 制御ファイルの中身の仕様については Debian ポリシーマニュア     ルの5節で提供されています。「Debian システム上の、あるいは Debian システム用の文書は他にどんなものがありますか?」を見てください。     見本として Debian パッケージ hello の制御ファイルを以下に示しま す。 Package: hello Version: 2.9-2+deb8u1 Architecture: amd64 Maintainer: Santiago Vila Installed-Size: 145 Depends: libc6 (>= 2.14) Conflicts: hello-traditional Breaks: hello-debhelper (<< 2.9) Replaces: hello-debhelper (<< 2.9), hello-traditional     Section: devel Priority: optional Homepage: https://www.gnu.org/software/hello/ Description: example package based on GNU hello The GNU hello program produces a familiar, friendly greeting. It allows non-programmers 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 パッケージのファイルが長いのは何故ですか?」で     説明されているように、上流開発者のバージョン番号と (最後の構成要 素で) このプログラムの Debian パッケージの改訂レベルの両方を示し ます。     Architecture はこの特定のバイナリがどのチップ用にコンパイルされた のかを示します。     Depends はこのパッケージをうまくインストールするためにインストー ルされている必要があるパッケージの一覧を示します。 Installed-Size はパッケージをインストールしたときにディスク容量を     どれだけ消費するのかを示します。これはインストール用フロントエン ドがプログラムをインストールするのに十分なディスク空き容量がある のか示すためによく利用されます。     The Section line gives the "section" where this Debian package is stored at the Debian archive sites. Priority はこのパッケージをインストールすることがどれだけ重要かを 示します。これを利用して apt や aptitude のような少し気の利いたソ     フトウェアがパッケージを、例えばオプションでインストールするパッ ケージの種類で仕分けることができます。「Essential、Required、 Important、Standard、Optional、Extra パッケージとは何ですか?」を 見てください。     Maintainer は現在このパッケージの保守を担当している人のメールアド レスを示します。     Description はパッケージの機能を簡単に説明します。 パッケージが保持できる全項目のさらなる情報については、Debian ポリ     シーマニュアルの5節「制御ファイルとその各フィールド」や「Debian システム上の、あるいは Debian システム用の文書は他にどんなものが ありますか?」を見てください。 7.5. Debian conffile とは何ですか? Conffiles は設定ファイル (通常 /etc に置かれます) の一覧で、パッ ケージをアップグレードするときにパッケージ管理システムが上書きし     ません。こうしてこういったファイルのローカル設定内容が保持されま す。これは実行中のシステムにあるパッケージを適切にアップグレード できるようにする重要な機能です。     アップグレードで正確にどのファイルが保持されるか判断するには     dpkg --status package     を実行して「Conffiles:」のすぐ下を確認してください。 7.6. Debian preinst、postinst、prerm、postrm スクリプトとは何ですか? このファイルはパッケージのインストールや削除の前後に自動的に実行     される実行可能スクリプト群です。このファイル群は全て control とい うファイルと共に Debian アーカイブファイルの「制御ファイル」の一 部です。     個々のファイルについて: preinst このスクリプトは Debian アーカイブ (「.deb」) ファイルから パッケージを展開する前に実行されます。多くの「preinst」スクリ プトが、アップグレード中のパッケージのサービスをインストール やアップグレードが完了するまで (「postinst」スクリプトがうま く実行されるまで) 停止します。 postinst このスクリプトは概して、Debian アーカイブ (「.deb」) ファイル から foo を展開した後にパッケージ foo で必要とする設定があれ ばそれを完了させます。「postinst」スクリプトは状況により、デ フォルト値を受け入れるかどうか、ユーザに入力を求めたり、忘れ     ずに戻ってパッケージを再設定すべきであることをユーザに通告す ることもよくあります。新しいパッケージのインストールやアップ グレードが完了すると、サービスを開始、再起動するのに必要なコ マンドを多数の「postinst」スクリプトが実行します。 prerm このスクリプトは概してパッケージに関連するデーモンを停止しま す。そのパッケージに関連するファイルを削除する前に実行されま す。 postrm このスクリプトは概して foo に関連するリンクやその他のファイル を変更、あるいはそのパッケージが作成したファイルを削除します (「仮想パッケージとは何ですか?」も見てください)。 現在、制御ファイルは全てディレクトリ /var/lib/dpkg/info に置かれ ます。パッケージ foo に関連するファイルは名前が「foo」で始まり ファイルの拡張子が必要に応じて「preinst」、「postinst」等となって     います。そのディレクトリのファイル foo.list にはパッケージ foo で インストールされる全ファイルが列挙されています (このファイルは dpkg 内部にあることに注意してください。当てにすべきではありま せん)。 7.7. Essential、Required、Important、Standard、Optional、Extra パッ ケージとは何ですか? 各 Debian パッケージにはディストリビューションメンテナにより優先     度が割り当てられ、パッケージ管理システムを支援します。この優先度 には以下があります。 * Required: システムが適切に機能するのに必要なパッケージ。 これにはシステムの不具合を修復するのに必要なツールが全て属し ます。このパッケージを削除することはできず、削除した場合シス テムは全体が壊れ、恐らく dpkg を使って差し戻すこともできま せん。Required パッケージしかないシステムは恐らく使いものには なりませんが、システム管理者がブートしてソフトウェアをさらに インストールできるだけの機能は十分にあります。 * Important パッケージはどの Unix 類似システムにもあるはずで す。 それがないとシステムがうまく動作しないあるいは使い物にならな いというその他のパッケージがここに属します。これには Emacs や X、TeX、その他の巨大なアプリケーションは含まれません。この パッケージ群は最低限の基盤を構成するだけです。 * Standard packages are standard on any Linux system, including a reasonably small but not too limited character-mode system.     Tools are included to be able to send e-mail (with mutt) and download files from archive servers. これはユーザが他に何も選択しなかった場合にデフォルトでインス トールされるものです。多数の巨大なアプリケーションは含まれま せんが、Python インタープリタや、OpenSSH (リモート管理用) や Exim (メール配送用ですがローカル配送専用に設定することもでき ます) のようなサーバソフトウェアがあります。ほとんどのユーザ にとって参考になるようなごく一般的な文書も属しています。 * Optional パッケージには、よくわからない場合にある程度インス トールされているようなもの、あるいは特殊な要求がないものが全 て属します。 X や TeX ディストリビューション一式、多くのアプリケーションが あります。 * Extra: パッケージには、他の上位の優先度とは相容れないものや既 にそれが何なのかわかっている場合にのみ有用と思われるもの、特 殊な要求があるため「Optional」に適応しないものが属します。 Debian をデフォルトでインストールすると優先度が Standard かそれ以     上の全パッケージがそのシステムにインストールされます。設定済みタ スクを選択した場合は優先度の低いパッケージもインストールされま す。 さらに、システムが適切に機能するためにはそれが絶対に必要だという     ことで Essential に区分されているパッケージもあります。パッケージ 管理ツールはこういったパッケージの削除を拒否します。 7.8. 仮想パッケージとは何ですか? 仮想パッケージはパッケージ群のうち任意の一つに適用できる総称的な もので、どれも同じような基本機能を提供します。例えば konqueror と firefox-esr プログラムはどちらもウェブサイトブラウザであるため、     機能するあるいは役立つためにはシステムにウェブブラウザがあること を要求するプログラムの依存を満たすはずです。したがって、どちらも www-browser という「仮想パッケージ」を提供するということになりま す。 同様に、exim4 と sendmail はどちらもメール転送エージェントの機能 を提供します。したがって、これは仮想パッケージ「mail-transport-     agent」を提供するということになります。どちらかがインストールされ ていれば、任意のプログラムの mail-transport-agent がインストール されていることへの依存はこの仮想パッケージの存在により満たされま す。 Debian では、同一の仮想パッケージを提供するパッケージが一つのシス テムに複数インストールされている場合に、システム管理者が望ましい パッケージとしてその一つを選べる仕組みを提供しています。関連する     コマンドは update-alternatives で、「あるユーザは mawk、別のユー ザは gawk、あるユーザは vim、別のユーザは elvis、あるユーザは trn、別のユーザは tin を好みます。Debian は多様性をどのようにサ ポートしますか?」で詳細に説明されています。 7.9. あるパッケージが他のパッケージに Depends、Recommends、Suggests、 Conflicts、Replaces、Breaks、Provides しているというのはどういう意味 ですか? Debian パッケージシステムには、システム上のプログラム B の存在と     どれだけ独立してプログラム A が動作できるのかというレベルを (単一 のフラグで) 示すように設計された、パッケージの様々な「依存関係」 があります。 * A を実行するためには B が絶対にインストールされていなければな らないなら、パッケージ A はパッケージ B に依存 (depends) して います。状況によっては、A は B が存在するだけでは不足で、B の バージョンにも依存しているということがあります。この場合、 バージョンの依存は通常下限で、指定されたバージョンと比べて B のもっと新しい任意のバージョンに A が依存しているという意味に なります。 * A には B により提供される機能もないとほとんどのユーザが使わな いだろう、とパッケージメンテナが判断した場合、パッケージ A が パッケージ B を推奨 (recommends) します。 * A の機能に関連する (通常、機能を拡張する) ファイルを B が収録 している場合、パッケージ A がパッケージ B を提案 (suggests) します。 * そのシステムに B がインストールされていると A が動作しない場     合、パッケージ A がパッケージ B と衝突 (conflicts) していま す。ほとんどの場合衝突は B にあるものをもっと改善したファイル を A が収録する場合です。「Conflicts」は「replaces」とよく組 み合わされています。 * B によりインストールされたファイルが削除されるあるいは (場合 により) A のファイルで上書きされる場合、パッケージ A がパッ ケージ B を置き換え (replaces) ます。 * 一つのシステム上で両方のパッケージを同時に設定することができ ないとき、パッケージ A はパッケージ B を壊し (breaks) ていま す。そのシステム上で他方が既にインストール、設定されていると パッケージ管理システムはインストールを拒否します。 * B のファイルや機能が全て A に盛り込まれているとき、パッケージ A はパッケージ B を提供 (provides) しています。この仕組みによ り、ディスク容量の限られているユーザにパッケージ A の実際に必 要な部分だけを取得できる方法を提供しています。 各条件の使い方についてもっと詳細な情報が Debian ポリシーマニュア     ル 7.2 節「バイナリ依存」にあります。「Debian システム上の、ある いは Debian システム用の文書は他にどんなものがありますか?」を見て ください。 7.10. Pre-Depends とは何ですか? 「Pre-Depends」は特別な依存です。ほとんどのパッケージで dpkg は対 象パッケージのアーカイブファイル (つまり .deb ファイル) をその ファイルがシステム上に存在する依存の有無とは無関係に展開します。     展開というのは、簡単に言うと dpkg はファイルシステムにインストー ルしようとしたアーカイブファイルからファイルを抽出し、配置しま す。パッケージがシステム上の他のパッケージの存在に依存している場 合、dpkg は他のパッケージがインストールされるまで (「configure」 操作の実行による) インストールの完了を拒否します。 しかし、特定の依存が解決されるまで dpkg が展開すら拒否するパッ ケージもあります。こういったパッケージは何か他のパッケージの存在 に「事前依存 (Pre-depend)」しているということになります。Debian     プロジェクトはこの仕組みを提供して、パッケージを展開する順序が重 要な場合にシステムを a.out 形式から ELF 形式に安全にアップグレー ドする方法をサポートしました。他に、例えば一定以上の優先度で LibC に依存しているパッケージ等で、規模の大きなアップグレードにおいて この方法が有用な状況があります。     繰り返しになりますが、もっと詳細な情報がポリシーマニュアルにあり ます。 7.11. パッケージ状態の unknown、install、remove、purge、hold というの は何ですか? こういった「要求 (want)」フラグはユーザがパッケージについてどう要     求したのか (ユーザが直接 dpkg/apt/ aptitude を実行で示されます) を示します。     それぞれの意味は: * unknown - そのパッケージの要求をユーザが示したことがない * install - そのパッケージのインストールやアップグレードをユー ザが要求した * remove - そのパッケージの削除をユーザが要求した。ただし、既存     の設定の削除は望まなかった * purge - そのパッケージの設定も含めた完全削除をユーザが要求し た * hold - そのパッケージを処理しないことをユーザが要求した、つま り現行バージョンを今の状態で維持することを望んでいる 7.12. パッケージを保留 (hold) しておく方法は?     パッケージを保留 (hold) しておく方法は dpkg、apt、aptitude で3つ あります。     dpkg では、パッケージ選択一覧をエクスポートする必要があります:     dpkg --get-selections \* > selections.txt     それからできたファイル selections.txt を編集し、保留 (hold) した いパッケージがある行を変更します。例えば libc6 の場合     libc6 install     から     libc6 hold     に変更してファイルを保存し、dpkg データベースに読ませます:     dpkg --set-selections < selections.txt     apt では、パッケージの保留 (hold) は     apt-mark hold package_name     保留 (hold) の解除は     apt-mark unhold package_name     aptitude では、パッケージの保留 (hold) は     aptitude hold package_name     保留 (hold) の解除は     aptitude unhold package_name 7.13. ソースパッケージをインストールする方法は? Debian ソースパッケージを実際に「インストール」することはできま     せん、生成するバイナリパッケージをビルドしようとするディレクトリ に展開するだけです。 Source packages are distributed on most of the same mirrors where     you can obtain the binary packages. If you set up your APT's sources.list(5) to include the appropriate "deb-src" lines, you'll be able to easily download any source package by running     apt-get source foo を実行することで任意のソースパッケージを簡単にダウンロードできま す。ソースパッケージの実際のビルドを支援するため、Debian ソース パッケージはビルド依存 (Build-Dependencies) という仕組みを提供し     ています。これは、ソースパッケージのメンテナがそのパッケージをビ ルドするのに必要となる他のパッケージの一覧を維持しているというこ とです。これがどれくらい有用なのか確認するには、ソースをビルドす る前に     apt-get build-dep foo     を実行してください。 7.14. ソースパッケージからバイナリパッケージをビルドする方法は? 望ましいのは様々なラッパーツールを使う方法です。devscripts ツール     を利用する方法を示します。このパッケージがインストールされていな い場合はインストールしてください。     まずソースパッケージを取得します:     apt-get source foo     次にソースツリーを変更します:     cd foo-*     必要なビルド依存 (Build-Dependencies) があればインストールします:     sudo apt-get build-dep foo 自分のビルドに専用のバージョンを作成します (そうすることで今後     Debian 自体から新しいバージョンがリリースされたときに混乱を招かず に済みます):     dch -l local 'Blah blah blah'     それからパッケージをビルドします:     debuild -us -uc     全て予定通りに進んでいれば、これで     sudo dpkg -i ../*.deb を実行することでパッケージをインストールできるようになっているは     ずです。手作業で行いたいけれども devscripts を使いたくない場合は 以下の手順を追ってください。 ソースをコンパイルするには foo_*.dsc、foo_*.tar.gz、foo_*.diff.gz     が全て必要となります (注意: Debian 生まれの一部のパッケージには .diff.gz がないものがあります)。     (「ソースパッケージをインストールする方法は?」を) 取得できたら、 dpkg-dev パッケージがインストールされていればコマンド     dpkg-source -x foo_version-revision.dsc     を実行するとパッケージを foo-バージョンというディレクトリに抽出し ます。     パッケージをただコンパイルしたいだけなら、foo-バージョンディレク トリに移動してコマンド     dpkg-buildpackage -rfakeroot -b     を実行してパッケージをビルドし (これには fakeroot パッケージも必 要となることに注意してください)、     dpkg -i ../foo_version-revision_arch.deb     を実行して新しくビルドしたパッケージをインストールします。 7.15. Debian パッケージを自分で作成する方法は? もっと詳細な説明については、maint-guide パッケージまたは https:// www.debian.org/doc/devel-manuals#maint-guide (https:// www.debian.org/doc/devel-manuals#maint-guide) から利用できる新     メンテナガイドや debmake-doc パッケージまたは https:// www.debian.org/doc/devel-manuals#debmake-doc (https:// www.debian.org/doc/devel-manuals#debmake-doc) から利用できる Debian メンテナ向けガイドを読んでください。 第8章 Debian パッケージ管理ツール 8.1. Debian はパッケージ管理にどんなプログラムを提供していますか? Debian パッケージ管理に利用できるツールは、視覚的あるいはテキスト ベースのインターフェイスを備えたものからパッケージのインストール     に利用される低レベルツールまで複数あります。利用できるツールはす べて適切に機能するために低レベルツールに依存しており、複雑さを軽 減するために存在しています。 aptitude や synaptic といった高レベルのパッケージ管理ツールが apt     に依存し、その apt 自体はそのシステムでのパッケージ管理について dpkg に依存していることを理解しておくのは大切です。 Debian パッケージ管理ユーティリティのさらなる情報については、 Debian リファレンス (https://www.debian.org/doc/manuals/ debian-reference/) の第2章 Debian パッケージ管理 (https://     www.debian.org/doc/manuals/debian-reference/ch02.en.html) を見て ください。この文書は様々な言語や形式のものが利用できます。DDP ユーザ用マニュアルの Debian リファレンスの項目 (https:// www.debian.org/doc/user-manuals#quick-reference) を見てください。 8.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 (「Debian preinst、postinst、prerm、postrm スクリプトとは何ですか?」参照) スクリプトを実行します。     * 既に展開されているパッケージを設定: dpkg --configure foo。こ の操作にはパッケージ付属の postinst (「Debian preinst、 postinst、prerm、postrm スクリプトとは何ですか?」参照) スクリ プトを実行するという特徴があります。また、このパッケージの conffiles 内のファイル一覧の更新も行います。「configure」操作 は Debian アーカイブファイル (例えば foo_VVV-RRR.deb) ではな くパッケージ名 (例えば foo) を引数に取ることに注意してくださ い。 * Debian アーカイブから「blurf」という単一のファイル (または「 blurf*」という名のファイル群) を抽出: dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf - blurf* * パッケージを削除 (設定ファイルは残す): dpkg --remove foo * パッケージを削除 (設定ファイルも削除): dpkg --purge foo * パッケージのインストール状態に文字列 (または正規表現)「foo*」 を含むものを表示: dpkg --list 'foo*' 8.1.2. APT APT、進化したパッケージツール (Advanced Package Tool) は Debian パッケージシステムへの進化したインターフェイスで apt-get プログラ ム順を提供します。パッケージの検索、管理用コマンドラインツール、     情報参照用には libapt-pkg ライブラリの全機能への低レベルアクセス 手段を提供します。さらなる情報については/usr/share/doc/apt-doc/ guide.html/index.html にあるユーザーズガイドを見てください (apt-doc パッケージをインストールする必要があるでしょう)。 Debian Jessie 以降では、apt-get 及び apt-cache のよく使われる一部 のコマンドについては新しい apt バイナリを経由する代替が用意されて います。これは apt-get update、apt-get install、apt-get remove、     apt-cache search、apt-cache show といった一部の人気コマンドが単に apt を経由して apt update、apt install、apt remove、apt search、 apt show でもできるようになったということです。以下が新旧コマンド の概要となります。 apt-get update -> apt update apt-get upgrade -> apt upgrade apt-get dist-upgrade -> apt full-upgrade apt-get install package -> apt install package     apt-get remove package -> apt remove package apt-get autoremove -> apt autoremove apt-cache search string -> apt search string apt-cache policy package -> apt list -a package apt-cache show package -> apt show package apt-cache showpkg package -> apt show -a package apt ツールは apt-get と apt-cache の機能を統合し、デフォルトで小     洒落た色付きの出力形式を採用して人間にとって使いやすくなっていま す。スクリプトでの利用や細かな処理には apt-get の方が好ましいある いは必要となるでしょう。 apt-get provides a simple way to retrieve and install packages from multiple sources using the command line. Unlike dpkg, apt-get does not understand .deb files, it works with the     packages proper name and can only install .deb archives from a source specified in /etc/apt/sources.list. apt-get will call dpkg directly after downloading the .deb archives^[5] from the configured sources.     apt-get のよくある使い方をいくつか示します: * システムが把握するパッケージ一覧を更新するには apt update (これは定期的に実行してパッケージ一覧を更新しておくべきです) * foo パッケージのその依存を全てインストールするには apt install foo * foo パッケージをシステムから削除するには apt remove foo * foo パッケージとその設定ファイルをシステムから削除するには apt purge foo     * 新しいバージョンが利用できるようになっている全パッケージの一 覧表示は apt list --upgradable * システムにあるパッケージをすべて (余計なパッケージのインス トールやパッケージの削除は行わずに) アップグレードするには apt upgrade * システム上にあるパッケージをすべてアップグレードし、パッケー ジのアップグレードに余計なパッケージのインストールやパッケー ジの削除が必要な場合は apt full-upgrade (アップグレードの際に新しい依存を満たすのに余分なパッケージを インストールする必要がある場合、コマンド upgrade ではバー ジョンが古くなっているインストール済みパッケージを維持しま す。full-upgrade コマンドはあまり保守的ではありません。)     パッケージを変更するコマンドの実行には root でログインしている必 要があることに注意してください。 apt-get は現在、推奨される (recommended) パッケージをデフォルトで インストールすることと、その堅牢性から、コンソールからのシステム     のインストールやシステムの規模の大きなアップグレードを行うのに望 ましいパッケージ管理プログラムとなっていることに注意してくださ い。 apt ツール群にはパッケージ一覧に対して検索を行う apt-cache ツール も収録されています。これを使って簡単なテキストや正規表現を照会し     たり、あるいはパッケージ管理システム内の依存関係を照会すること で、特定の機能を提供するパッケージを検索することができます。 apt-cache のよくある使い方をいくつか示します: * 説明文に単語を含むパッケージを探す: apt search 単語 * パッケージの詳細な情報を表示するには: apt show package     * 指定したパッケージが依存しているパッケージを表示: apt-cache depends package * そのパッケージの利用可能バージョンの詳細な情報やそれが逆依存 しているパッケージを表示: apt-cache showpkg package For more information, install the apt package and read apt(8),     apt-get(8), sources.list(5) and install the apt-doc package and read /usr/share/doc/apt-doc/guide.html/index.html. 8.1.3. aptitude aptitude は apt パッケージ管理基盤のフロントエンドを提供する Debian GNU/Linux システム用パッケージ管理プログラムです。aptitude     は curses ライブラリを使ったテキストベースのインターフェイスで す。操作は視覚的インターフェイスかコマンドラインから行うことがで きます。 aptitude を使うと管理タスクを迅速、簡単に実行できます。ユーザが     パッケージ一覧を見たり、パッケージのインストールやアップグレー ド、削除といったパッケージ管理作業を行うことが可能になります。     aptitude は apt-get の機能、さらに多数の機能を追加で提供します: * aptitude はパッケージの全バージョンへの簡単なアクセスを提供し ます。 * aptitude は「廃止された、またはローカルで作成されたパッケー ジ」の下に一覧を表示することで古くなっているソフトウェアの把 握を簡単にします。 * aptitude は特定のパッケージを検索して表示するパッケージを限定 する非常に強力なシステムを収録しています。mutt をよく理解して     いるユーザなら表現として mutt を思い付くのですぐ探せるでしょ う。 * aptitude は利用可能な定義済みタスクのインストールに利用するこ とができます。さらなる情報については「tasksel」を見てくださ い。 * aptitude の全画面モードでは su 機能が組み込まれ、通常のユーザ が実行できるようになっています。管理用の権限が実際に必要と なったときに su を呼び出し (root パスワードが設定されている場 合はそれを聞いてき) ます。 aptitude は、視覚的インターフェイス経由 (単純に aptitude で実行)     またはコマンドラインから直接実行することができます。利用するコ マンドライン書式は apt-get とかなり似ています。例えば foo パッ ケージをインストールするには aptitude install foo を実行します。     aptitude は日常のパッケージ管理をコンソールから行うのに望ましい パッケージ管理プログラムとなっていることに注意してください。     For more information, read the manual page aptitude(8) and install the aptitude-doc package. 8.1.4. synaptic synaptic はグラフィカルなパッケージ管理プログラムです。これを使う とソフトウェアパッケージのインストールやアップグレード、削除を ユーザにとってわかりやすい方法で行うことができます。aptitude が提     供している機能に加え、利用しているリポジトリ一覧を編集する機能や パッケージに関連する利用可能な全文書閲覧を支援する機能もありま す。さらなる情報については Synaptic ウェブサイト (https:// www.nongnu.org/synaptic/) を見てください。 8.1.5. tasksel 特定の作業を行いたい場合に、要件を満たす適切なパッケージ群を見つ けるのが困難なことがあります。Debian 開発者タスクを定義していま     す。タスクは全て特定の活動に関連する個々の Debian パッケージを集 めたものです。タスクは tasksel プログラムや aptitude 経由でインス トールすることができます。 Typically, the Debian installer will automatically install the task associated with a standard system and a desktop environment. The specific desktop environment installed will depend on the CD/ DVD media used, most commonly it will be the GNOME desktop     (gnome-desktop task). Also, depending on your selections throughout the installation process, tasks might be automatically installed in your system. For example, if you selected a language other than English, the task associated with it will be installed automatically too. 8.1.6. 他のパッケージ管理ツール 8.1.6.1. 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/ に抽出します。これは root ファイルシステムにパッケージをイン ストールすることなくディレクトリを限定してパッケージの内容を 調べるのに便利です。 * 制御情報ファイルをパッケージから抽出: dpkg-deb --control foo_VVV-RRR.deb tmp 単に dpkg-deb --extract を使って展開したパッケージは正常にインス     トールされていないことに注意してください。代わりに dpkg --install を使ってください。     More information is given in the manual page dpkg-deb(1). 8.2. Debian は実行中のプログラムを更新できると主張しています。これは どうやっているのでしょう?     Debian GNU/Linux システムのカーネル (ファイルシステム) では使用中 であってもファイルを置き換えることができます。 start-stop-daemon というプログラムも提供しています。これはブート 時にデーモンを開始、あるいはランレベルが変更された (例えばマルチ     ユーザからシングルユーザへの変更や halt) 時にデーモンを停止するの に使います。インストール用スクリプトがデーモンを収録する新しい パッケージをインストールするときに必要に応じて実行中のデーモンを 停止、再起動するのに同一のプログラムを使います。 8.3. Debian システムにどのパッケージが既にインストールされているのか 調べる方法は?     Debian システムにインストールされている全パッケージの状態を確認す るには、コマンド     dpkg --list を実行します。こうすると各パッケージについて、2文字の状態を示す記     号 (ヘッダで説明されています)、パッケージ名、インストールされてい るバージョン、簡単な説明を1行にまとめたものが表示されます。     「foo」で始まる全パターンに名前がマッチするパッケージの状態を調べ るには、コマンド     dpkg --list 'foo*'     特定のパッケージについてもっと詳しい報告を得るには、コマンド     dpkg --status パッケージ名 8.4. インストールされている、あるパッケージのファイルを表示する方法 は?     インストールされているパッケージ foo により提供されている全ファイ ルを列挙するには、コマンド     dpkg --listfiles foo     を実行します。インストール用スクリプトにより作成されたファイルは 表示されないことに注意してください。 8.5. 特定のファイルをどのパッケージが提供しているのか調べる方法はあり ますか?     foo という名のファイルを提供しているパッケージを見つけるには、以 下のどれかを実行します。 * dpkg --search ファイル名 これはインストールされているパッケージからファイル名を検索し ます。(これは (現在は) ファイルの拡張子が .list の全ファイル をディレクトリ /var/lib/dpkg/info/ から検索し、それを収録する パッケージの名前を全て表示するように出力を調整しているのと等 価です。 もっと高速な代替方法が dlocate ツールです。 dlocate -S ファイル名 * zgrep foo Contents-ARCH.gz This searches for files which contain the substring foo in their full path names. The files Contents-ARCH.gz (where ARCH represents the wanted architecture) reside in the major     package directories (main, non-free, contrib) at a Debian archive site (i.e. under /debian/dists/bullseye). A Contents file refers only to the packages in the subdirectory tree where it resides. Therefore, a user might have to search more than one Contents files to find the package containing the file foo. この方法には、現在そのシステムにインストールされていないパッ ケージに収録されているファイルを検索するという点で dpkg --search よりも優れています。 * apt-file search foo apt-file パッケージをインストールしていれば、これも上記と同 様、フルパス名に部分文字列や正規表現 foo を含むファイルを検索 します。これには上記の例と比べて、(root で) apt-file update を実行したときに /etc/apt/sources.list で定義されている全ソー スから自動的に取得しているためにこの Contents-ARCH.gz ファイ ルを取得する必要がないという利点があります。 8.6. 「foo」をアンインストールしたときに「foo-data」が削除されないの は何故ですか? 古く利用されていないライブラリパッケージが完全削除され ているか確認する方法はありますか? パッケージによってはプログラム (「foo」) とデータ (「foo-data」) (あるいは「foo」と「foo-doc」) に分割されています。Debian では ゲームやマルチメディアアプリケーション、辞書の多くがこのように     なっています。これは、プログラムをインストールせずに生データにア クセスしたいユーザがいるであろうことや、そのデータ自体はなくても プログラムは実行できる等の理由により「foo-data」をオプションにす るために導入されました。 ライブラリの取り扱いでも似た状況が発生します: こちらは通常、アプ リケーションを収録するパッケージが依存するためにインストールされ ます。アプリケーションパッケージを完全削除したときにライブラリ     パッケージはシステムに残るかもしれません。あるいは、アプリケー ションパッケージが例えば libdb4.2 に代えて libdb4.3 に依存するよ うになった場合、アプリケーションパッケージをアップグレードしたと きに libdb4.2 パッケージが残るかもしれません。 こういった場合、「foo-data」は「foo」に依存していないため、 「foo」パッケージを削除する際、ほとんどのパッケージ管理ツールで自 動的には削除されません。ライブラリパッケージでも同じです。これは     循環依存を避けるために必要です。ただし、パッケージ管理ツールに apt-get (「APT」参照) や aptitude (「aptitude」参照) を利用してい る場合は、インストールされているパッケージを自動的に追跡し、必要 としているパッケージがそのシステムに残っていないようなら削除を提 案します。 --------------------------------------------------------------------- ^[5] Notice that there are ports that make this tool available     with other package management systems, like Red Hat package manager, also known as rpm 第9章 Debian システムを最新に保つ Debian の目標の一つは継続的にアップグレードできる手段や安全なアッ プグレードプロセスを提供することです。新しいリリースへのアップグ     レードを円滑に進められるようにするために常に全力を尽くします。 アップグレードプロセスにおいて重要な注意事項がある場合、そのパッ ケージはユーザに注意喚起し、その際は起こりうる問題の解決方法も提 供することがよくあります。 特定のアップグレードについて詳細を説明しているリリースノートにも 目を通しておくべきです。これは https://www.debian.org/releases/     stable/releasenotes (https://www.debian.org/releases/stable/ releasenotes) の Debian ウェブサイトにあり、Debian CD や DVD、 Blu-Ray ディスクにも収録されています。 9.1. Debian システムを現行版に維持する方法は? One could simply visit a Debian archive site, then peruse the directories until one finds the desired file, and then fetch it, and finally install it using dpkg. Note that dpkg will install     upgrade files in place, even on a running system. Sometimes, a revised package will require the installation of a newly revised version of another package, in which case the installation will fail until/unless the other package is installed. Debian の展開はとても速いため、多数の人がこのやり方では時間がかか りすぎることをわかっています。標準的に、新しいパッケージが毎週10     以上アップロードされています。この数字は新しい主要リリース直前に はもっと大きくなります。この殺到している状況に対応するためには、 多くの人はもっと自動化された方法を好みます。複数の異なるパッケー ジがこの目的のために利用できます: 9.1.1. aptitude     aptitude は Debian GNU/Linux システム用の推奨されるパッケージ管理 フログラムで、「aptitude」で説明しています。 aptitude を使ってアップグレードできるようにするには、/etc/apt/     sources.list ファイルを編集して準備する必要があります。Debian の 最新の安定版 (stable) にアップグレードしたい場合は恐らくこれに似 たソースを使うことになるでしょう:     deb http://ftp.jp.debian.org/debian/ stable main contrib ftp.jp.debian.org (日本にあるミラー) の部分はもっと近くて速い     Debian ミラーがあればその名前に置き換えてください。さらなる情報に ついては、ミラー一覧 https://www.debian.org/mirror/list (https:// www.debian.org/mirror/list) を見てください。 あるいは、httpredir.debian.org の転送サービスを使う方法もありま     す。このサービスの狙いは Debian ミラー選択の問題を解消することで す。ユーザの地理的な位置やその他の情報によりファイルの提供に最適 なミラーを選択します。この恩恵を活用するには     http://httpredir.debian.org/debian stable main contrib     More details on this can be found in the sources.list(5) manual page.     コマンドラインでシステムを更新するには     aptitude update     続いて     aptitude full-upgrade     を実行します。出てくる質問に全て回答するとシステムはアップグレー ドされます。 を実行します。aptitude は、ある Debian GNU/Linux リリースから別の リリースにアップグレードするために推奨するツールではないことに注 意してください。代わりに apt-get を使ってください。リリース間の     アップグレードの際は、リリースノート (https://www.debian.org/ releases/stable/releasenotes) に目を通すようにしてください。この 文書では前のリリースからアップグレードする際に推奨される手順や アップグレード前に考慮すべき既知の問題について詳細に説明していま す。     For details, see the manual page aptitude(8), and the file /usr/ share/aptitude/README. 9.1.2. apt-get、apt-cdrom     aptitude の代替としてAPTベースのコマンドラインツール apt-get があ ります (「APT」で前述しています)。 APTベースのパッケージ処理用コマンドラインツール apt-get はパッ     ケージを簡単、安全にインストール、アップグレードする方法を提供し ます。     apt-get を利用するには「aptitude」と同様に /etc/apt/sources.list ファイルを編集します。     それから     apt-get update     続いて     apt-get dist-upgrade Answer any questions that might come up, and your system will be     upgraded. See also the apt-get(8) manual page, as well as 「APT」 . パッケージのインストールに CD/DVD/BD を使いたい場合は apt-cdrom     を使えます。詳細については、リリースノートの「Adding APT sources from optical media」節を見てください。 パッケージを取得、インストールする時点では、/var ディレクトリ階層 にパッケージが置かれることに注意してください。パーティションを     オーバーフローさせないためには、apt-get clean や apt-get autoclean を使って余計なファイルを削除するかどこか別の場所に移動 することを忘れないようにしてください (参考: apt-move を使ってみま しょう)。 9.2. パッケージをアップグレードするためにシングルユーザモードに入る必 要はありますか? いいえ。パッケージは実行中のシステムであっても適切にアップグレー     ドされます。Debian には start-stop-daemon プログラムがあり、パッ ケージのアップグレード中に必要がある場合は実行中のプロセスを停 止、再起動します。 9.3. こういった .deb アーカイブファイルを全てディスク上に残しておく必 要はありますか? いいえ。ファイルをディスクにダウンロードしてそのパッケージをイン     ストールした後は例えば aptitude clean を実行してシステムから削除 できます。 9.4. システムに追加したパッケージの記録を残す方法は? いつ、どのパッ ケージにアップグレードや削除があったのか知りたいのですが!     --log-option を dpkg に渡すと dpkg は状態の変更や操作を記録するよ うになります。dpkg の呼び出し (例えば     2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4     ) とその結果 (例えば     2005-12-30 18:10:35 status installed hello 2.1.1-4     ) をどちらも記録します。dpkg が発動した操作を全て (aptitude のよ うなフロントエンドを使って行われた場合でも) 記録したい場合は     log /var/log/dpkg.log を /etc/dpkg/dpkg.cfg に追加します。作成されるログファイルが必ず     定期的にローテートされるようにしてください。logrotate を使ってい る場合、これには /var/log/dpkg {     missingok notifempty }     More details on dpkg logging can be found in the dpkg(1) manual page. aptitude は実行しようとしたパッケージのインストールや削除、アップ     グレードについて /var/log/aptitude に記録します。その操作の結果は このファイルには記録されないことに注意してください!     Another way to record your actions is to run your package management session within the script(1) program. 9.5. システムを自動的に更新することはできますか? はい。cron-apt を使うことができます。このツールは cron ジョブを     使ってシステムを一定周期で更新します。デフォルトでは、パッケージ 一覧を更新して新しいパッケージをダウンロードするだけで、インス トールは行いません。 注意: testing や unstable システムでパッケージを自動でアップグ     レードすることは勧められません。そうした場合、思いも寄らない挙動 や気付かないうちにパッケージを削除するといったことがあるかもしれ ません。 9.6. 複数のマシンがありますが、更新のダウンロードを一度だけにする方法 はありますか?     自分のネットワークに Debian マシンが複数ある場合、apt-cacher を 使って Debian システムを全て最新に保つと便利です。 apt-cacher はバックエンドからの Packages、Releases、Sources ファ イルの更新周期を制限して、どのファイルもプロキシからの実際のリク     エストとは無関係に一度だけ取得することにより Debian ミラーに要求 される帯域を減らします。apt-cacher は、プロキシに渡すリクエストを 元に自動的に Debian HTTP ミラーを構成します。     標準的なキャッシュ用プロキシを既に使っていて全システムでそれを利 用するように設定している場合はもちろん同じ効果が得られます。 第10章 Debian とカーネル 10.1. Debian 特有の調整を行わずにカーネルをインストール、コンパイルす ることはできますか?     はい。 難点が1つだけあります: Debian C ライブラリはカーネルヘッダの最新 の安定版 (stable) リリースでビルドされています。安定版 (stable) ブランチにあるものよりも新しいカーネルヘッダでプログラムをコンパ イルする必要がある場合は、ヘッダを収録するパッケージ     (linux-libc-dev) をアップグレードするか、展開した新しいカーネルツ リーから新しいヘッダを利用する必要があります。というのは、カーネ ルソースが /usr/src/linux にあるなら、コンパイル時に -I/usr/src/ linux/include/ をコマンドラインに追加する必要があるということで す。 10.2. 独自カーネルをビルドためにどんなツールを Debian は提供していま すか? 独自カーネルをビルドしたい (しないといけない) ユーザには、カーネ     ルビルドシステムの最近のバージョンを収録する Debian パッケージを 対象として利用することを奨めています。カーネルの設定後、単に     make deb-pkg を実行します。新しいカーネルパッケージはカーネルソースツリーの1段     上のディレクトリに作成され、dpkg -i でインストールすることができ ます。 最新のカーネル (や選択したカーネル) のソースコードは、     linux-source-バージョン (バージョンはカーネルのバージョン) パッ ケージが利用できない限り、ほとんどがお好みの Linux アーカイブサイ トからユーザが個別にダウンロードする必要があります。 10.3. モジュールを扱うために Debian が特別に用意しているものはありま すか? ブート時に手作業で読み込むモジュールを収録する設定ファイルは /etc     /modules にあります。しかしこのファイルを編集する必要があることは まれです。 Other module configuration is kept in the /etc/modprobe.d/     directory. More information about the format of those files can be found in the modprobe.conf(5) manual page. 10.4. 古いカーネルパッケージを安全に削除できますか? できるのならその 方法は? はい。linux-image-NNN.prerm スクリプトは現在実行中のカーネルが削     除しようとしているカーネルと同一のものなのか確認します。したがっ て、コマンド     dpkg --purge linux-image-NNN     を使ってカーネルイメージのパッケージを削除できます (もちろん NNN は削除するカーネルのバージョンと改訂番号に置き換えます)。 10.5. Debian 用の Linux パッケージについてのさらなる情報はどこで得ら れますか? 詳細な情報が Debian Linux Kernel Handbook (https://     kernel-team.pages.debian.net/kernel-handbook/) で保守されていま す。 第11章 Debian GNU/Linux システムの調整 11.1. プログラムが全て確実に同一の用紙サイズを使うようにする方法は? libpaper1 パッケージをインストールするとシステム全体のデフォルト     用紙サイズを聞いてきます。この設定はファイル /etc/papersize に残 されます。 Users can override the paper size setting using the PAPERSIZE     environment variable. For details, see the manual page papersize (5). 11.2. セキュリティ問題を発生させることなくハードウェア周辺機器へのア クセスを提供する方法は? /dev ディレクトリにある多数のデバイスファイルは事前に定義されたグ     ループのいくつかに所属しています。例えば /dev/sr0 は cdrom グルー プに属しています。 こういったデバイスの1つに特定のユーザがアクセスできるようにしたい     場合は、そのデバイスが属するグループにそのユーザを追加するだけで 済みます。つまり:     adduser ユーザ グループ     こうすることでデバイス上のファイルの権限を変更しなくてよくなりま す。 ユーザシェルや GUI 環境でこれを行った場合はそのグループ権の効果を     反映させるには一旦ログアウトして再びログインしなければなりま せん。自分が属するグループを確認するには groups を実行してくださ い。 udev の導入以降、ハードウェア周辺機器の権限を変更した場合、デバイ     スによってはシステム起動時に調整されることがあることに注意してく ださい。差し込んだハードウェア周辺機器でこれが起きた場合は /etc/ udev にある規則を調整する必要があるでしょう。 11.3. Debian のやり方で起動時にコンソール用フォントを読み込む方法は?     kbd パッケージがこれをサポートしています。/etc/kbd/config ファイ ルを編集してください。 11.4. X11 プログラムのアプリケーションデフォルトを設定する方法は? Debian の X プログラムはアプリケーションのリソースデータを /etc/ X11/app-defaults/ ディレクトリにインストールします。X アプリケー     ション全体を独自化したい場合、その独自化に関するファイルはここに 配置してください。ここに配置したものは設定ファイルとして扱うため アップグレードしてもその内容が維持されます。 11.5. How does a Debian system boot? Like all Unices, Debian boots up by executing the program init.     Like most Linux distributions, a default Debian system uses systemd as the implementation of init. Traditional System-V style init and other methods are also supported. ^[6] To control the order in which services are started, traditional     System-V style Unix systems use runlevels. These are replaced by targets under systemd. To display the default target to which systemd will bring the system, run the command     systemctl get-default During boot-up, systemd starts the services or other targets listed in the default target file /lib/systemd/system/ default.target. The files for these services and targets are     installed and the service is enabled during Debian package installation. If you specifically wish not to start a service during boot-up, instead of removing the corresponding package, you can run the command     systemctl disable service.service     using the name of the service file installed in /lib/systemd/ system (usually based on the name of the package). The service file /lib/systemd/system/rc-local.service provides an easy way to run customized scripts in the file /etc/rc.local     after boot-up, similar to what's offered on Debian systems running System-V style init. Beware: this script will fail if it tries to interact with the console such as asking for a user password or trying to clear the screen.     You can check the status of any service by the command     service package status     . To start or stop a service, run     service package start     and     service package stop . The service command works with any init system supported on a     Debian system, not just with systemd. If you however prefer to use the same command on any systemd-supported Linux system, for checking the status run     systemctl status package.service     to get the same information.     For more information on systemd for Debian, see https:// wiki.debian.org/systemd (https://wiki.debian.org/systemd) . 11.6. And how about Debian and traditional System V init? Debian supports booting using traditional System V init, via the sysvinit-core package. The configuration file for System V init (which is /etc/inittab) specifies that the first script to be     executed should be /etc/init.d/rcS. This script runs all of the scripts in /etc/rcS.d/ by forking subprocesses to perform initialization such as to check and to mount file systems, to load modules, to start the network services, to set the clock, and to perform other initialization. ブートプロセスの完了後、init はデフォルトランレベル (このランレベ     ルは /etc/inittab の id エントリで指定されています) で指定された ディレクトリにある開始スクリプトを全て実行します。ほとんどの System V 互換 Unix と同様、Linux にはランレベルが7つあります: * 0 (システムの停止)、 * 1 (シングルユーザモード)、     * 2から5 (様々なマルチユーザモード)、 * 6 (システムの再起動)。 Debian システムは id=2 で、マルチユーザ状態に入ったときのデフォル     トのランレベルが「2」であることを示し、/etc/rc2.d/ にあるスクリプ トが実行されます。 Debian は /etc/init.d/ にある各スクリプトの LSB ヘッダを使い、     insserv 経由で依存関係を基にしてブート順を決定し、さらに startpar を利用し、同時に平行してブートすることでブートプロセスを高速化し ています。 ディレクトリ群 /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 デーモンにシグナルを送り設定ファイルを再読込させます。     /etc/init.d/ スクリプトを呼び出すために invoke-rc.d を使うべきで はないことに注意してください。代わりに service を使うべきです。 11.7. And are there yet other ways of booting a Debian system? If you do like System V init, but don't like the /etc/rc?.d/*     links, you could install the file-rc package. That will convert the links into one single configuration file /etc/runlevel.conf instead.     If you like neither System V nor systemd, you might like openrc or runit or daemontools. 11.8. パッケージ管理システムは他のパッケージの設定ファイルを収録する パッケージをどのように扱いますか? 例えば Debian パッケージ群とローカルで生成した設定ファイル群から なるパッケージをインストールすることで新しいサーバを作成したい     ユーザがいます。これは通常良い方法ではありません。というのは、設 定ファイルが異なるパッケージにある場合、dpkg はそのことについて知 らず、最初のパッケージ「群」のどれかがアップグレードされたときに 競合する設定を書き込むかもしれません。 代わりに、当該 Debian パッケージ「群」の設定ファイルを変更する ローカルパッケージを作成します。そうすると dpkg その他のパッケー     ジ管理システムはそのファイルがローカル「システム管理者」により変 更されたことを理解し、そのパッケージのアップグレード時に上書きし ようとはしません。 11.9. パッケージによりインストールされたファイルを上書きして、異なる バージョンを代わりに使う方法は? システム管理者やローカルユーザが 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 を実行して自分でローカルでビルドしたプログラムを所定の位置に 移動します。     そのシステムで現在どの代替が有効になっているのか確認するには dpkg-divert --list を実行してください。     Details are given in the manual page dpkg-divert(8). 11.10. ローカルでビルドしたパッケージをパッケージ管理システムが認識す る利用可能パッケージ一覧で見られるようにする方法は?     コマンド     dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PATHPREFIX] > my_Packages     を実行してください。 * BIN-DIR は Debian アーカイブファイル (拡張子は通常「.deb」) が置かれるディレクトリです。 * OVERRIDE_FILE is a file that is edited by the distribution     maintainers and is usually stored on a Debian archive at indices/override.main.gz for the Debian packages in the "main" distribution. You can ignore this for local packages. * PATHPREFIX はオプションの文字列で、my_Packages ファイルを生成 するときに前に付加されます。     ファイル my_Packages をビルドできたら、コマンド     dpkg --merge-avail my_Packages     If you are using APT, you can add the local repository to your sources.list(5) file, too. 11.11. あるユーザは mawk、別のユーザは gawk、あるユーザは vim、別の ユーザは elvis、あるユーザは trn、別のユーザは tin を好みます。Debian は多様性をどのようにサポートしますか? 2つのパッケージが1つのプログラムの異なるバージョンを提供し、どち らも同一の主要機能を提供しているような状況がいくらかあります。     ユーザによっては習慣から、あるいはパッケージのユーザインターフェ イスが他方のインターフェイスよりもいくらか使いやすいという理由 で、どちらか一方を好むかもしれません。同一のシステムの別のユーザ は異なる選択をするかもしれません。 Debian は「仮想」パッケージシステムを使って、同一の基本機能を提供     するツールが複数ある場合に、システム管理者 (またはユーザ) に好み のものを選択させつつ、特定のパッケージを指定することなくパッケー ジの依存要求を満たすことができるようにしています。 例えばあるシステム上に2つの異なるバージョンのニュースリーダーが存 在するかもしれません。ニュースサーバパッケージはあるニュースリー ダーがそのシステムに存在することを「推奨」するかもしれません。し     かし、tin か trn のどちらを選択するかは個々のユーザに委ねたい。こ れは仮想パッケージ news-reader を提供する tin と trn パッケージの 両方を持っておくことで満たせます。起動するプログラムは、仮想パッ ケージの /etc/alternatives/news-reader というファイルから選択した ファイル、例えば /usr/bin/trn を指すリンクにより判断します。 単一のリンクでは代替プログラムのあらゆる用途に対応するには不十分 です。通常はマニュアルページや、もしかすると他の支援ファイルも選     択する必要があるかもしれません。Perl スクリプト update-alternatives が、指定されたパッケージに関連するファイルが システムのデフォルトとして確実に全て選択する方法を提供していま す。     例えばどの実行可能ファイルが「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/[名前] を指すシンボリックリンクで、[名     前]は2つ目の引数になります。3つ目の引数は /etc/alternatives/[名 前] が指すシンボリックリンクで、4つめの引数は優先度 (大きな値を指 示するとその代替は自動的に選択される可能性が高くなります) です。     追加した代替を削除する場合は、単純に以下を実行します:     update-alternatives --remove x-window-manager /usr/local/bin/wmaker-cvs --------------------------------------------------------------------- ^[6] In 2014, Debian changed its default init system from System V init to systemd. Debian 8 "jessie" in April 2015 was the first release to ship with systemd as default init. Four decisions (https://www.debian.org/devel/tech-ctte#status) of the Debian Technical Committee were involved: Bug #727708 (https:// lists.debian.org/20140211193904.GX24404@rzlab.ucr.edu) 2014-02-11: "The committee decided that the default init system for Linux architectures in jessie should be systemd." Bug #746715 (https://lists.debian.org/     20140801023630.GF12356@teltox.donarmstrong.com) 2014-08-01: "The technical committee expects maintainers to continue to support the multiple available init systems", and merge reasonable contributions. Bug #746578 (https://lists.debian.org/ 20141116001628.GO32192@teltox.donarmstrong.com) 2014-11-15: "The committee decided that systemd-shim should be the first listed alternative dependency of libpam-systemd instead of systemd-sysv." This decision made it easier to keep running a non-systemd Debian system. Bug #762194 (https://lists.debian.org/ 21592.61064.527547.410074@chiark.greenend.org.uk) 2017-11-04: "On automatic init system switching on upgrade" 第12章 Debian GNU/Linux のサポートを得る 12.1. Debian システム上の、あるいは Debian システム用の文書は他にどん なものがありますか? * 現行リリース向けインストール手順: https://www.debian.org/ releases/stable/installmanual (https://www.debian.org/ releases/stable/installmanual) 参照。 * The Debian GNU/Linux reference covers many aspects of system administration through shell-command examples. Basic tutorials, tips, and other information are provided for many different topics ranging from system administration to programming. debian-reference パッケージまたは https://www.debian.org/doc/ user-manuals#quick-reference (https://www.debian.org/doc/ user-manuals#quick-reference) から得られます。 * Debian ポリシーマニュアルはディストリビューションのポリシー要 件、つまり Debian アーカイブの構造や内容、またオペレーティン グシステムの設計上の問題等についてもいくらか言及しています。 これにはディストリビューションに収録するために各パッケージが 満たさなければならない技術的要件等があり、Debian のバイナリ及 びソースパッケージについての基本的な技術的側面にも言及してい ます。 debian-policy パッケージまたは https://www.debian.org/doc/ devel-manuals#policy (https://www.debian.org/doc/ devel-manuals#policy) から得られます。 * Documentation developed by the Debian Documentation Project. It is available at https://www.debian.org/doc (https:// www.debian.org/doc) and includes user guides, administration guides and security guides for the Debian GNU/Linux operating system. * インストールした Debian パッケージの付属文書: ほとんどのパッ     ケージには /usr/share/doc/パッケージに展開されたファイルがあ ります。 * Linux プロジェクトの文書: Debian パッケージ doc-linux は Linux Documentation Project (http://www.tldp.org/) による HOWTO や mini-HOWTO の最新版を全てインストールします。 * Unix 形式の「man」ページ: ほとんどのコマンドには元の Unix 「man」ファイル形式で書かれたマニュアルページがあります。例え ばコマンド「ls」のマニュアルページを見るには man ls を実行し てください。マニュアルページの検索、閲覧に関するさらなる情報 については、man man を実行してください。 新規 Debian ユーザの方は、多くの一般的システムコマンドの 「man」ページが + man プログラム自体とマニュアルページを操作するその他のプ ログラムを収録する man-db や + システムのマニュアルページを収録する manpages (「Debian は英語以外の言語をどのようにサポートしていますか?」参照) パッケージをインストールするまで利用できないことに注意し てください。 * GNU 形式の「info」ページ: 多数のコマンド、特に GNU ツールの ユーザ向け文書は、「man」ページではなく「info」ファイルの形で 利用可能で、GNU ツール info や、GNU Emacs から M-x info を実 行して、あるいはその他の Info ページビューアにより読むことが できます。 元の「man」ページに対する主な利点は、「info」ページはハイパー テキストシステムだということです。info は WWW を必要とせず、 平文テキストのコンソールから実行できます。これは Richard Stallman により設計され、WWW に先行していました。 WWW ブラウザやそれぞれ対応するパッケージから利用できる「dwww」、     「dhelp」、「doccentral」コマンド、あるいは「yelp」を使ってシステ ム上の多くの文書にアクセスできることに注意してください。 12.2. Debian について議論できるオンラインリソースはありますか? はい。実際、Debian がユーザに提供している主なサポート方法は電子 メールによる方法です。その詳細についていくらか触れ、他の有用なリ     ソースについてもいくらか言及します。さらに多くのリソースが Debian サポートのページ (https://www.debian.org/support) に列挙されてい ます。 12.2.1. メーリングリスト     Debian 関連のメーリングリスト (https://www.debian.org/ MailingLists/) は多数あります。 doc-debian パッケージがインストールされているシステムでは /usr/     share/doc/debian/mailing-lists.txt にメーリングリストの完全な一覧 があります。 Debian メーリングリストは debian-メーリングリストの主題の形式で命 名されています。例としては debian-announce、debian-user、 debian-news 等があります。メーリングリスト debian-メーリングリス トの主題の購読はどれも、debian-メーリングリストの主題     -request@lists.debian.org 宛てに、件名: (Subject:) ヘッダに 「subscribe」という語を入れてメールを送ってください。この方法を 使って購読、購読解除する場合は、宛先アドレスに -request を忘れず に付加してください。これを付加しない場合、そのメールはメーリング リスト自体に送られ、主張によっては紛糾や面倒なことになる可能性が あります。 WWW フォーム (https://www.debian.org/MailingLists/subscribe) を     使ってメーリングリストを購読できます。WWW フォーム (https:// www.debian.org/MailingLists/unsubscribe) を使ってメーリングリスト を購読解除することもできます。     何か問題が起きた場合、メーリングリスト管理者のメールアドレスは < listmaster@lists.debian.org> です。 メーリングリストは公開フォーラムです。メーリングリストに送られた メールは全て、公開アーカイブにも複製が置かれ、誰でも (購読してい なくても) 閲覧や検索ができるようになっています。機密情報や公開を 許可されないものをメーリングリストに決して送ることのないよう確認     してください。メールアドレスのようなものもこれに入ります。特に注 意することは、私達のメーリングリストに投稿したメールアドレスは迷 惑メール送信者の知るところとなり悪用されるという事実です。さらな る情報については、メーリングリストのプライバシーポリシー (https:/ /www.debian.org/MailingLists/#disclaimer) を見てください。 Debian メーリングリストのアーカイブは WWW https://     lists.debian.org/ (https://lists.debian.org/) 経由で利用できま す。 12.2.1.1. メーリングリスト行動規範とは何?     Debian メーリングリスト利用時は以下の規則に従ってください: * 迷惑メールを送らないでください。Debian メーリングリストにおけ る広告のポリシー (https://www.debian.org/MailingLists/#ads) を見てください。 * 批判はやめてください。行儀が良いことではありません。Debian を 開発している人は全て有志であり、時間や労力、資金を費やして Debian プロジェクトに集まっているのです。     * 下品な言葉を使わないでください。悪態をつくことを認めていない パケットラジオ経由でメーリングリストを受け取っている人もいる のです。 * Make sure that you are using the proper list. Never post your (un)subscription requests to the mailing list itself.^[7] * バグ報告時の注意事項については「Debian のバグを報告する方法 は?」節を見てください。 12.2.2. Web forum Debian User Forums (http://forums.debian.net/) provides web     forums on which you can submit questions about Debian and have them answered by other users. (It is not an officially part of the Debian project.) 12.2.3. Wiki 一般的な問題の解決方法やハウツー、ガイド、こつ、その他の文書が、     絶え間なく変更されている Debian Wiki (https://wiki.debian.org/) にあります。 12.2.4. メンテナ ユーザはメールを使って個々のパッケージメンテナに質問することがで     きます。xyz というパッケージのメンテナに連絡するには、 xyz@packages.debian.org 宛てにメールを送ってください。 12.2.5. Usenet ニュースグループ ユーザは Debian に限定しない質問について、comp.os.linux.* や linux.* という名の Linux USENET グループの1つに投稿すべきです。     Linux Usenet ニュースグループやその他 WWW 上の関連リソース一覧は 例えば Linux Online (https://www.linux.org/docs/usenet.html) や LinuxJournal (http://www.linuxjournal.com/helpdesk.php) サイト 等、複数あります。 12.3. Debian GNU/Linux の情報を手っ取り早く検索する方法はありますか?     Debian 関連文書を提示する検索エンジンは種々あります: * Debian WWW 検索サイト (https://search.debian.org/) 。 * Google グループ (https://groups.google.com/) : ニュースグルー プ用検索エンジン。 例えば他の人たちが Debian で使える NVIDIA グラフィックカード 用ドライバを探して経験したことを調べるには、フレーズ NVIDIA Linux ドライバを検索してみてください。そうするとこういった文 字列を含む投稿、つまりそういった話題について議論した人たちを     全て表示します。この検索文字列に Debian を追加すると、特に Debian に関連する投稿についても得ることができます。 * 適切な検索語を使っている限り、DuckDuckGo (https:// duckduckgo.com/) や Google (https://www.google.com/) 等、任意 の一般的なウェブ検索エンジンも使えます。 例えば文字列「evince」を検索すると、その制御ファイルの簡単な 説明欄ではなく、このパッケージのもっと詳細な説明を得られま す。 12.4. 既知のバグのログはありますか? 未解決の (あるいは閉じられた) 問題についての報告は公に利用できま     す: Debian は Debian 社会契約 (https://www.debian.org/ social_contract) で「私たちは問題を隠しません」と宣言し、そのよう にしています。 Debian GNU/Linux ディストリビューションにはバグ追跡システム (BTS)     があり、ユーザや開発者により報告されたバグの詳細を保管していま す。各バグには番号を付けて整理されます。対処されたものはそのよう に記録されます。     この情報の複製が https://www.debian.org/Bugs/ (https:// www.debian.org/Bugs/) にあります。 メールサーバがバグ追跡システムのデータベースにメールを経由してア     クセスする手段を提供しています。指示を取得するには、本文に 「help」と書いたメールを request@bugs.debian.org に送ってくださ い。 12.5. Debian のバグを報告する方法は?     Debian にバグを見つけた場合は Debian のバグ報告についての指示を 読んでください。指示は複数の方法で取得できます: * WWW から。指示は https://www.debian.org/Bugs/Reporting (https://www.debian.org/Bugs/Reporting) にあります。     * doc-debian パッケージがインストールされている Debian システム で。指示はファイル /usr/share/doc/debian/bug-reporting.txt に あります。 パッケージ reportbug を利用できます。これは報告プロセスを誘導し、 システム詳細についていくらか自動的に追加して、メッセージを適切な     アドレスにメールで送ります。報告対象のパッケージに対して既に報告 されているバグ一覧も表示するので、そのバグが以前に報告されている 場合は既存のバグ報告に追加情報を加えることができます。 自動化でのバグ報告の通知を待ちましょう。バグ追跡用の番号も自動的     に付けられ、バグのログに取り入れられて debian-bugs-dist メーリン グリストに転送されます。 ---------------------------------------------------------------------     ^[7] Use the debian-list-subject-REQUEST@lists.debian.org address for that. 第13章 Debian プロジェクトへの寄付 Donations (https://www.debian.org/donations) of time (to develop new packages, maintain existing packages, or provide user     support), resources (to mirror the package and WWW archives), and money (to pay for new testbeds as well as hardware for the archives) can help the project. See also How can you help Debian? (https://www.debian.org/intro/help) . 13.1. Debian メンバー/Debian 開発者になる方法は? Debian の開発は万人に開かれています。前のメンテナによる保守を「放     棄」された既存パッケージの保守や新しいパッケージの開発、文書の執 筆や翻訳作業、Debian ウェブサイトの支援、ユーザサポートを提供する ためには、適切な能力や学習意欲を持った新しいユーザが必要です。 Debian メンバーになるための説明は Debian ウェブサイトの新規メン     バーのコーナー (https://www.debian.org/devel/join/newmaint) にあ ります。 13.2. Debian プロジェクトにリソースを提供する方法は? プロジェクトはソフトウェアの大部分を地球全体で速く簡単にアクセス できるようにすることを目指しているため、ミラーは必要です。アーカ     イブ全体をミラーすることが望ましいのですがこれは絶対に必要だとい うことではありません。ディスク容量要件についての情報は Debian ミ ラーサイズ (https://www.debian.org/mirror/size) のページにアクセ スしてください。 ミラー作業はほとんどがスクリプトにより完全自動化で行われ、操作は     不要です。しかし、異常やシステムの変更が時々発生し、人手の介入が 必要となるときもあります。 インターネットへの高速な接続とディストリビューションの全体または     一部をミラーするリソースがあり、システムの定期的な保守を提供でき る (人がいる) 場合、 に連絡してく ださい。 13.3. Debian プロジェクトに資金提供する方法は? スポンサーからの寄付により Debian は、他にもありますがマシンやそ の他のハードウェアの保持、カンファレンスや開発スプリントの開催が     可能になります。さらなる情報については Debian 寄付 (https:// www.debian.org/donations) のページを見てください。このページでは 他の寄付方法も挙げています。 Debian プロジェクト開発のために重要な組織に個々の寄付ができます。     中心的な組織は合衆国の法人である Software in the Public Interest ですが他にもあります。 13.3.1. Software in the Public Interest (SPI) Software in the Public Interest (SPI) は IRS 501(c)(3) の非営利組     織で、合衆国を本拠としています。この組織の目的はフリーソフトウェ アの開発や配布です。 SPIはプログラマに対しては GNU General Public License または他の、     ソフトウェアの自由な再配布及び利用を許可するライセンスの採用を、 ハードウェア開発者に対しては文書を配布して当該製品向けのデバイス ドライバを作成できるようにすることを奨励しています。 SPIは多数のフリー及びオープンソースのプロジェクトの財政面のスポン     サーとしての役割を果たします。Debian プロジェクトは組織の創設時か ら関連プロジェクトです。     SPI には https://www.spi-inc.org/ (https://www.spi-inc.org/) から 連絡できます。 13.3.2. 他の組織 There are a number of organizations created in different countries that hold assets in trust for Debian. The donations page (https://www.debian.org/donations) lists the trusted organizations individuals can donate to. At the time of this     writing there are two of them: the Debian France Association (https://france.debian.net/) (in France), and debian.ch (https:// debian.ch/) (Switzerland and the Principality of Liechtenstein). Additional affiliate organizations in other countries are listed in Organizations (https://wiki.debian.org/Teams/Auditor/ Organizations) page in the Debian Wiki. 第14章商用製品での Debian GNU/Linux の再配布 14.1. Debian CD を作成、販売することはできますか? 進めてください。私達がリリースしたものは全て、その配布に許可を得 る必要がないので、ベータテストが終わり次第CD製作にかかれます。対     価を支払う必要は何ありません。もちろん全CD製作者が Debian プログ ラムのライセンスを守る必要があります。例えば多くのプログラムは GPL の下でライセンスされ、ソースコードの配布を要求します。 また、資金やソフトウェア、時間を Debian プロジェクトに寄付してく     れた CD 製作者一覧を公開し、ユーザにはそういった寄付した製作者か らの購入を奨励するので、寄付することは良い宣伝となります。 14.2. Debian はフリーではないソフトウェアを収録してパッケージ化するこ とはできますか? はい。Debian の主な構成要素は全てフリーソフトウェアですが、自由に     再配布できないプログラムのために non-free ディレクトリを提供して います。 CD製作者はソフトウェアパッケージ作者とのライセンス条件や二者間の 協定により、このディレクトリに置いたプログラムを配布できます。CD 製作者は他のソースから得たフリーではないソフトウェアを同一のCDで     配布することもできます。これは今に始まったことではありません。フ リー及び商用のソフトウェアは現在、多くの製作者により同一のCDで配 布されています。もちろんそれでもソフトウェア作者には自分の作った プログラムをフリーソフトウェアとしてリリースすることを奨励してい ます。 14.3. 「特定用途」向けの特別な Linux ディストリビューションを作成して います。この Linux システムの中核に Debian GNU/Linux を使ってその上に 自分のアプリケーションを追加することはできますか? はい。Debian 派生ディストリビューションは Debian プロジェクト自体 と密接な協力関係にあるものと外部団体によるものと、両方が作られて     います。Debian と共に作業するのに Debian Pure Blends (https:// www.debian.org/blends/) 基盤を利用できます。DebianEdu/Skolelinux (https://wiki.debian.org/DebianEdu/) はこういったプロジェクトの1 つです。 他の Debian 派生ディストリビューションが grml や LMDE (Linux Mint     Debian Edition)、Knoppix、Ubuntu 等既に複数、世に出ています。元の Debian GNU/Linux とは異なる層を対象としていますが、各製品で私達の 構成要素の多くが利用されています。 Debian は、開発者やシステム管理者が選択したファイルのローカル版を インストールすることで、他のパッケージのアップグレード時に上書き     されないようにできる仕組みも提供しています。これについては「パッ ケージによりインストールされたファイルを上書きして、異なるバー ジョンを代わりに使う方法は?」の質問で詳細に述べています。 14.4. 自分の商用プログラムを Debian「パッケージ」にして任意の Debian システムに手間無くインストールするようにできますか? すぐに進めてください。パッケージ用ツールはフリーソフトウェアで     す。パッケージはフリーソフトウェアかどうかを問わず全てインストー ルできます。 第15章 Debian の次期主要リリースに予定している変更 Debian プロジェクトでは新リリースごとにいくつか特定の議題に焦点を 当てるようにしています。これは「リリース目標」と呼んでいるもの     で、https://wiki.debian.org/ReleaseGoals/ (https:// wiki.debian.org/ReleaseGoals/) で全て説明しています。以下の節は古 くなっている可能性があることに注意してください。さらなる情報やリ リース目標の最新の状態については Wiki を参照してください。 15.1. システムの堅牢化     インストールしたあらゆるシステムで攻撃に対して堅牢、安全を確保す ることは Debian プロジェクトの目標です。成功例を挙げます: * 既知のセキュリティ問題に対する様々な保護を有効化するためのセ キュリティ堅牢化ビルドフラグ (https://wiki.debian.org/ja/ ReleaseGoals/SecurityHardeningBuildFlags) を付けてコンパイル することでプログラムのセキュリティを改善。     * デフォルトのシステム設定を改善することで (ローカルとリモート 両方に対して) 攻撃に対する脆弱さを軽減。 * 新しいバージョンのカーネルによってもたらされるセキュリティ機 能を有効化。 以上はどれも継続して行われるものです。1件目ではセキュリティ堅牢化 ビルドフラグによってスタック破壊や推測可能なメモリの値などの既知 の攻撃を回避しようとしています。対象は最低でも基本インストールの 一部となっている全パッケージと、2006年以降にセキュリティ勧告での     更新が必要だったパッケージです。この取り組みが始まってから、これ を書いている時点で約400のパッケージが修正されています。問題はすべ てBTSで追跡されています (https://bugs.debian.org/cgi-bin/ pkgreport.cgi?tag=goal-hardening;users= hardening-discuss@lists.alioth.debian.org) 。 15.2. 非英語ユーザのサポート拡大 Debian には既に、非英語ユーザに対する非常に良好なサポートがありま     す。「Debian は英語以外の言語をどのようにサポートしていますか?」 を見てください。 さらに多くの言語サポートや、プログラムや文書の翻訳を提供してくれ る人を見つけられることを期待しています。多くのプログラムや Debian     固有の文書で既に国際化をサポートしているため、必要なのはメッセー ジカタログの翻訳者となっています。しかし一部のプログラムでは、適 切に国際化されるのはこれからの作業です。 GNU 翻訳プロジェクト ftp://ftp.gnu.org/pub/gnu/ABOUT-NLS (ftp:// ftp.gnu.org/pub/gnu/ABOUT-NLS) は GNUプログラムの国際化を行い、デ スクトップ環境の GNOME や KDE など他のプロジェクトには独自の翻訳 チームが存在するものがあります。Debian での目標はこういったプロ     ジェクトによって行われた作業を置き換えたり繰り返したりすることで はなく、実のところこういったプロジェクトの翻訳者によって行われた 作業で Debian は恩恵を受けています。しかし、そういったプロジェク トの作業範囲にないプログラムが多数存在し、Debian でも翻訳されてい ません。     以前の Debian リリースで取り上げた議題: * debconf を使っている全パッケージでの国際化サポート: Debian 設 定管理を使っているパッケージはパッケージ設定時にユーザに向け て表示する全メッセージを翻訳できるようにしなければならない。 * パッケージ説明文の国際化サポート: パッケージ管理フロントエン ドを更新してパッケージの説明に翻訳済みのものを使うようにす     る。 * debian/changelog と debian/control に UTF-8 を使う。これによ り、例えばアジア圏の人名が changelog 中で正しく使えるようにな る。 * グラフィカルインターフェイスを使う必要のある一部言語の全面的 なサポートを含めた、Debian インストーラの国際化サポート。 15.3. Debian インストーラの改善     多くの作業が Debian インストーラに対して行われ、その結果大きな改 善が図られました。ここではその中から2点だけ触れます。 Microsoft Windows からのインストーラ開始: BIOS 設定を変更する必要 なくインストーラを Microsoft Windows から直接開始できるようになり     ました。CD-ROM や DVD-ROM、USB メモリを差し込むと自動実行プログラ ムが開始し、Debian インストーラを開始するプロセスを段階を追って提 示します。 15.4. もっと多くのアーキテクチャ 他のアーキテクチャでの完全な Debian システム。いくつかのアーキテ     クチャがリリースからは外されますが、最新の sid を使うことでインス トール、アップグレードできる可能性は残されていることに注意してく ださい。 15.5. もっと多くのカーネル Debian GNU/Hurd に加え、Debian は BSD カーネル、つまり FreeBSD     (https://www.debian.org/ports/kfreebsd-gnu/) にも移植されていま す。この移植版は AMD64 ("kfreebsd-amd64") と従来の Intel ("kfreebsd-i386") の両方で動作します。 第16章この FAQ についての一般情報 16.1. 著者 この FAQ の初版は J.H.M. Dassen (Ray) さんと Chuck Stickelman さんにより書かれ、保守されました。書き直された Debian GNU/Linux     FAQ の著者は Susan G. Kleinmann さんと Sven Rudolph さんです。そ の後 FAQ は Santiago Vila さん、さらにその後は Josip Rodin さんに より保守されました。現在のメンテナは Javier Fernandez-Sanguino さんです。     情報元の一部: * Bruce Perens (https://perens.com/) さんによる Debian-1.1 リ リース発表 * Ian Jackson (https://www.chiark.greenend.org.uk/~ijackson/) さんによる Linux FAQ * Debian メーリングリストアーカイブ (https://lists.debian.org/) * dpkg プログラマーズマニュアル及び Debian ポリシーマニュアル ( 「Debian システム上の、あるいは Debian システム用の文書は他に     どんなものがありますか?」参照) * 多数の開発者や有志、ベータテスター * 著者たちの当てにならない記憶 :-) * Choosing a Debian distribution FAQ (http:// KamarajuKusumanchi.github.io/choosing_debian_distribution/ choosing_debian_distribution.html) 、これは Kamaraju Kusumanchi さんが快く GPL でリリースしてくれたので新しい章と して収録することができました (3章Debian ディストリビュー ションの選択参照)     著者はこの文書の実現を支援してくれた全ての人に感謝します。     一切の保証を放棄します。商標は全てそれぞれの商標所有者に属しま す。 16.2. 意見 この文書へのコメントや追加は常に歓迎します。<     doc-debian@packages.debian.org> にメールを送るか debian-faq (https://bugs.debian.org/debian-faq) パッケージに対して wishlist でバグ報告を提出してください。 16.3. 入手先     この文書の最新版は https://www.debian.org/doc/FAQ/ (https:// www.debian.org/doc/FAQ/) の Debian WWW ページで見られます。 It is also available for download in plain text, HTML, and PDF     formats at https://www.debian.org/doc/user-manuals#faq (https:// www.debian.org/doc/user-manuals#faq) . Also, there are several translations there.     この文書は debian-faq パッケージで利用できます。翻訳版は debian-faq-de や debian-faq-fr その他のパッケージが利用できます。 The original XML files used to create this document are also available in debian-faq's source package, or in GIT at:     git@salsa.debian.org:ddp-team/debian-faq.git and https:// salsa.debian.org/ddp-team/debian-faq (https://salsa.debian.org/ ddp-team/debian-faq) . 16.4. 文書形式 This document was written using the DocBook XML DTD. This system     enables us to create files in a variety of formats from one source, e.g. this document can be viewed as HTML, plain text, TeX DVI, PostScript, PDF, or GNU info.