dnf yum
Dandified yum,通常称为DNF ,是基于RPM的Linux发行版的软件包管理器,用于安装,更新和删除软件包。 它最初以可测试的状态(即技术预览)在Fedora 18中引入,但自Fedora 22以来,它一直是Fedora的默认软件包管理器。
- 基于现代依赖性解决技术的依赖性计算
- 优化的内存密集型操作
- 在Python 2和Python 3中运行的能力
- 适用于Python API的完整文档
DNF使用Hawkey库,该库解析RPM依赖性以在客户端计算机上运行查询。 它们基于libsolv构建,libsolv是一种使用可满足性算法的程序包相关性求解器。 您可以在libsolv的GitHub存储库中找到有关该算法的更多详细信息。
不同DNF和yum的CLI命令
以下是在DNF中可以找到的yum命令行界面(CLI)的一些更改。
dnf更新 或 dnf升级:执行dnf更新或dnf升级在系统中具有相同的效果:都更新已安装的软件包。 但是,首选dnf升级,因为它的工作原理与yum --obsoletes update完全一样。
resolveep: DNF中不存在此命令。 相反,执行dnf提供可以找出哪个包提供了特定文件。
deplist: DNF中删除了Yum的deplist命令,其中列出了RPM依赖性,因为它使用程序包依赖性求解器算法来解决依赖性查询。
dnf remove <程序包>:您必须指定要删除的内容的具体版本。 例如, dnf remove kernel将删除所有名为“ kernel”的软件包,因此请确保使用dnf remove kernel-4.16.x之类的东西 。
dnf历史记录回滚:由于并非RPM数据库工具中所有可能的更改都存储在事务的历史记录中,因此删除了此检查,该检查将在您指定的事务之后撤消事务。
--skip-broken:此安装命令检查软件包是否存在依赖性问题,是通过--skip-broken在yum中触发的。 但是,现在默认情况下它是dnf更新的一部分,因此不再需要它。
-b,--best:这些开关选择事务中最佳的可用软件包版本。 在dnf升级过程中,默认情况下会跳过由于依赖关系而无法安装的更新,此开关将强制DNF仅考虑最新的软件包。 使用dnf upgrade --best 。
--allowerasing:允许擦除已安装的软件包以解决依赖关系。 此选项可以用作yum swap XY命令的替代方法,在该命令中,未明确定义要删除的软件包。
例如: dnf --allowerasing install Y。
--enableplugin:无法识别此开关,并且已将其删除。
DNF自动
DNF自动工具是dnf升级的替代CLI。 它可以从systemd计时器,cron作业等中自动定期执行,以进行自动通知,下载或更新。
首先,安装dnf-automatic rpm并启用systemd计时器单元(dnf-automatic.timer)。 它的行为与默认配置文件(/etc/dnf/automatic.conf)指定的一样。
# yum install dnf-automatic
# systemctl enable dnf-automatic.timer
# systemctl start dnf-automatic.timer
# systemctl status dnf-automatic.timer
![#systemctl的结果启用dnf-automatic.timer Result of # systemctl enable dnf-automatic.timer](https://opensource.com/sites/default/files/uploads/dnf-automatic-timer.png)
下面列出了覆盖默认配置的其他计时器单元。 选择一个满足您系统要求的设备。
- 地下城与勇士 -自动- notifyonly .timer:通知可用的更新
- dnf-automatic-download.timer:下载软件包,但不安装它们
- dnf -automatic-install.timer:下载并安装更新
DNF基本命令可用于程序包管理
#yum install dnf:这将从yum软件包管理器安装DNF RPM。
![#yum install dnf的输出 Output of # yum install dnf](https://opensource.com/sites/default/files/uploads/yum-install-dnf.png)
#dnf –version:这指定DNF版本。
#dnf列出所有 软件包 或 #dnf列出<软件包名称>:列出所有或特定软件包; 本示例列出了系统中可用的内核RPM。
#dnf检查更新 或 #dnf检查更新内核:此视图可查看系统中的更新。
#dnf search <程序包名称>:当您通过DNF搜索特定程序包时,它将搜索完全匹配以及存储库中所有可用的通配符搜索。
![#dnf搜索的输出 Output of # dnf search](https://opensource.com/sites/default/files/uploads/dnf-search.png)
#dnf repolist all:下载并列出系统中所有已启用的存储库。
![#dnf的输出全部重播 Output of # dnf repolist all](https://opensource.com/sites/default/files/uploads/dnf-repolist.png)
#dnf list --recent 或 #dnf list --recent <package-name>: -- recent选项转储系统中所有最近添加的软件包。 其他列表选项--extras,--upgrades和--obsoletes。
#dnf updateinfo列表可用 或 #dnf updateinfo列表可用秒:这些列出了系统中所有可用的建议; 包括sec选项将列出所有标记为“安全修复”的建议。
![#dnf updateinfo的输出可用秒 OUtput of # dnf updateinfo list available sec](https://opensource.com/sites/default/files/uploads/dnf-updateinfo-list-available-sec.png)
#dnf updateinfo列表可用sec --sec-severity严重:此列表列出系统中标记为“严重”的所有安全公告。
![#dnf updateinfo列表的输出可用sec --sec-severity严重 Output of # dnf updateinfo list available sec --sec-severity Critical](https://opensource.com/sites/default/files/uploads/dnfupdateinfo-severity-critical.png)
#dnf updateinfo FEDORA-2018-a86100a264 –info:这将通过--info开关验证任何咨询的信息。
![#dnf updateinfo FEDORA的输出 Output of # dnf updateinfo FEDORA](https://opensource.com/sites/default/files/uploads/dnf-updateinfo-fedora.png)
#dnf 升级-安全性或 #dnf 升级--sec-severity严重:这适用于系统中所有可用的安全公告。 使用--sec-severity选项,可以包括严重性标记为“严重”,“重要”,“中等”或“低”的软件包。
![#dnf upgrade --security的输出 Output of # dnf upgrade --security](https://opensource.com/sites/default/files/uploads/dnf-upgrade-security.png)
摘要
这些只是DNF的少量功能,更改和命令。 有关DNF的CLI,新插件和挂钩API的完整信息,请参考DNF指南 。
dnf yum