计算机网络/计算机科学与应用/系统/运维/开发

认真学Linux dnf命令详解

dnf命令

一、什么是dnf

dnf是新一代软件包管理器,首次出现在Fedora18中,取代了yum 

DNF 包管理器克服了 YUM 包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。你可以在这里获得关于 DNF 的更多知识:《 DNF 代替 YUM ,你所不知道的缘由》。DNF 的最新稳定发行版版本号是 1.0,发行日期是2015年5月11日。 这一版本的额 DNF 包管理器(包括在他之前的所有版本) 都大部分采用 Python 编写,发行许可为 GPL v2.


二、dnf安装

问题:

-bash/zsh: dnf: command not found


CentOS安装:

安装 epel-release依赖:

yum install epel-release


安装DNF包

yum install dnf


Fedora安装

dnf install dnf

三、dnf命令语法

## 版本

dnf --vresion 查看DNF包管理器版本


## 帮助

dnf help
dnf help <command>
dnf history


## 信息查看

dnf repolist 查看系统中可用的DNF软件库
dnf search <package> 搜索软件库中的RPM包
dnf list installed  列出所有安装的rpm包
dnf list available 列出所有可安装的rpm包
dnf info <package>  查看软件包详情
dnf provides <file> 查找某一文件的提供者


## 软件包操作

dnf install <package> 安装软件包机器所需的依赖
dnf update <package> 升级软件包
dnf remove <package> 删除软件包
dnf reinstall <package> 重新安装特定软件包
dnf distro-sync 更新软件包到最新的稳定发行版


## 系统软件包

dnf check-update 检查系统所有软件包的更新
dnf update 升级所有系统软件包
dnf clean all 删除缓存的无用软件包

四、dnf命令配置文件

/etc/dnf/dnf.conf

五、dnf代理设置

proxy=http://<ip address>:<port>
proxy_username=<username>
proxy_password=<password>

六、dnf命令实例

使用dnf安装 卸载 control-center 命令:

sudo dnf install control-center
 
sudo dnf remove control-center


#dnf 升级软件
sudo dnf update

 

#dnf 升级系统
sudo dnf upgrade

 

#dnf 清除 RPM 包缓存
sudo dnf clean packages

为什么要舍弃 Yum 而用 DNF?

三个方面:

Yum 没有 API 文档。这意味着开发者需要做更多的工作。Yum 开发者写一个调用函数都需要查看 Yum 的代码库,使开发变得缓慢。


Fedora 将会过渡到 Python3,但 Yum 却没有这个能力,而 DNF 既可以使用 Python2,也可以在 Python3 环境下运行。


依赖解决能力长期是 Fedora 软件包管理的阿喀硫斯之踵。DNF 使用基于 SAT 的依赖问题解决方法,与 SUSE 和 OpenSUSE 的 Zypper 类似。


参考文献:

https://commandnotfound.cn/linux/1/291/dnf-%25E5%2591%25BD%25E4%25BB%25A4


dnf

好的习惯,排名第一的是:自律;排名第二的是:终身学习;排名第三的是:保持运动。拥有这三种习惯,美好人生垂手可得。

评论

^