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

目次

5.1. Debian GNU/Linux ではどんな種類のアプリケーションや開発用ソフトウェアが利用できますか?
5.2. このソフトウェア全ては誰が書いたのですか?
5.3. Debian 用にパッケージ化されているプログラムの現在の一覧を得る方法はありますか?
5.4. パッケージをビルドするための開発環境をインストールするにはどのようにしたらいいですか?
5.5. Debian GNU/Linux に足りないものは何?
5.6. プログラムをコンパイルしたときに「ld: cannot find -lfoo」メッセージが出るのは何故ですか? Debian ライブラリパッケージに libfoo.so ファイルが無いのは何故ですか?
5.7. Debian は Java を (どのように) サポートしていますか?
5.8. Debian システムを使っていることやそれがどのバージョンなのか確認する方法は?
5.9. Debian は英語以外の言語をどのようにサポートしていますか?
5.10. ezmlm/djbdns/qmail はどこですか?
5.11. Flash (SWF) 用プレーヤーはどこですか?
5.12. Google Earth はどこですか?
5.13. VoIP ソフトウェアはどこですか?
5.14. I have a device that requires non-free firmware. What should I do?
5.15. Linux で機能しない無線ネットワークカードを持っています。どうするべきですか?

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

ほとんどの Linux ディストリビューションと同様、Debian GNU/Linux では

  • gcc や g++、make、texinfo、Emacs、Bash シェルその他多数のアップグレードされた Unix ユーティリティ等、ソフトウェア開発やファイル操作、テキスト処理用の主な GNU アプリケーション、

  • Perl や Python、Tcl/Tk とそれぞれに関連する様々なプログラムやモジュール、ライブラリ、

  • TeX (LaTeX) や Lyx、dvips、Ghostscript、

  • ネットワーク対応の Linux 用グラフィカルユーザインターフェイスを提供する Xorg ウィンドウシステムや、GNOME や KDE、Xfce デスクトップ環境といった無数の X アプリケーション、

  • HTTP (ウェブ) や FTP、NNTP (ニュース)、SMTP 及び POP (メール)、DNS (ネームサーバ) 等インターネットプロトコル用サーバ、PostgreSQL や MySQL 等のリレーショナルデータベースといったネットワークアプリケーション群一式、さらに様々な Mozilla 製品等のウェブブラウザ、

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

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

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

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

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

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

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

Debian パッケージへの WWW インターフェイスのページに Debian アーカイブの30ほどの「区分」それぞれに収録されているパッケージについて使いやすいようにまとめられています。

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

Debian システムでパッケージをビルドしたい場合、C/C++ コンパイラやその他の必須パッケージ等の基礎的な開発環境が必要です。この環境のインストールは単にbuild-essential パッケージをインストールするだけです。これはメタパッケージあるいはプレースホルダーパッケージというもので、Debian パッケージのビルドに必要な標準的な開発ツール群に依存しています。

ただし、ソフトウェアによっては再ビルドに autoconfgettext 等ライブラリヘッダや追加のツールといった、追加のソフトウェアを必要とします。Debian は他のソフトウェアを Debian パッケージとしてビルドするのに必要なツールを多数提供しています。

正確にどのソフトウェアが必要となるのかは、Debian パッケージの再ビルドを予定していない場合は見つけにくいかもしれません。この最後の作業は公式のパッケージの場合はそのパッケージのビルドに (build-essential のパッケージ以外で) 必要な追加ソフトウェアの一覧を収録しなければならないため簡単です。これは Build-Dependencies と呼ばれます。あるソースパッケージのビルドに必要なパッケージを全てインストールしてそのソースパッケージをビルドするには単に

# apt-get build-dep foo
# apt-get source --build foo

を実行するだけです。Debian により配布されている Linux カーネルをビルドしたい場合は kernel-package パッケージもインストールする必要があることに注意してください。さらなる情報については 「独自カーネルをビルドためにどんなツールを Debian は提供していますか?」 を見てください。

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

Debian 用にパッケージ化する必要があるパッケージの一覧があります。作業が望まれるパッケージ (Work-Needing and Prospective Packages) 一覧

足りないものの追加についての詳細は 13章Debian プロジェクトへの寄付 を見てください。

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

Debian ポリシーでこういった (libfoo.so.x.y.z 等への) シンボリックリンクは別個の開発用パッケージで配置するように要求しています。こういったパッケージは通常 libfoo-dev や libfooX-dev (ライブラリパッケージが libfooX で X が全体番号の場合) と名付けられます。

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

Java 技術はフリーの実装が複数 Debian パッケージとして利用可能です。Java Development Kits と Runtime Environments を両方とも提供しています。Debian を使って Java プログラムの作成、デバッグ、実行ができます。

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

さらなる情報については、Debian Java FAQ を参照してください。

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

実際に Debian ベースのディスクからインストールされたシステムであることを確認するには

lsb_release -a

コマンドを使います。ディストリビューションの名前 (Distributor ID 欄) とシステムのバージョン (Release 欄と Codename 欄) を表示します。Debian システムでの例:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.4 (wheezy)
Release:    7.4
Codename:   wheezy

/etc/debian_version ファイルの存在を確認する方法もあります。これにはパッケージ base-files により定義されるそのリリースのバージョン番号を示す一行のエントリが収められます。

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

dpkg --status foo

を使ってください。インストールされている全パッケージのバージョンを表示するには:

dpkg -l

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

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

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

    The installation prompts the user to specify the keyboard to use.

  • Debian にあるソフトウェアはほぼ全てが文字セットとして UTF-8 をサポートしています。過去に利用されていた ISO-8859-1 や ISO-8859-2 等はもう時代遅れの文字セットだと見なすべきです。

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

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

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

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

これを書いている時点 (2016-03) で ezmlm-idx は experimental でのみ利用可能 (類似の mlmmj は Debian jessie に収録); djbdns は sid (unstable) でのみ利用可能、詳細は Bug #516394 及び Bug #796118、類似の代替についてはdbndns を参照; publicfile ソフトウェアは今でもフリーソフトウェアではありません。publicfile-installer パッケージは Debian の contrib セクションから利用できるようになっています。

Dan J. Bernstein 氏による他のソフトウェア (qmaildaemontoolsucspi-tcp) は Debian に収録されています。

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

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

5.12. Google Earth はどこですか?

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

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

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

5.14. I have a device that requires non-free firmware. What should I do?

Firmware refers to embedded software which controls electronic devices. Many devices require firmware to operate. Historically, firmware would be built into the device's ROM or Flash memory, but more and more often, a firmware image has to be loaded into the device RAM by a device driver during device initialisation.

Some devices require non-free firmware to work properly. And there could be firmware updates in the future.

In Debian release 11 (bullseye) and older, Debian did not include non-free firmware on official images and live installations. For Debian 12 onwards, all the packaged non-free firmware binaries that Debian can distribute have been moved to a new component in the Debian archive, called non-free-firmware. If you're upgrading from an older release of Debian and you need these firmware binaries, make sure that your sources.list uses this new component:

http://deb.debian.org/debian bookworm main non-free-firmware contrib non-free

For more information please refer to Firmware information in the Debian Wiki.

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

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

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