一、YUM基础准备
YUM(Yellowdog Updater Modified)是CentOS、RHEL、Fedora等基于RPM的Linux发行版的核心包管理工具,核心优势是自动解决软件依赖关系,避免手动安装依赖的繁琐。使用前需确认两点:
dnf(YUM的下一代替代工具),但yum命令仍兼容,用法基本一致;base、updates)通常已满足基础需求,若需额外软件(如Nginx、PHP),可启用EPEL仓库(Extra Packages for Enterprise Linux):sudo yum install epel-release -y
二、YUM安装软件的标准流程
运行以下命令同步远程仓库的最新软件包信息,避免因缓存过期导致无法找到最新版本:
sudo yum clean all && sudo yum update -y
clean all清除旧缓存,update更新所有已安装软件包至最新版本(可选,若仅需更新缓存可省略update)。
若不确定软件包的准确名称,可通过关键词搜索:
yum search 关键词
例如搜索“nginx”相关软件包:
yum search nginx
输出结果会显示软件包名称、版本及简要描述,帮助确认目标包(如nginx.x86_64)。
找到目标软件包后,使用以下命令安装(以nginx为例):
sudo yum install 软件包名 -y
-y参数自动回答所有交互式提示为“yes”,避免手动确认(适用于脚本或批量操作)。
安装完成后,通过以下命令确认软件是否安装成功及版本信息:
yum list installed | grep 软件包名
# 或使用info命令查看详细信息
yum info 软件包名
例如验证nginx:
yum list installed | grep nginx
yum info nginx
若输出中包含软件包名称及版本(如nginx-1.20.1-1.el7.ngx.x86_64),则说明安装成功。
若安装的是服务型软件(如nginx、httpd),需启动服务并设置开机自启:
sudo systemctl start 软件名 # 启动服务
sudo systemctl enable 软件名 # 设置开机自启
sudo systemctl status 软件名 # 检查服务状态(确认是否运行中)
例如操作nginx:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx
若状态显示“active (running)”,则服务已正常运行。
三、YUM常用扩展功能
通过文本文件列出需安装的软件包名称(每行一个),使用以下命令批量安装:
# 创建包含软件包名称的文件(如packages.txt)
echo -e "httpd\nmysql-server\nphp" > packages.txt
# 批量安装(-y自动确认)
sudo yum install -y $(cat packages.txt)
该方法适用于需要同时安装多个依赖软件的场景(如LAMP环境搭建)。
yum list availableyum list installedyum info 软件包名yum provides 文件路径(如yum provides /etc/nginx/nginx.conf,用于查找哪个包提供了该文件)。若需卸载软件,使用以下命令(以nginx为例):
sudo yum remove 软件包名 -y
remove会卸载软件包及其所有依赖(若依赖未被其他软件使用),卸载后可通过yum list installed确认是否已删除。
四、注意事项
sudo,避免直接使用普通用户执行;base、epel),避免使用未知来源的仓库,防止安装恶意软件;/var/log/yum.log日志文件查看详细错误信息,辅助排查问题。