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

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

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

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

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

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

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

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

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

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

等のソフトウェアを提供しています。ニュースサーバやリーダーから音声サポートや FAX プログラム、データベース、スプレッドシートプログラム、画像処理プログラム、通信、ネット、メールユーティリティ、ウェブサーバまで、さらに無線ラジオプログラムまでも、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 パッケージのビルドに必要な標準的な開発ツール群に依存しています。

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

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

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

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

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

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

足りないものの追加についての詳細は 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. 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 trixie main non-free-firmware contrib non-free

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

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

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

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

第4章 互換性の問題 |  | 第6章 The Debian archives