インストールされた特定のパッケージまたはプログラムがどのリポジトリにインストールされているかどうかを確認するにはどうすればよいですか?私がインストールしたすべてのパッケージを見ることができますdpkg -l
。彼らがどこから来たのかを確認する方法はありますか?
答え1
apt
パッケージをインポートしたリポジトリは追跡されません。あなたができる最善の方法は、与えられたパッケージを含むリポジトリを決定することです今、apt
理解されます(したがって技術的に最後のapt update
実行)。
apt
特定のパッケージに対してどのリポジトリが考慮されるかを確認するには、apt policy
次のように使用します。
$ apt policy rr
rr:
Installed: 5.2.0-1
Candidate: 5.2.0-2
Version table:
5.2.0-2 100
100 http://ftp.fr.debian.org/debian testing/main amd64 Packages
100 http://ftp.fr.debian.org/debian unstable/main amd64 Packages
*** 5.2.0-1 100
100 /usr/var/lib/dpkg/status
4.4.0-2+b1 500
500 http://ftp.fr.debian.org/debian stretch/main amd64 Packages
apt
この出力は、次のrr
バージョンについて説明します。
- 4.4.0-2+b1、私が設定したDebian 9(Stretch)リポジトリで利用可能です。
- 5.2.0-1 は現在インストールされているバージョンで、現在設定されているリポジトリでは使用できません。
- 5.2.0-2、私が設定したテストと不安定なリポジトリで利用可能です。
リポジトリに一致するバージョンがない場合は、次のようなさまざまな状況で発生する可能性があります。
- バージョンをホストするために使用されたが、もはやそれをしないリポジトリ(パッケージをアップグレードしておらず、追跡したリポジトリに新しいバージョンがアップロードされた場合に発生します)
- パッケージがリポジトリからインストールされた後、リポジトリが削除されました。
- パッケージはリポジトリの外部のソースからインストールされました(この場合、私がインストールしたパッケージはローカルでビルドされたバージョンでした)。