DNF新一代的RPM软件包管理器。
DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。
DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。
DNF 并未默认安装在 RHEL 或 CentOS 7系统中,但是 Fedora 22 已经默认使用 DNF .
1.为了安装 DNF ,您必须先安装并启用 epel-release 依赖。
在系统中执行以下命令:
# yum install epel-release
2.使用 epel-release 依赖中的 YUM 命令来安装 DNF 包。、
在系统中执行以下命令:
# yum install dnf
然后, DNF 包管理器就被成功的安装到你的系统中了。
查看 DNF 包管理器版本
用处:该命令用于查看安装在您系统中的 DNF 包管理器的版本
命令:
# dnf –version
如果有报错
~ $ dnf --version
4.0.9
Traceback (most recent call last):
File "/usr/bin/dnf", line 58, in <module>
main.user_main(sys.argv[1:], exit_code=True)
File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 179, in user_main
errcode = main(args)
File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 64, in main
return _main(base, args, cli_class, option_parser_class)
File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 95, in _main
cli.configure(list(map(ucd, args)), option_parser())
File "/usr/lib/python2.7/site-packages/dnf/cli/cli.py", line 868, in configure
self.base.output)
File "/usr/lib/python2.7/site-packages/dnf/cli/cli.py", line 137, in print_versions
sm_ui_time(pkg.installtime)))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 4: ordinal not in range(128)
这是由于python2中的编码bug,需要在python目录/lib/python2.7/site-packages/中新建一个文件(系统pyhton目录:/usr/lib/python2.7/site-packages/):
sitecustomize.py,其中包含下列代码
import sys
sys.setdefaultencoding('utf-8')
然后验证一下
~ $ dnf --version
4.0.9
已安装: dnf-0:4.0.9.2-1.el7_6.noarch 在 2020年05月28日 星期四 08时54分59秒
构建 :CentOS BuildSystem <http://bugs.centos.org> 在 2019年02月13日 星期三 20时19分33秒
已安装: rpm-0:4.11.3-35.el7.x86_64 在 2019年02月20日 星期三 04时14分24秒
构建 :CentOS BuildSystem <http://bugs.centos.org> 在 2018年10月30日 星期二 19时27分14秒
完美~~~