如果有 yum 为什么还要使用 rpm?

如果有 yum 为什么还要使用 rpm?

众所周知,yum 是一个构建在 rpm 之上的包管理系统。它也是一个命令行实用程序,(粗鲁地说)是 rpm 的更广泛版本,它解决了 rpm 不关心的许多问题(主要显然是依赖项)。是否有任何特定情况下使用 rpm 命令比 yum 更合适?

答案1

rpm用于与计算机上的 RPM 数据库进行交互。因此您可以查看数据库的当前状态、验证软件包、检查已安装软件的依赖关系等。

yum使用rpm(实际上,它使用 rpm python 库)进行大部分本地操作,但它只能执行该rpm命令可以执行的有限数量的功能,仅与软件的安装、更新和删除相关。 yum还可以与本地和远程软件存储库通信,并生成依赖关系图来管理软件包,这是rpm不能的。

答案2

rpm做了很多事情,只有其中一些被yum.例如,验证已安装的软件包 ( --verify)。比较 手册页yumrpm手册页。

答案3

在较新版本的 yum 中,rpmdb 并不是唯一被事务(安装或删除软件包)更改的东西,因此在 yum 后面直接使用 rpm 来执行此操作是非常有害的......并且 yum 会向您抱怨,如果你这样做。

唯一想到 rpm 可以做而 yum 不能做的事情是签署软件包(rpm -K)...但某些操作可能会稍微快一些,而且显然有些事情人们记得更好/更容易。

答案4

在某些情况下,你会先使用 rpm 来执行一些准备工作,然后再使用 yum。一个很好的例子是MySQL

(1) rpm -iv mysql-community-release-el6-5.noarch.rpm

此时 mysql/yum 存储库已准备就绪,您可以开始仅依赖 yum 来获取主 mysql 和其余可选包:

(2) yum install mysql-community-server

查看具体信息:

http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/index.html

相关内容