问题背景:
起源于试图使用yum安装mongodb。原因是,通过安装包安装的时候,虚拟机中的系统,总是会提示各种依赖版本低于要求的提示,然后是无限的手动安装更新。。。
所以无奈,只好使用yum来进行安装。但redhat系统中yum,搜索不到软件,后查知需要配置yum源。再然后,就是找了一大堆不靠谱的文章,各种尝试失败,最后总算有个准确一些的文章,中间又自行处理了一个错误,所以这里作为记录,以供后面查找。
参考文章:
[1] rhel6配置yum源为网易镜像:
http://www.jianshu.com/p/446e3fe7d710
[2] 网易开源镜像站:
http://mirrors.163.com/centos/6/os/x86_64/Packages/
[3]redhat 配置本地yum源163yum源epel 源,无需卸载yum!无须拷贝ISO
http://www.cnblogs.com/dadong616/p/5586697.html
文章[1]中所说的先卸载yum再进行安装时最常见/一搜一堆文章的方法。。。 不过[3]提供了一种无须卸载的方式,其实就是直接修改yum源的配置。
下面主要介绍我使用的第一种方法,参考文章[1]。
文章[1]中绝大部分步骤都没有问题,按顺序操作即可,但有几个需要特别注意的事项:
由于当前是2017-07-24,所以我下载的文件版本为:
python-iniparse-0.3.1-2.1.el6.noarch.rpm
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
yum-3.2.29-81.el6.centos.noarch.rpm
安装命令和过程与[1] 中的一致,只是替换文件为上述版本。
执行步骤:
1、删除本地已安装的yum
rpm -aq|grep yum|xargs rpm -e --nodeps
2、安装刚才下载的rpm
rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
rpm -ivh yum-3.2.29-81.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
注意最后两个包必需同时安装,否则会相互依赖
另外,在最后一步,执行rpm安装yum-3.2.29安装的时候,有了错误提示:
[root@bogon softwares]# rpm -ivh yum-3.2.29-81.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
warning: yum-3.2.29-81.el6.centos.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
python-urlgrabber >= 3.9.1-10 is needed by yum-3.2.29-81.el6.centos.noarch
如上,错误信息比较明显,是还缺失了python-urlgrabber,3.9.1-10版本以上的依赖,所以,从[2]中查到对应的版本:
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm
使用rpm执行安装:
rpm -ivh python-urlgrabber-3.9.1-11.el6.noarch.rpm
但又一次报错:
warning: python-urlgrabber-3.9.1-11.el6.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
file /usr/lib/python2.6/site-packages/urlgrabber/grabber.py from install of python-urlgrabber-3.9.1-11.el6.noarch conflicts with file from package python-urlgrabber-3.9.1-8.el6.noarch
file /usr/lib/python2.6/site-packages/urlgrabber/grabber.pyc from install of python-urlgrabber-3.9.1-11.el6.noarch conflicts with file from package python-urlgrabber-3.9.1-8.el6.noarch
file /usr/lib/python2.6/site-packages/urlgrabber/grabber.pyo from install of python-urlgrabber-3.9.1-11.el6.noarch conflicts with file from package python-urlgrabber-3.9.1-8.el6.noarch
file /usr/lib/python2.6/site-packages/urlgrabber/progress.pyc from install of python-urlgrabber-3.9.1-11.el6.noarch conflicts with file from package python-urlgrabber-3.9.1-8.el6.noarch
file /usr/lib/python2.6/site-packages/urlgrabber/progress.pyo from install of python-urlgrabber-3.9.1-11.el6.noarch conflicts with file from package python-urlgrabber-3.9.1-8.el6.noarch
坑爹啊。。好在是有conflicts with的提示,表明是与历史版本冲突了,在rpm安装的命令中加入--force 强制安装尝试,安装成功:
rpm -ivh --force python-urlgrabber-3.9.1-11.el6.noarch.rpm
warning: python-urlgrabber-3.9.1-11.el6.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:python-urlgrabber ########################################### [100%]
最后,再执行yum-3 的rpm安装,命令和执行成功提示如下:
rpm -ivh yum-3.2.29-81.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
warning: yum-3.2.29-81.el6.centos.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:yum-plugin-fastestmirro########################################### [ 50%]
2:yum ########################################### [100%]
至此,yum的安装过程结束。
但此时,还是无法搜到软件,按照[1]所说,进行rpm源配置即可。
4.更新repo文件
mv /etc/yum.repos.d/rhel-source.repo /etc/yum.repos.d/rhel-source.repo.bak
vi /etc/yum.repos.d/rhel-debuginfo.repo
内容为:
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.163.com/centos/6/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.163.com/centos/6/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6
#packages used/produced in the build but not released
#[addons]
#name=CentOS-$releasever - Addons
#baseurl=http://mirrors.163.com/centos/6/addons/$basearch/
#gpgcheck=1
#gpgkey=http://mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.163.com/centos/6/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.163.com/centos/6./centosplus/$basearch/
gpgcheck=1
enabled=0
配置完成后,使用yum install php进行验证,安装成功。
【经验】yum的安装过程中,很有可能还会出现其他的问题,而且大部分文章都是相互抄来抄去,甚至不说明自己的系统版本,有些都还有粘贴错误,导致及其的坑爹,浪费很多时间;所以,一定要多分析,而且尽量找到文章的源头,同时自己也要主动分析报错提示,才能够真正解决。