如何找出给定已安装程序是从哪个存储库安装的?

Tim*_*Tim 0 ubuntu debian apt software-installation package-management

apt 可以自动检查已安装的程序是否在安装它的存储库中进行了更新。

如何找出给定已安装程序是从哪个存储库安装的?

谢谢。

Ste*_*itt 5

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
Run Code Online (Sandbox Code Playgroud)

告诉我apt知道rr版本 4.4.0-2+b1、5.2.0-1 和 5.2.0-2,第一个可从我配置的 Debian 9 (Stretch) 存储库中获得,最后一个可从我配置的测试和不稳定的存储库。5.2.0-1 是当前安装的版本,目前无法从任何存储库中获得。您可能认为它以前可以从测试或不稳定中获得,但我安装的包是我本地构建的版本;apt现在不知道了。