Debian に含まれるソフトウェアの数は多くさらに増加し続けていることが原因でパラドックスが生じます: Debian には通常ほとんどの作業に適したツールが用意されていますが、無数のパッケージからその作業に適したツールを見つけることがとても難しくなります。適切なツールを検索する (発見する) ための良い方法が無い点は長い間問題とされていました。幸いなことに、この問題はほぼ解決されています。
最も普通な検索方法の候補は正確なパッケージ名を調べることです。apt-cache show package
で結果が返されたら、パッケージが存在するということです。不幸なことにこの方法では、パッケージ名を知っているか推測する必要があり、それは常に可能とは限りません。
もう少し上手い検索パターンはパッケージ名の中をプレーンテキスト検索することですが、この方法も大きな制約を受けます。通常、パッケージ説明を検索すれば結果が見つかるでしょう: なぜなら、大体のパッケージはパッケージ名だけでなく詳しい説明文を備えているからです。パッケージ説明のキーワード検索はしばしば役に立ちます。apt-cache
と axi-cache
はパッケージ説明のキーワード検索を行う際に選ぶツールです; 例えば、apt-cache search video
は「video」というキーワードがパッケージ説明に含まれる全てのパッケージのリストを返します。
より複雑な検索を行うには、aptitude
などのより強力なツールが必要です。aptitude
を使うことで、パッケージのメタ情報フィールドを指定した論理演算表現を使って検索できます。例えば、以下のコマンドはパッケージ名に kino
が含まれ、パッケージの説明文に video
が含まれ、メンテナの名前に paul
が含まれるパッケージを検索します。
$ aptitude search kino~dvideo~mpaul
p kino - Non-linear editor for Digital Video data
$ aptitude show kino
Package: kino
State: not installed
Version: 1.3.4-1.3
Priority: extra
Section: video
Maintainer: Paul Brossier <piem@debian.org>
Architecture: amd64
Uncompressed Size: 7936 k
Depends: libasound2 (> 1.0.24.1), libatk1.0-0 (>= 1.12.4),
libavc1394-0 (>= 0.5.3), libavcodec53 (>= 4:0.8~beta1~) |
libavcodec-extra-53 (>= 4:0.8~beta1~), libavformat53
[…]
Recommends: ffmpeg, curl
Suggests: udev | hotplug, vorbis-tools, sox, mjpegtools, lame, ffmpeg2theora
Conflicts: kino-dvtitler, kino-timfx, kinoplus
Replaces: kino-dvtitler, kino-timfx, kinoplus
Provides: kino-dvtitler, kino-timfx, kinoplus
Description: Non-linear editor for Digital Video data
Kino allows you to record, create, edit, and play movies recorded with
DV camcorders. This program uses many keyboard commands for fast
navigating and editing inside the movie.
The kino-timfx, kino-dvtitler and kinoplus sets of plugins, formerly
distributed as separate packages, are now provided with Kino.
Homepage: http://www.kinodv.org/
Tags: hardware::camera, implemented-in::c, implemented-in::c++,
interface::x11, role::program, scope::application,
suite::gnome, uitoolkit::gtk, use::editing,
works-with::video, x11::application
この検索は、3 つの基準全てを満足するパッケージ、kino、を 1 つだけ返します。
このように条件が複数の検索はちょっと扱いにくいことが理由で、これはあまり使われません。そんなわけで、新しいタグ付けシステムが開発され、このシステムによって新しい検索方法が提供されました。パッケージには、「ファセット分類」として知られている様々な側面に従ってテーマ別に分類された、タグが付けられています。上に挙げた kino の場合、パッケージのタグによれば、Kino は Gnome ベースのソフトウェアで、動画データの処理に有用であり、主用途は編集であることがわかります。
この分類は既知の必要性に関連するパッケージを検索するのに便利です; たとえ大量の (少しの) パッケージがヒットした場合でも、残りの検索は手作業でできます。これを行うには
aptitude
で
~G
検索パターンを使いますが、タグを管理しているサイトを見て回るほうがおそらく簡単です:
works-with::video
と use::editing
タグを選ぶと、kino と pitivi 動画編集ソフトを含む、一握りのパッケージがヒットします。分類分けのシステムは時間が経てば経つ程使われる運命にあり、パッケージマネージャはこれに基づく効率的な検索インターフェイスを少しづつ提供するでしょう。
要約すると、検索したい内容の複雑さに依存して、最良の検索ツールも変わりうるということです:
パッケージ名とパッケージ説明だけを検索し、数個のキーワードにマッチする特定のパッケージを探す場合、apt-cache
がとても便利です;
検索条件にパッケージ間の関連性や例えばメンテナの名前などのメタ情報を含めたい場合には、synaptic
が便利でしょう;
タグベースの検索が必要な場合、packagesearch
は良いツールです。これは複数の条件 (パッケージに含まれるファイルの名前も含みます) に基いて利用可能なパッケージを検索する専用のグラフィカルインターフェイスです。コマンドラインで使う場合は、axi-cache
がぴったりでしょう。
最後に、論理演算を組み合わせた複雑な表現で検索したい場合、aptitude
の検索パターン構文を使うことになるでしょう。これはいささか分かりにくいですが非常に協力です; これはコマンドラインと対話型モードの両方で使えます。