apt-cache はなぜインストールされていないパッケージもリストするのでしょうか?

apt-cache はなぜインストールされていないパッケージもリストするのでしょうか?

例えば:

sudo apt-get update
sudo apt-cache pkgnames | less | sort > inst_pkgs.txt

出力

....
virtualbox
virtualbox-4.3
virtualbox-5.0
virtualbox-dbg
virtualbox-dkms
virtualbox-guest-additions-iso
virtualbox-guest-dkms
virtualbox-guest-source
virtualbox-guest-utils
virtualbox-guest-x11
virtualbox-nonfree
virtualbox-qt
virtualbox-source
....

しかし、私が試してみると

sudo apt-get remove virtualbox # または上記の他のパッケージ

私は

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'virtualbox' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 252 not upgraded.

答え1

apt-cacheは、 で構築または更新された apt キャッシュと対話するためのものですapt-get update。これは、システムに現在インストールされているものとは関係ありません。

簡単に言うと、apt-getは利用可能なパッケージを変更するために使用され、 はapt-cacheそれらのパッケージを照会するために使用されます。

ヘルプテキストより:

apt-getパッケージをダウンロードしてインストールするためのシンプルなコマンドライン インターフェイスです。

Linux マニュアルページ - apt-get(8)


apt-cacheAPTのバイナリキャッシュファイルから情報を照会するために使用される低レベルのツールです。

Linux マニュアルページ - apt-cache(8)

関連情報