dpkgを使用してパッケージ情報を取得する

dpkgを使用してパッケージ情報を取得する

dpkgマイコンピュータにインストールされているパッケージの一覧を表示するツールを使用しようとしています。この-lオプションを使用すると、一部のパッケージが「un」として報告されます。これは不明、「インストールされていません」を意味します。 「インストールされていません」というフラグは、そのようなパッケージがあり、私が実行しているシステムで使用できますが、私のコンピュータ(ローカル)には存在せず、.debWebからファイルをダウンロードしてインストールする必要があることを意味しますか?

答え1

まず、基本的な問題を解決します。

dpkg -l | grep '^.i'

インストールされているすべてのパッケージが一覧表示されます。たとえば、他のツールもこの情報を提供できます。

apt list --installed

dpkg -l出力で「インストールされていません」dpkgは、パッケージがシステムにインストールされていなくてもパッケージが存在することが知られていることを意味します。パッケージファイル自体はシステム(APTキャッシュなど)で使用できますが、/var/cache/apt/archivessdpkgはそれを知りません。dpkg観点から言うとおり、パッケージファイルをダウンロードするか、別の方法で入手してインストールする必要があります。

答え2

dpkgunデータベースが更新されていないため(不明)印刷されます。sync-availablefromパッケージを使用して情報をdctrl-tools同期できます。dpkgapt

sudo apt install dctrl-tools
sudo sync-available

man sync-available:

 sync-available - sync dpkg's available database with apt's database 

DESCRIPTION
This program updates the dpkg(8) available database with the data in the apt(8)
package database. This is required for grep-available(1) and other similar
programs to give up-to-date results.

関連情報