加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

fedora dnf命令详解

(2016-12-12 17:10:45)
分类: 电脑编程
自fedora 18开始使用dnf逐步替代yum,到版本24,已经非常成熟了。
1、添加国内源,一般来说速度快一些。
#cd /etc/yum.repos.d
#wget http://mirrors.163.com/.help/fedora-163.repo
#wget http://mirrors.163.com/.help/fedora-updates-163.repo
#wget http://mirrors.sohu.com/help/fedora-sohu.repo
#wget http://mirrors.sohu.com/help/fedora-updates-sohu.repo
#wget http://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/fedora?codeblock=0
#wget http://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/fedora?codeblock=1
#wget http://mirrors.yun-idc.com/fedora-cds.repo
#wget http://mirrors.yun-idc.com/fedora-updates-cds.repo
#dnf makecache(更新缓存)

上面分别添加了163网易、sohu、中科大、首都在线的源。可以根据自己的需求添加。

2、查看系统中可用的 DNF 软件库

用处:该命令用于显示系统中可用的 DNF 软件库

命令:# dnf repolist


3、查看系统中可用和不可用的所有的 DNF 软件库

用处:该命令用于显示系统中可用和不可用的所有的 DNF 软件库

命令:# dnf repolist all


4、列出所有 RPM 包

用处:该命令用于列出用户系统上的所有来自软件库的可用软件包和所有已经安装在系统上的软件包

命令:# dnf list


5、列出所有安装了的 RPM 包

用处:该命令用于列出所有安装了的 RPM 包

命令:# dnf list installed


6、列出所有可供安装的 RPM 包

用处:该命令用于列出来自所有可用软件库的可供安装的软件包

命令:# dnf list available


7、搜索软件库中的 RPM 包

用处:当你不知道你想要安装的软件的准确名称时,你可以用该命令来搜索软件包。你需要在”search”参数后面键入软件的部分名称来搜索。(在本例中我们使用”nano”)

命令:# dnf search nano


8、查找某一文件的提供者

用处:当你想要查看是哪个软件包提供了系统中的某一文件时,你可以使用这条命令。(在本例中,我们将查找”/bin/bash”这个文件的提供者)

命令:# dnf provides /bin/bash


9、查看软件包详情

用处:当你想在安装某一个软件包之前查看它的详细信息时,这条命令可以帮到你。(在本例中,我们将查看”nano”这一软件包的详细信息)

命令:# dnf info nano


10、安装软件包

用处:使用该命令,系统将会自动安装对应的软件及其所需的所有依赖(在本例中,我们将用该命令安装nano软件)

命令:# dnf install nano


11、升级软件包

用处:该命令用于升级制定软件包(在本例中,我们将用命令升级”systemd”这一软件包)

命令:# dnf update systemd


12、检查系统软件包的更新

用处:该命令用于检查系统中所有软件包的更新

命令:# dnf check-update


13、升级所有系统软件包

用处:该命令用于升级系统中所有有可用升级的软件包

命令:# dnf update 或 # dnf upgrade


14、删除软件包

用处:删除系统中指定的软件包(在本例中我们将使用命令删除”nano”这一软件包)

命令:# dnf remove nano 或 # dnf erase nano


15、删除无用孤立的软件包

用处:当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包。

命令:# dnf autoremove


16、删除缓存的无用软件包

用处:在使用 DNF 的过程中,会因为各种原因在系统中残留各种过时的文件和未完成的编译工程。我们可以使用该命令来删除这些没用的垃圾文件。

命令:# dnf clean all


17、 获取有关某条命令的使用帮助

用处:该命令用于获取有关某条命令的使用帮助(包括可用于该命令的参数和该命令的用途说明)(本例中我们将使用命令获取有关命令”clean”的使用帮助)

命令:# dnf help clean


18、查看所有的 DNF 命令及其用途

用处:该命令用于列出所有的 DNF 命令及其用途

命令:# dnf help


19、查看 DNF 命令的执行历史

用处:您可以使用该命令来查看您系统上 DNF 命令的执行历史。通过这个手段您可以知道在自您使用 DNF 开始有什么软件被安装和卸载。

命令:# dnf history


20、查看所有的软件包组

用处:该命令用于列出所有的软件包组

命令:# dnf grouplist


21、安装一个软件包组

用处:该命令用于安装一个软件包组(本例中,我们将用命令安装”Educational Software”这个软件包组)

命令:# dnf groupinstall ‘Educational Software’


22、升级一个软件包组中的软件包

用处:该命令用于升级一个软件包组中的软件包(本例中,我们将用命令升级”Educational Software”这个软件包组中的软件)

命令:# dnf groupupdate ‘Educational Software’


23、删除一个软件包组

用处:该命令用于删除一个软件包组(本例中,我们将用命令删除”Educational Software”这个软件包组)

命令:# dnf groupremove ‘Educational Software’


24、从特定的软件包库安装特定的软件

用处:该命令用于从特定的软件包库安装特定的软件(本例中我们将使用命令从软件包库 epel 中安装 phpmyadmin 软件包)

命令:# dnf –enablerepo=epel install phpmyadmin


25、更新软件包到最新的稳定发行版

用处:该命令可以通过所有可用的软件源将已经安装的所有软件包更新到最新的稳定发行版

命令:# dnf distro-sync


26、重新安装特定软件包

用处:该命令用于重新安装特定软件包(本例中,我们将使用命令重新安装”nano”这个软件包)

命令:# dnf reinstall nano


27、 回滚某个特定软件的版本

用处:该命令用于降低特定软件包的版本(如果可能的话)(本例中,我们将使用命令降低”acpid”这个软件包的版本)

命令:# dnf downgrade acpid

样例输出:

Using metadata from Wed May 20 12:44:59 2015

No match for available package: acpid-2.0.19-5.el7.x86_64

Error: Nothing to do.

原作者注:在执行这条命令的时候, DNF 并没有按照我期望的那样降级指定的软件(“acpid”)。该问题已经上报。


总结

DNF 包管理器作为 YUM 包管理器的升级替代品,它能自动完成更多的操作。但在我看来,正因如此,所以 DNF 包管理器不会太受那些经验老道的 Linux 系统管理者的欢迎。举例如下:

在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择。

在 DNF 中没有判断哪个包提供了指定依赖的 resolvedep 命令。

在 DNF 中没有用来列出某个软件依赖包的 deplist 命令。

当你在 DNF 中排除了某个软件库,那么该操作将会影响到你之后所有的操作,不像在 YUM 下那样,你的排除操作只会咋升级和安装软件时才起作用。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有