你需要知道的关于 DNF 包管理器的一切

这 Fedora 项目有 宣布 “yum”包管理器将被“Dandified Yum”(dnf)取代。 dnf 包管理器的工作始于 2012 年 1 月,当时它是从 yum 派生的。 它可用于实验 Fedora 18,并且正在努力使其成为默认的包管理器 Fedora 22.

许多 Linux 发行版(如 Red Hat Enterprise Linux、CentOS 和 Fedora Core) 使用红帽软件包管理器 (RPM) 格式分发程序文件、文档和其他应用程序资产。 它就像一个可以执行安装前和安装后脚本的压缩存档,此外它还可以指定不同的元数据位,包括需要预安装的软件包列表。

除非已安装所有必备软件包,否则不会安装 RPM 软件包。 为了解决这些依赖, Fedora和其他发行版,使用 Yellowdog Updater (Modified) 或“yum”来自动执行依赖分析并安装必备包,以及它们反过来依赖的任何包。 yum 还可以自动执行系统更新,包括必要的依赖分析,以及卸载软件包。

作为 yum 的一个分支,dnf 是一个存储库管理器,但它使用“libsolv”来解决依赖关系,并使用“hawkey”库来提供简化的 C 和 Python API。 安装“dnf” Fedora (版本 18 或更高版本),以 root 身份运行以下命令:

dnf 的工作方式与 yum 非常相似(故意如此)。 要安装像“nano”这样的包,你可以使用(作为 root):

dnf-安装-nano

要搜索包,请使用“搜索”子命令:

dnf-搜索-纳米

要将所有当前安装的软件包升级到最新的可用版本,请使用:

dnf-升级

值得注意的是,在 dnf 中,调用“dnf update” 与命令“dnf upgrade“。 这与 yum 略有不同,其中“yum upgrade”是“的别名”yum --obsoletes update“。

要从系统中删除软件包,请使用 dnf 中的“remove”子命令:

在安装和删除过程中,会创建一些临时文件。 为确保在不再需要这些文件时将其删除,请使用“clean”子命令:

这 ”clean all” 命令将获取 dnf 以删除从存储库元数据生成的缓存文件、删除本地 cookie 文件、删除任何缓存存储库元数据以及从系统中缓存的任何包。 如果您只想删除一种类型的临时文件,而不是全部,请使用“dbcache“,”expire-cache“,”metadata“, 或者 ”packages”而不是“全部”。

为了 example,要从系统中删除缓存的包,请使用:

如果您需要知道某个文件的来源,可以使用“provides”子命令:

dnf-provides-less

输出显示“/usr/bin”中的“less”二进制文件来自相应的“less”包。

要查找有关包的更多信息,dnf 有一个名为“info”的子命令,它显示有关所请求包的描述和一些摘要信息。 为了 example,要了解有关“less”包的更多信息,请使用:

无 dnf 信息

Fedora 22 可能会在 2015 年年中的某个时间发布。 在此之前,您可以放心地熟悉 dnf 命令。 如果您对上面给出的任何示例有疑问,请使用下面的评论部分,我们会看看我们是否可以提供帮助。

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅