如何检查 apt 镜像是否具有我需要的软件包版本?

如何检查 apt 镜像是否具有我需要的软件包版本?

假设我想查询openssl, 1.0.1-4ubuntu5.12镜子中是否有可用,例如

deb http://security.ubuntu.com/ubuntu precise-security main restricted

我可以检查任何简单的命令吗?

答案1

你可以运行apt-get install -s openssl -t precise-security

  • -s标志只是为了模拟安装
  • -t标志指定目标版本

这将返回类似以下内容:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
  openssl
1 upgraded, 0 newly installed, 0 to remove and 64 not upgraded.
Inst openssl [1.0.1-4ubuntu5.11] (1.0.1-4ubuntu5.12 Ubuntu:12.04/precise-security [amd64])
Conf openssl (1.0.1-4ubuntu5.12 Ubuntu:12.04/precise-security [amd64])

现在,从这里,您可以看到该版本openssl 1.0.1-4ubuntu5.12在此存储库中可用。

但是,仅当存储库包含比系统上安装的版本更新的版本时才会报告此情况。


apt-cache policy openssl将报告您在 sources.list 文件中定义的每个存储库的可用版本(即使您的系统已经是最新的 - 而我的情况并非如此):

openssl:
  Installed: 1.0.1-4ubuntu5.11
  Candidate: 1.0.1-4ubuntu5.12
  Version table:
     1.0.1-4ubuntu5.12 0
        500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
 *** 1.0.1-4ubuntu5.11 0
        500 http://fr.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     1.0.1-4ubuntu3 0
        500 http://fr.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

相关内容