如何在 rpm 系统中检查可用的软件包版本?

tsh*_*ang 86 rpm package-management

如果我想在 Debian 中检查软件包的可用版本,我apt-cache policy pkgname会在wajig给出的情况下运行它:

wajig:
  Installed: 2.01
  Candidate: 2.01
  Version table:
 *** 2.01 0
        100 /var/lib/dpkg/status
     2.0.47 0
        500 file:/home/wena/.repo_bin/ squeeze/main i386 Packages
        500 ftp://ftp.is.co.za/debian/ squeeze/main i386 Packages
Run Code Online (Sandbox Code Playgroud)

这意味着存在三个 wajig 软件包,一个已安装 ( /var/lib/dpkg/status),另外两个(版本相同)。这两个中的一个位于本地存储库中,另一个可从远程存储库中获得。

如何在 rpm 系统上获得类似的结果?

wag*_*wag 109

yum适用于 RHEL/Fedora/Centos/Scientific Linux

提供命令list以显示有关已安装和可升级(和较旧)软件包的信息。

yum --showduplicates list <package>
Run Code Online (Sandbox Code Playgroud)

用于 SuSE Linux 的zypper

可以返回可用和已安装包或补丁的详细列表。

zypper search -s <package>
Run Code Online (Sandbox Code Playgroud)

--exact-match如果有多个包,添加会有所帮助。

作为旁注,这里是包管理命令的比较。

  • 如果您想查看所有可用版本,而不仅仅是最新版本,您还应该将 `--showduplicates` 添加到 `yum`。 (9认同)

小智 19

您可以使用rpm -qi <package name>获取已安装包的所有信息。您也可以使用以下命令:

yum info <package name>
yum list <package name>
yum --showduplicates list <package name>
Run Code Online (Sandbox Code Playgroud)

  • 除了最后一个之外,所有都只显示有关“已安装”版本 FWIW 的信息。但是`--showduplicates` 有效,谢谢! (2认同)

hlo*_*dal 7

其他答案解决了如何获取有关系统上已安装软件包的信息。除此之外,除了使用pkcon search来自 PackageKit的命令之外,还可以查询 yum 存储库有关可用的尚未安装的软件包的信息,例如

$ pkcon search name xz
Searching by name             [=========================]         
Starting                      [=========================]         
Querying                      [=========================]         
Available       pxz-4.999.9-2.beta.20100608git.fc15.i686        Parallel LZMA compressor using XZ
Installed       xz-5.0.3-1.fc15.i686                            LZMA compression utilities
Available       xz-compat-libs-5.0.1-2.fc15.i686                Compatibility libraries for decoding LZMA compression
Available       xz-compat-libs-5.0.3-1.fc15.i686                Compatibility libraries for decoding LZMA compression
Installed       xz-debuginfo-5.0.3-1.fc15.i686                  Debug information for package xz
Installed       xz-devel-5.0.3-1.fc15.i686                      Devel libraries & headers for liblzma
Installed       xz-libs-5.0.3-1.fc15.i686                       Libraries for decoding LZMA compression
Installed       xz-lzma-compat-5.0.3-1.fc15.i686                Older LZMA format compatibility binaries
Installed       xzgv-0.9.1-3.fc15.i686                          Picture viewer
$
Run Code Online (Sandbox Code Playgroud)

我假设 PackageKit 是通用的,因此它也适用于 apt 存储库,尽管我只有在 Fedora 系统上使用它的经验。