阅读更多

1顶
0踩

企业架构

原创新闻 Fedora的包管理器已从Yum切换到DNF

2015-05-19 09:45 by 副主编 mengyidan1988 评论(0) 有4928人浏览



你想知道为什么Yum包没有安装到Fedora 22中?为什么当你调用/usr/bin/yum等文件或任何yum-util插件时有警告?你应该看下右侧界面,Yum已经被DNF取代,DNF成为了Fedora新默认的包管理器。

DNF从Yum分支出来,使用专注于性能的C语言库hawkey进行依赖关系解析工作,大幅度提升包管理操作效率并降低内存消耗,按原先的节奏本应该是Fedora 22实现这一替代方案。但随着DNF 1.0版本的发布,这一刻终于到来。

这样的激进更新是不可避免的,主要是由于Yum不能“Python 3 as default”,而DNF支持Python 2和Python3。(Python 3分支自2008年发布以来积极开发了五年,已经成熟和稳定,而目前仍在维护的Python 2分支不增加新特性,只接受bug和安全修正,它最早的版本是在2000年发布的。)与此同时,DNF Python API和Yum是完全不同的,这两个项目中所有已知的不兼容问题也都被记录。

在Fedora 22 Core中只有DNF而Yum项目正式宣告死亡。

Yum依然可以下载到,也可同样调用软件包,以及Python API照旧。只是Yum可执行文件被重新命名为yum-deprecated,以及Yum调用的命令行被重新定向至DNF。这样你就可以在一个系统上同时保有Yum和DNF。

启动DNF项目的原因是Yum的三个陷阱:undocumented API、broken dependency solving algorithm和inability to refactor internal functions。最后被提及的问题是缺少文件链接。Yum插件可以在Yum代码中使用任何method,这会造成Yum utility因一些细小变化而突然崩溃。

DNF目标是为了避免Yum执行的错误。从一开始所有暴露的API都被适当的记录,且测试几乎包含了每一次新的提交。这个项目采用了敏捷开发,会提供用户一些优先级功能实现。

DNF现在也在极力推进Yum迁移至DNF,并改善用户体验。为了实现轻松迁移,已经将DNF迁移插件导入了包、组和事务元数据,实现从Yum至新的Fedora包管理器。

                                                By DNF团队Jan Silhan
英文原文:Yum is dead, long live DNF

HN的讨论:https://news.ycombinator.com/item?id=9560270
  • 大小: 58.7 KB
1
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Asp.Net下的DataGrid的多层表头样式实现(一)

    要实现以下样式(跨行跨列):  实际上Asp.Net下的DataGrid只不过是一个HtmlTable,只不过在HtmlTable的基础上添加了很多属性、方法,纳入ViewState机制,来生成、控制它;   具体是在DataGrid的OnItemDataBound事件中处理,行、列的合并。 后台代码如下: protected void dg_list_ItemDataBound(object sender, DataGridItemEventArgs e) { #

  • DataGrid应用样式文件定义动态样式

    DataGrid应用样式文件定义动态样式 hbzxf(阿好)http://www.cnblogs.com/hbzxf     在ASP.NET开发过程中,DataGrid使用的频率是非常高的,对于DataGrid的样式来说大家普遍使用的是自定义不同的颜色来应用于DataGrid的Header, Footer, EditItem, SelectItem, Item, Page,然而如果在每个页面都要

  • js动态控制table为easyUI中的DataGrid样式

    //初始化表格 $(function () { initTable(); }); //初始化表格 function initTable() { //把搜素框里的内容提交到后台对数据进行过滤。 $('#dg').datagrid({

  • JQuery EasyUI 根据数据动态生成datagrid

    function load(sdate) {     $.getJSON("workorder/statistics.do", {         sdate : sdate+'-01'     }, function(resp) { //获取数据源         var columns = new Array(); //定义列集合         var row = resp.row

  • WPF DataGrid自定义样式

    微软的WPF DataGrid中有很多的属性和样式,你可以调整,以寻找合适的(如果你是一名设计师)。下面,找到我的小抄造型的网格。它不是100%全面,但它可以让你走得很远,有一些非常有用的技巧和陷阱。在DataGrid中的最高水平,你可以改变的外观和感觉,通过设置一些: Property Type Values ...

  • 用css控制datagrid的样式

    用css控制datagrid的样式 尽管系统提供了几种可以直接套用的样式,但是多数情况还是需要自己写css样式,我的问题是实现下面的这种样式,怎么写css,不用我还在datagrid里面添加“bordercolor=black”?我弄了好久没有弄出来,最终也没有完全把样式添加到css文件里面,我的实现办法是1,在datagrid里面添加 “bordercolor=black”2...

  • 主题与外观(skins)

    应用一个属性,并且您无法通过成组地设置控件的可视属性来赋予控件主题。ASP.NET 2.0提供了一项新功能,即输入主题和外观。该功能简化了生成精美页面的任务。    要查看主题和外观的工作方式,请将以下指令添加到DataSource2.aspx中,如图2 所示:                                        ConnectionString="server=

  • DataGrid的style设置

    DataGrid从本质上来讲,就是一个response.write的封装,我觉得,就是动态地输出一个table,这样做确实有的时候很方便,然后,再aspx页面里用标签就可以解决一些问题,可是,我觉得这个事情还是有些问题。由于是对table进行封装的,所以cssClass="mystyle.css"的时候,翻译到html的时候,是这样的,在这种情况下,对于td,tr这些标签定义起来就不是很灵活,我觉

  • Vue样式及动态绑定

    Vue样式 在Vue 中使用样式; 一、使用class样式: 类名必须用引号 引起来; 1、数组 <h1 :class = "['类名1','类名2']">这种方法 需要用 v-bind: => : 绑定 2、数组中使用三元表达式 <h1 :class = "['类名1','类名2',表达式?'类名3':'']">这种方法 需要用 v-bind: =>...

  • C# DataGridView样式 (蓝色)

    代码: #region DataGridVeiw Style            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();            System.Windows.Forms.DataG...

  • DataGrid,asp.net样式设置

                HeaderStyle-CssClass="table_Title" CssClass=" table-box"             HeaderStyle-HorizontalAlign="Center" ShowFooter="false" CellSpacing="1"              AllowSorting="true" Alternat

  • 深入DataGrid分页样式实例

    DataGrid提供了分页功能,不过看上去功能有限,但是我们可以通过DataGrid的一些属性来获取状态以及增加首页、尾页功能按钮。这里没有使用DataGrid的自定义分页功能,如果在速度效率不是很讲究的情况下,由DataGrid自己管理分页还是不错的,付出的代价就是要把整个相关数据取出来后再删选指定页的数据。好处就是开发速度快,不需要写分页的存储过程。本文事例使用的是Sql Serve...

  • easyui 动态修改datagrid里面的属性,例如singleSelect:true改成false

    问题复现 这样确实可以将singleSelect属性修改成false,但是datagrid会查询两次 $('#clientTable').datagrid({ singleSelect: false}) 解决方案 在初始化时如果直接定义一个值是会直接加载进入到内存中,这样后续也不好改它的属性。 可以使用数组的方式,内存中拿的是数组的地址值,可以修改改地址值里面元素的值。这样地址值不会改变,但是数组里面元素的值可以随意改。 这样就可以动态的修改数据表属性了 ...

  • 在ASP.NET中,为你的DataGrid添加背景图片来美化页面

    可以为DataGrid添加背景图片,通过CSS来实现。实现方法1.首先添加CSS:.DGTitleBG {BACKGROUND-IMAGE: url(images/20041113_001.jpg); HEIGHT: 25px}.DGPagerBG {BACKGROUND-IMAGE: url(images/20041113_002.jpg); HEIGHT: 20px}2.然后设置DataG

Global site tag (gtag.js) - Google Analytics