Linux 中的 yum 命令——完整参考

YUM 命令(Yellowdog Updater Modified)是基于 RedHat 的系统的传统包管理器。 它存在于几乎每个基于 RedHat 的发行版中,但现在不是许多发行版的默认设置。 它已被更新的 DNF 命令取代。 我们有一篇关于 DNF 的单独文章。

yum 命令基本用法

YUM 命令的一般语法是

yum [options] <command> [<args>...] 

可用命令包括 install, search, query, 等等。 args 可以是包名、组名或特定于“命令”的子命令。

笔记: 要安装和删除软件包,您需要有 sudo 特权。 由于我已经是 root(这不是一个好主意,但仅用于演示目的),因此我不会在任何命令前加上 sudo. 但请记住,你 必须 前置 sudo 在安装和删除软件包时。

笔记: 在现代系统上(特别是 CentOS 8) /usr/bin/yum 只是一个符号链接 dnf. 所以,运行 yum 最终运行 dnf.
这不会造成问题,因为 dnf 具有几乎相同的语法 yum.

使用 yum 命令管理包

现在让我们看看如何使用 yum 命令在基于 RedHat 的系统上安装/删除/查询包。

1. 搜索并安装包

让我们安装 Syncthing – 使用 yum 命令的文件同步应用程序。 但是您可能不知道包的确切名称。 最好先搜索包。 您可以使用 search YUM 命令用于搜索包。

yum search syncthing 
百胜搜索同步

在我们的例子中,包的名称也是 syncthing. 一旦知道确切的包名称,就可以使用 install 用于安装该软件包的 YUM 命令。

yum install syncthing 
YUM 安装同步

2. 列出包的信息

要列出有关包的更多信息,请使用 info YUM 的命令。

百胜资讯YUM 信息同步

3. 使用 yum 列出所有已安装的包

要查看已安装软件包的列表,您可以使用 list installed YUM 的命令。

yum list installed 
安装了 Yum 列表已安装 YUM 列表

结合grep命令,可以搜索是否安装了特定的包,如下

yum list installed | grep vim 
Yum 列表已安装 1YUM 列出已安装的 Vim

如果它没有产生任何输出,则表示该软件包未安装。 在这种情况下。

4. 删除一个包

要删除包,请使用 remove YUM 的命令。

yum remove syncthing 
百胜删除百胜删除

要删除最初作为依赖项安装的所有不需要的包,请使用 autoremove 命令

yum autoremove 
百胜自动删除百胜自动删除

5. 使用 yum 命令升级包

要升级所有可以升级的软件包,请使用 upgrade 命令

yum upgrade 
百胜升级百胜升级

要升级特定的包,只需添加包的名称,例如:

yum upgrade nftables 
Yum 升级 NftablesYUM 升级 Nftables

6. 搜索和安装包组

包组只是一个名称下的多个包。 这些包组可以是整个服务器 GUI、安全工具、管理工具等。要查看组列表,您可以使用 group list YUM 的命令。

yum group list 
百胜集团百胜集团名单

要知道组包中有哪些包,只需使用 group info 命令并给出包的名称。 对于“安全工具”包,键入

yum group info "Security Tools" 

笔记:需要附上 包含多个单词的组包名称 (” “)。
即使 Group 包名称是单个单词,也建议您使用引号。

百胜集团信息百胜集团信息

让我们使用以下命令安装安全工具组包 group install 命令。

yum group install "Security Tools" 
Yum 组安装YUM 组安装

7. 列出可用或启用的存储库

要列出所有可用的存储库,请键入

yum repolist all 
百胜餐饮百胜餐饮

要列出所有启用的存储库,请键入

yum repolist enabled 
启用 Yum Repolist启用 YUM Repolist

8. 列出包的依赖项

要列出包的依赖项,请使用 deplist 命令。

yum deplist syncthing 
Yum Deplist百胜餐饮

9. 查看安装/删除包的历史记录

有时,查看 YUM 历史记录是个好主意,特别是如果您想在不同的系统上重复安装。 历史可以使用 history YUM 的命令。

百胜历史百胜历史

结论

本教程是关于 Linux 中的 yum 命令. 希望你和我们一起学习愉快!