如何查看未安装的软件包版本?


Answers:


24

系统/离线已知的软件包

您可以apt-cache用来查询APT缓存。要显示系统已知的版本,请使用apt-cache policy。例:

apt-cache policy iceweasel  
iceweasel:                        
  Installed: 10.0.4esr-3
  Candidate: 10.0.4esr-3
  Version table:
     12.0-7 0
          1 http://ftp.us.debian.org/debian/ experimental/main amd64 Packages
 *** 10.0.4esr-3 0
        500 http://ftp.us.debian.org/debian/ sid/main amd64 Packages
        100 /var/lib/dpkg/status
     10.0.4esr-2 0
        500 http://ftp.us.debian.org/debian/ testing/main amd64 Packages

这意味着iceweasel版本12.0-7已在实验中可用,并且具有优先级1,从sid安装了版本10.0.4esr-3,具有优先级500,并且正在测试10.0.4esr-2

有关优先级含义的详细说明,请参见apt_preferences(5)

您还可以使用以下命令显示有关软件包的简要说明和一些元信息:

apt-cache show package-name

有关所有debian软件包的信息/在线

如果要获取有关所有可用debian软件包的版本信息(基本上是http://packages.debian.org所做的事情),则可以使用rmadison(1)远程查询数据库。rmadison在devscripts软件包中,您必须通过安装apt-get install devscripts

$ rmadison iceweasel
 iceweasel | 3.0.6-3             | lenny-security    | source, alpha, amd64, arm, armel, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc
 iceweasel | 3.0.6-3             | lenny             | source, alpha, amd64, arm, armel, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc
 iceweasel | 3.5.16-11~bpo50+1   | backports/lenny   | source, alpha, amd64, armel, i386, ia64, mips, mipsel, powerpc, s390, sparc
 iceweasel | 3.5.16-14           | squeeze           | source, amd64, armel, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, sparc
 iceweasel | 3.5.16-15           | squeeze-p-u       | source, amd64, armel, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, sparc
 iceweasel | 3.5.16-15           | squeeze-security  | source, amd64, armel, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, sparc
 iceweasel | 10.0.4esr-2~bpo60+1 | squeeze-backports | source, amd64, i386, kfreebsd-amd64, kfreebsd-i386, s390
 iceweasel | 10.0.4esr-2         | wheezy            | source, amd64, armel, armhf, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, s390x, sparc
 iceweasel | 10.0.4esr-3         | sid               | source, amd64, armel, armhf, hurd-i386, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, s390x, sparc
 iceweasel | 11.0-4              | experimental      | source, armel
 iceweasel | 12.0-3              | experimental      | source, mips
 iceweasel | 12.0-7              | experimental      | source, amd64, armhf, hurd-i386, i386, ia64, kfreebsd-amd64, kfreebsd-i386, powerpc, s390, s390x, sparc

apt-cache和apt-cache之间的区别rmadison是apt-cache仅显示系统已知的信息(但可以脱机使用),而rmadison显示可用软件包的所有版本


为什么选择apt-cache策略查看软件包信息?您选择apt-cache而不是aptitude的原因是什么?
塔苏(Mesut Tasci)2012年

1
@mesuutt aptitude show仅显示一个版本/已安装的版本。但是由于我的sources.list(测试,不稳定,实验性)中有多个存储库,所以我想知道哪个软件包提供了哪个版本。您也可以看一下apt-cache show哪一个基本上像aptitude show,但是会显示多个版本的信息。
Ulrich Dangel

谢谢@UlrichDangel。我不再使用多个软件包版本和存储库。现在,我认为如果使用多个存储库,apt-cache策略会更有用:)
Mesut Tasci 2012年

aptitude自压缩以来,@ UlrichDangel 可以显示多个存储库的版本。

@mesuutt抢是正确的,你可以看到多个版本通过aptitude show -v $PACKAGE或答案,他发布
乌尔里希Dangel

27

除了其他答案,如果您有.deb软件包文件,则可以执行以下操作:

$ dpkg-deb -I package.deb

查看控件信息(名称,描述,版本,依赖项...)和基本统计​​信息,例如大小

$ dpkg-deb -f package.deb Version

仅打印版本。

例子:

  • 完整信息(请注意,前4行超出了常规控制信息)

    me@here:~$ dpkg-deb -I in/sw/minutor_2.0_amd64.deb 
     new debian package, version 2.0.
     size 131594 bytes: control archive=682 bytes.
         534 bytes,    12 lines      control              
         386 bytes,     6 lines      md5sums              
     Package: minutor
     Version: 2.0
     Architecture: amd64
     Maintainer: Sean Kasun <REDACTED>
     Installed-Size: 340
     Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libqt5core5
    (>= 5.0.1+dfsg), libqt5gui5 (>= 5.0.1+dfsg), libqt5network5
    (>= 5.0.1+dfsg), libqt5widgets5 (>= 5.0.1+dfsg), libstdc++6
    (>= 4.1.1), zlib1g (>= 1:1.1.4)
     Section: utils
     Priority: extra
     Homepage: http://seancode.com/minutor/
     Description: Minecraft mapping tool
      Minutor lets you view and inspect your Minecraft worlds.
      It is designed for Minecraft 1.2 and later.
    me@here:~$
    
  • 仅版本

    me@here:~$ dpkg-deb -f in/sw/minutor_2.0_amd64.deb Version
    2.0
    me@here:~$ 
    

9

aptitude因为squeeze能够显示所有可用版本。如果您具有用于不同版本的存储库,这将非常有用:

 $ aptitude versions aptitude
i   0.6.3-3.2+squeeze1        stable               700
p   0.6.7-1                   testing,unstable     650

啊,看起来不错。我发现了一些小/小麻烦。aptitude版本似乎将软件包名称视为一种模式,这意味着aptitude versions gcc除了列出gcc软件包以外,还列出其他许多数据包。
Ulrich Dangel 2012年

嗯,这很奇怪。在我这边aptitude versions,不将名称视为模式,aptitude versions gcc仅显示gcc软件包的版本,并且不显示任何内容gcc-4.1。可能就是您在测试中甚至在sid中所描述的那样,不幸的是,我现在无法访问此类版本来确认这一点。


3

我个人觉得apt-cache madison有用,因为它以易于解析的形式显示了每个发行版提供的版本:

apt-cache madison iceweasel | grep 'Packages$'
 iceweasel |     21.0-1 | http://ftp.fr.debian.org/debian/ rc-buggy/main amd64 Packages
 iceweasel | 17.0.6esr-1 | http://ftp.fr.debian.org/debian/ sid/main amd64 Packages
 iceweasel | 10.0.12esr-1+nmu1 | http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages
 iceweasel | 10.0.12esr-1 | http://ftp.fr.debian.org/debian/ wheezy/main amd64 Packages
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.