72
Debian GNU/Linux FAQ QKü/Debian FAQ Q+J> 0GS2 July 2014 . .£/Debian GNU/Linux +$&H/LK+>

Debian GNU/Linux FAQdebian.blog.bbiq.jp/201407/debian-faq-ja/debian-faq.ja.pdf · Debian GNU/Linux FAQ QłKü/Debian FAQ Qł+J>ˇ 0˝˘GS2 July 2014...ÜÜÜ .£ /Debian GNU/Linux

  • Upload
    hadung

  • View
    251

  • Download
    0

Embed Size (px)

Citation preview

Debian GNU/Linux FAQ著者一覧はDebian FAQ著者にあります

バージョン2 July 2014

概概概要要要

この文書はDebian GNU/Linuxについてよく聞かれる疑問に答えます。

著著著作作作権権権表表表示示示

Copyright © 1996-2013 by Software in the Public Interest, portions copyright © 2004, 2005, 2006 Kamaraju Kusumanchi

Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and thispermission 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 con-ditions for modified versions, except that this permission notice may be included in translations approved by the FreeSoftware Foundation instead of in the original English.

i

目目目次次次

1 定定定義義義ととと概概概要要要 1

1.1 このFAQは何? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Debian GNU/Linuxとは何? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 これでDebianが何なのかはわかった。。。ではLinuxとは何? . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4 DebianはGNU/Linuxだけ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.5 Debian GNU/Linuxと他のLinuxディストリビューションの違いは何?他のディストリビューションよりもDebianを選択すべき理由は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.6 DebianプロジェクトはFree Software FoundationのGNUプロジェクトにとってどういう存在? . . . . . . . . 3

1.7 Debianの発音とその意味は何? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Debian GNU/Linuxののの取取取得得得とととイイインンンススストトトーーールルル 5

2.1 Debianの最新のバージョンは何? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 「安定版(stable)」にパッケージのアップグレードはありますか? . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 Debianのインストール用ディスクはどこで/どうやって入手できますか? . . . . . . . . . . . . . . . . . . . . . 5

2.4 CD-ROMからDebianをどうやってインストールしますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.5 公式の安定版(stable)リリースCD-ROMに「frozen」や「unstable」へのシンボリックリンクがあるのは何故?このCDに入っているのは「安定版(stable)」だけだと思っていたのに! . . . . . . . . . . . . . . . . . . . . . 6

2.6 Debianをリモートのインターネットサイトから直接取得、インストールすることはできますか? . . . . . . . 6

2.7 他の手段でシステムのインストーラをブートできますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Debianデデディィィススストトトリリリビビビュュューーーシシショョョンンンののの選選選択択択 7

3.1 自分にはどのDebianディストリビューション(stable/testing/unstable)が合いますか? . . . . . . . . . . . . . 7

3.1.1 安定版(stable)をインストールするように勧められたけど安定版だとハードウェアが全然検出されない/機能しない。どうすればいい? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.1.2 異なるディストリビューションではパッケージのバージョンも異なりますか? . . . . . . . . . . . . . . 8

3.1.3 安定版(stable) ディストリビューションには相当古くなっているパッケージが収録されています。Kde、Gnome、Xorg、さらにはカーネルも。すごく古いです。これはどうして? . . . . . . . . . . 8

3.1.4 別のディストリビューションへの変更を決心したとして、それは可能ですか? . . . . . . . . . . . . . . 8

3.1.5 テスト版(testing)や不安定版(unstable)をインストールすべきですか? . . . . . . . . . . . . . . . . . . . 8

3.1.6 テスト版(testing)が壊れているということですがそれはどういう意味ですか? . . . . . . . . . . . . . . 9

3.1.7 テスト版(testing)が何ヶ月も壊れている可能性があるというのはどうして? 不安定版(unstable)に取り込まれた修正はテスト版(testing)にそのまま流れてくるのでは? . . . . . . . . . . . . . . . . . . . . . 9

3.1.8 管理者として注意が必要なのはどのディストリビューションですか? . . . . . . . . . . . . . . . . . . . . 10

3.1.9 新しいリリースができたら何が起きますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.1.10 Debianをインストールしたデスクトップ/クラスタが動作しているんですがどのディストリビューションを使っているのか確認する方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

目次 ii

3.1.11 現在安定版(stable)を追跡しています。これをテスト版(testing)や不安定版(unstable)に変更できますか?できるのなら方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1.12 現在テスト版(testing、jessie)を追っています。リリースされると何が起きますか?引き続きテスト版(testing)を追跡するのか、それともこのマシンは新しい安定版(stable)ディストリビューションを使うことになるのでしょうか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1.13 ややこしいですね。どれをインストールしたらいいんでしょうか? . . . . . . . . . . . . . . . . . . . . . 11

3.2 でもKnoppixやLinex、Ubuntuその他については? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.1 Knoppix/Linex/Ubuntu/. . . がDebianベースだということはわかりました。ハードディスクにインストールした後に「apt」パッケージツールを使えますか? . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.2 ハードディスクにKnoppix/Linex/Ubuntu/. . . をインストールしました。問題がありますがどうしたらいいでしょう? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.3 Knoppix/Linex/Ubuntu/. . . を使っていますがDebianを使いたくなりました。移行する方法はありますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 互互互換換換性性性ののの問問問題題題 13

4.1 Debian GNU/Linuxはどのハードウェアアーキテクチャ/システムで動作しますか? . . . . . . . . . . . . . . . 13

4.2 Debian GNU/Linuxではどのカーネルを実行しますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3 Debianは他のLinuxディストリビューションとどれくらい互換性がありますか? . . . . . . . . . . . . . . . . . 14

4.4 Debianと他のUnixシステムではどのくらいソースコードの互換性がありますか? . . . . . . . . . . . . . . . . 14

4.5 Debianパッケージ(「.deb」ファイル)をRed Hat/Slackware/. . . Linuxシステムで使うことはできますか?Red Hatパッケージ(「.rpm」ファイル)をDebian GNU/Linuxシステムで使うことはできますか? . . . . . . 15

4.6 Debianではないプログラムはどのようにインストールすべきですか? . . . . . . . . . . . . . . . . . . . . . . . 15

4.7 libtermcapを要求するプログラムをコンパイルできないのは何故ですか? . . . . . . . . . . . . . . . . . . . . . 15

4.8 AccelXをインストールできないのは何故ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5 Debianシシシススステテテムムムででで利利利用用用可可可能能能なななソソソフフフトトトウウウェェェアアア 17

5.1 Debian GNU/Linuxではどんな種類のアプリケーションや開発用ソフトウェアが利用できますか? . . . . . . 17

5.2 このソフトウェア全ては誰が書いたのですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.3 Debian用にパッケージ化されているプログラムの現在の一覧を得る方法はありますか? . . . . . . . . . . . . . 18

5.4 パッケージをビルドするための開発環境をインストールするにはどのようにしたらいいですか? . . . . . . . . 18

5.5 Debian GNU/Linuxに足りないものは何? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.6 プログラムをコンパイルしたときに「ld: cannot find -lfoo」メッセージが出るのは何故ですか? Debianライブラリパッケージにlibfoo.soファイルが無いのは何故ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.7 DebianはJavaを(どのように)サポートしていますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.8 Debianシステムを使っていることやそれがどのバージョンなのか確認する方法は? . . . . . . . . . . . . . . . 19

5.9 Debianは英語以外の言語をどのようにサポートしていますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.10 pineはどこですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.11 qmail/ezmlm/djbdnsはどこですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.12 Flash (SWF)用プレーヤーはどこですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.13 Google Earthはどこですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.14 VoIPソフトウェアはどこですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.15 Linuxで機能しない無線ネットワークカードを持っています。どうするべきですか? . . . . . . . . . . . . . . . 20

目次 iii

6 Debian FTPアアアーーーカカカイイイブブブ 21

6.1 Debianディストリビューションはいくつありますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.2 etchやlenny等という名前は一体何ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.2.1 他にはどんなコード名が過去に使われましたか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.2.2 このコード名は何に由来しているのですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.3 「sid」とは何ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

6.4 stableディレクトリには何がありますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

6.5 テスト版(testing)ディストリビューションには何が収録されていますか? . . . . . . . . . . . . . . . . . . . . . 23

6.5.1 「テスト版(testing)」はどういうものですか?どのように「凍結(freeze)」されますか? . . . . . . . . . 23

6.6 不安定版(unstable)ディストリビューションには何が収録されていますか? . . . . . . . . . . . . . . . . . . . . 23

6.7 Debian FTPアーカイブにあるこのディレクトリ群は一体何ですか? . . . . . . . . . . . . . . . . . . . . . . . . . 23

6.8 dists/stable/main以下にあるディレクトリは一体何ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6.9 ソースコードはどこにありますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6.10 poolディレクトリには何がありますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6.11 「incoming」とは何ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

6.12 apt対応リポジトリを用意する方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

7 Debianパパパッッッケケケーーージジジ管管管理理理シシシススステテテムムムののの基基基礎礎礎 27

7.1 Debianパッケージとは何ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

7.2 Debianのバイナリパッケージはどんな形式ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

7.3 Debianパッケージのファイルが長いのは何故ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

7.4 Debian制御ファイルとは何ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

7.5 Debian conffileとは何ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

7.6 Debian preinst、postinst、prerm、postrmスクリプトとは何ですか? . . . . . . . . . . . . . . . . . . . . . . . . 29

7.7 Essential、Required、Important、Standard、Optional、Extraパッケージとは何ですか? . . . . . . . . . . . . . . 30

7.8 仮想パッケージとは何ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

7.9 あるパッケージが他のパッケージにDepends、Recommends、Suggests、Conflicts、Replaces、Breaks、Providesしているというのはどういう意味ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

7.10 Pre-Dependsとは何ですか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

7.11 パッケージ状態のunknown、install、remove、purge、holdというのは何ですか? . . . . . . . . . . . . . . . . . . 31

7.12 パッケージを保留(hold)しておく方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

7.13 ソースパッケージをインストールする方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

7.14 ソースパッケージからバイナリパッケージをビルドする方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

7.15 Debianパッケージを自分で作成する方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8 Debianパパパッッッケケケーーージジジ管管管理理理ツツツーーールルル 35

8.1 Debianはパッケージ管理にどんなプログラムを提供していますか? . . . . . . . . . . . . . . . . . . . . . . . . . 35

8.1.1 dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

8.1.2 APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

8.1.3 aptitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

8.1.4 synaptic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

8.1.5 tasksel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

8.1.6 他のパッケージ管理ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

目次 iv

8.2 Debianは実行中のプログラムを更新できると主張しています。これはどうやっているのでしょう? . . . . . . 40

8.3 Debianシステムにどのパッケージが既にインストールされているのか調べる方法は? . . . . . . . . . . . . . . 40

8.4 インストールされている、あるパッケージのファイルを表示する方法は? . . . . . . . . . . . . . . . . . . . . . 40

8.5 特定のファイルをどのパッケージが提供しているのか調べる方法はありますか? . . . . . . . . . . . . . . . . . 40

8.6 「foo」をアンインストールしたときに「foo-data」が削除されないのは何故ですか?古く利用されていないライブラリパッケージが完全削除されているか確認する方法はありますか? . . . . . . . . . . . . . . . . . . . 41

9 Debianシシシススステテテムムムををを最最最新新新ににに保保保つつつ 43

9.1 Debianシステムを現行版に維持する方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

9.1.1 aptitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

9.1.2 apt-get、dselect、apt-cdrom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

9.1.3 aptitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

9.1.4 mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

9.1.5 dpkg-mountable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

9.2 パッケージをアップグレードするためにシングルユーザモードに入る必要はありますか? . . . . . . . . . . . . 45

9.3 こういった.debアーカイブファイルを全てディスク上に残しておく必要はありますか? . . . . . . . . . . . . . 45

9.4 システムに追加したパッケージの記録を残す方法は? いつ、どのパッケージにアップグレードや削除があったのか知りたいのですが! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

9.5 システムを自動的に更新することはできますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

9.6 複数のマシンがありますが、更新のダウンロードを一度だけにする方法はありますか? . . . . . . . . . . . . . 46

10 Debianとととカカカーーーネネネルルル 47

10.1 Debian特有の調整を行わずにカーネルをインストール、コンパイルすることはできますか? . . . . . . . . . . 47

10.2 独自カーネルをビルドためにどんなツールをDebianは提供していますか? . . . . . . . . . . . . . . . . . . . . . 47

10.3 ブート用フロッピーを作成する方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

10.4 Debianはモジュールを扱うための何か特別な方法を提供していますか? . . . . . . . . . . . . . . . . . . . . . . 48

10.5 古いカーネルパッケージを安全に削除できますか?できるのならその方法は? . . . . . . . . . . . . . . . . . . . 48

11 Debian GNU/Linuxイイインンンススストトトーーールルル後後後ののの調調調整整整 49

11.1 プログラムが全て確実に同一の用紙サイズを使うようにする方法は? . . . . . . . . . . . . . . . . . . . . . . . . 49

11.2 セキュリティ問題を発生させることなくハードウェア周辺機器へのアクセスを提供する方法は? . . . . . . . . 49

11.3 Debianのやり方で起動時にコンソール用フォントを読み込む方法は? . . . . . . . . . . . . . . . . . . . . . . . 49

11.4 X11プログラムのアプリケーションデフォルトを設定する方法は? . . . . . . . . . . . . . . . . . . . . . . . . . 49

11.5 ディストリビューションにより異なるブート手段になっているようですが、Debianではどうなっていますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

11.6 Debian ではブートプロセスの独自化にrc.local を使わないようですがどんな機能を提供しているのでしょう? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

11.7 パッケージ管理システムは他のパッケージの設定ファイルを収録するパッケージをどのように扱いますか? . 51

11.8 パッケージによりインストールされたファイルを上書きして、異なるバージョンを代わりに使う方法は? . . . 51

11.9 ローカルでビルドしたパッケージをパッケージ管理システムが認識する利用可能パッケージ一覧で見られるようにする方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

11.10あるユーザはmawk、別のユーザはgawk、あるユーザはvim、別のユーザはelvis、あるユーザはtrn、別のユーザはtinを好みます。Debianは多様性をどのようにサポートしますか? . . . . . . . . . . . . . . . . . . . . 52

目次 v

12 Debian GNU/Linuxのののサササポポポーーートトトををを得得得るるる 53

12.1 Debianシステム上の、あるいはDebianシステム用の文書は他にどんなものがありますか? . . . . . . . . . . . 53

12.2 Debianについて議論できるオンラインリソースはありますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

12.2.1 メーリングリスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

12.2.2 ウェブフォーラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

12.2.3 Wiki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

12.2.4 メンテナ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

12.2.5 Usenetニュースグループ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

12.3 Debian GNU/Linuxの情報を手っ取り早く検索する方法はありますか? . . . . . . . . . . . . . . . . . . . . . . 55

12.4 既知のバグのログはありますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

12.5 Debianのバグを報告する方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

13 Debianプププロロロジジジェェェクククトトトへへへののの寄寄寄付付付 57

13.1 Debianソフトウェアの開発者になる方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

13.2 Debianプロジェクトにリソースを提供する方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

13.3 Debianプロジェクトに資金提供する方法は? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

13.3.1 Software in the Public Interest (SPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

13.3.2 Free Software Foundation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

14 商商商用用用製製製品品品でででのののDebian GNU/Linuxののの再再再配配配布布布 59

14.1 Debian CDを作成、販売することはできますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

14.2 Debianはフリーではないソフトウェアを収録してパッケージ化することはできますか? . . . . . . . . . . . . . 59

14.3 「特定用途」向けの特別なLinuxディストリビューションを作成しています。このLinuxシステムの中核にDebian GNU/Linuxを使ってその上に自分のアプリケーションを追加することはできますか? . . . . . . . 59

14.4 自分の商用プログラムをDebian「パッケージ」にして任意のDebianシステムに手間無くインストールするようにできますか? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

15 Debianののの次次次期期期主主主要要要リリリリリリーーースススににに予予予定定定しししててていいいるるる変変変更更更 61

15.1 非英語ユーザのサポート拡大 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

15.2 ブートの高速化: 依存ベースのブート順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

15.3 Debianインストーラの改善 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

15.4 もっと多くのアーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

15.5 もっと多くのカーネル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

16 こここのののFAQにににつつついいいてててののの一一一般般般情情情報報報 63

16.1 著者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

16.2 意見 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

16.3 入手先 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

16.4 文書形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

目次 vi

1

章章章1

定定定義義義ととと概概概要要要

1.1 こここのののFAQははは何何何?

この文書はDebianディストリビューション(Debian GNU/Linuxその他)やDebianプロジェクトについてよく聞かれる疑問(その回答も!)を集めています。他の文書へのポインタで済ませることができるものについてはそのようにしています:この文書に外部文書から大々的に引用することはしません。Unix類似オペレーティングシステムについてのいくらかの知識を前提としている回答があることがわかるでしょう。前提とする予備知識はできるだけ少なく済むように努めます:初心者一般の疑問に対する回答は簡単なものにしています。

探しているものがこのFAQから見つけられない場合は‘Debianシステム上の、あるいはDebianシステム用の文書は他にどんなものがありますか?’ on page 53を確認してください。それでもわからないときは‘意見’ on page 63を参照してください。

1.2 Debian GNU/Linuxとととははは何何何?

Debian GNU/Linuxは独特のLinuxオペレーティングシステムディストリビューションですが、その上で動作する多数のパッケージを指すこともあります。

Debian GNU/Linuxは:

• 機機機能能能満満満載載載: Debianには現在37400超のソフトウェアパッケージが収録されています。どのパッケージをインストールかはユーザが選択できます。この目的のためのツールをDebian は提供しています。現在Debian で利用可能なパッケージの一覧や説明は任意のDebianミラーサイト(http://www.debian.org/distrib/ftplist)で探せます。

• 利利利用用用ややや再再再配配配布布布ををを自自自由由由にににででできききままますすす: ディストリビューションに首を突っ込んだり開発するために協会の会員資格や支払いを要求することはありません。正式にDebian GNU/Linuxの一部であるパッケージは全て、通常はGPL (GNUGeneral Public License)により指定される条件の下で自由に再配布できます。

Debian FTPアーカイブにはそれぞれのパッケージで指定される特定の条件の下で配布できる約187ソフトウェアパッケージ(non-freeやcontribセクションにあるもの)も収められています。

• 活活活動動動的的的: 約990 人の有志が新しい、改善したコードを絶えず提供していることで、Debian は急速に進化しています。FTPアーカイブは毎日二度更新されています。

ほとんどのLinuxユーザは例えばDebian GNU/LinuxのようなLinuxの特定のディストリビューションを使っています。建前としては、ユーザはインターネットや他のどこかからLinuxカーネルを取得して自分でコンパイルすることができます。それから同じ方法で多数のアプリケーションのソースコードを取得してプログラムをコンパイルし、システムにインストールします。複雑なプログラムではこのプロセスは時間がかかるだけでなくエラーを起こしやすいことがあります。それを避けるため、オペレーティングシステムやアプリケーションパッケージをLinux配布者から取得することを選択するユーザが多くいます。様々なLinux配布者を特徴づけるものはパッケージ化やインストール、ユーザのシステム上のアプリケーションパッケージ追跡に使うソフトウェアや手順、方法と、インストールや保守のために利用するツールや文書その他のサービスの調和です。

Debian GNU/Linux はフリーで高品質なUnix 互換オペレーティングシステムを作る有志による取り組みの成果で、アプリケーション一式を備えています。フリーのUnix 類似システムという構想はGNU プロジェクトが起源で、DebianGNU/Linuxをとても有用なものにする多数のアプリケーションはGNUプロジェクトにより開発されました。

章 1.定義と概要 2

Debian ではフリーにはGNU での意味があります(Debian フリーソフトウェアガイドライン(DFSG) (http://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を使ってその上に自分のアプリケーションを追加することはできますか?’ on page 59を見てください。

1.3 こここれれれでででDebianががが何何何なななのののかかかはははわわわかかかっっったたた。。。。。。。。。ででではははLinuxとととははは何何何?

一言で言えばLinuxはUnix類似オペレーティングシステムのカーネルです。元々は386 (以上)のPC向けに設計されました。現在ではLinuxは他の多くのシステムでも動作します。LinuxはLinus Torvaldsおよび世界中の多数のコンピュータ科学者により書かれました。

カーネル以外に、「Linux」システムには通常、

• Linux Filesystem Hierarchy Standard http://www.pathname.com/fhs/準拠のファイルシステム。

• その多くがGNUプロジェクトやFree Software Foundationにより開発されている広範なUnixユーティリティ。

があります。Linuxカーネルやこのファイルシステム、GNUやFSFによるユーティリティ、それ以外のユーティリティを組み合わせることでPOSIX (IEEE 1003.1)標準への準拠を実現しています。‘Debianと他のUnixシステムではどのくらいソースコードの互換性がありますか?’ on page 14を見てください。

Linux のさらなる情報については、Linux Online (http://www.linux.org/) によるWhat is Linux (http://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全般のさらなる情報についてはhttp://www.gnu.org/software/hurd/、Debian GNU/Hurdのさらなる情報についてはhttp://www.debian.org/ports/hurd/を見てください。

次に取りかかったのはBSDカーネルへの移植でした。NetBSDとFreeBSD両方のカーネルについて作業しています。

こういったlinux以外への移植版のさらなる情報についてはhttp://www.debian.org/ports/#nonlinuxを見てください。

1.5 Debian GNU/Linuxととと他他他のののLinuxデデディィィススストトトリリリビビビュュューーーシシショョョンンンののの違違違いいいははは何何何? 他他他のののデデディィィススストトトリリリビビビュュューーーシシショョョンンンよよよりりりもももDebianををを選選選択択択すすすべべべききき理理理由由由ははは?

他のLinuxディストリビューションとDebianの違いを特徴づける重要な特色は:

自自自由由由: Debian 社会契約(http://www.debian.org/social_contract)で述べられているように、Debian は100% フリーを維持します。Debian は真にフリーであるソフトウェアを提供するということについて非常に厳格です。作業が「フリー」なのか判断するためのガイドラインはDebianフリーソフトウェア(http://www.debian.org/social_contract#guidelines)で提供されています。

章 1.定義と概要 3

Debianパパパッッッケケケーーージジジ保保保守守守シシシススステテテムムム: システム全体やその中の個々の構成要素は再構成の必要なく適切にアップグレード可能で、独自の設定ファイルを失うことや(ほとんどの場合)システムを再起動する必要はありません。現在のLinuxディストリビューションはほとんどがある種のパッケージ保守システムを利用可能です。Debianのパッケージ保守システムはその堅牢性に特化し、また差別化を図っています(‘Debianパッケージ管理システムの基礎’ on page 27参照)。

開開開かかかれれれたたた開開開発発発: 他のLinuxディストリビューションが個人や小規模な内輪の集団、あるいは商用ベンダーにより開発されているのに対し、Debianは唯一、多数の個人によりインターネット経由で協調しながら開発されている主要Linuxディストリビューションです。これはLinuxその他のフリーソフトウェアと同一の精神によるものです。

990人以上の有志であるパッケージメンテナが37400以上のパッケージについて作業し、Debian GNU/Linuxを改善しています。Debianの開発者のプロジェクトへの貢献は(ほとんどの場合)新しいアプリケーションを作成することだけではなく、既存のソフトウェアをパッケージにしたり、プロジェクトの標準に従って上流の開発者とやりとりしてバグを報告したり、ユーザへのサポートを提供することによっても行われます。貢献者になる方法に関する追加情報は‘Debianソフトウェアの開発者になる方法は?’ on page 57を見てください。

ユユユニニニバババーーーサササルルルオオオペペペレレレーーーテテティィィンンングググシシシススステテテムムム: Debian には37400 以上のパッケージ(http://packages.debian.org/stable/)が付属し、10 のアーキテクチャ(http://www.debian.org/ports/)で動作します。これは他のどのGNU/Linux ディストリビューションで利用可能なものをもはるかにしのぐものとなっています。提供されているソフトウェアの概要については‘Debian GNU/Linuxではどんな種類のアプリケーションや開発用ソフトウェアが利用できますか?’ on page 17、サポートしているハードウェア基盤の説明については‘Debian GNU/Linuxはどのハードウェアアーキテクチャ/システムで動作しますか?’ on page 13を見てください。

バババグググ追追追跡跡跡シシシススステテテムムム Debian開発者が地理的に分散していることで、バグについて迅速にやりとりし、バグを修正してシステムの開発を加速するためには、洗練されたツールが必要となります。ユーザはバグを決まった形式で送ることを奨励され、その結果WWWアーカイブやメール経由で迅速にアクセスできるようになります。このFAQのバグ記録の管理‘既知のバグのログはありますか?’ on page 55にある追加情報を見てください。

Debianポポポリリリシシシーーー: Debianには品質標準を広範囲にわたり説明しているDebianポリシーがあります。この文書では私達が保持するDebianパッケージの品質と標準を定めています。

これについての追加情報はDebian を選ぶ理由(http://www.debian.org/intro/why_debian)にある私達のウェブページを見てください。

1.6 Debian プププロロロジジジェェェクククトトトはははFree Software Foundation のののGNU プププロロロジジジェェェクククトトトにににとととっっってててどどどううういいいううう存存存在在在?

Debian システムはFree Software Foundation (http://www.gnu.org/) と特にRichard Stallman (http://www.stallman.org/) により初めて推進されたフリーソフトウェアの理想を土台に作られています。FSF の強力なシステム開発ツールやユーティリティ、アプリケーションもすべてDebianシステムの要です。

DebianプロジェクトはFSFとは別個の団体ですが、様々なプロジェクトで定期的に協力しています。FSFは私達のシステムを「Debian GNU/Linux」と呼ぶようにはっきりと要求し、私達はその要求に喜んで従っています。

FSFの長期目標はHurd (http://www.gnu.org/software/hurd/)をベースにしたGNUと呼ばれる、新しいオペレーティングシステムを開発することです。Debian はDebian GNU/Hurd (http://www.debian.org/ports/hurd/) というこのシステムについてFSFとともに作業しています。

1.7 Debianののの発発発音音音とととそそそののの意意意味味味ははは何何何?

プロジェクト名はDeb’-ee-en と発音し、Deb に短いe、最初の音節に強勢があります。この語はプロジェクトを創設したDebraとIan Murdockという名を短縮したものです。(辞書ではIanの発音にいくらかあいまいな表現が示されているようですが(!)、Ianはee’-enを好んでいます)

章 1.定義と概要 4

5

章章章2

Debian GNU/Linuxののの取取取得得得とととイイインンンススストトトーーールルル

インストール手順を示した公式の文書がDebian GNU/Linux インストールガイド(http://www.debian.org/releases/stable/installmanual)です。ここではDebian GNU/Linux の取得とインストールについて追加の注意をいくらか示します。

2.1 Debianののの最最最新新新のののバババーーージジジョョョンンンははは何何何?

現在Debian GNU/Linuxのバージョンは3種あります:

リリリリーーーススス7.0別別別名名名「「「安安安定定定版版版(stable)」」」デデディィィススストトトリリリビビビュュューーーシシショョョンンン、、、wheezyとととももも呼呼呼ばばばれれれままますすす これは安定した、十分にテストされたソフトウェアで、主なセキュリティや使い勝手について修正が取り入れられると変更されます。

「「「テテテススストトト版版版(testing)」」」デデディィィススストトトリリリビビビュュューーーシシショョョンンン、、、現現現在在在はははjessieとととももも呼呼呼ばばばれれれままますすす これは次の「安定版(stable)」としてリリースされるパッケージが置かれる場所です。「不安定版(unstable)」でいくらかテストされていますがまだ完全にリリース向きとはなっていないかもしれません。このディストリビューションは「安定版(stable)」よりは頻繁に更新されますが、「不安定版(unstable)」ほどではありません。

「「「不不不安安安定定定版版版(unstable)」」」デデディィィススストトトリリリビビビュュューーーシシショョョンンン これは現在開発中のバージョンです。継続的に更新されています。任意のDebian FTP サイトにある「不安定版(unstable)」アーカイブからパッケージを取得してシステムをアップグレードすることはいつでもできますが、そうした場合はそれまでのようにシステムが使える、安定していることを期待してはいけません-それが「不不不安安安定定定版版版(unstable)」と呼ばれる理由です!

さらなる情報については‘Debianディストリビューションはいくつありますか?’ on page 21を見てください。

2.2 「「「安安安定定定版版版(stable)」」」にににパパパッッッケケケーーージジジのののアアアッッップププグググレレレーーードドドはははああありりりままますすすかかか?

新機能は安定版(stable) リリースには追加されません。Debian バージョンがリリースされて「安定版(stable)」のタグが付けられると、そこにはセキュリティ更新だけを受けることになります。これはリリース後にセキュリティ脆弱性が見つかったパッケージだけがアップグレードされるということです。セキュリティ更新はすべてsecurity.debian.org(ftp://security.debian.org)経由で提供されます。

セキュリティ更新の提供の目的は一つ: セキュリティ脆弱性の修正を提供することです。通常のポイントリリースの手順を経ずに安定版(stable)リリースに予告無く変更を追加する手段ではありません。そのため、セキュリティ問題のあるパッケージの修正でソフトウェアをアップグレードすることはありません。Debianセキュリティチームは代わりに「安定版(stable)」で配布されたバージョンのソフトウェアに対する修正を必要に応じてバックボートします。

セキュリティサポートに関するさらなる情報については、セキュリティFAQ (http://www.debian.org/security/faq)やDebian Security Manual (http://www.debian.org/doc/manuals/securing-debian-howto/)を読んでください。

2.3 Debianのののイイインンンススストトトーーールルル用用用デデディィィスススクククはははどどどこここででで/どどどうううやややっっっててて入入入手手手ででできききままますすすかかか?

インストール用ディスクはDebianミラー(http://www.debian.org/mirror/list)のどれかから適切なファイルをダウンロードすることで入手できます。

章 2. Debian GNU/Linuxの取得とインストール 6

CD (やDVD)イメージに関するさらなる情報については、Debian GNU/LinuxのCD (http://www.debian.org/CD)を参照してください。

2.4 CD-ROMかかからららDebianをををどどどうううやややっっってててイイインンンススストトトーーールルルしししままますすすかかか?

CDからのDebianインストールは簡単です:システムをCDから起動するように設定し、CDを入れて再起動します。それでDebianインストーラがそのシステムで動作しているでしょう。さらなる情報についてはDebian GNU/Linuxインストールガイド(http://www.debian.org/releases/stable/installmanual)を見てください。

2.5 公公公式式式ののの安安安定定定版版版(stable) リリリリリリーーースススCD-ROM ににに「「「frozen」」」ややや「「「unstable」」」へへへのののシシシンンンボボボリリリッッックククリリリンンンクククがががあああるるるのののははは何何何故故故? こここのののCD ににに入入入っっっててていいいるるるのののははは「「「安安安定定定版版版(stable)」」」だだだけけけだだだととと思思思っっっててていいいたたたのののににに!

公式のDebian CDイメージにはその通り、シンボリックリンクが

/dists/frozen -> wheezy//dists/stable -> wheezy//dists/testing -> wheezy//dists/unstable -> wheezy/

となっていて、sources.listに

deb cdrom:[<cd ラベルにある名前>]/ unstable main [...]

のようなエントリがある場合に機能するようになっています。

こういったシンボリックリンクが存在することはそのイメージが「unstable」や「testing」その他だという意味ではありません。収録されているDebianのバージョンを調べるには/.disk/infoにあるCDラベルを見てください。この情報はCD上の/README.txtにもあります。

現在の「安定版(stable)」や「テスト版(testing)」リリースが何なのか調べるにはhttp://www.debian.org/releases/を読んでください。

2.6 Debianをををリリリモモモーーートトトのののイイインンンタタターーーネネネッッットトトサササイイイトトトかかかららら直直直接接接取取取得得得、、、イイインンンススストトトーーールルルすすするるるここことととはははででできききままますすすかかか?

はい。FTPサイトやそのミラーからダウンロードできるファイル群を使ってDebianのインストールシステムをブートできます。

小さなCD イメージファイルをダウンロードしてブート可能なCD を作成して基本システムをインストールし、残りはネットワーク越しでインストールすることができます。さらなる情報についてはhttp://www.debian.org/CD/netinst/を見てください。

もっと小さいフロッピーディスク用イメージファイルをダウンロードしてブート可能なディスケットを作成し、インストール手順を開始して残りのDebianシステムはネットワークから取得することができます。

2.7 他他他ののの手手手段段段でででシシシススステテテムムムのののイイインンンススストトトーーーラララをををブブブーーートトトででできききままますすすかかか?

はい。CDやDVD以外にフロッピーディスクやUSBメモリ、ハードディスクから直接、あるいはTFTPを使用したネットブートにより起動してDebian GNU/Linuxをインストールすることができます。複数のコンピュータにインストールする場合は完全に自動化したインストールも可能です。注意: この方法はどのコンピュータアーキテクチャでもサポートされているとは限りません。インストーラが起動すれば、残りのシステムはネットワーク越しにダウンロードしたり、ローカルメディアからインストールする、といったことができるようになります。さらなる情報についてはDebianGNU/Linuxインストールガイド(http://www.debian.org/releases/stable/installmanual)を見てください。

7

章章章3

Debianデデディィィススストトトリリリビビビュュューーーシシショョョンンンののの選選選択択択

Debianディストリビューションには多くの様々なものがあります。適切なDebianディストリビューションを選択することは重要な判断です。ここでは自分のシステムに最適なものを選択しようとするユーザにとって有用な情報をいくらか示し、その過程で出てくるであろう疑問に回答します。「Debianを選択すべき理由」ではなく「どのDebianディストリビューションか」を扱います。

利用可能なディストリビューションのさらなる情報については、‘Debianディストリビューションはいくつありますか?’on page 21を見てください。

3.1 自自自分分分にににはははどどどのののDebian デデディィィススストトトリリリビビビュュューーーシシショョョンンン(stable/testing/unstable) ががが合合合いいいままますすすかかか?

この回答は少々難解です。使用目的にかなり依存するためです。Debianを使っている友人に聞いてみるのも良いでしょう。ただ、それは自分で決断することができないと言っているわけではありません。実際には、この章を読み終えれば判断できるようになっているはずです。

• セキュリティや安定性がとにかく重要なら:安定版(stable)をインストールしてください。それで終わりです。これが最も好ましい方法です。

• デスクトップマシンにインストールする新規ユーザなら、安定版(stable)から始めてください。かなり古いソフトウェアもありますがバグの少ない環境です。少し自信がついたらもっと新しい不安定版(unstable)に切り替えるのは簡単です。

• いくらかLinux経験のあるデスクトップユーザで奇妙なバグに遭遇することを今もこの先も気にしないのであれば不安定版(unstable)を使ってください。不安定版(unstable)はすべて最新、最高のソフトウェアで、バグは通常迅速に修正されます。

• サーバ運用、特に強力な安定性が要求される、あるいはインターネットに公開される場合は安定版(stable)をインストールしてください。これは圧倒的に強力、安全な選択です。

以下の質問でここでの選択についての更なる詳細を(願わくば)提供します。このFAQ全体を読み終わってもなお決断できない場合は安定版(stable)ディストリビューションを選択してください。

3.1.1 安安安定定定版版版(stable)をををイイインンンススストトトーーールルルすすするるるよよようううににに勧勧勧めめめららられれれたたたけけけどどど安安安定定定版版版だだだとととハハハーーードドドウウウェェェアアアががが全全全然然然検検検出出出ささされれれななないいい/機機機能能能しししななないいい。。。どどどうううすすすれれればばばいいいいいい?

検索エンジンを使ってウェブを検索して安定版(stable) で使えた人がいないか調べてみてください。ほとんどのハードウェアが安定版(stable)で問題なく動作するはずです。ですが、あまりに新しすぎるハードウェアだと安定版(stable)では動作しないかもしれません。その場合は不安定版(unstable)をインストール、あるいは不安定版(unstable)にアップグレードしてみるのも良いでしょう。

ノートPCの場合、他にLinuxで動作させることのできた誰かがいないか調べるのに最適なウェブサイトhttp://www.linux-on-laptops.com/ があります。このウェブサイトはDebian 専門ではありませんが、それでもなお強大なリソースとなります。デスクトップ向けのこういったウェブサイトは知りません。

章 3. Debianディストリビューションの選択 8

他に、[email protected] にメールを送ってdebian-user メーリングリストで質問する選択肢があります。メッセージの投稿は購読しなくてもできます。アーカイブはhttp://lists.debian.org/debian-user/ 経由で読むことができます。メーリングリストの購読に関する情報はアーカイブと同じ所にあります。質問にはirc (http://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 テテテススストトト版版版(testing)ややや不不不安安安定定定版版版(unstable)をををイイインンンススストトトーーールルルすすすべべべきききででですすすかかか?

これはどちらかというと主観的な問題です。万能の回答はなく、不安定版(unstable) とテスト版(testing) のどちらにするかといったときに「助言できる」だけです。私の個人的な嗜好では安定版(stable)、不安定版(unstable)、テスト版(testing)の順です。判断材料として:

• 安定版(stable)は岩の様に安定しています。壊れていることはありません。

• テスト版(testing)は不安定版(unstable)ほど頻繁には壊れません。しかし壊れている時には修正されるまで時間がかかることになります。それには数日、時には何か月もかかることもあります。

• 不安定版(unstable)はよく変更され、ある時点では壊れている可能性があります。しかし、修正は多くの場合数日で取り込まれ、それは常にDebian用にパッケージされたソフトウェアの最新のリリースです。

章 3. Debianディストリビューションの選択 9

しかしテスト版(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)に流れてきます。そのしきい値は10日間としましょう。不安定版(unstable)のパッケージはそれに対するRCバグが報告されていないときにのみテスト版(testing)に移行されます。不安定版(unstable)のパッケージに対してRCバグが報告されていれば10日を経過してもテスト版(testing)に移行されません。

これはパッケージに何か問題があれば不安定版(unstable)を使っている人により発見され、テスト版(testing)に入る前に修正されるだろうという考え方です。そうしてテスト版(testing)はほとんどの期間使える状態を維持します。全体としては質問の条件においては優れた概念です。しかし物事はいつもそう単純ではありません。以下の状況を考えてみましょう:

• パッケージXYZに関心があるものとしてください。

• 6月10日にテスト版(testing)のバージョンがXYZ-3.6で不安定版(unstable)ではXYZ-3.7だと仮定しましょう。

• 10日後にXYZ-3.7は不安定版(unstable)からテスト版(testing)に移行します。

• なので6月20日にはテスト版(testing)と不安定版(unstable)の両方にXYZ-3.7が置かれることになります。

• テスト版(testing)ディストリビューションのユーザが新しいXYZパッケージが利用可能になったことに気付いて手元のXYZ-3.6をXYZ-3.7に更新したとしましょう。

• そして6月25日、テスト版(testing)か不安定版(unstable)を使っている誰かがXYZ-3.7にRCバグを発見してBTSに報告します。

• XYZのメンテナがこのバグを修正して不安定版(unstable)に6月30日にアップロードしたとします。ここではメンテナがバグを修正して新しいバージョンをアップロードするのに5日かかると仮定しています。この5は文字通りに捉えないでください。これは目前にあるRCバグの重要度によって変わってきます。

• 不安定版(unstable)のこの新しいバージョンXYZ-3.8は7月10日にテスト版(testing)に入る予定です。

• ところが7月5日、また別の誰かが別のRCバグをXYZ-3.8に発見します。

• XYZのメンテナがこの新しいRCバグを修正してXYZの新しいバージョンを5日後にアップロードしたとしましょう。

• そうすると7月10日の時点でテスト版(testing)にはXYZ-3.7、不安定版(unstable)にはXYZ-3.9があります。

• この新しいバージョンXYZ-3.9は7月20日にテスト版(testing)に入る予定になりました。

• 現在テスト版(testing) を使っていてXYZ-3.7 にはバグがあるためXYZ を使えるのは恐らく7 月20 日以降となります。これは結局XYZが約一か月間壊れて使えないということになります。

状況ははるかに複雑になりえます。もしXYZ が他の4 つのパッケージに依存していたら。ところてん式にテスト版(testing)ディストリビューションが何か月も使えない状態になる可能性があります。人為的に作成した前述の筋書きは実際に起きる可能性があります。とはいっても発生はまれです。

章 3. Debianディストリビューションの選択 10

3.1.8 管管管理理理者者者とととしししててて注注注意意意ががが必必必要要要なななのののはははどどどのののデデディィィススストトトリリリビビビュュューーーシシショョョンンンででですすすかかか?

多くの人が他のLinux ディストリビューションよりもDebian を選択する大きな理由の一つが必要となる管理作業がとても少ないという点です。望まれているのはただ動作するシステムです。一般論としてテスト版(testing) や不安定版(unstable)が管理者による絶え間ない保守を必要とするのに対し、安定版(stable)が必要とする保守作業は非常に少ないということが言えます。安定版(stable)を使っている場合に必要なのはセキュリティ更新を追い続けることだけです。テスト版(testing)や不安定版(unstable)を使っている場合はインストールしたパッケージで発見された新しいバグや取り入れられた新しいバグ修正や新機能について留意するのが良いでしょう。

3.1.9 新新新しししいいいリリリリリリーーースススがががででできききたたたららら何何何ががが起起起きききままますすすかかか?

この疑問はDebianディストリビューションを選択する材料にはなりません。しかし遅かれ早かれこの疑問が出てくるでしょう。

安定版(stable)ディストリビューションは現在wheezyです。次期安定版(stable)ディストリビューションはjessieと呼ばれます。新しい安定版としてjessieがリリースされたら何が起きるのか考えてみましょう。

• 旧安定版(oldstable) = squeeze、安定版(stable) = wheezy、テスト版(testing) = jessie、不安定版(unstable) = sid

• 不安定版(unstable)はリリースの有無に関係なく常にsidと呼ばれます。

• パッケージは絶えずsid (不安定版、unstable) からテスト版(testing) (つまりjessie) に移行しています。しかし安定版(stable) (つまりwheezy)のパッケージはセキュリティ更新を除いて同じものが残ります。

• いくらか時間が過ぎてテスト版(testing)が凍結(フリーズ)されます。この時点ではまだテスト版(testing)と呼ばれます。この時点で不安定版(unstable)からテスト版(testing)に新しいパッケージを移行させることはリリースクリティカル(RC)バグの修正を取り込む以外ではできなくなります。

• テスト版(testing)が凍結(フリーズ)されているときは、導入される新しいバグ修正はすべてリリースチームのメンバーにより手作業での確認が行われることになります。この作業を行うことによって凍結(フリーズ)されているテスト版(testing)に未知の深刻な問題が生まれないようにします。

• 「凍結(フリーズ)されているテスト版(testing)」のRCバグが0まで減らされる。

• 「凍結(フリーズ)されているテスト版(testing)」のRCバグがなくなると新しい安定版(stable)バージョンとしてリリースされます。この例では新しい安定版(stable)リリースはjessieと呼ばれます。

• この段階で旧安定版(oldstable) = wheezy、安定版(stable) = jessieとなります。この時点では安定版(stable)と「凍結(フリーズ)されているテスト版(testing)」の内容は同一です。

• 現在の不安定版(unstable)から新しいテスト版(testing)が分岐されます。

• パッケージがsid (不安定版、unstable)からテスト版(testing)に来るようになり、Debianコミュニティは次期安定版(stable)リリースに向けた作業を開始します。

3.1.10 Debianをををイイインンンススストトトーーールルルしししたたたデデデスススクククトトトッッップププ/クククラララスススタタタががが動動動作作作しししててていいいるるるんんんででですすすがががどどどのののデデディィィススストトトリリリビビビュュューーーシシショョョンンンををを使使使っっっててていいいるるるのののかかか確確確認認認すすするるる方方方法法法ははは?

ほとんどの状況でこれはとても簡単に確認できます。/etc/apt/sources.listファイルを見てみてください。これに似たようなエントリがあるでしょう:

deb http://ftp.us.debian.org/debian/ unstable main contrib

システムが現在追跡しているDebianディストリビューションを3つ目のフィールド(上記の例では「unstable」)が示しています。

lsb_releaseを使うこともできます(lsb-releaseパッケージで利用可能)。このプログラムを不安定版(unstable)システムで実行すると:

$ lsb_release -aLSB Version: core-2.0-noarch:core-3.0-noarch:core-3.1-noarch:core-2.0-ia32:core-3.0-ia32:core-3.1-ia32Distributor ID: DebianDescription: Debian GNU/Linux unstable (sid)Release: unstableCodename: sid

章 3. Debianディストリビューションの選択 11

のような出力が得られますが、常にそう単純とは限りません。システムによっては異なるディストリビューションを指す複数のエントリをsources.listファイルで指定しているかもしれません。管理者がパッケージによって異なるDebianディストリビューションを追っている場合にこういうことが起きます。apt-pinningとも呼ばれる機能です。こういったシステムでは混成したディストリビューションを使っていることになります。

3.1.11 現現現在在在安安安定定定版版版(stable)ををを追追追跡跡跡しししててていいいままますすす。。。こここれれれをををテテテススストトト版版版(testing)ややや不不不安安安定定定版版版(unstable)ににに変変変更更更ででできききままますすすかかか? ででできききるるるのののなななららら方方方法法法ははは?

現在安定版(stable)を使っているなら/etc/apt/sources.listファイルで3つ目のフィールドにwheezyかstableがあるでしょう。これを希望のディストリビューションに変更する必要があります。テスト版(testing)を使いたいなら/etc/apt/sources.listの3つ目のフィールドをtestingに変更してください。不安定版(unstable)を使いたいならこの3つ目のフィールドをunstableに変更してください。

現在のテスト版(testing)はjessieと呼ばれます。なので/etc/apt/sources.listの3つ目のフィールドをjessieに変更してもテスト版(testing)を使うことになります。しかし、この場合はjessieが安定版(stable)になってもそのままjessieを追うということになります。

不安定版(unstable)は常にsidと呼ばれます。なので/etc/apt/sources.listの3つ目のフィールドをsidに変更すると不安定版(unstable)を追うことになります。

現在Debianはテスト版(testing)向けのセキュリティ更新を提供していますが不安定版(unstable)向けには提供していません。不安定版(unstable)の修正は直接メインのアーカイブに対して行われるためです。そのため、不安定版(unstable)を使う場合は/etc/apt/sources.listのセキュリティ更新関連の行を必ず削除するようにしてください。

アップグレードする先のディストリビューション向けのリリースノート文書が利用可能になっていれば(まだリリースされていなくても)一読しておくのが賢明です。そのアップグレードで取るべき方法についての情報が提供されていることがあるためです。

いずれにせよ、上記の変更を加えることでaptitudeupdateを実行すれば欲しいパッケージをインストールできるようになります。異なるディストリビューションからパッケージをインストールするとそのシステムの一部を自動的にアップグレードする可能性があることに注意してください。個々のパッケージをインストールすると混成したディストリビューションを使ったシステムになります。

状況によってはapt-get dist-upgrade、aptitude safe-upgrade、aptitude full-upgrade のどれかを実行して単純に新しいディストリビューションに完全にアップグレードするのが最適かもしれません。さらなる情報についてはaptやaptitudeのマニュアルページを読んでください。

3.1.12 現現現在在在テテテススストトト版版版(testing、、、jessie)ををを追追追っっっててていいいままますすす。。。リリリリリリーーースススささされれれるるるととと何何何ががが起起起きききままますすすかかか? 引引引ききき続続続きききテテテススストトト版版版(testing)ををを追追追跡跡跡すすするるるのののかかか、、、そそそれれれととともももこここのののマママシシシンンンははは新新新しししいいい安安安定定定版版版(stable)デデディィィススストトトリリリビビビュュューーーシシショョョンンンををを使使使うううここことととににになななるるるのののでででしししょょょうううかかか?

/etc/apt/sources.listファイルのエントリによります。現在テスト版(testing)を追っているならそのエントリは

deb http://ftp.us.debian.org/debian/ testing main

または

deb http://ftp.us.debian.org/debian/ jessie main

のようになっているでしょう。/etc/apt/sources.listの3つ目のフィールドが「testing」ならリリースされた後もテスト版(testing)を追うことになります。jessieがリリースされたら別のコード名を付けられた新しいDebianディストリビューションを使うということになります。当初は変更が見えないかもしれませんが、新しいパッケージが不安定版(unstable)からテスト版(testing)ディストリビューションに向けて動き始めるとすぐにわかるでしょう。

この3つ目のフィールドが「jessie」の場合は安定版(stable)を追うことになります(jessieが新しい安定版(stable)ディストリビューションになっているため)。

3.1.13 ややややややこここしししいいいででですすすねねね。。。どどどれれれをををイイインンンススストトトーーールルルしししたたたらららいいいいいいんんんでででしししょょょうううかかか?

よくわからないなら安定版(stable)ディストリビューションが確実です。

章 3. Debianディストリビューションの選択 12

3.2 でででもももKnoppixやややLinex、、、Ubuntuそそそののの他他他にににつつついいいてててははは?

それはDebianではありません。Debianベースというだけです。似ている部分や共通する部分が多くありますが、決定的な違いもあります。

こういったディストリビューションにはすべて、特定のユーザ群にとって長所になる部分や適合させた部分を独自に持たせています。さらなる情報については、Debian ウェブサイトDebian ベースのディストリビューション(http://www.debian.org/misc/children-distros)にある情報を見てください。

3.2.1 Knoppix/Linex/Ubuntu/. . . がががDebianベベベーーースススだだだととといいいうううここことととはははわわわかかかりりりままましししたたた。。。ハハハーーードドドデデディィィスススクククにににイイインンンススストトトーーールルルしししたたた後後後ににに「「「apt」」」パパパッッッケケケーーージジジツツツーーールルルををを使使使えええままますすすかかか?

こういったディストリビューションはDebian をベースにしています。しかしDebian ではありません。/etc/apt/sources.listファイルでこういったディストリビューションのリポジトリを指定すればaptパッケージツールを使うことはできるでしょう。それはDebianを使っているのではなく別のディストリビューションを使っていることになります。同一のものではありません。

ほとんどの状況で、あるディストリビューションを選んだらそれだけを使うべきで、他のディストリビューションのパッケージを混ぜて使うべきではありません。あるディストリビューションを使っている人が他のディストリビューションからDebianパッケージをインストールしようとしてよく問題に遭遇しています。同一の形式と名前(.deb)を使っているということはそのまま互換性があるということにはなりません。

例えばDebian がハードディスクにインストールするように設計されているのに対し、Knoppix はライブCD として起動するように設計されているLinuxディストリビューションです。特定のハードウェアが動作するか確認したい、あるいはlinux システムが「どんな感じ」なのか試してみたい、というような場合Knoppixは素晴らしいものとなるでしょう。Knoppixが実演目的に適するのに対し、Debianは常時運用するように設計されています。さらに、利用可能なパッケージの数やDebianがサポートするアーキテクチャの数はKnoppixよりもはるかに多くなっています。

Debian を使いたい場合は最初からDebian をインストールするのが最善です。他のディストリビューション、例えばKnoppixからDebianをインストールすることは可能ですがその手順には知識が要求されます。このFAQを読んでいるということからDebianにもKnoppixにも初心者だということを仮定します。その場合は後々出てくる多くの問題を避けるため、最初からDebianをインストールしてください。

3.2.2 ハハハーーードドドデデディィィスススクククにににKnoppix/Linex/Ubuntu/. . . をををイイインンンススストトトーーールルルしししままましししたたた。。。問問問題題題がががああありりりままますすすがががどどどうううしししたたたらららいいいいいいでででしししょょょううう?

助けを得るのにDebianフォーラム(メーリングリストやIRCも)を使うことは勧められません。助言する人はDebianシステムを使っているものだと考えていて、提供される「対策」は適さないかもしれません。現状の問題をさらに悪化させることになるかもしれません。

使っているディストリビューション専門のフォーラムをまず使用してください。そこで助けが得られない、あるいは得られた対策が問題の修正に至らない場合はDebianフォーラムで聞いてみるのもいいかもしれませんが、前述の指摘に留意してください。

3.2.3 Knoppix/Linex/Ubuntu/. . . ををを使使使っっっててていいいままますすすがががDebianををを使使使いいいたたたくくくなななりりりままましししたたた。。。移移移行行行すすするるる方方方法法法はははああありりりままますすすかかか?

DebianベースのディストリビューションからDebianへの変更はオペレーティングシステムを別のものに変更するのと同じようなものだと考えてください。必要なデータを全てバックアップしてオペレーティングシステムを最初からインストールし直してください。パッケージ管理ツールを使ってDebianへの「アップグレード」を試みるべきではありません。そうした場合システムが使えなくなるかもしれないためです。

必要なユーザデータ(つまり/home)が別個のパーティションにある場合Debianへの移行は実際にかなり単純で、インストールし直すときにインストールシステムにそのパーティションをマウントさせる(フォーマットし直すのとは違います)だけです。念のため、必要なデータと同様に前のシステムの設定(つまり/etc/や/var/)のバックアップを作成しておくと良いでしょう。

13

章章章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リリース7.0には以下のアーキテクチャ向けの完全なバイナリディストリビューションが収録されています:

• amd64: これはAMD64拡張付きのAMD 64ビットCPUやEM64T拡張付きのあらゆるIntel CPUをベースとした一般的な64ビットユーザ空間のシステムを対象としています。

• 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マシン、DigitalDECstations。

• powerpc: これはIBM/Motorola PowerPCマシンApple Macintosh PowerMacモデル等の一部とCHRP及びPRePオープンアーキテクチャのマシンを対象としています。

• s390: IBM S/390メインフレームシステム。

• s390x: IBM System zマシン用のs390を置き換える64ビット版。

• sparc: これはSunのSPARCやほとんどのUltraSPARCシステム、そのsun4アーキテクチャの後継機の一部を対象としています。

armhf (浮動小数点演算ユニット付きのARM ボードやデバイス用)、arv32 (Atmel の32 ビットRISC アーキテクチャ用)、m32 (Renesas Technologyの32ビットRISCマイクロプロセッサ用)、s390x (IBM System zメインフレーム用64ビットユーザランド用)、sh (日立SuperHプロセッサ用)向けの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も外されています。

章 4.互換性の問題 14

利用可能な移植版についてのさらなる情報については、ウェブサイトの移植版のページ(http://www.debian.org/ports/)を見てください。

ブートやドライブのパーティション作業、PCMCIA (PCカード)デバイスの有効化、そのた同様の問題の詳細な情報についてはインストールマニュアルの指示に従ってください。このマニュアルはhttp://www.debian.org/releases/stable/installmanualのウェブサイトで利用可能です。

4.2 Debian GNU/Linuxででではははどどどのののカカカーーーネネネルルルををを実実実行行行しししままますすすかかか?

Debianでは以下のオペレーティングシステムのカーネル向けの完全なバイナリディストリビューションを提供しています:

• FreeBSD: 64ビットPC用と32ビットPC用をそれぞれkfreebsd-amd64及びkfreebsd-i386移植版で提供しています。この移植版はDebian 6.0 Squeezeで初めて、技術プレビューとしてリリースされました。

上記に加え、以下について作業が進められています:

• avr32 Atmelの32ビットRISCアーキテクチャへの移植版。

• hurd-i386 32 ビットPC 用の移植版。この移植版はGNU グループの企画による新しいオペレーティングシステムGNU Hurdを使います。

• sh日立SuperHプロセッサへの移植版。

ディストリビューションをNetBSDカーネルに移植してnetbsd-i386 (32ビットPC用)やnetbsd-alpha (Alphaマシン用)を作る動きがありましたが、この移植版はリリースされることなく現在では中止されています。

利用可能な移植版についてのさらなる情報については、ウェブサイトの移植版のページ(http://www.debian.org/ports/)を見てください。

4.3 Debian ははは他他他のののLinux デデディィィススストトトリリリビビビュュューーーシシショョョンンンとととどどどれれれくくくらららいいい互互互換換換性性性がががああありりりままますすすかかか?

Debian開発者はLinuxディストリビューション間のバイナリ互換性を整備する目的で他のLinuxディストリビューション作成者とやりとりしています。商用Linux製品はほとんどが、ビルドされたシステムと同様Debianでも動作します。

Debian GNU/Linux はLinux Filesystem Hierarchy Standard (FHS、ファイルシステム階層標準) (http://www.pathname.com/fhs/) を順守します。しかし、この標準の範囲内でもいくらか解釈の余地があるため、Debian システムと他のLinuxシステムの間にはわずかな違いがあるかもしれません。

Debian GNU/Linux はLinux Standard Base (LSB) (http://www.linuxbase.org/) に向けたソフトウェア開発をサポートします。LSB は同一のバイナリパッケージを複数のディストリビューションで使えるようにするための仕様です。Debian Etch リリースはLSB リリース3.1 に認定されています。Linux Foundation Certification のウェブページ(https://www.linux-foundation.org/lsb-cert/productdir.php)を見てください。Debian がLinux Stan-dard Base の要件を確実に満たす努力についての議論や調整はdebian-lsb メーリングリスト(http://lists.debian.org/debian-lsb/)で行われています。

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 適合に向けて作業することはさらに困難なものとなっていま

章 4.互換性の問題 15

す。この認定コストのため、検証テスト群を完全に通過したとしても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(http://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システム用の文書は他にどんなものがありますか?’ on page 53参照)。

4.7 libtermcapををを要要要求求求すすするるるプププロロログググラララムムムをををコココンンンパパパイイイルルルででできききななないいいのののははは何何何故故故ででですすすかかか?

Debianは、termcapデータベース及びtermcapライブラリではなくターミナルインターフェイスを使ったterminfoデータベース及びncursesライブラリを利用します。ターミナルインターフェイスの知識をいくらか必要とするプログラムをコンパイルしようとするユーザはlibtermcapへの参照をlibncursesへの参照に置き換えるべきです。

章 4.互換性の問題 16

4.8 AccelXをををイイインンンススストトトーーールルルででできききななないいいのののははは何何何故故故ででですすすかかか?

AccelXはインストールにtermcapライブラリを利用しています。上記の‘libtermcapを要求するプログラムをコンパイルできないのは何故ですか?’ on page 15を見てください。

17

章章章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製品等のウェブブラウザ1、

• OpenOffice.org 製品群やGnumeric その他のスプレッドシート等オフィスアプリケーション一式、WYSIWYG エディタ、カレンダー、

等のソフトウェアを提供しています。ニュースサーバやリーダーから音声サポートやFAXプログラム、データベース、スプレッドシートプログラム、画像処理プログラム、通信、ネット、メールユーティリティ、ウェブサーバまで、さらに無線ラジオプログラムまでも、28200以上のパッケージがディストリビューションに収録されています。他にも187のソフトウェア群がDebianパッケージとして利用できますが、こちらはライセンスの制限により正式にはDebianの一部ではありません。

5.2 こここのののソソソフフフトトトウウウェェェアアア全全全てててははは誰誰誰ががが書書書いいいたたたのののででですすすかかか?

各パッケージのファイル/usr/share/doc/[パッケージ]/copyrightにプログラムの作者が記載されています。[パッケージ]の部分はパッケージ名に置き換わります。

このソフトウェアをDebian GNU/Linuxシステム用にパッケージ化したメンテナは各パッケージに付属しているDebian制御ファイル(‘Debian制御ファイルとは何ですか?’ on page 28参照)に列挙されています。/usr/share/doc/[パッケージ]/changelog.Debian.gzにあるDebianの変更記録でも、Debianパッケージについて作業した人について触れています。

1Mozilla製品は商標の問題のために異なる名前を付け直して提供しています

章 5. Debianシステムで利用可能なソフトウェア 18

5.3 Debian用用用にににパパパッッッケケケーーージジジ化化化ささされれれててていいいるるるプププロロログググラララムムムののの現現現在在在ののの一一一覧覧覧ををを得得得るるる方方方法法法はははああありりりままますすすかかか?

完 全 な 一 覧 はDebian ミ ラ ー(http://www.debian.org/distrib/ftplist)の ペ ー ジ 及 び フ ァ イルindices/Maintainers のどちらにもあります。このファイルにはパッケージ名とそれぞれのメンテナの名前とメールアドレスが記載されています。

Debian パッケージへのWWW インターフェイス(http://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は提供していますか?’ on page 47を見てください。

5.5 Debian GNU/Linuxににに足足足りりりななないいいももものののははは何何何?

Debian用にパッケージ化する必要があるパッケージの一覧があります。作業が望まれるパッケージ(Work-Needing andProspective Packages)一覧(http://www.debian.org/devel/wnpp/)。

足りないものの追加についての詳細は‘Debianソフトウェアの開発者になる方法は?’ on page 57を見てください。

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プログラムの作成、デバッグ、実行ができます。

章 5. Debianシステムで利用可能なソフトウェア 19

Javaアプレットの実行にはそれを認識、実行できるウェブブラウザが必要です。MozillaやKonqueror等、Javaアプレットを実行できるJavaプラグインに対応しているウェブブラウザが複数Debianで利用できます。

さらなる情報については、Debian Java FAQ (http://www.debian.org/doc/manuals/debian-java-faq/)を参照してください。

5.8 Debianシシシススステテテムムムををを使使使っっっててていいいるるるここことととやややそそそれれれがががどどどのののバババーーージジジョョョンンンなななのののかかか確確確認認認すすするるる方方方法法法ははは?

そ の シ ス テ ム が 本 物 のDebian ベ ー ス デ ィ ス ク か ら イ ン ス ト ー ル さ れ た も の な の か 確 認 す る には、/etc/debian_version ファイルの存在を確認してください。これにはパッケージbase-files により定義されるそのリリースのバージョン番号を示す一行のエントリが収められます。

プログラムdpkgが存在することはそのシステムにDebianパッケージをインストールできることを示すはずですが、このプログラムは他の多くのオペレーティングシステムやアーキテクチャに移植されているため、これはそのシステムがDebian GNU/Linuxだと判定するには信頼性の高い方法ではなくなっています。

ユーザならわかっていることですが、Debianシステムは多数の構成要素からなり、それぞれを(ほぼ)別々に更新することができます。Debian「リリース」にはそれぞれよく練られた、不変のものが収録されています。更新は個別に利用できます。パッケージfooのインストール状態の一行の説明を見るにはコマンドdpkg --list fooを使ってください。インストールされている全パッケージのバージョンを表示するには:

dpkg -l

もっと詳しい説明は:

dpkg --status foo

5.9 Debianははは英英英語語語以以以外外外ののの言言言語語語をををどどどのののよよようううにににサササポポポーーートトトしししててていいいままますすすかかか?

• Debian GNU/Linux は20以上のキーボード用のキーボード配置と、その対応表をインストール、表示、変更するユーティリティ(kbdパッケージ)を収録し、配布しています。

インストール時に、利用するキーボードを指定するようユーザに指示します。

• パッケージされた大多数のソフトウェアで他のラテン言語(例えばISO-8859-1 やISO-8859-2) で利用される非US-ASCII 文字の入力を、一部のプログラムでは日本語や中国語といったマルチバイト言語をサポートしています。

• 現在、ドイツ、スペイン、フィンランド、フランス、ハンガリー、イタリア、日本、韓国、オランダ、ポーランド、ポルトガル、ロシア、トルコ、中国の各言語のマニュアルページのサポートがmanpages-[言語] パッケージ([言語]には2文字のISO国コード)により提供されています。NLSマニュアルページにアクセスするには、ユーザがシェルのLC_MESSAGES変数に適切な文字列をセットしなければなりません。

例えばイタリア語のマニュアルページの場合はLC_MESSAGESには’italian’がセットされている必要があります。そうするとmanプログラムはイタリア語のマニュアルページを/usr/share/man/it/から探すようになります。

5.10 pineはははどどどこここででですすすかかか?

制限のあるライセンスのためnon-free にあります。改変したバイナリの配布も許可しないライセンスのため、ソースとDebianパッチから自分でコンパイルする必要があります。

ソースパッケージ名はpineです。pine-trackerパッケージを使ってアップグレードが必要になったときに通知を受けることもできます。

pineにもpicoにも、muttやnanoのように代替が多数あることに注意してください。mainに置かれています。

章 5. Debianシステムで利用可能なソフトウェア 20

5.11 qmail/ezmlm/djbdnsはははどどどこここででですすすかかか?

Dan J. Bernsteinは彼が書いた全ソフトウェア(http://cr.yp.to/software.html)を改変したバイナリの配布を許可しない制限のあるライセンスで配布していました。しかし2007年11月にBernsteinは「[. . . ] 自分の将来及び[. . . ] 過去のソフトウェア全てをパブリックドメインにすることを決めた」と言いました。彼の配布条件については配布者によるFAQ(http://cr.yp.to/distributors.html)を見てください。

2008-09 にdaemontools、djbdns、ucspi-tcp がDebian lenny (のmain) に収録されました。この時点(2008-09)でqmail やezmlm はDebian main には収録されていません。現在の状態についてはBug #457318 (ITP qmail) (http://bugs.debian.org/457318) 及びBug #469193 (ITP ezmlm-idx) (http://bugs.debian.org/469193) を見てください。

2008-09の時点でpublicfileは未だフリーソフトウェアではありません。

5.12 Flash (SWF)用用用プププレレレーーーヤヤヤーーーはははどどどこここででですすすかかか?

DebianはフリーのSWF動画プレーヤーを2つ、gnashとswfdecを両方収録しています。

5.13 Google Earthはははどどどこここででですすすかかか?

Google EarthはGoogleのウェブサイトからGNU/Linux用が利用できますが、これはフリーソフトウェアでないばかりでなく、サードパーティにより配布することは全くできません。しかし、googleearth-package (contribにあります)がこのソフトウェアを使うのに役立つかもしれません。

5.14 VoIPソソソフフフトトトウウウェェェアアアはははどどどこここででですすすかかか?

Voice Over IPでは公開プロトコルが主に2つ、SIPとH.323が利用されています。両方ともDebianのmainにある広範なソフトウェアにより実装されています。ekigaは最も人気のあるクライアントの一つです。

5.15 Linuxででで機機機能能能しししななないいい無無無線線線ネネネッッットトトワワワーーークククカカカーーードドドををを持持持っっっててていいいままますすす。。。どどどうううすすするるるべべべきききででですすすかかか?

機能するものを買ってください:)

代わりにndiswrapperを使ってLinuxシステムでWindows用ドライバ(持っている場合)を使う方法もあります。さらなる情報についてはDebian Wiki ndiswrapperのページ(http://wiki.debian.org/NdisWrapper)を見てください。

21

章章章6

Debian FTPアアアーーーカカカイイイブブブ

6.1 Debianデデディィィススストトトリリリビビビュュューーーシシショョョンンンはははいいいくくくつつつああありりりままますすすかかか?

主要なディストリビューションは3つあります:「安定版(stable)」ディストリビューション、「テスト版(testing)」ディストリビューション、「不安定版(unstable)」ディストリビューション。「テスト版(testing)」ディストリビューションは「凍結」されていることもあります(‘「テスト版(testing)」はどういうものですか?どのように「凍結(freeze)」されますか?’ on page 23参照)。次に、「旧安定版(oldstable)」ディストリビューション(これは単純に前の「安定版(stable)」です)と「experimental」ディストリビューションがあります。

Experimentalは未だ開発中のパッケージが利用するもので、システムを破壊するような高い危険性があります。これは最前線のソフトウェアについて学習やテストを望む開発者により利用されます。経験のあるほとんどの人にとっても危険で有害である可能性があるため、ユーザがここからパッケージを使うべきではありません。

Debianディストリビューションを選択する際の手助けについては‘Debianディストリビューションの選択’ on page 7を見てください。

6.2 etchやややlenny等等等ととといいいううう名名名前前前ははは一一一体体体何何何ででですすすかかか?

単なる「コード名」です。Debianディストリビューションが開発段階にあるとき、そこにバージョン番号はなくコード名はあります。このコード名の目的はDebianディストリビューションのミラー作業を楽にすることです(もし実際のディレクトリ、例えばunstableが突然stableに変わったとしたら無用に多く再ダウンロードする羽目になるでしょう)。

現在stable はwheezy (つまりDebian GNU/Linux 7.0) へのシンボリックリンクで、testing はjessie へのシンボリックリンクです。これはつまりwheezyは現在の安定版(stable)ディストリビューションで、jessieは現在のテスト版(testing)ディストリビューションだということです。

unstable は恒久的にsid へのシンボリックリンクでsid は常に不安定版(unstable) ディストリビューションです(‘「sid」とは何ですか?’ on page 22参照)。

6.2.1 他他他にににはははどどどんんんなななコココーーードドド名名名ががが過過過去去去ににに使使使わわわれれれままましししたたたかかか?

既に使われた他のコード名は: リリース1.1 にbuzz、リリース1.2 にrex、リリース1.3.x にbo、リリース2.0 にhamm、リリース2.1にslink、リリース2.2にpotato、リリース3.0にwoody、リリース3.1にsarge、リリース4.0にetch、リリース5.0にlenny、リリース6.0にsqueeze、リリース7.0にwheezy。

6.2.2 こここのののコココーーードドド名名名ははは何何何ににに由由由来来来しししててていいいるるるのののででですすすかかか?

これまでのところPixarによる映画「トイストーリー」のキャラクターから選ばれています。

• buzz (Buzz Lightyear)は宇宙飛行士でした。

• rexはティラノサウルスでした。

• bo (Bo Peep)は羊の世話をする少女でした。

章 6. Debian FTPアーカイブ 22

• hammは豚の貯金箱でした。

• slink (Slinky Dog)はおもちゃの犬でした。

• potatoはもちろんMr. Potato。

• woodyはカウボーイでした。

• sargeは緑のプラスチック陸軍の軍曹でした。

• etchはおもちゃの黒板(Etch-a-Sketch)でした。

• lennyはおもちゃの双眼鏡でした。

• squeezeは三ツ目のエイリアンの名前でした。

• wheezyは赤い蝶ネクタイをつけたゴム製のおもちゃのペンギンの名前でした。

• jessieはヨーデルを歌うカウガールの名前でした。

• sidはおもちゃを壊す隣の少年でした。

6.3 「「「sid」」」とととははは何何何ででですすすかかか?

sidあるいはunstableというのはほとんどのパッケージが最初にアップロードされる場所です。リリースするパッケージはstableにリリースする前にまずtestingに収録される必要があるため、これが直接リリースされることはありません。sidにはリリースされるアーキテクチャもリリースされないアーキテクチャも、両方のパッケージが収録されます。

「sid」という名もアニメ映画の「トイストーリー」から来ています: Sidはおもちゃを壊す隣の少年でした:-)

1

6.4 stableデデディィィレレレクククトトトリリリにににははは何何何がががああありりりままますすすかかか?

• stable/main/: このディレクトリにはDebian GNU/Linuxシステムの最新リリースを正式に構成するパッケージが収録されています。

ここに置かれるパッケージは全てDebian フリーソフトウェアガイドライン(DFSG) (http://www.debian.org/social_contract#guidelines)に準拠し、全て自由に利用、配布できます。

• stable/non-free/: このディレクトリには配布に制限があり、指定されている著作権要求について配布者が注意を払う必要のあるパッケージが収録されています。

例えばパッケージによっては商用での配布を禁止するライセンスを採用しています。他に、再配布はできるものの実際はフリーソフトウェアではなくシェアウェアであるものもあります。こういったパッケージは、(例えばCD-ROMに)収録して再配布する前に各パッケージごとのライセンスを調査し、場合によっては交渉する必要があります。

• stable/contrib/: このディレクトリには、それ自体はDFSGフリーで自由に配布できるけれども、自由に配布できないためにnon-freeでのみ利用可能なパッケージに依存しているパッケージが収録されています。

1sidが存在しなかった時、FTPサイトの構成には一つの大きな欠陥がありました: ある時点でunstableにアーキテクチャを作成した場合、そのディストリビューションが新しい安定版になったときにはそれがリリースされるものと仮定していました。多くのアーキテクチャがこれに当てはまらず、その結果当該ディレクトリはリリース時に移動する必要がありました。こういった移動は多くの帯域を食いつぶすためこれは非現実的でした。アーカイブ管理者がこの問題に対処し、数年がかりでリリースされないアーキテクチャ向けのバイナリを「sid」という特別なディレクトリに置きました。こういったリリースされていないアーキテクチャが最初にリリースされたときにはその時点のstableからsidにリンクが作成され、その後はunstableツリーに通常どおり作成されました。この配置はユーザにいくらか混乱を招くことになりました。パッケージプール(‘poolディレクトリには何がありますか?’ on page 24参照)ができたことで、バイナリパッケージはディストリビューションを問わずプール内の正当な位置に保存されるようになり、ディストリビューションのリリースでミラーに大きな帯域の消費を起こすことはなくなりました(開発プロセス全体としては多くの帯域を緩やかに消費しているわけですが)。

章 6. Debian FTPアーカイブ 23

6.5 テテテススストトト版版版(testing)デデディィィススストトトリリリビビビュュューーーシシショョョンンンにににははは何何何ががが収収収録録録ささされれれててていいいままますすすかかか?

パッケージはunstableである程度のテストを経た後に「testing」にディレクトリに入ります。

ビルドしている全アーキテクチャで同調していなければならず、インストールできなくなるような依存を作ることもできません。リリースクリティカルバグが現在テスト版(testing)にあるバージョンよりも増えることも許されません。こうして、「テスト版(testing)」が常にリリース候補に近づいていくことを期待します。

「テスト版(testing)」の状態全般や個々のパッケージについてのさらなる情報はhttp://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)リリース情報(http://www.debian.org/releases/testing/)を見てください。

このバグの数が受け入れられる最大値まで下がると、凍結(freeze)されているテスト版(testing)ディストリビューションは安定版(stable)と宣言され、バージョン番号を付けてリリースされます。

最も重要なバグの数は「リリースクリティカル(RC、Release Critical)」バグの数で、これはRelease-critical bug status(RCバグ状況) のページ(http://bugs.debian.org/release-critical/)で追うことができます。一般的なリリース目標はNoRCBugs (RCバグ0) (http://wiki.debian.org/ReleaseGoals/NoRCBugs) で、そのディストリビューションには重要度がcritical (致命的)、grave (重大)、serious (深刻)のバグがあるべきではないことを意味します。致命的だと見なされる問題の完全な一覧はRCポリシー文書(http://release.debian.org/testing/rc_policy.txt)にあります。

新しいリリースごとに、以前の安定版(stable)ディストリビューションは古くなってアーカイブに移動します。さらなる情報についてはDebianアーカイブ(http://www.debian.org/distrib/archive)を見てください。

6.6 不不不安安安定定定版版版(unstable)デデディィィススストトトリリリビビビュュューーーシシショョョンンンにににははは何何何ががが収収収録録録ささされれれててていいいままますすすかかか?

「unstable」ディレクトリには現在の開発用システムのスナップショットが収録されます。ここにあるパッケージをユーザが使ってテストするのは歓迎ですが、注意して準備しておく必要があります。不安定版(unstable)ディストリビューションには常にGNU/Linuxソフトウェアの世界で最新版を使用するという利点がありますが、それが壊れていたとしたら(略)。利点だけではなく欠点もあり得るということです:-)

「unstable」にも「stable」と同一の基準で分けられたmain、contrib、non-freeサブディレクトリがあります。

6.7 Debian FTPアアアーーーカカカイイイブブブにににあああるるるこここのののデデディィィレレレクククトトトリリリ群群群ははは一一一体体体何何何ででですすすかかか?

Debian GNU/Linux 用にパッケージ化されているソフトウェアは各Debian ミラーサイトにある複数のディレクトリツリーのどれかから利用できます。

distsディレクトリは「distributions (ディストリビューション)」の短縮形で現在利用可能なDebianリリース(とリリース前)にアクセスするための正当な手段です。

poolディレクトリには実際のパッケージが収録されます。‘poolディレクトリには何がありますか?’ on page 24参照。

以下の補足するディレクトリがあります:

章 6. Debian FTPアーカイブ 24

/tools/: 起動ディスクの作成やディスクドライブのパーティション作業、ファイルの圧縮/伸張、Linuxのブート等を行うDOSユーティリティ。

/doc/: このFAQやバグ報告システムの説明等、基礎的なDebian文書。

/indices/: サイトの様々な索引(Maintainersファイルやoverrideファイル)。

/project/: ほぼ開発者だけを対象とするものや雑多なファイル。

6.8 dists/stable/main以以以下下下にににあああるるるデデディィィレレレクククトトトリリリははは一一一体体体何何何ででですすすかかか?

主要な各ディレクトリツリー2内には索引ファイルの置かれるサブディレクトリが3つあります。

利用可能な各コンピュータアーキテクチャ、例えばIntel x86 PC マシン上で実行するパッケージ向けのbinary-i386やSun SPARCStation 上で実行するパッケージ向けのbinary-sparc のバイナリパッケージの索引ファイルを収録するbinary-何かサブディレクトリ群があります。

各リリースで利用可能なアーキテクチャ完全な一覧はリリースウェブページ(http://www.debian.org/releases/)にあります。現在のリリースについては‘Debian GNU/Linux はどのハードウェアアーキテクチャ/システムで動作しますか?’ on page 13を見てください。

binary-*にある索引ファイルはPackages(.gz、.bz2)と呼ばれ、ディストリビューションに収録されている各バイナリパッケージについてのまとめが収録されています。実際のバイナリパッケージは最上位のpoolディレクトリ以下にあります。

さらにsource/というサブディレクトリにはディストリビューションに収録されているソースパッケージの索引ファイルが収録されています。この索引ファイルはSources(.gz、.bz2)と呼ばれます。

大事なことを言い忘れましたが、インストールシステムの索引ファイル用のサブディレクトリ群がdebian-installer/binary-アーキテクチャにあります。

6.9 ソソソーーースススコココーーードドドはははどどどこここにににああありりりままますすすかかか?

Debianシステム全てのソースコードが収録されています。また、このシステムにあるほとんどのプログラムのライセンス条件がソースコードをプログラムと共に配布するかソースコードをプログラムと同時に提供することを要求しています。

ソースコードはpoolディレクトリ(‘poolディレクトリには何がありますか?’ on page 24参照)以下のアーキテクチャごとの全バイナリディレクトリで一緒に配布しています。FTPアーカイブの構造をよく理解せずにソースコードを取得するには、apt-get source パッケージ名のようにコマンドを使ってみてください。

一部のパッケージはライセンスによる制限のためソースコードでのみ配布されています。こういったパッケージの一つの例としてpineがあります。さらなる情報については‘pineはどこですか?’ on page 19を見てください。

「contrib」や「non-free」ディレクトリに置かれる、正式にDebianシステムの一部ではないパッケージではソースコードが利用できないものもあります。

6.10 poolデデディィィレレレクククトトトリリリにににははは何何何がががああありりりままますすすかかか?

パッケージは巨大な「pool」に置かれています。ここはソースパッケージの名前を基に構造化されています。管理しやすくするため、poolは区分(「main」、「contrib」、「non-free」)とソースパッケージ名の頭文字によりさらに分割されています。このディレクトリには複数のファイルが収録されます:各アーキテクチャ用のバイナリパッケージとそのバイナリパッケージを生成する元となるソースパッケージです。

apt-cache showsrc パッケージ名のようなコマンドを実行してその「Directory:」行を確認することで各パッケージが置かれている場所を調べることができます。例えばapache パッケージはpool/main/a/apache/ に置かれています。

さ ら に 、lib* パ ッ ケ ー ジ は あ ま り に 多 い た め 特 別 に 扱 っ て い ま す: 例 え ばlibpaper パ ッ ケ ー ジはpool/main/libp/libpaper/に置かれています。

3

2dists/stable/main、dists/stable/contrib、dists/stable/non-free、dists/unstable/main/等3歴史的に、パッケージはそれを収録するディストリビューションに対応するdistsのサブディレクトリに保管されていました。これが原因で大

きな変更があるとミラーの帯域を大きく消費する等、様々な問題を引き起こしていました。これはパッケージ置き場(pool)の導入により修正されました。distsディレクトリはaptのようなプログラムにより利用される索引ファイル用にまだ利用されています。

章 6. Debian FTPアーカイブ 25

6.11 「「「incoming」」」とととははは何何何ででですすすかかか?

開発者がパッケージをアップロードした後、それが本物であることが確認されるまでの短期間「incoming」ディレクトリに置かれ、それからアーカイブ行きが許可されます。

通常この場所からは誰も何かをインストールすべきではありません。しかし、緊急時のまれな状況ではhttp://incoming.debian.org/にあるincomingディレクトリを利用することができます。手作業によりパッケージを取得して.changesや.dscファイルにあるGPG署名やMD5sumsを確認しインストールしてください。

6.12 apt対対対応応応リリリポポポジジジトトトリリリををを用用用意意意すすするるる方方方法法法ははは?

私的なDebian パッケージをいくらか作成し、標準のDebian パッケージ管理ツールを使ってインストールしたい場合、自分の独自のapt 対応パッケージアーカイブを用意することできます。これはDebian プロジェクトにより配布されるのではないDebian パッケージを共有したい場合にも有用です。その手順はDebian リポジトリHOWTO (http://www.debian.org/doc/manuals/repository-howto/repository-howto)で示されています。

章 6. Debian FTPアーカイブ 26

27

章章章7

Debianパパパッッッケケケーーージジジ管管管理理理シシシススステテテムムムののの基基基礎礎礎

この章では、Debianパッケージ管理内部のいくらか深いレベルまで触れます。関心が主に関連するツールの使い方であれば、‘Debianパッケージ管理ツール’ on page 35や‘Debianシステムを最新に保つ’ on page 43の章まで飛ばしてください。

7.1 Debianパパパッッッケケケーーージジジとととははは何何何ででですすすかかか?

パッケージは通常関連するコマンド群や機能の実装に必要なファイルを全て収録します。Debianパッケージは2種類あります:

• バイナリパッケージ。これは実行可能ファイルや設定ファイル、man/infoページ、著作権情報、その他の文書を収録します。この種のパッケージはDebian固有の圧縮形式(‘Debianのバイナリパッケージはどんな形式ですか?’ onpage 27 参照) で配布されています。通常、ファイルの拡張子が「.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 main-tainers. These dependencies are documented in the control file associated with each package. For example, thepackage containing the GNU C compiler (gcc) “depends” on the package binutils which includes the linker andassembler. If a user attempts to install gcc without having first installed binutils, the package management sys-tem (dpkg) will send an error message that it also needs binutils, and stop installing gcc. (However, this fa-cility can be overridden by the insistent user, see dpkg(8).) See more in ‘あるパッケージが他のパッケージにDepends、Recommends、Suggests、Conflicts、Replaces、Breaks、Provides しているというのはどういう意味ですか?’ onpage 31 below.

Debianのパッケージ用ツールは:

• パッケージの操作や管理、

• パッケージ内ファイルのローカルオーバーライド管理、

• 開発者によるパッケージアーカイブの構成支援、

• ユーザによるリモートFTPサイトにあるパッケージのインストール支援

7.2 Debianのののバババイイイナナナリリリパパパッッッケケケーーージジジはははどどどんんんななな形形形式式式ででですすすかかか?

Debianの「パッケージ」あるいはDebianアーカイブファイルには実行可能ファイルやライブラリ、特定のプログラム集や関連プログラム群に関連する文書が収録されています。通常、Debianアーカイブファイルのファイル名は.debで終わります。

章 7. Debianパッケージ管理システムの基礎 28

The internals of this Debian binary packages format are described in the deb(5) manual page. This internal format issubject to change (between major releases of Debian GNU/Linux), therefore please always use dpkg-deb(1) if you needto do lowlevel manipulations on .deb files.

7.3 Debianパパパッッッケケケーーージジジのののフフファァァイイイルルルががが長長長いいいのののははは何何何故故故ででですすすかかか?

Debian バイナリパッケージのファイル名は以下の慣例に従っています: <foo>_<バージョン番号>-<Debian改訂番号>_<Debianアーキテクチャ>.deb

foo にはパッケージ名が入ることに注意してください。特定のDebian アーカイブファイル(.deb ファイル) に関連するパッケージの名前は以下のような方法で確認できます:

• 置かれているDebian FTPアーカイブサイトのディレクトリの「Packages」ファイルを調べる。このファイルには各パッケージを説明する区切りが収録されています。区切った最初のフィールドは正式なパッケージ名です。

• コマンドdpkg --info foo_VVV-RRR_AAA.deb を使う(VVV、RRR、AAA はそれぞれそのパッケージのバージョン、改訂番号、アーキテクチャを示します)。これで、例えば展開するアーカイブファイルに対応するパッケージ名がわかります。

VVVは上流の開発者により指定されるバージョン番号です。この形式には標準化されたものはないため、バージョン番号には「19990513」と「1.3.8pre1」のように異なる形式を使うことができます。

RRR はDebian 開発者(そのパッケージを自分でビルドした場合はそのユーザ個人) により指定されるDebian での改訂番号です。この番号はDebian パッケージの改訂レベルに対応するので、新しい改訂レベルは通常Debian のMakefile(debian/rules)やDebian制御ファイル(debian/control)、インストール用、削除用スクリプト(debian/p*)、パッケージで利用される設定ファイルに変更があることを示します。

The AAA component identifies the processor for which the package was built. This is commonly i386, which refers tochips compatible to Intel’s 386 or later versions. For other possibilities review Debian’s FTP directory structure at ‘DebianFTP アーカイブにあるこのディレクトリ群は一体何ですか?’ on page 23. For details, see the description of “Debianarchitecture” in the manual page dpkg-architecture(1).

7.4 Debian制制制御御御フフファァァイイイルルルとととははは何何何ででですすすかかか?

Debian制御ファイルの中身の仕様についてはDebianポリシーマニュアルの5節で提供されています。‘Debianシステム上の、あるいはDebianシステム用の文書は他にどんなものがありますか?’ on page 53を見てください。

見本としてDebianパッケージhelloの制御ファイルを以下に示します。

Package: helloPriority: optionalSection: develInstalled-Size: 45Maintainer: Adam Heath <[email protected]>Architecture: i386Version: 1.3-16Depends: libc6 (>= 2.1)Description: The classic greeting, and a good exampleThe GNU hello program produces a familiar, friendly greeting. It

allows nonprogrammers to use a classic computer science tool whichwould 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パッケージのファイルが長いのは何故ですか?’ on page 28で説明されているように、上流開発者のバージョン番号と(最後の構成要素で)このプログラムのDebianパッケージの改訂レベルの両方を示します。

Architectureはこの特定のバイナリがどのチップ用にコンパイルされたのかを示します。

Dependsはこのパッケージをうまくインストールするためにインストールされている必要があるパッケージの一覧を示します。

章 7. Debianパッケージ管理システムの基礎 29

Installed-Sizeはパッケージをインストールしたときにディスク容量をどれだけ消費するのかを示します。これはインストール用フロントエンドがプログラムをインストールするのに十分なディスク空き容量があるのか示すためによく利用されます。

Section行はDebian FTPサイトにこのDebianパッケージが置かれるときの「区分」を示します。

Priorityはこのパッケージをインストールすることがどれだけ重要かを示します。これを利用してdselectやaptitudeのような少し気の利いたソフトウェアがパッケージを、例えばオプションでインストールするパッケージの種類で仕分けることができます。‘Essential、Required、Important、Standard、Optional、Extraパッケージとは何ですか?’ on page 30を見てください。

Maintainerは現在このパッケージの保守を担当している人のメールアドレスを示します。

Descriptionはパッケージの機能を簡単に説明します。

パッケージが保持できる全項目のさらなる情報については、Debianポリシーマニュアルの5節「制御ファイルとその各フィールド」や‘Debianシステム上の、あるいはDebianシステム用の文書は他にどんなものがありますか?’ on page 53を見てください。

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に関連するリンクやその他のファイルを変更、あるいはそのパッケージが作成したファイルを削除します(‘仮想パッケージとは何ですか?’ on page 30も見てください)。

現在、制御ファイルは全てディレクトリ/var/lib/dpkg/infoに置かれます。パッケージfooに関連するファイルは名前が「foo」で始まりファイルの拡張子が必要に応じて「preinst」、「postinst」等となっています。そのディレクトリのファイルfoo.listにはパッケージfooでインストールされる全ファイルが列挙されています(このファイルはdpkg内部にあることに注意してください。当てにすべきではありません)。

章 7. Debianパッケージ管理システムの基礎 30

7.7 Essential、、、Required、、、Important、、、Standard、、、Optional、、、Extra パパパッッッケケケーーージジジとととははは何何何ででですすすかかか?

各Debianパッケージにはディストリビューションメンテナにより優先度が割り当てられ、パッケージ管理システムを支援します。この優先度には以下があります。

• Required: システムが適切に機能するのに必要なパッケージ。

これにはシステムの不具合を修復するのに必要なツールが全て属します。このパッケージを削除することはできず、削除した場合システムは全体が壊れ、恐らくdpkgを使って差し戻すこともできません。Requiredパッケージしかないシステムは恐らく使いものにはなりませんが、システム管理者がブートしてソフトウェアをさらにインストールできるだけの機能は十分にあります。

• ImportantパッケージはどのUnix類似システムにもあるはずです。

それがないとシステムがうまく動作しないあるいは使い物にならないというその他のパッケージがここに属します。これにはEmacsやX、TeX、その他の巨大なアプリケーションは含まれません。このパッケージ群は最低限の基盤を構成するだけです。

• StandardパッケージはどのLinuxシステムでも標準的なもので、ある程度小さいものが属しますが文字モードのシステムだけに限定はしていません。ウェブの閲覧(w3m使用)やメール送信(muttで)、FTPサーバからのファイルのダウンロードができるツールが属しています。

これはユーザが他に何も選択しなかった場合にデフォルトでインストールされるものです。多数の巨大なアプリケーションは含まれませんが、Pythonインタープリタや、OpenSSH (リモート管理用)やExim (メール配送用ですがローカル配送専用に設定することもできます)、identd サーバ(pidentd)、RPC portmapper (portmap) のようなサーバソフトウェアがあります。ほとんどのユーザにとって参考になるようなごく一般的な文書も属しています。

• Optionalパッケージには、よくわからない場合にある程度インストールされているようなもの、あるいは特殊な要求がないものが全て属します。

XやTeXディストリビューション一式、多くのアプリケーションがあります。

• Extra: パッケージには、他の上位の優先度とは相容れないものや既にそれが何なのかわかっている場合にのみ有用と思われるもの、特殊な要求があるため「Optional」に適応しないものが属します。

Debianをデフォルトでインストールすると優先度がStandardかそれ以上の全パッケージがそのシステムにインストールされます。設定済みタスクを選択した場合は優先度の低いパッケージもインストールされます。

さらに、システムが適切に機能するためにはそれが絶対に必要だということでEssentialに区分されているパッケージもあります。パッケージ管理ツールはこういったパッケージの削除を拒否します。

7.8 仮仮仮想想想パパパッッッケケケーーージジジとととははは何何何ででですすすかかか?

仮想パッケージはパッケージ群のうち任意の一つに適用できる総称的なもので、どれも同じような基本機能を提供します。例えばtinとtrnプログラムはどちらもニュースリーダーであるため、機能するあるいは役立つためにはシステムにニュースリーダーがあることを要求するプログラムの依存を満たすはずです。したがって、どちらもnews-readerという「仮想パッケージ」を提供するということになります。

同様に、smail とsendmail はどちらもメール転送エージェントの機能を提供します。したがって、これは仮想パッケージ「mail transport agent」を提供するということになります。どちらかがインストールされていれば、任意のプログラムのmail-transport-agentがインストールされていることへの依存はこの仮想パッケージの存在により満たされます。

Debian では、同一の仮想パッケージを提供するパッケージが一つのシステムに複数インストールされている場合に、システム管理者が望ましいパッケージとしてその一つを選べる仕組みを提供しています。関連するコマンドはupdate-alternativesで、‘あるユーザはmawk、別のユーザはgawk、あるユーザはvim、別のユーザはelvis、あるユーザはtrn、別のユーザはtinを好みます。Debianは多様性をどのようにサポートしますか?’ on page 52で詳細に説明されています。

章 7. Debianパッケージ管理システムの基礎 31

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システム用の文書は他にどんなものがありますか?’ on page 53を見てください。

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)」フラグはユーザがパッケージについてどう要求したのか(dselectの「Select」節でユーザが取った行動やユーザが直接dpkgを実行で示されます)を示します。

それぞれの意味は:

• unknown -そのパッケージの要求をユーザが示したことがない

章 7. Debianパッケージ管理システムの基礎 32

• install -そのパッケージのインストールやアップグレードをユーザが要求した

• remove -そのパッケージの削除をユーザが要求した。ただし、既存の設定の削除は望まなかった

• purge -そのパッケージの設定も含めた完全削除をユーザが要求した

• hold -そのパッケージを処理しないことをユーザが要求した、つまり現行バージョンを今の状態で維持することを望んでいる

7.12 パパパッッッケケケーーージジジををを保保保留留留(hold)しししててておおおくくく方方方法法法ははは?

パッケージを保留(hold)しておく方法はdpkg、aptitude、dselectで3つあります。

dpkgでは、パッケージ選択一覧をエクスポートする必要があります:

dpkg --get-selections \* > selections.txt

それからできたファイルselections.txt を編集し、保留(hold) したいパッケージがある行を変更します。例えばlibc6の場合

libc6 install

から

libc6 hold

に変更してファイルを保存し、dpkgデータベースに読ませます:

dpkg --set-selections < selections.txt

aptitudeでは、パッケージの保留(hold)は

aptitude hold package_name

保留(hold)の解除は

aptitude unhold package_name

dselectでは、[S]elect screenに入り、現状から保留(hold)したいパッケージを探して「=」(または「H」)キーを押します。変更は[S]elect screenを終了した時点ですぐに反映されます。

7.13 ソソソーーースススパパパッッッケケケーーージジジをををイイインンンススストトトーーールルルすすするるる方方方法法法ははは?

Debianソースパッケージを実際に「インストール」することはできません、生成するバイナリパッケージをビルドしようとするディレクトリに展開するだけです。

Source packages are distributed on most of the same mirrors where you can obtain the binary packages. If you set upyour APT’s sources.list(5) to include the appropriate “deb-src” lines, you’ll be able to easily download any sourcepackages by running

apt-get source foo

を実行することで任意のソースパッケージを簡単にダウンロードできます。ソースパッケージの実際のビルドを支援するため、Debianソースパッケージはビルド依存(Build-Dependencies)という仕組みを提供しています。これは、ソースパッケージのメンテナがそのパッケージをビルドするのに必要となる他のパッケージの一覧を維持しているということです。これがどれくらい有用なのか確認するには、ソースをビルドする前に

apt-get build-dep foo

を実行してください。

章 7. Debianパッケージ管理システムの基礎 33

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がないものがあります)。

(‘ソースパッケージをインストールする方法は?’ on page 32を)取得できたら、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 パッケージまたはhttp://www.debian.org/doc/devel-manuals#maint-guideから利用できる新メンテナガイドを読んでください。

章 7. Debianパッケージ管理システムの基礎 34

35

章章章8

Debianパパパッッッケケケーーージジジ管管管理理理ツツツーーールルル

8.1 Debianはははパパパッッッケケケーーージジジ管管管理理理にににどどどんんんなななプププロロログググラララムムムををを提提提供供供しししててていいいままますすすかかか?

Debian パッケージ管理に利用できるツールは、視覚的あるいはテキストベースのインターフェイスを備えたものからパッケージのインストールに利用される低レベルツールまで複数あります。利用できるツールはすべて適切に機能するために低レベルツールに依存しており、複雑さを軽減するために存在しています。

aptitudeやdselectといった高レベルのパッケージ管理ツールがaptに依存し、そのapt自体はそのシステムでのパッケージ管理についてdpkgに依存していることを理解しておくのは大切です。

Debianパッケージ管理ユーティリティのさらなる情報については、Debianリファレンス(http://www.debian.org/doc/manuals/debian-reference/)の第2章Debian パッケージ管理(http://www.debian.org/doc/manuals/debian-reference/ch02.en.html)を見てください。この文書は様々な言語や形式のものが利用できます。DDP ユーザ用マニュアルのDebian リファレンスの項目(http://www.debian.org/doc/user-manuals#quick-reference)を見てください。

8.1.1 dpkg

これは主要なパッケージ管理プログラムです。dpkgは多数のオプションを指定して実行することができます。よく使うものをいくつか示します:

• 全オプションを調べるには: dpkg --help

• 指定されたパッケージの制御ファイル(や他の情報)を表示: dpkg --info foo_VVV-RRR.deb

• パッケージをハードディスクのファイルシステムにインストール(展開や設定も含む): dpkg --installfoo_VVV-RRR.deb

• Debian アーカイブをハードディスクのファイルシステムに展開(設定はしない): dpkg --unpackfoo_VVV-RRR.deb。この操作は必ずしもパッケージを使える状態にするとは限らないことに注意してください。適切に動作させるためにはさらに一部のファイルに調整が必要かもしれません。このコマンドはそのプログラムの既にインストールされているバージョンを全て削除し、そのパッケージに付属しているpreinst (‘Debianpreinst、postinst、prerm、postrmスクリプトとは何ですか?’ on page 29参照)スクリプトを実行します。

• 既に展開されているパッケージを設定: dpkg --configure foo。この操作にはパッケージ付属のpostinst (‘De-bian preinst、postinst、prerm、postrm スクリプトとは何ですか?’ on page 29 参照) スクリプトを実行するという特徴があります。また、このパッケージの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. Debianパッケージ管理ツール 36

8.1.2 APT

APT は進化したパッケージツール(Advanced Package Tool) で、apt-get プログラムを提供します。apt-get はコマンドラインを使って複数のソースからパッケージを取得、インストールする簡単な方法を提供します。dpkg とは異なりapt-getは.debファイルを解釈せず、パッケージの正式名称を扱い、/etc/apt/sources.listで指定されたソースからのみ.debアーカイブをインストールできます。apt-getは設定したソースから.debアーカイブをダウンロードした後dpkgを直接呼び出します。1

apt-getのよくある使い方をいくつか示します:

• システムが把握するパッケージ一覧を更新するには

apt-get update

(これは定期的に実行してパッケージ一覧を更新しておくべきです)

• システムにあるパッケージをすべて(余計なパッケージのインストールやパッケージの削除は行わずに) アップグレードするには

apt-get upgrade

• fooパッケージのその依存を全てインストールするには

apt-get install foo

• fooパッケージをシステムから削除するには

apt-get remove foo

• fooパッケージとその設定ファイルをシステムから削除するには

apt-get --purge remove foo

• システム上にあるパッケージをすべてアップグレードし、パッケージのアップグレードに余計なパッケージのインストールやパッケージの削除が必要な場合は

apt-get dist-upgrade

(アップグレードの際に新しい依存を満たすのに余分なパッケージをインストールする必要がある場合、コマンドupgradeではバージョンが古くなっているインストール済みパッケージを維持します。dist-upgradeコマンドはあまり保守的ではありません。)

システムのパッケージを変更するコマンドの実行にはrootでログインしている必要があることに注意してください。

apt-getは現在、推奨される(recommended)パッケージをデフォルトでインストールすることと、その堅牢性から、コンソールからのシステムのインストールやシステムの規模の大きなアップグレードを行うのに望ましいパッケージ管理プログラムとなっていることに注意してください。

aptツール群にはパッケージ一覧に対して検索を行うapt-cacheツールも収録されています。これを使って簡単なテキストや正規表現を照会したり、あるいはパッケージ管理システム内の依存関係を照会することで、特定の機能を提供するパッケージを検索することができます。apt-cacheのよくある使い方をいくつか示します:

• 説明文に単語を含むパッケージを探す:

apt-cache search 単語

• パッケージの詳細な情報を表示するには:

apt-cache show package

• 指定したパッケージが依存しているパッケージを表示:

apt-cache depends package

• そのパッケージの利用可能バージョンの詳細な情報やそれが逆依存しているパッケージを表示:

apt-cache showpkg package

For more information, install the apt package and read apt-get(8), sources.list(5) and install the apt-doc pack-age and read /usr/share/doc/apt-doc/guide.html/index.html.

1rpmとしても知られるRed Hatパッケージマネージャ等、他のパッケージ管理システムでこのツールを利用できるようにしている移植版があることに注意してください。

章 8. Debianパッケージ管理ツール 37

8.1.3 aptitude

aptitudeはaptパッケージ管理基盤のフロントエンドを提供するDebian GNU/Linuxシステム用パッケージ管理プログラムです。aptitudeはcursesライブラリを使ったテキストベースのインターフェイスで、管理タスクを簡単、高速に実行するのに利用できます。

aptitudeはdselectとapt-getの機能、さらにどちらのプログラムにもない多数の機能も追加で提供します:

• aptitudeはパッケージの全バージョンへの簡単なアクセスを提供します。

• aptitudeは「廃止された、またはローカルで作成されたパッケージ」の下に一覧を表示することで古くなっているソフトウェアの把握を簡単にします。

• aptitude は特定のパッケージを検索して表示するパッケージを限定する非常に強力なシステムを収録しています。muttをよく理解しているユーザなら表現としてmuttを思い付くのですぐ探せるでしょう。

• aptitude は利用可能な定義済みタスクのインストールに利用することができます。さらなる情報については‘tasksel’ on page 37を見てください。

• aptitudeの全画面モードではsu機能が組み込まれ、通常のユーザが実行できるようになっています。管理用の権限が実際に必要となったときにsuを呼び出し(rootパスワードが設定されている場合はそれを聞いてき)ます。

aptitudeは、視覚的インターフェイス経由(単純にaptitudeで実行)またはコマンドラインから直接実行することができます。利用するコマンドライン書式はapt-getとかなり似ています。例えばfooパッケージをインストールするにはaptitude install fooを実行します。

aptitudeは日常のパッケージ管理をコンソールから行うのに望ましいパッケージ管理プログラムとなっていることに注意してください。

For more informations, read the manual page aptitude(8) and install the aptitude-doc package.

8.1.4 synaptic

synapticはグラフィカルなパッケージ管理プログラムです。これを使うとソフトウェアパッケージのインストールやアップグレード、削除をユーザにとってわかりやすい方法で行うことができます。aptitudeが提供している機能に加え、利用しているリポジトリ一覧を編集する機能やパッケージに関連する利用可能な全文書閲覧を支援する機能もあります。さらなる情報についてはSynapticウェブサイト(http://www.nongnu.org/synaptic/)を見てください。

8.1.5 tasksel

特定の作業を行いたい場合に、要件を満たす適切なパッケージ群を見つけるのが困難なことがあります。Debian 開発者タスクを定義しています。タスクは全て特定の活動に関連する個々のDebian パッケージを集めたものです。タスクはtaskselプログラムやaptitude経由でインストールすることができます。

Debian インストーラは標準的に標準システムやデスクトップ環境に関連するタスクを自動でインストールします。インストールされる特定のデスクトップ環境は利用するCD/DVD メディアに依存します。最も広く使われているのはGNOMEデスクトップ(gnome-desktopタスク)です。さらにインストールプロセス全体での選択に応じて、システムに自動的にインストールされるタスクがあるかもしれません。例えば言語を選択するとその言語に関連するタスクも自動的にインストールされ、例えばノートPCシステムで実行していることをインストーラが認識すればlaptopタスクも自動でインストールされます。

8.1.6 他他他のののパパパッッッケケケーーージジジ管管管理理理ツツツーーールルル

dselect

このプログラムはメニュー選択型のDebianパッケージ管理システムへのインターフェイスです。woodyとそれ以前のリリースではこれが初期のインストールでの主要なパッケージ管理インターフェイスでしたが、現在ユーザはaptitudeを代わりに利用することが勧められています。ユーザによってはaptitudeの方が使いやすいと感じ、規模の大きなアップグレードでもdselectよりもこちらが推奨されます。aptitudeのさらなる情報については、‘aptitude’ on page 37を見てください。

dselectは

章 8. Debianパッケージ管理ツール 38

• ユーザがパッケージ群からインストールや削除するものを選択する際に案内し、他とかちあうパッケージをインストールすることのないようにし、各パッケージが適切に動作するのに必要となるパッケージが全て確実にインストールされるようにする。

• 選択が不整合、あるいは相容れない状態の場合にユーザに警告する。

• パッケージ群を順を追ってインストールしなければならない場合にその順序を決定する。

• インストールや削除を自動的に行う。

• 各パッケージで必要となる設定プロセスでユーザを案内する。

といったことができます。dselectは7つの項目をユーザに提示することから始まり、それぞれが特定の操作を行うことになります。ユーザはカーソルキーを使って反転している項目を移動して操作を一つ選択し、<enter>キーを押して反転している項目を選択します。

ユーザが次に見るものは選択した操作に依存します。アクセスと選択以外を選択した場合は、dselectは単に指定された操作の実行に移ります。例えばユーザが削除の操作を選択した場合、dselectはユーザが最後に選択操作を選択したときに削除するものとして選択していた全ファイルの削除を進めます。

アクセスメニュー項目と選択メニュー項目はどちらも追加のメニューにつながります。どちらの場合も、メニューは分割画面で表示されます。上部の画面はスクロールする選択肢一覧を、下部画面には各選択の簡単な説明(「info」)を表示します。

詳しいオンラインヘルプが利用できます。ヘルプ画面に進むには好きなときに「?」を使ってください。

最初のdselectメニューで表示される操作の順序はユーザが普通にdselectを選択してパッケージをインストールする順になっています。しかし、ユーザはメインメニュー項目のどれでも、(何をしたいのかによりますが何も選択しないという選択肢も含めて)必要なだけ選択することができます。

• アアアクククセセセススス方方方法法法を選択するところから始まります。これはユーザが予定しているDebianパッケージへのアクセス方法です。例えばあるユーザはCD-ROMにあるDebianパッケージを利用できるようにしていて、別のユーザは匿名FTPを利用して取得するつもりです。選択した「アクセス方法」はdselect終了時に保存されるため、変更しない限り再びこの選択肢に進む必要はありません。

• それから利用可能なパッケージ一覧を更更更新新新します。これを行うため、dselect はファイル「Packages.gz」を読み込みます。これはインストールするDebianパッケージを保存するディレクトリの最上位に置かれているはずです(存在しない場合、dselectは作成を提案します)。

• システムにインストールする特定のパッケージを選選選択択択します。このメニュー項目を選択すると、ユーザにはまず(「–expert」コマンドラインオプションを使っていない限り)全画面のヘルプが表示されます。ユーザがヘルプ画面を終了させると、分割画面にインストール(や削除)するパッケージを選択するメニューが表示されます。

画面最上部にはDebianの37400パッケージ一覧に進む、比較的狭いウィンドウが、画面下部には上部で反転しているパッケージやパッケージ群の説明等が表示されます。

パッケージ名やパッケージ群のラベルを反転することでどのパッケージを操作するのか指定することができます。

選選選択択択しししたたたパパパッッッケケケーーージジジのののイイインンンススストトトーーールルル: これを行う場合は「+」キーを押します。

選選選択択択しししたたたパパパッッッケケケーーージジジののの削削削除除除: パッケージの削除は2通りあります。

– 削除(remove): これはパッケージにの関連するほとんどのファイルを削除しますが、設定ファイル(‘Debianconffileとは何ですか?’ on page 29参照)やパッケージの設定情報として挙げられているファイルは残されます。これを行うには「-」キーを押します。

– 完全削除(purge): これはパッケージの一部となっているファイルを全て削除します。これを行うには「_」キーを押します。

「パッケージを全て」削除するのは不可能であることに注意してください。全パッケージの削除を試みた場合、システムは全削除を行うのではなく、初期インストールされる基礎パッケージに減らします。

「「「保保保留留留(hold)」」」にににすすするるる これを行うには「=」を押します。これは、システムに現在インストールされているバージョンが、利用しているDebian リポジトリ(これはアアアクククセセセススス方方方法法法を設定したときに指定され、更更更新新新したときに取得されます) で利用できる最新版ではなくなってもそのパッケージをアップグレードしないということをdselectに実際に伝えます。

パッケージを保留(hold)にできるように、「:」を押すとその設定を戻すことができます。そうすると新しいバージョンが利用可能になっている場合にそのパッケージをアップグレードしてもいいということをdselectに伝えます。これはデフォルト設定です。

章 8. Debianパッケージ管理ツール 39

「o」キーを使ってパッケージの様々な並べ替えオプションを循環し、異なるパッケージ表示順序を設定することができます。デフォルトの順序はパッケージの優先度です。パッケージは各優先度ごとに、置かれるアーカイブのディレクトリ(区分)の順に表示されます。この表示順序を指定すると、区分A (としましょう)の一部のパッケージがまず表示され、続いて区分Bのパッケージ、続いて区分Aのパッケージ(優先度の低いもの)、というようになります。

「v」(verbose)キーを使って画面最上部にラベルの意味をさせることもできます。この操作により大量の文字が表示されて右側はあふれます。あふれた部分を表示するには右カーソルを、左に戻すには左カーソルを押してください。

インストールや削除するパッケージ、例えばfoo.deb を選択し、そのパッケージが別のパッケージ、例えばblurf.deb に依存(または推奨) している場合、dselect はメインの選択画面に補助画面を表示します。この画面では関連パッケージの中から推奨された操作(インストールするかしないか)を受け入れるか拒否するのか選択できます。後者の場合はShift+Dを、元戻す場合はShift+Uを押します。どちらの場合も、Shift+Qを押すと選択を保存してメインの選択画面に戻ります。

• ユーザはメインメニューに戻ると「インストール」メニュー項目を選択して選択したパッケージを展開、設定できます。ファイルを削除したいユーザは「削除」メニュー項目を選択することもできます。ユーザは任意の時点で「終了」を選択してdselectを終了できます。ユーザの選択はdselectが保存しています。

dpkg-deb

このプログラムはDebianアーカイブ(.deb)ファイルを操作します。よくある使い方をいくつか示します:

• 全オプションを調べる: dpkg-deb --help

• Debianアーカイブファイルに収録されているファイルの調査: dpkg-deb --contents foo_VVV-RRR.deb)

• Debianアーカイブに収録されているファイルをユーザが指定されたディレクトリに抽出: dpkg-deb --extractfoo_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).

dpkg-split

このプログラムは巨大なパッケージをもっと小さなファイル(例えば小分けしてフロッピーディスクに書き込むため)に分割します。分割ファイル群を単一ファイルに結合するのにも使えます。これはDebianシステム(つまりdpkgパッケージ)を収録しているシステムでのみ使えます。これはDebianパッケージファイルの構成要素を解析するのに各プログラムdpkg-debを呼び出しているためです。

例えば大きな.debファイルを分割する場合

• コマンドdpkg-split --split foo.debを実行します。これは現在のディレクトリにそれぞれが約460KバイトのファイルをN個作ります。

• 分割したファイルをフロッピーディスクにコピーします。

• フロッピーディスクの内容を他のマシンの選択したハードディスクにコピーします。

• dpkg-split --join "foo*"を使って分割ファイルを結合します。

章 8. Debianパッケージ管理ツール 40

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

これはのフルパス名に部分文字列foo が含まれるファイルを検索します。このファイルはContents-ARCH.gz(ARCHは対象アーキテクチャを示します) Debian FTPサイト(つまり/debian/dists/wheezy以下)の主要なパッケージディレクトリ(main、non-free、contrib)に存在します。Contentsファイルはそれが存在するツリーのサブディレクトリに存在するパッケージだけを参照します。そのため、ファイルfooを収録しているパッケージを見つけるには、ユーザはContentsファイルを複数検索する必要があるかもしれません。

この方法には、現在そのシステムにインストールされていないパッケージに収録されているファイルを検索するという点でdpkg --searchよりも優れています。

章 8. Debianパッケージ管理ツール 41

• 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ではゲームやマルチメディアアプリケーション、辞書の多くがこのようになっています。これは、プログラムをインストールせずに生データにアクセスしたいユーザがいるであろうことや、そのデータ自体はなくてもプログラムは実行できる等の理由によりオプションにするために導入されました。

ライブラリの取り扱いでも似た状況が発生します:こちらは通常、アプリケーションを収録するパッケージが依存するためにインストールされます。アプリケーションパッケージを完全削除したときにライブラリパッケージはシステムに残るかもしれません。あるいは、アプリケーションパッケージが例えばlibdb4.2に代えてlibdb4.3に依存するようになった場合、アプリケーションパッケージをアップグレードしたときにlibdb4.2パッケージが残るかもしれません。

こういった場合、「foo-data」は「foo」に依存していないため、「foo」パッケージを削除する際、ほとんどのパッケージ管理ツールで自動的には削除されません。ライブラリパッケージでも同じです。これは循環依存を避けるために必要です。ただし、パッケージ管理ツールにaptitude (‘aptitude’ on page 37参照)を利用している場合は、インストールされているパッケージを自動的に追跡し、必要としているパッケージがそのシステムに残っていなければ削除します。

章 8. Debianパッケージ管理ツール 42

43

章章章9

Debianシシシススステテテムムムををを最最最新新新ににに保保保つつつ

Debian の目標は継続的にアップグレードできる手段や安全なアップグレードプロセスを提供することです。新しいリリースへのアップグレードを円滑に進められるようにするために常に全力を尽くします。アップグレードプロセスにおいて重要な注意事項がある場合、そのパッケージはユーザに注意喚起し、その際は起こりうる問題の解決方法も提供することがよくあります。

特定のアップグレードについて詳細を説明しているリリースノートにも目を通しておくべきです。これはhttp://www.debian.org/releases/stable/releasenotes のDebian ウェブサイトにあり、Debian CD やDVD、Blu-Rayディスクにも収録されています。

9.1 Debianシシシススステテテムムムををを現現現行行行版版版ににに維維維持持持すすするるる方方方法法法ははは?

Debianアーカイブに対して単純に匿名FTPで接続し、目的のファイルを見つけるまでディレクトリを細かく調べ、見つけたら取得してdpkg を使ってやっとインストールする、ということもできます。dpkg はそれが実行中のシステムであってもアップグレードされるファイルを所定の位置にインストールすることに注意してください。改訂されたパッケージが、別のパッケージの新しく改訂されたバージョンがインストールされていることを要求することもあり、そのときその別のパッケージがインストールされていない場合はそれをインストールするまでそのパッケージのインストールは失敗します。

Debianの展開はとても速いため、多数の人がこのやり方では時間がかかりすぎることをわかっています。標準的に、新しいパッケージが毎週10以上アップロードされています。この数字は新しい主要リリース直前にはもっと大きくなります。この殺到している状況に対応するためには、多くの人はもっと自動化された方法を好みます。複数の異なるパッケージがこの目的のために利用できます:

9.1.1 aptitude

APTはDebianパッケージシステムへの進化したインターフェイスです。インストール順序の調整や複数のソースを扱う機能、その他独特の機能を複数備えています。/usr/share/doc/apt-doc/guide.html/index.htmlにあるユーザーズガイドを見てください(apt-docパッケージをインストールする必要があるでしょう)。

aptitudeはDebian GNU/Linuxシステム用の推奨されるパッケージ管理フログラムです。これはcursesライブラリを使ったAPTへのテキストベースのインターフェイスで、管理作業を高速、安全な方法で実施できます。

aptitudeを使えるようにするには、/etc/apt/sources.listファイルを編集して準備する必要があります。Debianの最新の安定版(stable)にアップグレードしたい場合は恐らくこれに似たソースを使うことになるでしょう:

http://ftp.us.debian.org/debian stable main contrib non-free

ftp.us.debian.orgの部分はもっと近くて速いDebianミラーの名前に置き換えてください。さらなる情報については、ミラー一覧http://www.debian.org/mirror/listを見てください。

More details on this can be found in the sources.list(8) manual page.

システムを更新するには

aptitude update

章 9. Debianシステムを最新に保つ 44

続いて

aptitude dist-upgrade

を実行します。出てくる質問に全て回答するとシステムはアップグレードされます。‘aptitude’ on page 37も見てください。

9.1.2 apt-get、、、dselect、、、apt-cdrom

apt-get はAPT をベースにしたパッケージ処理用コマンドラインツールで、APT dselect という方法はAPT へのdselect 経由のインターフェイスです。両方ともパッケージを簡単、安全にインストール、アップグレードする方法を提供します。

apt-get を利用するには、apt パッケージをインストールし、準備は‘aptitude’ on page 43 と同様に/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, aswell as ‘APT’ on page 36.

APTをdselectで使うには、dselectの方法選択画面(選択肢0)でAPTによるアクセス方法を選択し、利用するソースを指定します。設定ファイルは/etc/apt/sources.listです。‘dselect’ on page 37も見てください。

パッケージのインストールにCD を使いたい場合はapt-cdrom を使えます。詳細については、リリースノートの「Setting up for an upgrade from a local mirror」節を見てください。

パッケージを取得、インストールする時点では、/var ディレクトリ階層にパッケージが置かれることに注意してください。パーティションをオーバーフローさせないためには、apt-get cleanやapt-get autocleanを使って余計なファイルを削除するかどこか別の場所に移動することを忘れないようにしてください(参考: apt-moveを使ってみましょう)。

9.1.3 aptitude

aptitude はDebian パッケージシステムへのテキストベースのインターフェイスです。ユーザがパッケージ一覧を見たり、パッケージのインストールやアップグレード、削除といったパッケージ管理作業を行うことが可能になります(‘aptitude’ on page 37参照)。操作は視覚的インターフェイスかコマンドラインから行うことができます。

コマンドラインでの操作はAPTに似ています。システムをアップグレードする場合は

aptitude update

続いて

aptitude dist-upgrade

を実行します。aptitude は、あるDebian GNU/Linux リリースから別のリリースにアップグレードするために推奨するツールではないことに注意してください。リリース間のアップグレードの際は、リリースノート(http://www.debian.org/releases/stable/releasenotes)に目を通すようにしてください。この文書では前のリリースからアップグレードする際に推奨される手順やアップグレード前に考慮すべき既知の問題について詳細に説明しています。

For details, see the manual page aptitude(8), and the file /usr/share/aptitude/README

章 9. Debianシステムを最新に保つ 45

9.1.4 mirror

このPerlスクリプトやmirror-masterというその(オプションの)管理プログラムを利用して、ディレクトリツリーのユーザが指定した部分を匿名FTP経由で指定されたホストから取得することができます。

mirrorは特にソフトウェアを大量にダウンロードするのに有用です。最初にファイルをサイトからダウンロードした後、.mirrorinfoというファイルがローカルホストに保存されます。リモートのファイルシステムへの変更はmirrorにより自動的に追跡されます。このプログラムはこのファイルをリモートシステム上の似たファイルと比較し、変更されたファイルだけをダウンロードします。

mirrorプログラムは通常、リモートのディレクトリツリーのローカルコピーを更新するのに有用です。取得するファイルはDebianファイルである必要はありません。(mirrorはPerlスクリプトなので、非Unixシステムでも実行できます)。mirrorプログラムはユーザが指定した文字列に該当するファイル名を除外する仕組みを提供していますが、このプログラムは、選択したパッケージだけではなくディレクトリツリー全体をダウンロードすることが目的の場合に最も有用なものとなります。

9.1.5 dpkg-mountable

dpkg-mountableはdselectのアクセス方法一覧に「mountable」という方法を追加します。これは/etc/fstabで指定された任意のファイルシステムからのインストールをできるようにします。例えばアーカイブを通常のハードディスクパーティションやNFSサーバに置くことが可能で、必要に応じて自動的にマウント、マウント解除します。

これには、ローカルファイルツリー(mainディストリビューションと並行して、あるいは全く別個に)を用意するといった標準的なdselectによる方法にはない追加機能がいくつかあります。時間がかかる再帰的なディレクトリの走査を行うのではなく必要とするパッケージだけを取得します。また、インストール手段でのdpkgの操作は全てログが記録されます。

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

章 9. Debianシステムを最新に保つ 46

を/etc/dpkg/dpkg.cfgに追加します。作成されるログファイルが必ず定期的にローテートされるようにしてください。logrotateを使っている場合、これには

/var/log/dpkg {missingoknotifempty

}

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-proxyを使ってDebianシステムを全て最新に保つと便利です。

apt-proxyはバックエンドからのPackages、Releases、Sourcesファイルの更新周期を制限して、どのファイルもプロキシからの実際のリクエストとは無関係に一度だけ取得することによりDebian ミラーに要求される帯域を減らします。apt-proxyは、プロキシに渡すリクエストを元に自動的にDebian HTTPミラーを構成します。

さらなる詳細についてはapt-proxyのページhttp://apt-proxy.sourceforge.net/を見てください。

標準的なキャッシュ用プロキシを既に使っていて全システムでそれを利用するように設定している場合はもちろん同じ効果が得られます。

47

章章章10

Debianとととカカカーーーネネネルルル

10.1 Debian特特特有有有ののの調調調整整整ををを行行行わわわずずずにににカカカーーーネネネルルルをををイイインンンススストトトーーールルル、、、コココンンンパパパイイイルルルすすするるるここことととはははででできききままますすすかかか?

はい。

難点が1つだけあります: Debian C ライブラリはカカカーーーネネネルルルヘッダの最新の安定版(stable) リリースでビルドされています。安定版(stable) ブランチにあるものよりも新しいカーネルヘッダでプログラムをコンパイルする必要がある場合は、ヘッダを収録するパッケージ(libc6-dev) をアップグレードするか、展開した新しいカーネルツリーから新しいヘッダを利用する必要があります。というのは、カーネルソースが/usr/src/linux にあるなら、コンパイル時に-I/usr/src/linux/include/をコマンドラインに追加する必要があるということです。

10.2 独独独自自自カカカーーーネネネルルルをををビビビルルルドドドたたためめめにににどどどんんんなななツツツーーールルルをををDebianははは提提提供供供しししててていいいままますすすかかか?

独自カーネルをビルドしたい(あるいはしなければならない)ユーザは、パッケージkernel-packageをダウンロードすることが推奨されます。このパッケージはカーネルパッケージをビルドするスクリプトを収録し、カーネルソースの最上位ディレクトリでコマンド

make-kpkg --initrd kernel_image

を実行するだけでDebian linux-image-バージョンパッケージを作成する機能を提供します。ヘルプはコマンド

make-kpkg --help

and through the manual page make-kpkg(1).

最新のカーネル(や選択したカーネル) のソースコードは、linux-source-バージョン (バージョンはカーネルのバージョン)パッケージが利用できない限り、ほとんどがお好みのLinuxアーカイブサイトからユーザが個別にダウンロードする必要があります。

kernel-package パッケージの詳細な使用手順はファイル/usr/share/doc/kernel-package/README.gz にあります。

10.3 ブブブーーートトト用用用フフフロロロッッッピピピーーーををを作作作成成成すすするるる方方方法法法ははは?

この作業はDebianパッケージboot-floppiesにより大きな支援が得られます。通常、Debian FTPアーカイブの分類ではadminにおかれます。このパッケージのシェルスクリプトはSYSLINUX形式のブート用フロッピーを作成します。これはMS-DOS形式でフォーマットされたフロッピーでMBRを改変してLinux (やその他そのフロッピーのsyslinux.cfgファイルで定義されたオペレーティングシステムを何でも)を直接ブートするようになっています。このパッケージにある他のスクリプトには緊急用rootディスク、ベースディスクを再生成できるものもあります。

これのさらなる情報については、boot-floppiesパッケージのインストール後に/usr/share/doc/boot-floppies/READMEファイルにあります。

章 10. Debianとカーネル 48

10.4 Debianはははモモモジジジュュューーールルルををを扱扱扱うううたたためめめののの何何何かかか特特特別別別ななな方方方法法法ををを提提提供供供しししててていいいままますすすかかか?

Debianのmodconfパッケージはモジュールの設定の調整に利用できるシェルスクリプト(/usr/sbin/modconf)を提供します。このスクリプトはメニューベースのインターフェイスを提示し、特にそのシステムで読み込めるデバイスドライバの詳細をユーザに聞きます。その返答を使って/etc/modutils/や(ブート時に読み込まなければならないモジュール一覧を列挙する) /etc/modules内のファイルを通して(別名定義や様々なモジュールと併せて使うことになっている他の引数を列挙する)ファイル/etc/modules.confを調整します。

独自カーネルの構成を支援するのに利用できるようになっている(新しい) Configure.helpファイルと同様、modconfパッケージに、各モジュールに渡す適切な引数について詳細な情報を提供する支援ファイル群が(/usr/lib/modules_help/に)付属しています。

10.5 古古古いいいカカカーーーネネネルルルパパパッッッケケケーーージジジををを安安安全全全ににに削削削除除除ででできききままますすすかかか? ででできききるるるのののななならららそそそののの方方方法法法ははは?

はい。linux-image-NNN.prermスクリプトは現在実行中のカーネルが削除しようとしているカーネルと同一のものなのか確認します。したがって、コマンド

dpkg --purge linux-image-NNN

を使ってカーネルイメージのパッケージを削除できます(もちろんNNNは削除するカーネルのバージョンと改訂番号に置き換えます)。

49

章章章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 pagepapersize(5).

11.2 セセセキキキュュュリリリテテティィィ問問問題題題ををを発発発生生生さささせせせるるるここことととなななくくくハハハーーードドドウウウェェェアアア周周周辺辺辺機機機器器器へへへのののアアアクククセセセ

スススををを提提提供供供すすするるる方方方法法法ははは?

/dev ディレクトリにある多数のデバイスファイルは事前に定義されたグループのいくつかに所属しています。例えば/dev/fd0はfloppyグループに、/dev/dspはaudioグループに属しています。

こういったデバイスの1つに特定のユーザがアクセスできるようにしたい場合は、そのデバイスが属するグループにそのユーザを追加するだけで済みます。つまり:

adduser ユーザ グループ

こうすることでデバイス上のファイルの権限を変更しなくてよくなります。

ユーザシェルやGUI環境でこれを行った場合はそのグループ権の効果を反映させるには一旦ログアウトして再びログインしなければなりません。自分が属するグループを確認するにはgroupsを実行してください。

udevの導入以降、ハードウェア周辺機器の権限を変更した場合、デバイスによってはシステム起動時に調整されることがあることに注意してください。差し込んだハードウェア周辺機器でこれが起きた場合は/etc/udevにある規則を調整する必要があるでしょう。

11.3 Debianのののやややりりり方方方ででで起起起動動動時時時にににコココンンンソソソーーールルル用用用フフフォォォンンントトトををを読読読みみみ込込込むむむ方方方法法法ははは?

kbd 及 びconsole-tools パ ッ ケ ー ジ が こ れ を サ ポ ー ト し て い ま す 。/etc/kbd/configや/etc/console-tools/configファイルを編集してください。

11.4 X11プププロロログググラララムムムのののアアアプププリリリケケケーーーシシショョョンンンデデデフフフォォォルルルトトトををを設設設定定定すすするるる方方方法法法ははは?

DebianのXプログラムはアプリケーションのリソースデータを/etc/X11/app-defaults/ディレクトリにインストールします。Xアプリケーション全体を独自化したい場合、その独自化に関するファイルはここに配置してください。ここに配置したものは設定ファイルとして扱うためアップグレードしてもその内容が維持されます。

章 11. Debian GNU/Linuxインストール後の調整 50

11.5 デデディィィススストトトリリリビビビュュューーーシシショョョンンンににによよよりりり異異異なななるるるブブブーーートトト手手手段段段ににになななっっっててていいいるるるよよようううででですすすががが、、、Debianででではははどどどうううなななっっっててていいいままますすすかかか?

あらゆるUnixと同様、Debianはプログラムinitを実行してブートします。initの設定ファイル(/etc/inittab)で、実行する最初のスクリプトは/etc/init.d/rcSだと指定しています。このスクリプトは/etc/rcS.d/にあるスクリプトを全て、実行します。そのファイルの拡張子によりサブプロセスを作成または分岐し、ファイルシステムの確認やマウント、モジュールの読み込み、ネットワークサービスの開始、時刻設定等、さらに他の初期化を行います。それから互換性のため/etc/rc.boot/にあるファイル(ファイル名に「.」があるものを除く)も実行します。後者のディレクトリにあるスクリプトは通常全て、システム管理者による利用に予約され、パッケージからの利用は非推奨となっています。

ブートプロセスの完了後、init はデフォルトランレベル(このランレベルは/etc/inittab のid エントリで指定されています) で指定されたディレクトリにある開始スクリプトを全て実行します。ほとんどのSystem V 互換Unix と同様、Linuxにはランレベルが7つあります:

• 0 (システムの停止)、

• 1 (シングルユーザモード)、

• 2から5 (様々なマルチユーザモード)、

• 6 (システムの再起動)。

Debian システムはid=2 で、マルチユーザ状態に入ったときのデフォルトのランレベルが「2」であることを示し、/etc/rc2.d/にあるスクリプトが実行されます。

実際、ディレクトリ群/etc/rcN.d/にあるスクリプトは/etc/init.d/にあるスクリプトに向けた単なるシンボリックリンクです。ただし、各/etc/rcN.d/ディレクトリにあるファイルの名前は/etc/init.d/にあるスクリプトの実行方法を示すようになっています。具体的に言うと、そのランレベルに入る前に「K」で始まるスクリプトがすべて実行されます。このスクリプト群はサービスを終了させます。それから「S」で始まるスクリプトがすべて実行されます。このスクリプト群はサービスを開始させます。「K」や「S」に続く2ケタの数値はスクリプトの実行順を示します。この数値の低いスクリプトから実行されます。

このやり方は/etc/init.d/ にあるスクリプトが全て、「start」、「stop」、「reload」、「restart」、「force-reload」のどれかを引数に取り、その引数で示された作業を実行するため機能します。このスクリプト群はシステム起動後でも、様々なプロセスを制御するのに利用できます。

例えばコマンドに引数「reload」を付けて

/etc/init.d/sendmail reload

実行すると、設定ファイルを読み直すシグナルをsendmailデーモンに送ります(ところで、Debianは/etc/init.d/にあるスクリプトを呼び出すためのラッパーとしてinvoke-rc.dを提供しています)。

11.6 Debianででではははブブブーーートトトプププロロロセセセスススののの独独独自自自化化化にににrc.localををを使使使わわわななないいいよよようううででですすすがががどどどんんんななな機機機能能能ををを提提提供供供しししててていいいるるるのののでででしししょょょううう?

システムの起動時か特定の(System V)ランレベルに入るのにスクリプトfooを実行する必要があるものと仮定しましょう。その場合システム管理者がすべきことは:

• スクリプトfooをディレクトリ/etc/init.d/に配置する。

• Debianコマンドupdate-rc.dを適切な引数を付けて実行し、どのランレベルでサービスを開始するか、どのランレベルでサービスを停止するかを指定する。

• (デフォルトのランレベルで開始するようにしたと仮定して)システムを再起動してサービスが正常に開始するか確認することを考慮する。再起動させない場合は手作業により「/etc/init.d/foo start」を実行して開始させる。

例えばスクリプトfooを/etc/init.d/に配置してupdate-rc.d foo defaults 19を実行しブート時に実行させる例を見てみましょう。引数「defaults」はデフォルトのランレベルを参照します。これはつまり、(少なくとも、LSBコメントブロックがない場合においては)ランレベル2から5ではサービスを開始、ランレベル0、1、6ではサービスを停止します(fooのLSB Default-Start及びDefault-Stopディレクティブは全て、sysv-rc版update-rc.dを使っている場合は優先されますが、現在の(v0.8.10) file-rc版update-rc.dでは無視されます)。この引数「19」により、数値が19未満のスクリプトが全て完了してから、数値が20以上のどのスクリプトよりも前にfooが呼ばれることが確実になります。

章 11. Debian GNU/Linuxインストール後の調整 51

11.7 パパパッッッケケケーーージジジ管管管理理理シシシススステテテムムムははは他他他のののパパパッッッケケケーーージジジののの設設設定定定フフファァァイイイルルルををを収収収録録録すすするるるパパパッッッケケケーーージジジをををどどどのののよよようううににに扱扱扱いいいままますすすかかか?

例えばDebianパッケージ群とローカルで生成した設定ファイル群からなるパッケージをインストールすることで新しいサーバを作成したいユーザがいます。これは通常良い方法ではありません。というのは、設定ファイルが異なるパッケージにある場合、dpkgはそのことについて知らず、最初のパッケージ「群」のどれかがアップグレードされたときに競合する設定を書き込むかもしれません。

代わりに、当該Debianパッケージ「群」の設定ファイルを変更するローカルパッケージを作成します。そうするとdpkgその他のパッケージ管理システムはそのファイルがローカル「システム管理者」により変更されたことを理解し、そのパッケージのアップグレード時に上書きしようとはしません。

11.8 パパパッッッケケケーーージジジににによよよりりりイイインンンススストトトーーールルルささされれれたたたフフファァァイイイルルルををを上上上書書書きききしししててて、、、異異異なななるるるバババーーージジジョョョンンンををを代代代わわわりりりににに使使使ううう方方方法法法ははは?

システム管理者やローカルユーザがDebianのloginパッケージにより提供されるプログラム「login」に代えてプログラム「login-local」を使いたいと仮定して

 

• /bin/loginをlogin-localで上書きする

ということはしししななないいいでででください。パッケージ管理システムはこの変更について知らず、login (や任意の/bin/loginを提供するパッケージ)がインストールまたは更新されたときに独自化した/bin/loginをあっさりと上書きします。

上書きするのではなく

• 代わりに

dpkg-divert --divert /bin/login.debian /bin/login

を実行して、将来Debian のlogin パッケージをインストールするときには全てファイル/bin/login の代わりに/bin/login.debianに書き込むようにします。

• それから

cp login-local /bin/login

を実行して自分でローカルでビルドしたプログラムを所定の位置に移動します。

そのシステムで現在どの代替が有効になっているのか確認するにはdpkg-divert --listを実行してください。

Details are given in the manual page dpkg-divert(8).

11.9 ロロローーーカカカルルルでででビビビルルルドドドしししたたたパパパッッッケケケーーージジジをををパパパッッッケケケーーージジジ管管管理理理シシシススステテテムムムががが認認認識識識すすするるる利利利用用用可可可能能能パパパッッッケケケーーージジジ一一一覧覧覧ででで見見見ららられれれるるるよよようううにににすすするるる方方方法法法ははは?

コマンド

dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PATHPREFIX] > my_Packages

を実行してください。

• BIN-DIRはDebianアーカイブファイル(拡張子は通常「.deb」)が置かれるディレクトリです。

• OVERRIDE_FILE はディストリビューションのメンテナにより編集されるファイルで、通常「main」ディストリビューションにあるDebianパッケージの場合はDebian FTPアーカイブのindices/override.main.gzに置かれています。ローカルパッケージの場合はこれは無視できます。

章 11. Debian GNU/Linuxインストール後の調整 52

• 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.10 あああるるるユユユーーーザザザははは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

53

章章章12

Debian GNU/Linuxのののサササポポポーーートトトををを得得得るるる

12.1 Debianシシシススステテテムムム上上上ののの、、、あああるるるいいいはははDebianシシシススステテテムムム用用用ののの文文文書書書ははは他他他にににどどどんんんなななももものののがががああありりりままますすすかかか?

• 現行リリース向けインストール手順: http://www.debian.org/releases/stable/installmanual参照。

• Debianリファレンスはシェルコマンド例を通してシステム管理の多くの側面に触れています。基礎的なチュートリアルやこつ、その他の情報が提供され、その話題はシステム管理からプログラミングまで幅広い多様なものとなっています。

debian-referenceパッケージまたはhttp://www.debian.org/doc/user-manuals#quick-referenceから得られます。

• Debianポリシーマニュアルはディストリビューションのポリシー要件、つまりDebianアーカイブの構造や内容、またオペレーティングシステムの設計上の問題等についてもいくらか言及しています。これにはディストリビューションに収録するために各パッケージが満たさなければならない技術的要件等があり、Debianのバイナリ及びソースパッケージについての基本的な技術的側面にも言及しています。

debian-policy パッケージまたはhttp://www.debian.org/doc/devel-manuals#policy から得られます。

• Debian Documentation プロジェクトにより開発された文書。http://www.debian.org/doc/ で利用でき、Debian GNU/Linux オペレーティングシステムのユーザ向けガイドや管理者向けガイド、セキュリティガイドを収録しています。

• インストールした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は英語以外の言語をどのようにサポートしていますか?’ on page 19参照)パッケージをインストールするまで利用できないことに注意してください。

• 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. Debian GNU/Linuxのサポートを得る 54

12.2 Debianにににつつついいいててて議議議論論論ででできききるるるオオオンンンララライイインンンリリリソソソーーースススはははああありりりままますすすかかか?

はい。実際、Debian がユーザに提供している主なサポート方法は電子メールによる方法です。その詳細についていくらか触れ、他の有用なリソースについてもいくらか言及します。さらに多くのリソースがDebian サポートのページ(http://www.debian.org/support)に列挙されています。

12.2.1 メメメーーーリリリンンングググリリリススストトト

Debian関連のメーリングリスト(http://www.debian.org/MailingLists/)が多数あります。

doc-debianパッケージがインストールされているシステムでは/usr/share/doc/debian/mailing-lists.txtにメーリングリストの完全な一覧があります。

Debian メーリングリストはdebian-メーリングリストの主題の形式で命名されています。例としてはdebian-announce、debian-user、debian-news 等があります。メーリングリストdebian-メーリングリストの主題の購読はどれも、debian-メーリングリストの主題[email protected]宛てに、件名: (Subject:) ヘッダに「subscribe」という語を入れてメールを送ってください。この方法を使って購読、購読解除する場合は、宛先アドレスに-requestを忘れずに付加してください。これを付加しない場合、そのメールはメーリングリスト自体に送られ、主張によっては紛糾や面倒なことになる可能性があります。

WWW フォーム(http://www.debian.org/MailingLists/subscribe)を使ってメーリングリストを購読できます。WWWフォーム(http://www.debian.org/MailingLists/unsubscribe)を使ってメーリングリストを購読解除することもできます。

何か問題が起きた場合、メーリングリスト管理者のメールアドレスは<[email protected]> です。

メーリングリストは公開フォーラムです。メーリングリストに送られたメールは全て、公開アーカイブにも複製が置かれ、誰でも(購読していなくても) 閲覧や検索ができるようになっています。機密情報や公開を許可されないものをメーリングリストに決して送ることのないよう確認してください。メールアドレスのようなものもこれに入ります。特に注意することは、私達のメーリングリストに投稿したメールアドレスは迷惑メール送信者の知るところとなり悪用されるという事実です。さらなる情報については、メーリングリストのプライバシーポリシー(http://www.debian.org/MailingLists/#disclaimer)を見てください。

DebianメーリングリストのアーカイブはWWW http://lists.debian.org/経由で利用できます。

メメメーーーリリリンンングググリリリススストトト行行行動動動規規規範範範とととははは何何何?

Debianメーリングリスト利用時は以下の規則に従ってください:

• 迷惑メールを送らないでください。Debian メーリングリストにおける広告のポリシー(http://www.debian.org/MailingLists/#ads)を見てください。

• 批判はやめてください。行儀が良いことではありません。Debianを開発している人は全て有志であり、時間や労力、資金を費やしてDebianプロジェクトに集まっているのです。

• 下品な言葉を使わないでください。悪態をつくことを認めていないパケットラジオ経由でメーリングリストを受け取っている人もいるのです。

• 適切なメーリングリストを使っていることを確認してください。購読(解除)リクエストをメーリングリスト自体に決して送ることのないようにしてください。1

• バグ報告時の注意事項については‘Debianのバグを報告する方法は?’ on page 55節を見てください。

12.2.2 ウウウェェェブブブフフフォォォーーーラララムムム

debianHELP (http://debianhelp.org/) やDebian User Forums (http://forums.debian.net/) はウェブフォーラムで、Debianについての質問を投稿して他のユーザにより回答を貰うことができます(これはDebianプロジェクト公式のものではありません)。

1そういうリクエストはdebian-メーリングリストの主題[email protected]アドレスを使ってください。

章 12. Debian GNU/Linuxのサポートを得る 55

12.2.3 Wiki

一般的な問題の解決方法やハウツー、ガイド、こつ、その他の文書が、絶え間なく変更されているDebian Wiki (http://wiki.debian.org/)にあります。

12.2.4 メメメンンンテテテナナナ

ユーザはメールを使って個々のパッケージメンテナに質問することができます。xyzというパッケージのメンテナに連絡するには、[email protected]宛てにメールを送ってください。

12.2.5 Usenetニニニュュューーースススグググルルルーーープププ

ユーザはDebian に限定しない質問について、comp.os.linux.* やlinux.* という名のLinux USENET グループの1つに投稿すべきです。Linux Usenet ニュースグループやその他WWW 上の関連リソース一覧は例えばLinux Online (http://www.linux.org/docs/usenet.html) やLinuxJournal (http://www.linuxjournal.com/helpdesk.php) サイト等、複数あります。

12.3 Debian GNU/Linuxののの情情情報報報ををを手手手っっっ取取取りりり早早早くくく検検検索索索すすするるる方方方法法法はははああありりりままますすすかかか?

Debian関連文書を提示する検索エンジンは種々あります:

• Debian WWW検索サイト(http://search.debian.org/)。

• Googleグループ(http://groups.google.com/): ニュースグループ用検索エンジン。

例えば他の人たちがDebianで使えるPromiseコントローラー用ドライバを探して経験したことを調べるには、フレーズPromise Linux ドライバを検索してみてください。そうするとこういった文字列を含む投稿、つまりそういった話題について議論した人たちを全て表示します。この検索文字列にDebianを追加すると、特にDebianに関連する投稿についても得ることができます。

• 適切な検索語を使っている限り、AltaVista (http://www.altavista.com/) やGoogle (http://www.google.com/)等、任意の一般的なウェブ検索エンジンも使えます。

例えば文字列「cgi-perl」を検索すると、その制御ファイルの簡単な説明欄ではなく、このパッケージのもっと詳細な説明を得られます。

12.4 既既既知知知のののバババグググのののロロログググはははああありりりままますすすかかか?

未解決の(あるいは閉じられた) 問題についての報告は公に利用できます: Debian はDebian 社会契約(http://www.debian.org/social_contract)で「私たちは問題を隠しません」と宣言し、そのようにしています。

Debian GNU/Linuxディストリビューションにはバグ追跡システム(BTS)があり、ユーザや開発者により報告されたバグの詳細を保管しています。各バグには番号を付けて整理されます。対処されたものはそのように記録されます。

この情報の複製がhttp://www.debian.org/Bugs/にあります。

メールサーバがバグ追跡システムのデータベースにメールを経由してアクセスする手段を提供しています。指示を取得するには、本文に「help」と書いたメールを[email protected]に送ってください。

12.5 Debianのののバババグググををを報報報告告告すすするるる方方方法法法ははは?

Debianにバグを見つけた場合はDebianのバグ報告についての指示を読んでください。指示は複数の方法で取得できます:

• WWWから。指示はhttp://www.debian.org/Bugs/Reportingにあります。

• doc-debian パッケージがインストールされているDebian システムで。指示はファイル/usr/share/doc/debian/bug-reporting.txtにあります。

• 匿名FTPで。Debianミラーサイトのファイルdoc/bug-reporting.txtに指示が収録されています。

章 12. Debian GNU/Linuxのサポートを得る 56

パッケージreportbugを利用できます。これは報告プロセスを誘導し、システム詳細についていくらか自動的に追加して、メッセージを適切なアドレスにメールで送ります。報告対象のパッケージに対して既に報告されているバグ一覧も表示するので、そのバグが以前に報告されている場合は既存のバグ報告に追加情報を加えることができます。

自動化でのバグ報告の通知を待ちましょう。バグ追跡用の番号も自動的に付けられ、バグのログに取り入れられてdebian-bugs-distメーリングリストに転送されます。

57

章章章13

Debianプププロロロジジジェェェクククトトトへへへののの寄寄寄付付付

時間(新しいパッケージの開発や既存パッケージの保守、ユーザサポートの提供)、リソース(FTP やWWW アーカイブのミラー)、資金(新しい試験環境やアーカイブ用ハードウェアの購入) 等を寄付(http://www.debian.org/donations)することでプロジェクトを支援することができます。Debian に協力するには? (debian-help;) も見てください。

13.1 Debianソソソフフフトトトウウウェェェアアアののの開開開発発発者者者ににになななるるる方方方法法法ははは?

Debianの開発は万人に開かれています。前のメンテナによる保守を「放棄」された既存パッケージの保守や新しいパッケージの開発、ユーザサポートを提供するためには、適切な能力や学習意欲を持った新しいユーザが必要です。

Debian開発者になるための説明はDebianウェブサイトの新規メンバーのコーナー(http://www.debian.org/devel/join/newmaint)にあります。

13.2 Debianプププロロロジジジェェェクククトトトにににリリリソソソーーースススををを提提提供供供すすするるる方方方法法法ははは?

プロジェクトはソフトウェアの大部分を地球全体で速く簡単にアクセスできるようにすることを目指しているため、ミラーは至急必要です。アーカイブ全体をミラーすることが望ましいのですがこれは絶対に必要だということではありません。ディスク容量要件についての情報はDebianミラーサイズ(http://www.debian.org/mirror/size)のページにアクセスしてください。

ミラー作業はほとんどがスクリプトにより完全自動化で行われ、操作は不要です。しかし、異常やシステムの変更が時々発生し、人手の介入が必要となるときもあります。

インターネットへの高速な接続とディストリビューションの全体または一部をミラーするリソースがあり、システムの定期的な保守を提供できる(人がいる)場合、<[email protected]> に連絡してください。

13.3 Debianプププロロロジジジェェェクククトトトににに資資資金金金提提提供供供すすするるる方方方法法法ははは?

Debianプロジェクト開発のために重要な組織が2つあり個々の寄付ができます。

13.3.1 Software in the Public Interest (SPI)

Software in the Public Interest (SPI)はIRS 501(c)(3)の非営利組織で、FSFがDebianの資金提供から撤退したときに作られました。この組織の目的はフリーソフトウェアの開発や配布です。

私達の目標はFSFと非常によく似ていて、プログラマに対しては作成したプログラムにGNU General Public Licenseの採用を奨励しています。元々FSFにより設計されたGNUシステムから細部の技術では多くの面で分岐しているLinuxシステムを作って配布していることでわずかに異なる視点を持っていますが、私達は今でもFSFとやりとりし、GNUソフトウェアに対する変更を送ったり、FSFやGNUプロジェクトに寄付するようユーザにお願いするという点で協力しています。

SPIにはhttp://www.spi-inc.org/から連絡できます。

章 13. Debianプロジェクトへの寄付 58

13.3.2 Free Software Foundation

現時点でDebian とFree Software Foundation の間に正式なつながりはありません。しかし、Free Software FoundationはDebianのソフトウェアの最も重要な構成要素をいくらか、例えばGNU CコンパイラやGNU Emacs、システム上の全プログラムにより利用されるCランタイムライブラリの大部分を担当しています。FSFはフリーソフトウェアとは何なのかということの大部分を開拓しました: Debianソフトウェアの大部分で利用されているGeneral Public Licenseを書き、完全にフリーのUnixシステムを作成する「GNU」プロジェクトを作りました。DebianはGNUシステムの子孫だとみなすべきです。

FSFにはhttp://www.fsf.org/から連絡できます。

59

章章章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 と共に作業するのにCustom Debian Distributions (http://cdd.alioth.debian.org/)基盤を利用できます。Skolelinux (http://www.skolelinux.org/)はこういったプロジェクトの1つです。

他のDebian 派生ディストリビューションがProgeny Debian やLinspire、Knoppix、Ubuntu 等既に複数、世に出ています。元のDebian GNU/Linux とは異なる層を対象としていますが、各製品で私達の構成要素の多くが利用されています。

Debian は、開発者やシステム管理者が選択したファイルのローカル版をインストールすることで、他のパッケージのアップグレード時に上書きされないようにできる仕組みも提供しています。これについては‘パッケージによりインストールされたファイルを上書きして、異なるバージョンを代わりに使う方法は?’ on page 51の質問で詳細に述べています。

章 14.商用製品でのDebian GNU/Linuxの再配布 60

14.4 自自自分分分ののの商商商用用用プププロロログググラララムムムをををDebian「「「パパパッッッケケケーーージジジ」」」にににしししててて任任任意意意のののDebianシシシススステテテムムムににに手手手間間間無無無くくくイイインンンススストトトーーールルルすすするるるよよようううにににででできききままますすすかかか?

すぐに進めてください。パッケージ用ツールはフリーソフトウェアです。パッケージはフリーソフトウェアかどうかを問わず全てインストールできます。

61

章章章15

Debianののの次次次期期期主主主要要要リリリリリリーーースススににに予予予定定定しししててていいいるるる変変変更更更

15.1 非非非英英英語語語ユユユーーーザザザのののサササポポポーーートトト拡拡拡大大大

Debianには既に、非英語ユーザに対する非常に良好なサポートがあります。‘Debianは英語以外の言語をどのようにサポートしていますか?’ on page 19を見てください。

さらに多くの言語サポートや翻訳を提供してくれる人を見つけられることを期待しています。一部のプログラムでは既に国際化をサポートしているため、必要なのはメッセージカタログの翻訳者となっています。多数のプログラムが、適切に国際化されるのはこれからの作業です。

GNU 翻訳プロジェクトftp://ftp.gnu.org/pub/gnu/ABOUT-NLS がGNU プログラムの国際化に取り組んでいます。

特にDebian lennyでは、以下のようなことに取り組んでいます。

• debconfを使っている全パッケージでの国際化サポート: Debian設定管理を使っているパッケージはパッケージ設定時にユーザに向けて表示する全メッセージを翻訳できるようにしなければならない。

• パッケージ説明文の国際化サポート:パッケージ管理フロントエンドを更新してパッケージの説明に翻訳済みのものを使うようにする。

• debian/changelogとdebian/controlにUTF-8を使う。これにより、例えばアジア圏の人名がchangelog中で正しく使えるようになる。

15.2 ブブブーーートトトののの高高高速速速化化化: 依依依存存存ベベベーーースススのののブブブーーートトト順順順

作業はDebian ブート順の変換(http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot)で行われ、決め打ちした連番に代えて動的な、依存関係を基にした順序を使うようになります。これが完了すればDebianシステムははるかに早くブートするようになります。

15.3 Debianイイインンンススストトトーーーラララののの改改改善善善

多くの作業がDebianインストーラに対して行われ、その結果大きな改善が図られました。ここではその中から2点だけ触れます。

Microsoft Windowsからのインストーラ開始: BIOS設定を変更する必要なくインストーラをMicrosoft Windowsから直接開始できるようになりました。CD-ROMやDVD-ROM、USBメモリを差し込むと自動実行プログラムが開始し、Debianインストーラを開始するプロセスを段階を追って提示します。

debian-installerには現在、シリアルATA RAIDを使ったシステムへのDebianのインストールの実験的なサポートが収録されています。

章 15. Debianの次期主要リリースに予定している変更 62

15.4 もももっっっととと多多多くくくのののアアアーーーキキキテテテクククチチチャャャ

完全なDebianシステムとして、ARM EABI (http://wiki.debian.org/ArmEabiPort) (「armel」として参照されます) (古い「arm」の後継) 等、他のアーキテクチャがおそらくlenny でサポートされます。近いうちにSuperH (http://wiki.debian.org/SHPort)がサポートされると思われます。いくつかのアーキテクチャがリリースからは外されますが、最新のsidを使ってインストール、アップグレードする手段は残されていることに注意してください

15.5 もももっっっととと多多多くくくのののカカカーーーネネネルルル

Debian GNU/Hurd に加え、Debian はBSD カーネル、つまりFreeBSD (http://www.debian.org/ports/kfreebsd-gnu/) にも移植されています。この移植版はAMD64 (“kfreebsd-amd64”) と従来のIntel (“kfreebsd-i386”)の両方で動作します。

63

章章章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 (http://www.perens.com/)さんによるDebian-1.1リリース発表

• Ian Jackson (http://www.chiark.greenend.org.uk/~ijackson/)さんによるLinux FAQ

• Debianメーリングリストアーカイブ(http://lists.debian.org/)

• dpkgプログラマーズマニュアル及びDebianポリシーマニュアル(‘Debianシステム上の、あるいはDebianシステム用の文書は他にどんなものがありますか?’ on page 53参照)

• 多数の開発者や有志、ベータテスター

• 著者たちの当てにならない記憶:-)

• Kamaraju Kusumanchi さんのChoosing a Debian distribution FAQ (http://people.cornell.edu/pages/kk288/debian_choosing_distribution.html)、快くGPL にしてくれたので新しい章として収録することができました(‘Debianディストリビューションの選択’ on page 7参照)

著者はこの文書の実現を支援してくれた全ての人に感謝します。

一切の保証を放棄します。商標は全てそれぞれの商標所有者に属します。

16.2 意意意見見見

この文書へのコメントや追加は常に歓迎します。<[email protected]> にメールを送るかdebian-faq (http://bugs.debian.org/debian-faq) パッケージに対してwishlist でバグ報告を提出してください。

16.3 入入入手手手先先先

この文書の最新版はhttp://www.debian.org/doc/FAQ/のDebian WWWページで見られます。

http://www.debian.org/doc/user-manuals#faq から平文テキストやHTML、PostScript、PDF 形式でのダウンロードも利用できます。また、翻訳もここに複数あります。

この文書はdebian-faqパッケージで利用できます。翻訳版はdebian-faq-deやdebian-faq-frその他のパッケージが利用できます。

こ の 文 書 の 作 成 に 利 用 し た 元 のSGML フ ァ イ ル もdebian-faq の ソ ー ス パ ッ ケ ー ジ 、 ま たはsvn://svn.debian.org/svn/ddp/manuals/trunk/debian-faq やhttp://anonscm.debian.org/viewvc/ddp/manuals/trunk/debian-faq/のSVNから利用できます。

章 16.このFAQについての一般情報 64

16.4 文文文書書書形形形式式式

この文書はDebianDoc SGML DTD を使って書かれました(LinuxDoc SGML から書き直されました)。DebianDoc SGMLシステムにより、1つのソースから様々な形式のファイルを作成できるようになります。例えばこの文書はHTMLや平文テキスト、TeX DVI、PostScript、PDF、GNU info形式で見られます。

DebianDoc SGML用の変換ユーティリティはDebianパッケージdebiandoc-sgmlで利用できます。