読者です 読者をやめる 読者になる 読者になる

apt-cache searchでパッケージ名が前方一致するもののみを調べる

apt-cache searchをそのまま使うと、キーワードが説明文に含まれるものも出てきてしまい探しにくい。 --names-onlyオプションを指定すると、検索対象をパッケージ名のみにすることができる。 また、検索文字列はregex(7)に対応しているので、先頭に^をつけることで前方一致検索ができる。

$ sudo apt-cache search emacs | wc -l
316

$ sudo apt-cache search ^emacs | wc -l
67

$ sudo apt-cache search --names-only ^emacs | wc -l
22

$ sudo apt-cache search --names-only ^emacs
emacs - The GNU Emacs editor (metapackage)
emacs-goodies-el - Miscellaneous add-ons for Emacs
emacs23 - The GNU Emacs editor (with GTK+ user interface)
emacs23-bin-common - The GNU Emacs editor's shared, architecture dependent files
...

aptitudeでは標準でパッケージ名のみが検索対象となる。インストール状態も表示されて便利だが、検索が遅いので個人的にはあまり使わない。

$ sudo aptitude search ^emacs
...
p   emacs-window-layout       - window layout manager for emacs
p   emacs23                   - The GNU Emacs editor (with GTK+ user interface)
i A emacs23-bin-common        - The GNU Emacs editor's shared, architecture dependent files
i A emacs23-common            - The GNU Emacs editor's shared, architecture independent infrastructure
i   emacs23-el                - GNU Emacs LISP (.el) files
v   emacs23-gtk               -
...

ここで、iはインストール済み、pは未インストール、vは仮想的なパッケージを表し、Aは他のパッケージと合わせて自動でインストールされたことを表す。