包管理工具-yum和dnf


相信大家都知道yum和dnf是linux系统中的包管理工具,我在学习的时候就很困惑,为什么有的地方使用yum,有的地方又使用dnf呢,现在将两者进行一个简要的阐述如下

yum

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,还能自动处理依赖性关系,一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。且安装完成之后,会删除所有不需要的软件包

常用命令

#1.安装指定软件,这里均以net-tools为例子
yum install net-tools
#2.删除指定软件
yum remove net-tools/yum erase net-tools
#3.升级指定软件
yum upgrade net-tools/yum update net-tools
#4.查询指定软件
yum search net-tools
#5.显示指定软件的详细信息
yum info net-tools
#6.显示依赖关系
yum deplist net-tools
#7.显示已安装的软件包
yum list installed
#8.清除缓存目录下的软件包,常用于更换yum源之后使用
yum clean packages 
#清除缓存目录下旧的 headers
yum clean oldheaders 
yum clean all (= yum clean packages; yum clean oldheaders)
#9.生成缓存文件,常用于更换yum源之后使用
yum makecache
#10.查看yum历史记录
yum history

dnf

由于 Yum 中许多长期存在的问题仍未得到解决,因此 Yum 包管理器已被 DNF 包管理器取代。

DNF(Dandified Yum)是新一代的RPM软件包管理器。DNF 使用 libsolv 进行依赖解析,由 SUSE 开发和维护,旨在提高性能

DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。

dnf常用命令

#查看
#1.查看历史记录
dnf history
#2.查看系统中可用的DNF软件库
dnf repolist 
# 搜索软件库中的RPM包
dnf search net-tools

# 列出所有安装的RPM包
dnf list installed  
# 列出所有可安装的RPM包
dnf list available  
# 查看软件包详情
dnf info net-tools
# 查找某一文件的提供者,我们运行的命令其实都是放在/usr/local/bin或者是/usr/bin下面的可执行文件
dnf provides lsof
 
##### 软件包操作
安装软件包
dnf install net-tools
# 升级软件包
dnf update net-tools
# 删除软件包
dnf remove net-tools 
# 重新安装特定软件包
dnf reinstall net-tools
# 更新软件包到最新的稳定发行版
dnf distro-sync  
 
##### 系统软件包
dnf check-update  # 检查系统所有软件包的更新
dnf update  # 升级所有系统软件包
dnf clean all  # 删除缓存的无用软件包

两者区别

区别dnfyum
1.解析依赖关系使用 libsolv使用公开的 API
2.API有完整的API文档,能很容易的创建新功能API没有完整文档,创建新功能十分困难
3.开发语言C、C++、Python 编写只用 Python 编写
4.使用范围Fedora、RHEL 8、CentOS 8、OEL 8 和 Mageia 6/7RHEL 6/7、CentOS 6/7、OEL 6/7
5.扩展的支持支持各种扩展只支持基于 Python 的扩展
6.同步元数据占用内存少占用较多内存
7.更新包中包含不相关的依赖,则不会更新在没有验证的情况下更新软件包
8.存储库不可用DNF 将跳过它,并继续使用可用的存储库处理事务YUM 会立即停止
9.内核包的保护DNF不提供,可以删除内核包不允许你删除运行中的内核
10.代码量29000行56000行

dnf中update和upgrade是没有区别的,yum中update和upgrade是有区别的,具体区别如下:
1.yum upgrade会删除旧版本的package
yum update则会保留
2.yum -y update:升级所有包同时,也升级软件和系统内核;
yum -y upgrade:只升级所有包,不升级软件和系统内核

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值