众所周知,yum 是一个构建在 rpm 之上的包管理系统。它也是一个命令行实用程序,(粗鲁地说)是 rpm 的更广泛版本,它解决了 rpm 不关心的许多问题(主要显然是依赖项)。是否有任何特定情况下使用 rpm 命令比 yum 更合适?
答案1
rpm
用于与计算机上的 RPM 数据库进行交互。因此您可以查看数据库的当前状态、验证软件包、检查已安装软件的依赖关系等。
yum
使用rpm
(实际上,它使用 rpm python 库)进行大部分本地操作,但它只能执行该rpm
命令可以执行的有限数量的功能,仅与软件的安装、更新和删除相关。 yum
还可以与本地和远程软件存储库通信,并生成依赖关系图来管理软件包,这是rpm
不能的。
答案2
rpm
做了很多事情,只有其中一些被yum
.例如,验证已安装的软件包 ( --verify
)。比较 手册页yum
和rpm
手册页。
答案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