如何找到 yum 安装的软件包?

fan*_*873 6 yum

我使用yum list php-imap列出 php-imap:

# yum list php-imap
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.zju.edu.cn
 * epel: ftp.cuhk.edu.hk
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.zju.edu.cn
 * webtatic: sp.repo.webtatic.com
Installed Packages
php-imap.x86_64                        5.4.16-7.el7                        @epel
Run Code Online (Sandbox Code Playgroud)

但我怎样才能找到它的位置呢?我知道我可以用于find / -name php-imap搜索,但每次都很长,甚至命令都没有反应性。


在我的 CentOS 7 中,这/var/tmp/是一个空目录。并列出/var/cache/yum/x86_64/7/

base epel extras mysql56-community mysql-connectors-community mysql-tools-community timedhosts timedhosts.txt updates webtatic. 
Run Code Online (Sandbox Code Playgroud)

没有php-imap

Pat*_*lor 7

如果您想知道 rpm 文件在哪里,根据您的 yum 配置,您的系统可能会也可能不会保留它。检查 /etc/yum.conf(不确定这在所有系统上都是正确的位置,但在我的 Centos 机器上这是正确的位置)中的“cachedir=”行,这将告诉您 rpm 缓存的位置。例如:

grep cachedir /etc/yum.conf 
Run Code Online (Sandbox Code Playgroud)

我的系统显示 /var/cache/yum/$basearch/$releasevar

在同一个文件中,如果包含 keepcache=0,您的系统将不会保存 rpm。将其更改为 keepcache=1 以保留它们。根据您的存储空间,您可能需要不时清理它。

如果您想知道系统上实际软件的位置,请执行以下操作:

rpm -qa | grep php-imap
Run Code Online (Sandbox Code Playgroud)

然后从结果中获取包名称(看起来可能是 php-imap.x86_64)并执行此操作

rpm -q --filesbypkg <package full name here>
Run Code Online (Sandbox Code Playgroud)

  • 对于使用“rpm”而不是“yum”安装的软件包来说,这是正确的! (4认同)