未加星标

[工具资源] 另一个包管理工具――DNF

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

DNF 起源于 YUM 的一个分支,最早用在 Fedora 18,在 Fedora 22 中默认安装,成为系统工具。 现在更是被广泛看作 YUM 的接班人。 虽然 DNF 号称自己不错,但是幸好,至少从目前来看,都可以看做是对 YUM 的小修补。整体来说,DNF 对 YUM 的兼容做得很好,甚至于部分操作可以 yum 和 dnf 混合着来――当然,新旧掺杂绝对不是好习惯,我就这么一说,证明 YUM 和 DNF 的关联之亲近。用惯了 YUM 的朋友们一定不会抗拒换到 DNF,它们的 用法非常相似 ,而且 DNF 的更有现代语言风格。

我常用的系统是 CentOS ,虽然已经被 RedHat 收购,但是 CentOS 的品质和定位都没有变,这很难得。最新(截至 2016-10-16)的 CentOS 是 7.2.1511。下面的步骤在 CentOS 上尝试,对 Fedora/RHEL 理论上同样适用。Fedora 上应该还更加简单,下面的问题好多都不会遇到。

闲话不说,安装步骤如下。

一、手动安装全新的 yum repo

新增一个 repo,从这个 repo 中用 yum 安装 DNF。这是因为 CentOS Base repo 中的 DNF 版本太低,只有 0.6.x,而最新的稳定版已经到 1.1.9。0.6.x 中的 libsolv 太低, 导致不能处理 .bz2 压缩包 ,所以只能采用 引入新 repo 来安装 DNF 的办法。

cat <<EOF > /etc/yum.repos.d/dnf-stack-el7.repo [dnf-stack-el7] name=Copr repo fordnf-stack-el7 owned by @rpm-software-management baseurl=https:[email protected]t/dnf-stack-el7/epel-7-\$basearch/ skip_if_unavailable=True gpgcheck=1 gpgkey=https:[email protected]t/dnf-stack-el7/pubkey.gpg enabled=1 enabled_metadata=1 EOF 二、安装 DNF yum install dnf dnf-conf dnf-automatic 三、验证及状态检查

安装完成后检查 DNF 的版本(如果报错,请看下一节)。

dnf --version

截至现在(2016-10-16),通过 yum 安装的 DNF 最新的版本号是 1.1.9 ,也就是说,你安装的 DNF 不应该低于这个版本号,才是对了。

dnf repolist all

这可以查看当前 DNF 用到那些软件库的资源。按照使用 YUM 的习惯,最重要的无非 Base、EPEL、Updates 这三个。

dnf list installed

查看已经安装的应用。

PS:从第三列很容易看出,以前通过 YUM 安装的应用,都被划为 @System ,即系统模块类别。这应该是为了能从 YUM 平滑过渡的一个折衷办法。

四、部分问题的解决(更新中) 1. 『Failed to open: …..updateinfo.xml.bz2』错误

这是由于 低版本的 libsolv 库无法处理 bzip 压缩包形式的依赖关系造成的 ,解决的办法不是升级 libsolv 库,貌似库文件一起被封装成 python package,做到 rpm 里面了。所以正确的方法是,按照上面的步骤一、二重新安装 dnf。重新安装之前,必要的话应该删除旧的 DNF 及其依赖。

yum erase dnf dnf-conf dnf-automatic python-dnf && \ yum install dnf dnf-conf dnf-automatic # python-dnf 会作为 dnf 的依赖自动被安装 2. DNF 无法使用 epel 库 yum erase -y epel-release && dnf install -y epel-release

通俗来讲就是让 DNF 来维护索引。

3. 『No such command: xxx. Please use /usr/bin/dnf help』

通常遇到这种情况,是没有安装 DNF 扩展导致的。用下面的命令安装上 DNF 扩展之后,问题就能顺利解决。

dnf install -y dnf-plugins-core

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: 删除定位
分页:12
转载请注明
本文标题:[工具资源] 另一个包管理工具――DNF
本站链接:http://www.codesec.net/view/483851.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(13)