如何知道软件包是从哪个 yum 存储库安装的?

如何知道软件包是从哪个 yum 存储库安装的?

我通过 yum 安装了一个包(配置了多个存储库)后,如何找到它是从哪个存储库安装的?

如果我运行yum info package-name(或yum list package-name),我只能看到该包已“安装”。

答案1

安装后yum-utilsrepoquery将提供您寻求的信息(这里“epel”是存储库)。

$ repoquery -i cherokee

Name        : cherokee
Version     : 0.99.49
Release     : 1.el5
Architecture: i386
Size        : 8495964
Packager    : Fedora Project
Group       : Applications/Internet
URL         : http://www.cherokee-project.com/
Repository  : epel
Summary     : Flexible and Fast Webserver
Description :
Cherokee is a very fast, flexible and easy to configure Web Server. It supports
the widespread technologies nowadays: FastCGI, SCGI, PHP, CGI, TLS and SSL
encrypted connections, Virtual hosts, Authentication, on the fly encoding,
Apache compatible log files, and much more.

答案2

yum 是什么版本的?

在当前版本中,如果安装的软件包与最新可用软件包版本相同,则会显示安装该软件包的存储库。

$ yum info irssi
Installed Packages
Name       : irssi
Arch       : i586
Version    : 0.8.14
Release    : 1.fc11
Size       : 2.3 M
Repo       : installed
From repo  : updates
Summary    : Modular text mode IRC client with Perl scripting
URL        : http://irssi.org/
License    : GPLv2+
Description: Irssi is a modular IRC client with Perl scripting. Only text-mode
           : frontend is currently supported. The GTK/GNOME frontend is no
           : longer being maintained.

$ yum --version
3.2.23

如果有更新的软件包可用,那么它将被单独显示,并且新版本会显示它所属的仓库。

答案3

虽然有点晚了,但是(至少在 Fedora 15 上)可以使用 yumdb 进行类似的查询:

yumdb info 'python*'

我实际需要列出给定存储库中的软件包:

yumdb search from_repo 'my-*-repo'

答案4

要查看从 repo epel 安装的内容:(应该在 Centos 5.5 下工作)注意,如果您没有名为 epel 的 repo,它将吐出所有已安装的内容。

repoquery --repoid=epel -a | xargs yum list installed

相关内容