linux中RPM包管理的27个DNF(Yum 分支)命令

2022-06-02 15:33:12 浏览数 (1)

为什么要用DNF替换Yum

由于Yum中许多长期存在的问题仍未得到解决,因此Yum包管理器已被DNF包管理器取代。这些问题包括性能差、内存占用过多、依赖解析速度变慢等。

####DNF的安装

DNF在默认存储库中不可用RHEL/CentOS 7.然而,Fedora 22 附带了正式实施的 DNF。

安装DNFRHEL/CentOS系统,你需要先安装并启用epel-release存储库。

代码语言:javascript复制
# yum install epel-release
OR
# yum install epel-release -y

使用yum命令安装DNFepel-release存储库。

代码语言:javascript复制
# yum install dnf
1. 检查DNF版本

检查系统上安装的DNF版本。

代码语言:javascript复制
# dnf --version
2. 列出启用的DNF存储库

选项 repolist 使用 dnf 命令,将显示系统下所有启用的存储库。

代码语言:javascript复制
# dnf repolist
3. 列出所有启用和禁用的DNF存储库

repolist all 将打印你系统下所有启用 / 禁用的存储库。

代码语言:javascript复制
# dnf repolist all
4. 使用DNF列出所有可用和已安装的包

dnf list将列出 Linux 系统上所有存储库和已安装软件包中的所有可用软件包。

代码语言:javascript复制
# dnf list
5. 使用DNF列出所有已安装的包

虽然 dnf list 命令显示所有存储库中的所有可用 / 已安装包。但是,你可以选择使用选项 “仅列出已安装的软件包”list installed“ 如下所示。

代码语言:javascript复制
# dnf list installed
6. 使用DNF列出所有可用的包

list available 选项,将列出可从所有启用的存储库安装的所有软件包。

代码语言:javascript复制
# dnf list available
7. 使用DNF搜索包

你不知道要安装的软件包,在这种情况下,你可以使用 search 带有 dnf 命令的选项来搜索与单词或字符串匹配的包(比如 nano)。

代码语言:javascript复制
# dnf search nano
8. 看看什么提供了文件 or 子包?

dnf 选项 provides 找到提供特定文件子包的包的名称。例如,如果你想查找在系统中提供/bin/bash

代码语言:javascript复制
# dnf provides /bin/bash
9. 使用DNF获取包的详细信息

假设你想在系统上安装一个包之前知道它的信息,你可以使用 info 切换以获取有关包(例如 nano)的详细信息,如下所示。

代码语言:javascript复制
# dnf info nano
10. 使用DNF安装包

安装一个名为nano,只需运行以下命令,它将自动解析并安装包所需的所有依赖项nano.

代码语言:javascript复制
# dnf install nano
11. 使用DNF更新包

你只能更新一个特定的包(比如systemd) 并保持系统上的所有内容不变。

代码语言:javascript复制
# dnf update systemd
12. 使用DNF检查系统更新

检查安装到系统中的所有系统软件包的更新。

代码语言:javascript复制
# dnf check-update
13. 使用DNF更新所有系统包

你可以使用以下命令更新整个系统,包括所有已安装的软件包。

代码语言:javascript复制
# dnf update
    OR
# dnf upgrade
14. 使用DNF删除包

删除或删除任何不需要的包(例如nano),你可以使用 remove或者erase 使用 dnf 命令切换以将其删除。

代码语言:javascript复制
# dnf remove nano
OR
# dnf erase nano
15. 使用DNF删除孤立包

如果没有被其他应用程序使用,那些为了满足依赖性而安装的包可能是无用的。要删除这些孤立包,请执行以下命令。

代码语言:javascript复制
# dnf autoremove
16. 使用DNF删除缓存

很多时候我们会遇到过时的标头和未完成的事务,这会导致在执行 dnf 时出错。我们可以简单地通过执行来清除所有缓存的包和包含远程包信息的头文件。

代码语言:javascript复制
# dnf clean all
17. 获取特定DNF命令的帮助

你可以获得任何特定 dnf 命令的帮助(例如clean) 只需执行以下命令即可。

代码语言:javascript复制
# dnf help clean
18. 列出所有DNF命令和选项

要列出所有可用 dnf 命令和选项的帮助,只需键入。

代码语言:javascript复制
# dnf help
19. 查看DNF的历史

你可以调用 dnf history 查看已执行的 dnf 命令列表。

代码语言:javascript复制
# dnf history
20. 列出所有组包

dnf grouplist 将打印所有可用或已安装的包,如果没有提及,它将列出所有已知组。

代码语言:javascript复制
# dnf grouplist
21. 使用DNF安装组包

安装一组捆绑在一起的包作为组包(比如Educational Software)

代码语言:javascript复制
# dnf groupinstall 'Educational Software'
22. 更新组包

让我们更新一个组包(比如Educational Software) 通过执行以下命令。

代码语言:javascript复制
# dnf groupupdate 'Educational Software'
23. 删除组包

我们可以删除组包(比如Educational Software) 作为。

代码语言:javascript复制
# dnf groupremove 'Educational Software'
24. 从特定存储库安装包

DNF可以安装任何特定的包(比如phpmyadmin) 来自 (epel) 镜像,

代码语言:javascript复制
# dnf --enablerepo=epel install phpmyadmin
25. 将已安装的包同步到稳定版本

dnf distro-sync 将提供必要的选项来将所有已安装的软件包同步到任何启用的存储库中可用的最新稳定版本。如果未选择任何软件包,则同步所有已安装的软件包。

代码语言:javascript复制
# dnf distro-sync
26. 重新安装一个包

dnf reinstall nano 将重新安装一个已经安装的包(比如nano)。

代码语言:javascript复制
# dnf reinstall nano
27. 降级软件包

downgrade选项会将指定的包(例如 acpid)降级到较低版本。

代码语言:javascript复制
# dnf downgrade acpid
样本输出
代码语言:javascript复制
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.

相关文章

linux中RPM命令的20个实际示例

linux中20个yum包管理命令

yum

0 人点赞