Yum还没学好呢,突然听到已经要被抛弃了.恐慌至极..

  在最新版的Fedora 22 抛弃了Yum包管理器,取而代之的是DNF..

  那么搜搜 Fedora 22 Release Note..

  官方给出了解释和一些改变.

  在最新的Fedora 22 试了下 基本的安装更新用法也没怎么变

  以前安装 yum install httpd ,变成 dnf install httpd

以下是官方文档,有时间慢慢翻译..

3.6.1. Yum replaced by DNF

The yum package manager has been replaced in Fedora 22 by its successor, dnf. The yum fork has been available in Fedora for testing since Fedora 18, and is now the default command line package manager.
Most dnf commands use directives that are familiar to yum users, and it uses the same RPM package repositories. Behind the scenes, dnf uses an improved dependency solver, hawkey, along with librepo for repository operations and libcomps for package groups.
The /usr/bin/yum command will redirect to /usr/bin/dnf and print a warning about the redirection. The legacy yum package manager can be manually installed; the legacy command line utility has been renamed to yum-deprecated.
Read more about using dnf! Consult the upstream documentation athttp://dnf.readthedocs.org/en/latest/index.html. Extra plugins are documented at https://rpm-software-management.github.io/dnf-plugins-extras/index.htm
The behavior of dnf differs from yum in some areas:
3.6.1.1. Updates that don't work are skipped
If a portion of a transaction is not viable, dnf will automatically exclude it and transparently continue with the portions that will work. For example, if a package has unmet dependencies during a dnf update action, that package will not be updated, but others will. This is similar to yum's --skip-broken directive, but evaluates the impact of the problem against the entire transaction. Because this is the default behavior, there is no --skip-broken switch for dnf.
To reveal details about a problematic package direction, you can use the --best option. dnf update --best will force dnf to resolve the transaction using the latest versions of involved packages, and report any problems instead of skipping them. This is equivalent to yum's behavior without --skip-broken.
3.6.1.2. Repos that don't work are skipped
If a configured and enabled repository does not respond, dnf will skip it and continue the transaction with the available repos. This differs from yum, which would immediately stop if a repository was not available.
3.6.1.3. Update and Upgrade are the same
The commands dnf update and dnf upgrade are equivalent. This differs from yum, where yum upgrade would have the same effect as yum update --obsoletes, and take obsolete packages into account.
3.6.1.4. Dependencies are not upgraded on package installation
When installing a new package, previously installed dependencies will not be upgraded. Yum offered an option for this behavior, upgrade_requirements_on_install. To upgrade with dnf, use dnf update.
If dnf reports that dependencies on installed packages are unmet while installing a new package, update the dependent packages before trying again.
3.6.1.5. Clean on remove
When removing a package, dnf will automatically remove any dependent packages that were not explicitly installed by the user. If a package was independently installed, it won't be uninstalled this way. Only packages installed as dependencies are removed.
This behavior is configured by the clean_requirements_on_remove option in /etc/dnf/dnf.conf
3.6.1.6. Repo cache refresh schedule
By default, dnf will check for updates in configured repositories hourly, starting ten minutes after the system boots. The action is controlled by a systemd timer unit, /usr/lib/systemd/system/dnf-makecache.timer.
To adjust this, copy the timer file to /etc/systemd/system/dnf-makecache.timer and edit it.
Alternatively, setting the metadata_timer_sync in /etc/dnf/dnf.conf to a number of seconds configures the minimum number of seconds between makecache operations. If the timer has not expired, dnf makecache will exit immediately.
dnf will also honor the metadata_expire option set in individual repo configs, and refresh repo metadata at runtime if it is too old. This option is described in man yum.conf.
3.6.1.7. Repository Actions
The repository-packages directive can be used to search for or get info about packages in a specific repository, list installed packages from that repository, and more. This simplifies operations that would have required use of --excluderepo and --includerepo options with yum, and is especially useful for managing similar packages from different repositories.
3.6.1.8. Listing dependencies
To find out what package supplies a particular provide, use the dnf provides foo command. This replaces yum resolvedep foo.
To list the dependencies of a package, use dnf repoquery --requires foo. This replaces yum deplist foo.
3.6.1.9. dnf will remove kernels
kernel packages are not protected by dnf. Unlike with yum, you can remove all kernel packages, including the running package, if you direct it to. Be cautious with removing kernels, and specify the full version and release when removing them for best results.
3.6.1.10. Replacing packages
When a system requires the capabilities of a package you want to replace, use the --allowerasing option. For example, dnf --allowerasing mariadb will allow you to replace mysql with mariadb, without disrupting packages that require capabilities provided by both packages. This replaces yum shell and yum swap functionality.
3.6.1.11. DNF Langpacks Plug-in
DNF supports installing language packs using the dnf-langpacks plug-in, which is expected to work identically to the older yum-langpacks plug-in. See Section 4.3.3, “DNF Langpacks Plug-in” for details.
3.6.1.12. Support for disabled repositories
The Software tool and PackageKit now support searching for packages in disabled repositories.
If a user searches for a package using one of these applications and the package is found in a repository which includes the line enabled_metadata=1 in its definition, a dialog window will be displayed informing the user that the package has been found, but an additional repository must be enabled before it can be installed.
The same message can also inform the user about the reason why the repository is disabled by default.
This change allows Fedora remixes to ship pre-configured but disabled repositories for any reason - for example, if said repositories contain non-free software. Fedora itself does not have any such repositories pre-configured; therefore this feature will not be visible on a Fedora 22 installation unless you specifically configure one or more repositories with the enabled_metadata=1 statement.
 
 

DNF(一.YUM已死,DNF代之)的更多相关文章

  1. fedora从22开始就用dnf代替yum了

    yum有一些不好的缺点, 从fc22开始, 就用 dnf代替yum了 dnf: "毒奶粉" yum: "黄狗" dnf的用法根yum的用法完全一样, 只是用dn ...

  2. CentOS 8配置本地yum源及DNF简介

    CentOS 8更改了软件包的安装程序,取消了 yum 的配置方法,改而使用了dnf 作为安装程序.虽然改变了软件包的安装方式,但是 dnf 还是能兼容使用 yum 的配置文件和命令的使用方法. 小提 ...

  3. JVM 判断对象已死,实践验证GC回收

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 提升自身价值有多重要? 经过了风风雨雨,看过了男男女女.时间经过的岁月就没有永恒不变 ...

  4. JVM——对象已“死”的判定

    主要针对Java堆和方法区 1.判断对象是否已"死" Java堆中存放着几乎所有的对象实例,垃圾回收器在对堆进行回收之前,首先应该判断这些对象哪些还"存活",哪 ...

  5. wp已死,metro是罪魁祸首!

    1.这篇文章肯定会有类似这样的评论:“我就是喜欢wp,我就是喜欢metro,我就是软粉“等类似的信仰论者发表的评论. 2.2014年我写过一篇文章,windows phone如何才能在中国翻身? 我现 ...

  6. 泰泽新闻:英特尔三星双否认泰泽Tizen系统已死

    7月8日 据媒体TizenExperts报道,关于“Tizen系统跳票”的传闻已经遭到了英特尔和三星否认. 此前传闻三星自行研制的智能手机Tizen操作系统流产,但如今已经遭到了官方的否认. 英特尔三 ...

  7. Android首席设计师宣称移动概念已死,开发人员应该面向屏幕编写应用而非移动

    腾讯科技对Android首席设计师Duarte"移动已死"訪谈内容的翻译错得离谱,被到处转载,误人视听. 而要真正理解Duarte所想表达的含义,须要深入了解互联网前沿设计理念以及 ...

  8. MVC模式已死

    MVC模式:Model模型 View试图 Control控制器,是目前主流模式,被当作服务器软件入门基本模式学习和掌握,主流框架Struts 1/2 JSF Wicket基本都顺理成章支持MVC模式. ...

  9. 王垠:Lisp 已死,Lisp 万岁!

    王垠:Lisp 已死,Lisp 万岁!_IT新闻_博客园 王垠:Lisp 已死,Lisp 万岁!

随机推荐

  1. 《HTML5经典坦克大战》游戏(代码)

    前几天粗略地学了HTML5,然后就用它写了一个<经典坦克大战>游戏. 现在想分享一下我写的代码,写得不好请大家多多指教. 给大家推荐一个网站,这个网站是为大学生而做,为方便学习编程的同学而 ...

  2. C# 过滤SerialPort端口

    C#中的SerialPort类只能通过SerialPort.GetPortNames()来获取端口名字,而且出来都是COM+数字的字样,如果我要识别COM端口是什么设备的,它就无能为力了,此时我们可以 ...

  3. Mediawiki.org的PHP编码约定

    http://www.mediawiki.org/wiki/Manual:Coding_conventions/PHP assignment作为expression来用看起来像个错误(looks su ...

  4. PHP学习系列(1)——字符串处理函数(5)

    31.ord() 函数返回字符串第一个字符的 ASCII 值. 语法:ord(string) 例子 <?php echo ord("h"); echo ord("h ...

  5. quote, quasiquote, unquote和unquote-splicing

    关于符号类型 符号类型又称引用类型,在概要一文中本人介绍得非常的模糊,使很多初学者不理解.符号类型在Scheme语言中是最基础也是最重要的一种类型,这是因为Scheme语言的祖先Lisp语言的最初目的 ...

  6. expect 批量监控主机

    [oracle@OAPRIMARY shell]$ cat expect.sh while read line do user=`echo $line | awk '{print $1}'` ip=` ...

  7. 同行blog收集

    姜楠:http://www.slyar.com/blog/ 赵劼:http://blog.zhaojie.me/ 研究者July:http://my.csdn.net/v_JULY_v 王卓群:htt ...

  8. HDU 4274 Spy's Work (树 DFS)

    给定N个点,每个点都有一个唯一的前驱结点(点1为大boss),每个点的实际权值是子节点的求和值.现在给出某些点的权值的估算(> , = , < ),问这些估算是否会有冲突,现在保证每个点的 ...

  9. LinearLayout 和 RelativeLayout

    共有属性: java代码中通过btn1关联次控件 android:id="@+id/btn1" 控件宽度 android:layout_width="80px" ...

  10. log4j 突然不打印记录,提示:No appenders could be found for logge,处理方法

    log4j 一直都在使用正常,log4j.xml配置.代码都没有修改,突然不打印记录,出现下面提示: log4j:WARN No appenders could be found for logger ...