在最近发布的红帽企业Linux 8.0测试版中,已经使用DNF(Dandified Yum)取代了软件包管理器YUM(Yellowdog Updater, Modified),成为新一代RPM发行版软件包管理器。 DNF并不是横空出世,早在Fedora 18中已经出现,并在Fedora 22中使用dnf替代yum,旨在克服YUM软件包管理器的一些瓶颈,使用C语言库hawkey进行软件包依赖关系解析,从而大幅度提升包管理操作效率,同时也降低了内存消耗,从而提升用户体验。DNF较YUM最大的优点在于如果配置和启用的库没有响应,dnf将跳过它并使用可用的repos继续事务,而不像YUM,如果配置库不可用,yum将立即停止工作。
下面就来体验一下DNF软件包管理器的使用吧,这里使用Fedora29系统为操作对象。 # cat /etc/redhat-release Fedora release 29 (Twenty Nine) 这个版本的系统,使用的是4.0.4版本的DNF软件包管理器。 # dnf --version 4.0.4 Installed: dnf-0:4.0.4-1.fc29.noarch at Sun 25 Nov 2018 03:55:15 AM GMT Built : Fedora Project at Mon 15 Oct 2018 12:00:52 PM GMT Installed: rpm-0:4.14.2-1.fc29.x86_64 at Sun 25 Nov 2018 03:54:24 AM GMT Built : Fedora Project at Wed 22 Aug 2018 08:07:47 AM GMT 可以使用dnf --help查看dnf命令的帮助信息,可以看到这个命令和yum的使用类似。 # dnf --help usage: dnf [options] COMMAND List of Main Commands: …… history display, or use, the transaction history info display details about a package or group of packages install install a package or packages on your system list list a package or groups of packages makecache generate the metadata cache provides find what package provides the given value reinstall reinstall a package remove remove a package or packages from your system repolist display the configured software repositories … dnf使用dnf repolist查看当前系统中可以使用的DNF 软件库。 # dnf repolist Last metadata expiration check: 0:12:52 ago on Sun 25 Nov 2018 01:15:54 PM CST. repo id repo name status *fedora Fedora 29 - x86_64 58,207 *fedora-modular Fedora Modular 29 - x86_64 8 *updates Fedora 29 - x86_64 - Updates 12,040 *updates-modular Fedora Modular 29 - x86_64 - Updates 9 可以使用dnf list列出所有来自库的可用软件包和所有已经安装在系统上的软件包;如果只想列出所有已经安装了的RPM包,可以使用dnf list installed命令;如果是列出可供安装的,则使用 dnf list available命令。 如果你不知道想要安装软件包名称的话,可以使用dnf search 后添加关键字来搜索软件包,如:dnf search "web server" ;想看某软件包的详细信息,可以使用dnf info软件包名 的方式查看;dnf也可以像yum一样去使用provides查询某个命令或某个文件是由哪个软件包提供的,如: # yum provides ssh Last metadata expiration check: 0:00:46 ago on Sun 25 Nov 2018 04:32:58 PM CST. openssh-clients-7.8p1-3.fc29.x86_64 : An open source SSH client applications Repo : @System Matched from: Filename : /usr/bin/ssh … 安装openssh-clients软件包 # dnf install openssh-clients 怎么样,是不是使用dnf来管理RPM软件包和使用yum管理软件包的方式在很多地方都是类似的,可以说大多数的dnf命令使用yum用户熟悉的指令哦,并且二者使用相同的RPM包存储库。 东方瑞通成立于1998年,总部在北京,分别在上海、广州、天津、武汉、济南、深圳、成都、重庆、杭州和西安建立了直营分部,全国拥有超过40间专业培训教室、40多位专职讲师及180多位签约讲师;作为国内企业级IT高级技术&管理培训的领军机构,为数千家企业客户提供员工外派(公开课)和团体定制培训服务,累计培训专业人才数十万名。
|