centos6.4 升级了python从2.6.6 - > 2.7.13导致yum失败,而我之前不知道yum依赖python2.6.6直接给2.6库删除,
导致网上的其他教程根本就没法用,因为python库中的包都没了。
这个时候如果你从contos 中的packages中安装yum是安装不上的,需要下载yunman 进行安装。
安装步骤:
1、先执行 rpm -qa yum | xargs rpm -e --nodeps ,如果不卸载也会有错误提示
2、下载yummian包,http://yum.baseurl.org/download/3.4/yum-3.4.3.tar.gz
3、在centos packages中找到这3个包安装,如果不安装的话会出现错误提示
python-urlgrabber-3.9.1-8.el6.noarch.rpm
python-pycurl-7.19.0-8.el6.x86_64.rpm
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
4、解压yummain包,执行yummain.py install yum, 在centos6会,提示一些 errno14 错误,Peer cert cannot be verified ...,这个是因为安装认证的原因。
是因为在安装过程中访问了https网址,想要解决需要在linux中安装证书,我不会解决这个在centos6.x 中,可以参考这个网址https://www.centos.org/forums/viewtopic.php?t=1073,我跳过去了,参考这个我没解决。
我解决的思想就是把yum安装过程中需要的 文件全部手动下载下,然后在 gitalab_gitlab-ce,rope中修改。
gitalab_gitlab-ce.rope这个文件的位置在,/etc/yum.repos.d/ 你第一次执行yummain.py install yum时自动生成
[gitlab_gitlab-ce]
sslverify=false
name=gitlab_gitlab-ce
baseurl=file:///etc/yum.repos.d/
#baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/6/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
#gpgkey=file://`pwd`/gpg.key
gpgkey=file:///etc/yum.repos.d/repodata/gpg.key
#gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[gitlab_gitlab-ce-source]
name=gitlab_gitlab-ce-source
#baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/6/SRPMS
baseurl=file:///etc/yum.repos.d/
repo_gpgcheck=1
gpgcheck=0
enabled=1
#gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
gpgkey=file:///etc/yum.repos.d/repodata/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
上面的就是修改过的gitalab_gitlab-ce.rope文件,将需要的文件下载到本地,放在/etc/yun.repos.d/repodata/ 文件夹下,其实就是4个文件。下图的repodata.tar.gz不是
有了这4个文件,在配和上面的那个文件,就可以顺利的用yummina.py install yum了。这4个文件的下载地址
这样子安装完,yum命令是可以用的,但是有2个一问
1、因为我的系统上存在2个python版本,2.7.13 和2.6.6,其中python链接的是2.7.13、python2.6链接的是2.6.6. 安装yum命令的头部声明写的是python也就是说用的是2.7.13的
2、另外一个疑问,yum既然用的变量是2.7.13的那么库下没有yum.py文件。find / -name yum.py 也没有搜到哪里有。