如何使用 yum 从给定的 repo 中列出已安装的软件包 [关闭]
Posted
技术标签:
【中文标题】如何使用 yum 从给定的 repo 中列出已安装的软件包 [关闭]【英文标题】:How to list installed packages from a given repo using yum [closed] 【发布时间】:2011-06-04 08:11:06 【问题描述】:我想列出我使用 yum 从给定 repo 安装在系统上的所有软件包。通常为此我使用yum list installed | grep "something"
。但现在我面临一个问题。我感兴趣的 repo 没有让我 grep 的“东西”。该 repo 中的软件包没有任何显着特征。我如何列出它们?
我浏览了 yum 手册页,但没有找到任何东西。我想知道是否还有其他我可以使用的命令。
【问题讨论】:
这应该迁移到 Unix 和 Linux,这是一个不错的问题。 Unix Exchange 已经有 a question ,如果不一样的话,它们非常相似。 @fedvasu,我同意;只是错误的论坛,但很好的问题,尽管答案很简单:D 【参考方案1】:试试
yum 列表已安装 | grep reponame
在我的一台服务器上:
yum 列表已安装 | grep 雷米 ImageMagick2.x86_64 6.6.5.10-1.el5.remi 已安装 已安装 memcache.x86_64 1.4.5-2.el5.remi mysql.x86_64 5.1.54-1.el5.remi 已安装 mysql-devel.x86_64 5.1.54-1.el5.remi 已安装 mysql-libs.x86_64 5.1.54-1.el5.remi 已安装 mysql-server.x86_64 5.1.54-1.el5.remi 已安装 mysqlclient15.x86_64 5.0.67-1.el5.remi 已安装 php.x86_64 5.3.5-1.el5.remi 已安装 php-cli.x86_64 5.3.5-1.el5.remi 已安装 php-common.x86_64 5.3.5-1.el5.remi 已安装 php-domxml-php4-php5.noarch 1.21.2-1.el5.remi 已安装 php-fpm.x86_64 5.3.5-1.el5.remi 已安装 php-gd.x86_64 5.3.5-1.el5.remi 已安装 php-mbstring.x86_64 5.3.5-1.el5.remi 已安装 php-mcrypt.x86_64 5.3.5-1.el5.remi 已安装 php-mysql.x86_64 5.3.5-1.el5.remi 已安装 php-pdo.x86_64 5.3.5-1.el5.remi 已安装 php-pear.noarch 1:1.9.1-6.el5.remi 已安装 php-pecl-apc.x86_64 3.1.6-1.el5.remi 已安装 php-pecl-imagick.x86_64 3.0.1-1.el5.remi.1 已安装 php-pecl-memcache.x86_64 3.0.5-1.el5.remi 已安装 php-pecl-xdebug.x86_64 2.1.0-1.el5.remi 已安装 php-soap.x86_64 5.3.5-1.el5.remi 已安装 php-xml.x86_64 5.3.5-1.el5.remi 已安装 remi-release.noarch 5-8.el5.remi 已安装
有效。
【讨论】:
不幸的是,这仅适用于将“remi”之类的东西放在最后的回购。 rpmforge 确实有效(他们使用“rf”),但 atrpms 没有在末尾添加任何内容:/ 另外,重新阅读这个问题,他说他通常会这样做,但在这种情况下不能。 另一个问题:如果包名称/版本字符串太长(例如来自 Cloudera 的 Solr),那么“@origin-repo”部分会被下推到一个新行,导致一行是“ [空格]@origin-repo"。 @IBBoard "export COLUMNS=999 yum..." 怎么样 @Massimo,太糟糕了,我没有早先看到关于该问题的第二条评论,该评论指向另一个答案。最好的答案实际上是yum repo-pkgs repo-id list installed
,它适用于 RHEL7.7,并且比 grepping 更可靠。正确答案的链接:unix.stackexchange.com/a/233966/14907【参考方案2】:
在较新版本的 yum 上,此信息在安装软件包时存储在“yumdb”中。这是获取信息的唯一 100% 准确方式,您可以使用:
yumdb search from_repo repoid
(或 repoquery 和 grep -- 不要 grep yum 输出)。 然而,“find-repos-of-install”命令在一段时间内是 yum-utils 的一部分,在没有这些信息的情况下做了最好的猜测:
http://james.fedorapeople.org/yum/commands/find-repos-of-install.py
正如弗洛伊德所说,很多回购。在他们的版本中包含一个独特的“dist”标签,你可以寻找它......但是从你所说的来看,我猜你不是这种情况?
【讨论】:
做一些研究,似乎 yumdb 在 RHEL 6(和 CentOS 6)中是新的 - 所以它在旧版本中不可用。 谢谢你;我知道现在必须有一种 rpm/yum 方式来执行此操作:D 完美。只有一件事,要在 Cent OS 6 上安装 yumdb,请使用 yum install yum-utils 安装它 从上面看这个命令如何使用不是很清楚。以下是列出 EPEL 存储库中所有包的示例用法:yum search from_repo epel
。
那是 yumdb 不是 yum,但是是的。以上是关于如何使用 yum 从给定的 repo 中列出已安装的软件包 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章