問題背景:php
起源於試圖使用yum安裝mongodb。緣由是,經過安裝包安裝的時候,虛擬機中的系統,老是會提示各類依賴版本低於要求的提示,而後是無限的手動安裝更新。。。html
因此無奈,只好使用yum來進行安裝。但redhat系統中yum,搜索不到軟件,後查知須要配置yum源。再而後,就是找了一大堆不靠譜的文章,各類嘗試失敗,最後總算有個準確一些的文章,中間又自行處理了一個錯誤,因此這裏做爲記錄,以供後面查找。
node
參考文章:python
[1] rhel6配置yum源爲網易鏡像:mongodb
http://www.jianshu.com/p/446e3fe7d710centos
[2] 網易開源鏡像站:ui
http://mirrors.163.com/centos/6/os/x86_64/Packages/url
[3]redhat 配置本地yum源163yum源epel 源,無需卸載yum!無須拷貝ISO.net
http://www.cnblogs.com/dadong616/p/5586697.htmldebug
文章[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] 中的一致,只是替換文件爲上述版本。
執行步驟:
一、刪除本地已安裝的yum
rpm -aq|grep yum|xargs rpm -e --nodeps
二、安裝剛纔下載的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的安裝過程當中,頗有可能還會出現其餘的問題,並且大部分文章都是相互抄來抄去,甚至不說明本身的系統版本,有些都還有粘貼錯誤,致使及其的坑爹,浪費不少時間;因此,必定要多分析,並且儘可能找到文章的源頭,同時本身也要主動分析報錯提示,纔可以真正解決。————————————————版權聲明:本文爲CSDN博主「流火星空」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。原文連接:https://blog.csdn.net/liuhuoxingkong/article/details/75949704