如何在 CentOS 中找出软件包是从哪个存储库安装的?

jor*_*lli 8 centos package-management yum

当您用于yum info查找所选软件包的详细信息时,它会将存储库列为“已安装”。这一切都很好,但是对于已安装的软件包,我想知道它是从哪个存储库安装的,这样我就可以确保从同一个存储库安装任何相关的软件包。

$: yum info mysql-server
Loaded plugins: fastestmirror
Installed Packages
Name       : mysql-server
Arch       : x86_64
Version    : 5.0.77
Release    : 4.el5_6.6
Size       : 22 M
Repo       : installed
Summary    : The MySQL server and related files.
URL        : http://www.mysql.com
License    : GPLv2 with exceptions
Description: MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
           : client/server implementation consisting of a server daemon (mysqld)
           : and many different client programs and libraries. This package contains
           : the MySQL server and some accompanying files and directories.
Run Code Online (Sandbox Code Playgroud)

我如何找出这个特定包是从哪个存储库安装的?

小智 6

对于那些像我一样不幸偶然发现这个问题的人来说,这是一个更新的 - 稍微有用的 - 答案......

对于 Fedora(大概还有 Centos 和 RHEL),例如:

dnf whatprovides postgresql-server
Run Code Online (Sandbox Code Playgroud)

使用来自 blah blah blah 的元数据

postgresql-server-9.3.9-1.fc21.x86_64 :创建和运行 PostgreSQL 服务器所需的程序

Repo        : @System
Run Code Online (Sandbox Code Playgroud)

postgresql-server-9.3.5-4.fc21.x86_64 :创建和运行 PostgreSQL 服务器所需的程序

Repo        : fedora
Run Code Online (Sandbox Code Playgroud)

postgresql-server-9.3.9-1.fc21.x86_64 :创建和运行 PostgreSQL 服务器所需的程序

Repo        : updates
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它列出了@System当前安装的软件包,以及可能安装它的存储库和版本。这里重要的部分是列出的最后一项,其版本详细信息和名称与安装的内容完全匹配。因此它是从 fedora 更新存储库安装的。dnf 和 yum 一样,也支持 info 选项,即:

dnf info postgresql-server
Run Code Online (Sandbox Code Playgroud)

但是,在我的系统上,dnf 输出不显示该From repo字段,与 yum 命令不同,因此 YMMV。


Pat*_*hes 4

现代版本的 YUM 提供了此信息。

例如,在我的 Fedora 15 系统上,使用 YUM 3.2.29:

# yum 信息 mysql 服务器
加载的插件:fastestmirror、langpacks、presto、refresh-packagekit
已安装的软件包
名称:mysql服务器
架构:x86_64
版本:5.5.14
版本:2.fc15
尺寸:42M
回购:已安装
来自回购:更新
摘要:MySQL服务器及相关文件
网址:http://www.mysql.com
许可证:GPLv2,但有例外
描述:MySQL 是一个多用户、多线程的 SQL 数据库服务器。MySQL 是一个
            :由服务器守护进程(mysqld)组成的客户端/服务器实现
            :以及许多不同的客户端程序和库。这个包包含
            :MySQL 服务器和一些附带的文件和目录。

您可能会看到是否有较新版本的 YUM 可以为您的系统提供此信息。