CentOS 6.5下安装yum
第一步:
将现有的yum源卸载
[root@linux-node3 ~]# rpm -qa yum
yum-3.4.3-150.el7.centos.noarch
[root@linux-node3 ~]# rpm -qa | grep yum | xargs rpm -e --nodeps #这一步一定要执行,而且要将所有的组件卸载掉,如果卸载不干净,后面安装会有问题
[root@linux-node3 ~]# rpm -qa yum
http://mirrors.163.com/centos/6/os/x86_64/Packages/
到上面这个网站去下载如下RPM包
小编已经整理好了,上传到了csdn --->
[root@localhost download]# rpm -ivh --force --nodeps python-iniparse-0.3.1-2.1.el6.noarch.rpm
[root@localhost download]# rpm -ivh --force --nodeps yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
[root@localhost download]# rpm -ivh --force --nodeps yum-3.2.29-81.el6.centos.noarch.rpm
[root@localhost download]# rpm -ivh --force --nodeps yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
[root@localhost download]#
这里安装的时候需要注意,一定要加 --force --nodeps不然会报错安装不上
到这一步了当你输入yum命令的时候出现如下错误
根据上图的提示到 http://yum.baseurl.org/wiki
下载yum-3.4.3.tar.gz ,放到你指定的目录下解压,解压命令如下:
tar -zxvf yum-3.4.3.tar.gz #解压后进到yum-3.4.3目录
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
404解决问题:
[root@localhost ~]# yum clean all
这一步非常快,通常可以解决问题,如果仍然报错,继续尝试以下命令:
[root@localhost ~]# rpm --rebuilddb
[root@localhost ~]# yum update
其中,yum update所需时间会比较长。yum update成功后,发现yum又恢复了之前的活力了。
移出不好用的源
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost ~]# rm -rf copr.fedoraproject.org_coprs_mosquito_myrepo_repo_epe.repo
http://www.laozuo.org/9772.html
1)Error: Cannot retrieve repository metadata (repomd.xml) for repository: rpmforge.
[root@bastion-IDC src]# yum list
......
Could not retrieve mirrorlist http://mirrorlist.repoforge.org/el6/mirrors-rpmforge error was
14: PYCURL ERROR 7 - "couldn't connect to host"
http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/repodata/repomd.xml: [Errno 14]
PYCURL ERROR 7 - "couldn't connect to host"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: rpmforge.
Please verify its path and try again
解决办法:
下载新的CentOS-Base.repo 到/etc/yum.repos.d/
或者把/etc/yum.repos.d下的文件全部删除,然后将能正常使用yum的同类服务器的这个目录下的文件全部拷贝过来,然后yum clean all 和yum makecache 即可
[root@bastion-IDC src]# cd /etc/yum.repos.d/
其实就是将yum源更改为阿里云的yum源,操作如下:
1)centos5.*的下载连接:
[root@bastion-IDC yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
2)centos6.*的下载连接:
[root@bastion-IDC yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
3)centos7.*的下载连接:
[root@bastion-IDC yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
然后执行以下命令:
[root@bastion-IDC yum.repos.d]# rpm -e rpmforge-release --nodeps
-------------------------------------------------------------------------------------------------------------
如果报错:
error: package rpmforge-release is not installed
解决办法:安装这个源
下载地址:https://pan.baidu.com/s/1pKBtm11
提取密码:erte
[root@bastion-IDC yum.repos.d]# rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
-------------------------------------------------------------------------------------------------------------
[root@bastion-IDC yum.repos.d]# yum clean all
[root@bastion-IDC yum.repos.d]# yum makecache //将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度
[root@bastion-IDC yum.repos.d]# yum update
最后再次使用yum就ok了
[root@bastion-IDC yum.repos.d]# yum list
在使用yum部署环境的时候,出现了报错:
UnicodeDecodeError: 'ascii' codec can't decode ... ordinal not in range
解决办法:
[root@kvmserver ~]# ll /var/lib/rpm/*db*
[root@kvmserver ~]# rm -f __db.*
[root@kvmserver ~]# yum clean all
测试服务器(centos6.5)经过一段时间的折腾,有一天在上面进行yum操作时突然出现下面的报错:
Error: xz compression not available
最后经过一番排查,发现原因是之前安装软件时错误安装了centos7版本的软件,软件版本不兼容,这才导致了yum不可用。
解决措施:
首先查看/root/install.log安装日志,找出版本不兼容软件,然后将其卸载就ok了。
另外:如果因为安装epel导致此类问题,可以进行如下删除操作:
# rm -rf /etc/yum.repos.d/epel*