写在前面
虽然CentOS7、8马上要停止维护了,但是提供CentOS Stream版本,另外使用CentOS用户也比较多,因此如果有需要,yum相关指令还是有必要学一下。它简单而强大,让你能够以快速高效的方式获取所需的软件包。无需繁琐的手动下载和处理依赖关系,yum指令会自动处理所有这些。同时,它提供了大量的软件包选择,满足您的各种需求。如果想更好地管理软件包,并节省时间和精力,不妨尝试一下yum指令!
yum是什么
yum 是一种用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 发行版上安装、更新和管理软件包的命令行工具。它可以自动解决软件包依赖关系,自动下载并安装所需的软件包以及它们的依赖项。使用 yum,可以轻松地安装和升级软件包,还可以搜索可用的软件包。
yum常用指令梳理
要使用 yum,需要具有 root 用户权限。以下是一些常用的 yum 命令:
- 搜索可用的软件包:yum search search-term
- 安装软件包:yum install package-name
- 显示已安装的软件包:yum list installed
- 移除已安装的软件包:yum remove package-name
- 更新可用软件包列表:yum check-update
- 升级软件包:yum update package-name
- 清理 Yum 软件包管理器缓存:yum clean
yum常用指令使用详解
yum search
yum search 是一个用于在 CentOS 系统中搜索可用软件包的 yum 命令。它可以根据关键字或者正则表达式在软件包名称和说明中进行搜索,并返回所有匹配的软件包列表。例如,要搜索包含 "java" 关键字的软件包,可以运行 :
yum search java
图片
- 高级搜索:搜索出软件包名称是以"java"开头的软件包。例如,要搜索软件包名称是以java开头的的软件包,可以运行
yum search java | grep ^java*
图片
yum install
yum install 命令是用于在 CentOS 系统中安装指定软件包的命令。以下是 yum install 命令的一些常见用法:
- 安装单个软件包:使用 yum install 命令后跟软件包名称,可以安装指定的单个软件包。例如,要安装 Node.js,可以运行:
yum install nodejs.x86_64
图片
- 安装多个软件包:可以在一条命令中同时安装多个软件包,只需将软件包名称以空格分隔列出即可。例如,要同时安装 Node.js 和 npm,可以运行 yum install nodejs npm。
yum install java-1.8.0-openjdk.x86_64 nodejs.x86_64
图片
yum list
yum list 命令用于在 CentOS 系统中列出 Yum 软件包管理器中可用的软件包。以下是 yum list 命令的一些常见用法:
- 列出所有可用的软件包:运行 yum list 命令,结果列表包括已安装的软件包和可供安装的软件包。如果想对搜索结果进一步有针对性的搜索,可以运行yum list installed | grep ^java
yum list
yum list | grep ^java
图片
- 列出已安装的软件包:使用 yum list installed 命令,将列出已在系统上安装的所有软件包及其版本。
#列出所有已经安装的软件包
yum list installed
#列出已经安装的软件包,软件包名称是以java开头的
yum list installed | grep ^java
图片
- 列出已安装但不再可用的软件包:使用 yum list extras 命令,将列出已在系统上安装但不再可用的软件包及其版本。
yum list extras
- 列出可更新的软件包:通过运行 yum list updates 命令,将列出可用的软件包更新。这些是已安装的软件包的新版本。
yum list updates
- 列出已安装但有安全漏洞的软件包:通过运行 yum list security 命令,将列出已安装的但存在安全漏洞的软件包及其版本。
yum list security
- 列出所有可用软件包及其版本:通过运行 yum list security 命令,可以列出系统中所有可用的 软件包及其版本信息,包括来自不同软件源的版本,如运行yum list --showduplicates nginx,可以列出所有可用的 Nginx 软件包及其版本信息。
yum list --showduplicates nginx
图片
yum check-update
yum check-update 命令用于在 CentOS 系统中检查可用的软件包更新,但不执行实际的更新操作。以下是 yum check-update 命令的一些常见用法:
- 检查所有可用的软件包更新:运行 yum check-update 命令,将列出所有可用的软件包更新及其版本信息。这些是已安装的软件包的新版本。
yum check-update
- 检查特定软件包的更新:通过在 yum check-update 命令后跟软件包名称,可以检查特定软件包的可用更新。例如,要检查名为 "java-1.8.0-openjdk.x86_64" 的软件包是否有更新,可以运行如下指令:
yum check-update java-1.8.0-openjdk.x86_64
图片
yum update
yum update 命令用于在 CentOS 系统中更新已安装的软件包到最新版本。以下是 yum update 命令的一些常见用法:
- 更新所有已安装软件包:运行 yum update 命令,将更新所有已安装的软件包到最新版本。
- 更新特定软件包:通过在 yum update 命令后跟软件包名称,可以更新特定软件包到最新版本。例如,要更新名为 " curl.x86_64" 的软件包,可以运行 yum update curl.x86_64。
yum update curl.x86_64
图片
yum remove
yum remove 命令用于在 CentOS 系统中移除已安装的软件包。以下是 yum remove 命令的一些常见用法:
- 移除特定软件包:通过在 yum remove 命令后跟软件包名称,可以移除特定软件包。例如,要移除名为 "java-1.8.0-openjdk.x86_64" 的软件包,可以运行 yum remove java-1.8.0-openjdk.x86_64。
yum remove java-1.8.0-openjdk.x86_64
- 移除多个软件包:通过在 yum remove 命令后跟多个软件包名称,以空格分隔,可以同时移除多个软件包。例如,要移除 "httpd" 和 "mysql" 两个软件包,可以运行 yum remove httpd mysql。
yum remove nodejs.x86_64 nginx.x86_64
- 自动删除不再使用的依赖包:使用 yum autoremove 命令,将自动删除不再被其他软件包依赖的软件包。这样可以清理系统上不需要的依赖包。
yum autoremove
yum clean
yum clean 命令用于在 CentOS 系统中清理 yum 软件包管理器的缓存和临时文件。以下是 yum clean 命令的一些常见用法:
- 清理所有缓存:使用 yum clean all 命令,将清理所有 yum 缓存目录中的软件包数据和其他临时文件。这会释放磁盘空间并确保下次 yum 使用最新的软件包信息。
- 清理软件包缓存:通过运行 yum clean packages 命令,将清理 yum 缓存目录中的软件包数据。这样可以释放磁盘空间,并在下次执行 yum 命令时重新下载最新的软件包。
总结
yum指令是一个用于在centost系统上安装、更新、删除软件的一个非常方便的工具,如果选择手动去官网下载软件包,然后再上传到系统里进行解压安装,是一个相当繁琐的过程,有的时候还会出现缺省某些依赖而导致安装失败,而使用yum指令完全不存在这个问题,一个指令就可以解决软件包及其依赖的安装,这个方法虽然很方便,但是也有不好的地方,安装文件、配置文件可能分散在不同的目录下,如果不熟悉,会有一定困难,不过问题不大,可以使用find指令来检索,或者在安装的时候也有一些可选参数来设置安装目录,不过大部分人都比较喜欢使用默认的方式,究竟喜欢哪种方式,就看个人习惯了。就我个人而言,我以前喜欢手动安装,后来我更喜欢自动安装。