智传网优云课堂,专注分享IT技术
与IT技术爱好者一起共同学习进步

dnf与yum有什么区别

1. 前言

因长期存在的问题没有被解决,yum已经被dnf取代。 为什么呢?Aleš Kozumplík解释说,技术上很难给yum打补丁,yum代码有56K行,但DNF的代码行数仅有29K。 因此,除了fork之外,没有进一步开发的选择。

dnf与yum有什么区别

2. dnf与yum的15点区别

  1. DNF使用libsolv进行依赖解析,这是由SUSE创建和维护的。 YUM使用公共API来解决依赖关系
  2. dnf API文件正确,而yum并没有文档
  3. dnf支持更多的扩展,而yum只支持Python扩展。
  4. 因为有API,所以dnf更容易构建新特性,而yum构建新特性将会非常困难。
  5. DNF使用更低的内存和更少的元数据与软件仓库的自动同步。YUM使用高内存和元数据与软件仓库的自动同步
  6. DNF更新:如果包在DNF更新操作期间具有未满足的依赖项,则不会更新该包。而yum并不会这样做。

dnf与yum的15点区别

  1. 如果启用的软件仓库没有响应,DNF将跳过它并使用可用仓库继续进行事务。而当仓库不可用时,yum会立即停止工作。
  2. dnf updatednf upgrade是等价的,而yum是区分的。
  3. dnf安装软件包,默认情况下依赖关系并不会升级,yum则提供选项支持该功能。
  4. 删除包时,DNF将自动删除所有未由用户主动安装的依赖包。yum不会这样做。
  5. 仓库缓存刷新计划,默认情况下,dnf 将每小时检查配置软件仓库中的更新,在系统启动后十分钟开始。操作由systemd定时器单元控制,/usr/lib/systemd/system/dnf-makecache.timer。这点yum一样。
  6. 内核包不受dnf保护。与yum不同,您可以使用dnf删除所有内核包,包括正在运行的包。
  7. 在dnf中,libsolv用于解决包和读取仓库的问题。hawkey库向libsolv库提供简单的C和Python API。librepo库提供C和Python(类似于libcURL)API用于下载Linux软件仓库元数据和包。
    Libcomps是备选的yum.comps库。它作为纯C写的库与python2和phthon3绑定。yum不使用这样的方式,而是采用单独的库文件来实现类似的功能。
  8. dnf的代码行数为29K,而yum的代码行数为56K
  9. dnf上Aleš Kozumplík开发,而yum的开发者是Zdeněk Pavlas和Jan Šilhan及他的团队。

3. 总结

本文主要介绍了dnf和yum有什么不同之处。红帽很有可能在下一代的RHEL系统上默认集成dnf,现在是切换到dnf的适合时候了。
dnf和yum有什么不同之处

赞(1)
未经允许不得转载:Linux入门学习到精通 » dnf与yum有什么区别
分享到: 更多 (0)

学习QQ群:557371664

关注微信公众号自助视频学习

评论 抢沙发

评论前必须登录!