パッケージマネージャとは、コンピュータに何のソフトウェアがインストールされたかを記録し、新しいソフトウェアのインストール・新しいバージョンへのソフトウェアの更新・以前インストールしたソフトウェアの削除を容易に行えるようにするプログラムです。名前が示すように、パッケージマネージャはパッケージを取り扱います。パッケージとは、ファイル群を一つにし、インストールや削除をまとめてできるようにしたものです。
多くの場合、パッケージはある特定のプログラムにすぎません。例えば、インスタントメッセージングクライアントの
gaim は同名の Debian
パッケージに含まれています。他方で、プログラムが、互いに関連しあった複数のパッケージから成ることもよくあります。例えば、画像エディタ
gimp は、gimp
パッケージのみからでなく
gimp-data
パッケージからも成っており、それ以外にも、任意で利用可能なアドオンパッケージ
(上級者向けのデータやドキュメントなどを含んでいます。)
がいくつかあります。また、関連しあった複数の小さなプログラムが単一のパッケージに含められていることもあります。例えば
fileutils
パッケージには、ls や
cp などのような、いくつかの一般的な Unix コマンドが含まれています。
Some packages require other packages in order to function. In Debian, packages can depend upon, recommend, suggest, break, or conflict with other packages.
パッケージ A が別のパッケージ B に依存するとは、B が A が適切に機能するのに必要になるということです。例えば、GIMP 画像エディタは GIMP
の重要なデータファイルに確実にアクセスできなければならないので、gimp
パッケージは
gimp-data
パッケージに依存しています。
パッケージ A が別のパッケージ B を推奨するとは、B が、大抵の状況において要望される重要な追加機能を A
に提供するということです。例えば、mozilla-psm
パッケージは Mozilla
ウェブブラウザに安全なデータ転送のサポートを追加するため、mozilla-browser
パッケージは
mozilla-psm
パッケージを推奨します。厳密な意味で、Mozilla が機能するのに
mozilla-psm
が必要になるというわけではありませんが、大抵のユーザは、秘密のデータ
(クレジットカードの番号など) の安全な通信を Mozilla がサポートするのを期待するでしょう。
パッケージ A が別のパッケージ B を提案するとは、パッケージ B が提供する機能が A
の機能を強化するかもしれないが、大抵の場合その機能強化は必要とされないということです。例えば、gnupg
パッケージには KMail
が使用する暗号化ソフトウェアが含まれているため、kmail
パッケージは
gnupg
パッケージを提案します。
パッケージ A が他のパッケージ B と衝突するとは、これら 2
つのパッケージが同時にインストールできないということです。例えば、fb-music-hi
は
fb-music-low
と衝突します。これらはどちらもゲーム Frozen Bubble
に音楽のセットを提供しますが、それらはどちらか一方しか使えないためです。
パッケージマネージャの仕事は、システムにインストールされたパッケージ群の管理に役立つインタフェースを、ユーザに提供することです。aptitude
は、apt
パッケージ管理システム上にそのようなインタフェースを構築して提供します。