RPM和YUM软件仓库的区别

在RPM(红帽软件包管理器)公布之前,要想在Linux系统中安装软件只能采取编译源码包的方式,所以早期安装软件是一件非常困难、耗费耐心的事情,而且大多数的服务程序仅仅提供自身的源代码,还需要运维人员编译代码后自行解决软件之间的依赖关系。
总而言之,早期Linux系统在安装、升级、卸载服务程序时还要考虑到其他程序、库的依赖关系,所以在进行校验、安装、卸载、查询、升级等管理软件操作时难度都非常大,RPM机制则正是为了解决这些问题而设计的。
通过RPM安装的服务程序会像Windows系统中的控制面板那样,建立统一的数据库,详细记录软件信息并能够自动分析依赖关系。表1-1是一些常用的RPM软件包命令。
表1-1 常用的RPM命令

命令作用
rpm -ivh 文件名.rpm安装软件
rpm -uvh 文件名.rpm升级软件
rpm -e 文件名.rpm卸载软件
rpm -qpi 文件名.rpm查询软件描述信息
rpm -qpl 文件名.rpm列出软件文件信息
rpm -qf 文件名查询文件属于哪个RPM

但是,尽管RPM能够帮助用户查询软件之间的依赖关系,但问题还是要运维人员自己来解决,而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件依然是很繁琐的,Yum软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安装到系统。Yum软件仓库的技术拓扑如下图所示。
在这里插入图片描述
Yum软件仓库中的RPM软件包可以是由红帽官方发布的,也可以是第三方发布的,当然也可以是自己编写的。表1-2所示为一些常见的Yum命令,当前只需对它们有一个简单印象即可。
表1-2 常见的Yum命令

命令作用
yum repolist all列出所有仓库
yum list all列出仓库中所有软件包
yum info 软件包名称查看软件包信息
yum install 软件包名称安装软件包
yum reinstall 软件包名称重新安装软件包
yum update 软件包名称升级软件包
yum remove 软件包名称移除软件包
yum clean all清除所有仓库缓存
yum check-update检查可更新的软件包
yum grouplist查看系统中已经安装的软件包组
yum groupinstall 软件包组安装指定的软件包组
yum groupremove 软件包组移除指定的软件包组
yum groupinfo 软件包组查询指定的软件包组信息

Yum虽然解决了软件的依赖关系问题,但仍然还是存在着分析不准确、内存占用量大、不能多人同时安装软件等等硬伤。终于在2015年随着Fedora 22系统的发布,红帽又给了我们一个新的选择——DNF,实际就是解决了上述问题的Yum软件仓库的提升版,行业内叫做Yum v4版本。
作为Yum软件仓库v3版本的接替者,DNF特别友好的继承了原有的命令格式,使用习惯上保持一致~不用担心不会操作,举例来说以前安装软件用的是“yum install 软件包名称”,那么现在则是“dnf install 软件包名称”,命令替换成dnf即可。
当然RHEL 8系统也照顾到了老用户的习惯问题,同时兼容保留了yum和dnf两个命令,在实际操作中随意选择喜欢的执行就好,甚至提示信息都基本一样,感知不到什么区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值