yum命令不能使用的相关错误

yum (Yellowdog Updater Modified)是一个集与查找,安装,更新和删除程序的Linux软件。它运行在RPM包兼容的Linux发行版本上,如:RedHat, Fedora, SUSE, CentOS, Mandriva。

最近安装了CentOS5.5操作系统,在使用yum命令安装的时候出现如下错误:

 

一、yum 安装软件时,报错:No package XXX available.

[root@localhost ~]# yum -y install redis
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirrors.163.com
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Install Process
No package redis available.
Nothing to do

解决方法:

1).先去更新一下yum仓库:
#yum -y update

 

2).如果还是不行,可能是你安装的时候包名不够详细,可以通过yum的查找参数来列出对应软件的相关包名,拿vim的安装为例:

# yum search vim
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.hosting90.cz
* extras: mirror.hosting90.cz
* updates: mirror.hosting90.cz
===================== Matched: vim ===================
vim-X11.x86_64 : The VIM version of the vi editor for the X Window System.
vim-common.x86_64 : The common files needed by any version of the VIM editor.
vim-enhanced.x86_64 : A version of the VIM editor which includes recent
: enhancements.

vim-minimal.x86_64 : A minimal version of the VIM editor.

找到包名后,执行以下命令即可:

#yum -y install vim-enhanced.x86_64
以上命令就能执行成功了。

其他程序也同样可以先进行yum查找,再通过匹配详细包名来进行安装,就不会出现上述错误了。

 

3)如果还是不行,应该是 EPEL未被启动,且指示的 rpm包不可用
具体原因:使用yum搜索某些rpm包,找不到包是因为CentOS是RedHat企业版编译过来的,去掉了所有关于版权问题的东西。安装EPEL后可以很好的解决这个问题。EPEL(Extra Packages for Enterprise Linux )即企业版Linux的扩展包,提供了很多可共Centos使用的组件,安装完这个以后基本常用的rpm都可以找到。
下载与安装EPEL的rpm文件包
1.下载:
#wget http://mirrors.ustc.edu.cn/fedora/epel/5/i386/epel-release-5-4.noarch.rpm
2.安装:
#rpm -ivh epel-release-5-4.noarch.rpm
安装完毕后,可以使用yum安装软件。

注意:

1. epel的版本要与centos的版本相对应,否则安装失败,即centos5版本要对应epel5版本。

2. rpm安装完后,rpm -ql  epel*,确提示未安装,此时要导入rpm的签名信息

#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 (root身份执行)

 

二、YUM 提示 Segmentation fault (段错误)
本来用得好好的yum命令,突然不能用了,报出:Segmentation fault (段错误)。
通过一番查找,原因终于找到:是有人在服务器上安装了新版本的zlib包,正巧我执行过”#yum clean all”命令。
解决办法:
#vi /etc/ld.so.conf,注释掉对应的行:/usr/local/zlib/lib
#ldconfig
#yum update
yum完全恢复正常。

说明:yum使用的是老版本的 zlib 库。如果有用户再一次清除了 yum 缓存,那么再使用yum安装软件时依然会报段错误。

 

三、执行yum update,报如下错误:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was
14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"

Error: Cannot find a valid baseurl for repo: base

原因是:DNS未配置好;
解决方案:重新配置DNS;
#vi /etc/resolv.conf
编辑文件内容为:
search localdomain
nameserver 202.101.172.35
nameserver 202.101.172.47  
保存并退出;
#service network restart   

重启网卡。

 

原文:http://blog.youkuaiyun.com/rachel_luo/article/details/8692744

<think>好的,用户现在遇到了yum命令无法使用的问题。首先,我需要分析可能的原因。CentOS 7中使用yum常见的问题包括网络连接问题、仓库配置错误、软件包依赖损坏、系统更新冲突,以及磁盘空间不足等。 用户之前的问题是关于Python 2.7.5的,可能他们在尝试安装或更新软件时遇到了问题。之前我建议他们升级到Python 3,但如果在升级过程中操作不当,可能会影响yum的正常运行,因为yum本身依赖于Python 2。比如,如果用户替换了系统的Python版本,可能会导致yum崩溃。 接下来,我需要考虑如何逐步排查问题。首先检查网络连接,确保可以访问仓库。然后查看仓库配置是否正确,是否存在语法错误或不可用的镜像源。接着检查Python环境,因为yum依赖Python 2,如果Python路径被更改或损坏,yum无法运行。此外,软件包损坏或磁盘空间不足也可能导致问题。 可能的解决方案包括修复网络设置、清理缓存、重新安装yum相关的软件包、检查Python版本等。如果用户手动编译安装了Python 3,但没有正确配置altinstall,可能会覆盖系统Python,这时候需要恢复Python 2的链接。另外,使用epel-release或其他仓库的问题也需要检查。 需要提醒用户注意,不要随意替换系统自带的Python版本,以免影响系统工具的正常使用。如果问题依然存在,建议备份重要数据后尝试更彻底的修复方法,比如重新安装yum或进行系统恢复。</think>当在CentOS 7系统中遇到`yum`命令无法使用时,可按以下步骤排查和修复: --- ### 一、常见错误现象 ```bash # 典型报错示例 $ yum update File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid syntax ``` 或显示 `There are no enabled repositories`、`Cannot find a valid baseurl for repo` 等错误 --- ### 二、根本原因排查 #### 1. 首要检查项 ```bash # 确认网络连通性(针对在线仓库) ping mirrors.aliyun.com # 检查DNS解析 nslookup mirrors.aliyun.com # 查看仓库配置 ls /etc/yum.repos.d/ | grep -E "CentOS|epel" ``` #### 2. 关键依赖验证 ```bash # 验证Python 2.7是否存在(yum强制依赖Python 2) ls -l /usr/bin/python # 应指向python2.7 # 检查rpm数据库状态 rpm -qa | grep yum # 确认yum相关包完整 rpm --rebuilddb # 重建损坏的数据库 ``` --- ### 三、分场景解决方案 #### 场景1:Python环境破坏(常见于手动升级Python后) ```bash # 恢复Python 2.7软链接 sudo rm -f /usr/bin/python sudo ln -s /usr/bin/python2.7 /usr/bin/python # 重新安装yum核心组件 sudo rpm -e --nodeps yum python-urlgrabber sudo yum install yum-utils yum-plugin-fastestmirror ``` #### 场景2:仓库配置损坏 ```bash # 重建CentOS-Base仓库 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 清理缓存 sudo yum clean all sudo rm -rf /var/cache/yum ``` #### 场景3:RPM包冲突 ```bash # 强制重装yum组件 sudo rpm -e --nodeps yum python-chardet pygpgme sudo yum install yum python-urllib3 python-requests ``` --- ### 四、进阶修复方法 #### 1. 离线修复包准备 ```bash # 下载关键rpm包(需其他正常机器) yum install --downloadonly --downloaddir=./yum_fix \ yum yum-utils python-iniparse python-urlgrabber # 传输并强制安装 sudo rpm -Uvh --force *.rpm ``` #### 2. 容器临时修复 ```bash # 使用Docker创建临时yum环境 docker run -it --rm -v /etc/yum.repos.d:/host_repos \ centos:7 /bin/bash -c "cp /host_repos/* /etc/yum.repos.d/; yum update" ``` --- ### 五、预防措施 1. **保护Python 2.7**:禁止修改`/usr/bin/python`的链接 2. **定期维护**: ```bash sudo yum-complete-transaction # 清理未完成事务 sudo package-cleanup --oldkernels --count=2 # 删除旧内核 ``` 3. 配置监控报警: ```bash # 检查yum可用性的监控脚本 if ! yum check-update &> /dev/null; then echo "YUM故障告警" | mail -s "紧急通知" admin@example.com fi ``` --- ### 六、终极恢复方案 如果所有修复失败,建议: ```bash # 使用CentOS安装镜像修复 sudo mount /dev/cdrom /mnt sudo rpm -ivh /mnt/Packages/yum-*.rpm --force ``` 请根据具体报错信息选择对应解决方案。若问题持续,建议提供完整错误输出以便精准诊断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值