公司的服務器 yum 源有問題 卸載之后想重新安裝一個,結果發現國內好多鏡像網站一些老版本 都失效了 找了兩天終於找到了 特貼出來做個記錄
然后我在 centos 使用yum安裝git 的時候 爆出了
Loaded plugins: fastestmirror, security Determining fastest mirrors YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid release/ removing mirrorlist with no valid mirrors: /var/cache/yum/base/mirrorlist.txt Error: Cannot find a valid baseurl for repo: base
的錯誤 ,之后找了好多解決方法 , 修改DNS之類的 都嘗試過了 ,還是沒有解決問題 , 沒辦法只好卸載 yum 重新安裝,發現問題依舊,就是在此時發現了好多 yum 源失效的問題 , 轉念一想 ,是不是服務器的 yum 源失效了 , 抱着試試的心態更換了 yum 源 ,終於解決了問題
一: 重新安裝 yum
先查看 yum 的依賴包:#rpm –qa | grep yum ps:重要 一定要先對依賴包做個記錄 不然你直接刪了 都不知道該安裝些什么東西 最好截張圖
卸載相關依賴包:#rpm –e –nodeps yum
這兩句可合並為一句執行 : #rpm -qa | grep yum |xargs rpm -e --nodeps
去 http://vault.centos.org 下載相應的 centos 版本 的 python 和 python-iniparse 依賴包 , #cat /etc/issue 可以 查看當前centos版本
我的是centos 5.11 版本 ,對應文件在 http://vault.centos.org/5.11/os/x86_64/ 目錄下
安裝 , #rpm –ivh python-***(對應版本) python-iniparse-***
在這兒我還報了個錯
[root@localhost my_temp]# rpm -ivh python-2.4.3-46.el5.x86_64.rpm python-iniparse-0.2.3-4.el5.noarch.rpm error: Failed dependencies: python-libs-x86_64 = 2.4.3-46.el5 is needed by python-2.4.3-46.el5.x86_64
很明顯是還缺東西 沒事 找到對應 版本 一起安裝就可以了
若安裝失敗可重新輸入此命令並加參數--nodeps –force
然后在把之前 列出的 yum 依賴包 下載下來並安裝 最好一起安裝 可解決報的依賴問題
我這兒只是例子 以自己的版本為准
[root@localhost my_temp]# rpm -ivh yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm yum-security-1.1.16-21.el5.centos.noarch.rpm yum-3.2.22-40.el5.centos.noarch.rpm yum-metadata-parser-1.1.2-4.el5.x86_64.rpm yum-updatesd-0.9-6.el5_10.noarch.rpm Preparing... ########################################### [100%] 1:yum-metadata-parser ########################################### [ 20%] 2:yum ########################################### [ 40%] 3:yum-fastestmirror ########################################### [ 60%] 4:yum-security ########################################### [ 80%] 5:yum-updatesd ########################################### [100%]
OK 大功告成,之后 清理yum緩存
#yum clean all
在將服務器軟件包信息緩存至本地
#yum makecache
到此如果 yum 可以使用的話 無視下面的就好
二 : 更換 yum 源
進入 yum 配置文件目錄 #cd /etc/yum.repos.d/
備份配置文件 #mv CentOS-Base.repo CentOS-Base.repo.bak
下載 163 的配置文件 #wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
更名 #mv CentOS6-Base-163.repo CentOS-Base.repo
到重點了 由於 163源 遷移的問題 所以 這個下載下來的源是同樣無法使用的 只能自己手動修改
未改動過的 163 源是這樣子的
[base] name=CentOS-$releasever - Base - 163.com baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #released updates [updates] name=CentOS-$releasever - Updates - 163.com baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #packages used/produced in the build but not released [addons] name=CentOS-$releasever - Addons - 163.com baseurl=http://mirrors.163.com/centos/$releasever/addons/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras - 163.com baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus - 163.com baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib - 163.com baseurl=http://mirrors.163.com/centos/$releasever/contrib/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
自己把他的路徑根據源網站作了修改
改動之后是這樣的
[base] name=CentOS-$releasever - Base - 163.com baseurl=http://vault.centos.org/5.11/os/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5 #released updates [updates] name=CentOS-$releasever - Updates - 163.com baseurl=http://vault.centos.org/5.11/updates/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5 #packages used/produced in the build but not released [addons] name=CentOS-$releasever - Addons - 163.com baseurl=http://vault.centos.org/5.11/addons/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras - 163.com baseurl=http://vault.centos.org/5.11/extras/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus - 163.com baseurl=http://vault.centos.org/5.11/centosplus/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus gpgcheck=1 enabled=0 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib - 163.com baseurl=http://vault.centos.org/5.11/contrib/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib gpgcheck=1 enabled=0 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5
說一說幾個主要修改的點
首先是網址 改為了 http://vault.centos.org 然后刪除了 centos 把 $releasever 這個變量自己手動改為了 5.11(對應的版本號) 這一步自己琢磨 我是改完之后 他還報錯 發現是版本號的問題 給我顯示的 5 而我是 5.11 的版本,改完之后最好自己先去訪問一下有沒有對應的文件 以防出錯
#yum clean all
#yum makecache
測試安裝了 git 完美 ,一點錯都沒報 爽!
