AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 62026
Accepted
lg.
lg.
Asked: 2009-09-04 07:15:55 +0800 CST2009-09-04 07:15:55 +0800 CST 2009-09-04 07:15:55 +0800 CST

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

  • 772

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

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

linux
  • 15 15 个回答
  • 302315 Views

15 个回答

  • Voted
  1. Best Answer
    Xiong Chiamiov
    2010-06-22T11:16:10+08:002010-06-22T11:16:10+08:00

    yum-utils安装后,将repoquery提供您寻求的信息(这里的“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.
    
    • 102
  2. theotherreceive
    2009-09-04T08:25:53+08:002009-09-04T08:25:53+08:00

    什么版本的百胜?

    在当前版本上,如果安装的包与可用的最新版本相同,则显示安装它的 repo。

    $ 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
    

    如果有更新的包可用,那么它将单独显示,新版本显示它可用的 repo。

    • 53
  3. Martian
    2011-10-27T01:01:09+08:002011-10-27T01:01:09+08:00

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

    yumdb info 'python*'
    

    我实际上需要列出给定仓库中的包:

    yumdb search from_repo 'my-*-repo'
    
    • 25
  4. Michael Hampton
    2014-05-25T20:19:07+08:002014-05-25T20:19:07+08:00

    如果一切都失败了,您可以手动检查 yumdb。它位于/var/lib/yum/yumdb并包含有关每个已安装软件包的详细信息。你会特别感兴趣from_repo。例如,对于bind-utils包:

    # for i in /var/lib/yum/yumdb/b/*bind-utils*/*; do echo $i: `cat $i`; done
    /var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/checksum_data: 39f7840f93d3d76825a9e8da79cfe0366f7fad68f018a273477aee62cccfa3f4
    /var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/checksum_type: sha256
    /var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/command_line: install bind-utils
    /var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo: updates
    /var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo_revision: 1397654451
    /var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo_timestamp: 1397654759
    /var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/installed_by: 0
    /var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/reason: user
    /var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/releasever: 6
    

    要获得您想要的信息:

    # cat /var/lib/yum/yumdb/b/*bind-utils*/from_repo
    updates
    

    以后的版本将提供更多数据;例如,在 EL 7 中,下载包的确切镜像和 URL 存储在这里。

    • 14
  5. Esmail
    2011-02-10T06:48:29+08:002011-02-10T06:48:29+08:00
    rpm -qi packagename
    

    会告诉你供应商和包装商

    • 6
  6. David A.
    2011-04-08T13:20:31+08:002011-04-08T13:20:31+08:00

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

    repoquery --repoid=epel -a | xargs yum list installed
    
    • 6
  7. Scott Buchanan
    2018-04-24T12:04:27+08:002018-04-24T12:04:27+08:00

    无需安装任何额外工具、greping 或输出无关信息的最简单、最直接的方法就是:

    yum list installed [package name]
    

    第三列将提供安装包的存储库的 ID。

    在使用 grep 对原始问题的评论中提到了这一点,但这不是必需的。您可以直接将包名称传递yum给过滤器。

    • 5
  8. Swoogan
    2009-09-04T08:36:43+08:002009-09-04T08:36:43+08:00

    如果该软件包是最近安装的,您可以查看 /var/cache/yum。

    在该目录中,每个 repo 都有一个目录,其中有一个 packages 目录。所以,你会做这样的事情:

    find /var/cache/yum -name [package-name]*
    

    但是,必须在 /etc/yum.conf 文件中启用缓存:

    cachedir=/var/cache/yum
    keepcache=1
    

    请注意, ayum clean [packages|all]将清除缓存目录。

    如果缓存目录为空,还有另一种方法。读取的信息yum info [package]来自/var/cache/yum/[repo]/primary.xml.gz

    您可以通过输入以下内容来查看文件:

    gunzip -d -c /var/cache/yum/[repo]/primary.xml.gz | grep '<name>[package]'
    

    但是,在yum info [package]不显示“From repo :”的机器上,如“theotherreceive”所示,这是因为它不在文件 primary.xml 中,因此无法检索该信息。因此,如果包位于两个或多个 primary.xml 文件中,则必须确定系统上的 repo 优先级。

    • 4
  9. iddqd
    2013-05-30T16:19:31+08:002013-05-30T16:19:31+08:00

    基于Swoogan
    在 RedHat 和 CentOS 上的回答,可以做到

    sudo grep -ir PACKAGE_NAME /var/cache/yum/
    

    结果应该类似于

    Binary file /var/cache/yum/REPOSITORY_NAME/primary.xml.gz.sqlite matches
    

    其中repository_name 是可以找到您的软件包的存储库,它可能是从列表中的第一个安装的(请参阅 yum repolist)

    • 4
  10. Steven Haigh
    2017-05-26T05:37:32+08:002017-05-26T05:37:32+08:00

    所以我知道这是一个有点老的问题 - 但它出现在谷歌搜索我正在寻找的东西上。

    还有一种方法可以获取使用的 repos 的唯一列表:

    # repoquery -ai | grep 'Repository  : ' | sort | uniq
    

    这将列出已安装软件包的存储库。

    • 2

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve