環境
Ubuntu20.4
記事
aptでパッケージの情報の一覧を表示するコマンドは、apt listと、apt-cache searchの2種類が存在します。それぞれの違いについて書いてみました。
apt listを実行すると、公式のリモートリポジトリ上にある、全てのパッケージが表示されます。
apt list
リポジトリにはたくさんのパッケージが存在しているため、Ctrl+cでブレイクさせないと、いつまでも表示し続けます。
果たして、パッケージはいくつ存在しているのだろうか。パッケージの数を調べたい場合は、次のコマンドで調べることができます。(因みに、2022/3/15時点で、76,876個のパッケージが存在していました)
apt list | wc -l
apt listでは、ローカル環境にインストール済のパッケージも一緒に表示されます。インストール済のパッケージには、行の右側に [installed] と表示されます。インストール済のパッケージだけに絞って表示する場合は、次のようにオプションをつけます。
apt list --installed
次に、apt-cache searchを実行してみる。このコマンドだけ実行してもエラーになります。apt listのように、リポジトリ上にある全てのパッケージを表示することはできません。
apt-cache search
apt-cache searchは、次のようにパッケージ名を指定して検索する時に利用します。apt-cache searchを利用して、インストール済のパッケージだけに絞り込んで表示することもできません。
apt-cache search nodejs
apt listとapt-cache searchとでは、同じパッケージを検索しても、表示される情報が異なります。次の検索結果を見比べてみよう。
$apt list | grep ^nodejs
nodejs/focal,now 10.19.0~dfsg-3ubuntu1 amd64 [installed]
nodejs-doc/focal,focal,now 10.19.0~dfsg-3ubuntu1 all [installed,automatic]
nodejs-mozilla/focal-updates,focal-security 12.18.1-0ubuntu0.20.04.1 amd64
$ apt-cache search nodejs | grep ^nodejs
nodejs - evented I/O for V8 javascript - runtime executable
nodejs-doc - API documentation for Node.js, the javascript platform
nodejs-mozilla - evented I/O for V8 javascript
apt listで表示される情報は、パッケージのバージョン、アーキテクチャ(CPUの種類)であるのに対し、apt-cahe searchで表示される情報は、パッケージの説明文だけとなります。
1つのパッケージに対し、詳細な情報を表示したい場合は、apt-cache showを使います。apt listで表示される情報、apt-cache searchで表示される情報の両方が表示されます。
apt-cache show nodejs