Yum在CentOS中的使用技巧
小樊
42
2026-01-11 22:30:45
一 基础高频命令
- 安装软件:sudo yum install -y 包名(加**-y**自动确认,适合脚本)
- 卸载软件:sudo yum remove -y 包名
- 更新操作:sudo yum update -y(全局更新);sudo yum update -y 包名(指定更新)
- 仅检查可更新:yum check-update
- 搜索与定位:yum search 关键词;yum info 包名;yum provides /path/file;yum list installed | grep 关键词
- 缓存维护:sudo yum clean all && sudo yum makecache(清理并重建元数据缓存,解决卡顿/报错很有效)
- 版本回滚:yum history;sudo yum history undo 事务ID(按历史记录撤销操作)
二 仓库与镜像源管理
- 查看与启用仓库:yum repolist;yum repolist enabled;临时启用/禁用仓库:sudo yum --enablerepo=仓库名;sudo yum --disablerepo=仓库名
- 添加第三方仓库:sudo yum install -y epel-release(EPEL 常用扩展源)
- 国内镜像加速(以 CentOS 7 为例):备份原配置后下载镜像源,再重建缓存
- cd /etc/yum.repos.d/ && sudo mkdir backup && sudo mv *.repo backup/
- sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 或:sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/repo/Centos-7.repo
- sudo yum clean all && sudo yum makecache
- 离线环境本地源:挂载 ISO 或用 createrepo 自建仓库,配置 file:// 源后 yum repolist 验证
- 挂载示例:sudo mount /path/to/CentOS-7-x86_64-DVD-2009.iso /mnt
- 建库:sudo yum install -y createrepo && sudo createrepo /opt/local-yum
- 配置 /etc/yum.repos.d/local.repo:baseurl=file:///opt/local-yum;enabled=1;gpgcheck=0
三 进阶技巧与故障排查
- 安装本地 RPM 并自动解决依赖:sudo yum localinstall /path/to/pkg.rpm -y
- 只下载不安装:sudo yum install -y yum-utils;yumdownloader --resolve 包名;或指定目录:yumdownloader --resolve --destdir=/path 包名
- 组安装与批量部署:yum grouplist;sudo yum groupinstall “Development Tools” -y
- 依赖与冲突定位:yum deplist 包名;yum check(检查未满足依赖)
- 历史与回滚:yum history;sudo yum history undo ID(快速撤销误装/误升级)
- 常用参数速查:-y(自动yes)、-q(静默)、–disablerepo/–enablerepo(临时启停仓库)、–nogpgcheck(跳过GPG校验,仅在可信源时使用)
四 生产环境最佳实践
- 权限与变更控制:yum 操作需 root 或 sudo;变更前备份关键配置与数据
- 谨慎全局更新:生产环境避免随意执行 yum update -y,优先更新指定包;重大更新先在测试环境验证
- 稳定性优先:必要时使用 yum downgrade 包名 回退版本;用 yum history undo ID 快速回滚事务
- 镜像与网络:优先使用国内镜像提升速度与稳定性;网络异常时检查 DNS(/etc/resolv.conf) 与仓库可用性
- 缓存与日志:定期执行 yum clean all && yum makecache;通过 /var/log/yum.log 审计变更
五 版本与替代工具
- CentOS 7 及更早版本默认使用 yum;CentOS 8 起逐步转向 dnf(兼容 yum 多数用法)。若系统为 dnf 环境,上述命令大多可直接替换为 dnf 使用