文章目录
- 1、Yum源仓库检查
- 2、执行安装报错
- 2.1 RPM包缺失
- 2.2 进程锁定
- 2.3 未完成事务
- 2.4 RPM包冲突
1、Yum源仓库检查
404错误多为yum源无法访问导致,检查yum仓库是否配置正确,同时确认baseurl连通性。
$ cd /etc/yum.repos.d/
$ cat ${yum_file} | grep -i baseurl
2、执行安装报错
yum install为安装包命令,使用yum安装软件包时触发rpm包缺失、进程锁定、未完成事务等多个场景均会导致安装失败错误发生,本章节主要讲述常见安装错误及其解决方法。
2.1 RPM包缺失
使用yum安装软件包时,若安装服务名称错误或本地无此RPM包时,报错如下:
$ yum install -y aaa
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
No package aaa available.
Error: Nothing to do
解决方法:
导入需要的RPM包即可
- 使用RPM命令导入 - 适用于一次性安装使用,且无依赖包/依赖安装完成
$ rpm -ivh ${rpm_file}
- 将RPM包更新入yum源 - 适用于重复使用,自动安装依赖(推荐使用)
$ df -Th | grep sr0
/dev/sr0 iso9660 11G 11G 0 100% /mnt
# 确认为sr0挂载位置为/mnt
$ cd /mnt/Packages
# 将需要安装的包存放进入此路径下即可
$ createrepo -v --update /mnt
# 更新完成后可以看到其他文件未发生改变使用的旧数据,新增了文件数据得到了更新
# 使用客户端重新安装该RPM包即可
2.2 进程锁定
解决方法
# 清理yum进程
$ rm -f /var/run/yum.pid
2.3 未完成事务
使用yum安装软件包时,强制退出或异常退出均可能造成yum存在未完成事务,下次使用yum安装服务时会进行未完成事务报错,报错内容如下:
There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
The program yum-complete-transaction is found in the yum-utils package.
解决方法
- 继续完成未完成事务的安装,从断点继续安装,直至安装完成所有包(以下命令仅为案例演示,与现网环境不一定相同!)
# 继续安装yum-complete-transaction
$ yum -y install yum-utils
- 清理缓存并建立最新的软件仓库信息缓存
$ yum clean all
$ yum makecache
- 清理未完成事务(推荐使用)
$ yum-complete-transaction --cleanup-only
2.4 RPM包冲突
使用yum安装软件包时,常常因为依赖版本问题而出现RPM报冲突等问题,会导致yum install安装中断而报错,报错内容如下:
package zlib-1.2.7-19.el7_9.x86_64 is already installed
解决方法
清理冲突软件包,yum会自动安装适配版本的RPM包。
$ yum -y remove zlib-1.2.7-19.el7_9.x86_64