dnf 命令

| 选择喜欢的代码风格  

dnf 命令安装:


-bash: dnf: command not found

#CentOS 安装
#安装 epel-release 依赖:
yum install epel-release

#安装 DNF 包:
yum install dnf

dnf 命令补充说明:


DNF 是新一代的 rpm 软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,它取代了 yum,正式成为 Fedora 22 的包管理器。

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 命令语法:


#与 YUM 基本保持一致,少数用法有区别。
##### 版本
dnf –version  # 查看DNF包管理器版本

##### 帮助
dnf help  # 查看所有的DNF命令及其用途
dnf help <command>  # 获取命令的使用帮助
dnf history  # 查看 DNF 命令的执行历史

##### 信息查看
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 的语法与 Yum 几乎一样,例如,使用 DNF 安装、卸载 control-center 的命令为:

sudo dnf install control-center

sudo dnf remove control-center
#升级软件
sudo dnf update

#升级系统
sudo dnf upgrade

#清除 RPM 包缓存
sudo dnf clean packages

查看 dnf 版本:

[root@Test ~]$ dnf --version
4.0.9
  Installed: dnf-0:4.0.9.2-1.el7_6.noarch at Thu 22 Aug 2019 07:48:40 AM CST
  Built    : CentOS BuildSystem <http://bugs.centos.org> at Wed 13 Feb 2019 08:19:33 PM CST

  Installed: rpm-0:4.11.3-32.el7.x86_64 at Wed 26 Sep 2018 09:00:09 AM CST
  Built    : CentOS BuildSystem <http://bugs.centos.org> at Wed 11 Apr 2018 03:54:32 AM CST

为什么要舍弃 Yum 而用 DNF?


有三个主要原因:

  • Yum 没有 API 文档。这意味着开发者需要做更多的工作。Yum 开发者写一个调用函数都需要查看 Yum 的代码库,使开发变得缓慢。
  • Fedora 将会过渡到 Python3,但 Yum 却没有这个能力,而 DNF 既可以使用 Python2,也可以在 Python3 环境下运行。
  • 依赖解决能力长期是 Fedora 软件包管理的阿喀硫斯之踵。DNF 使用基于 SAT 的依赖问题解决方法,与 SUSE 和 OpenSUSE 的 Zypper 类似。

dnf 扩展阅读:




发表评论