1、卸載原有系統中的yumrpm –qa | grep yum | xargs rpm -e --nodeps (xargs 把rpm –qa | grep yum傳來的每一行信息 都用xargs後面的命令進行處理) 2、創建一個目錄intallyum_mirrors.163.com,進入此目錄下載 ...
1、卸載原有系統中的yum
rpm –qa | grep yum | xargs rpm -e --nodeps
(xargs 把rpm –qa | grep yum傳來的每一行信息 都用xargs後面的命令進行處理)
2、創建一個目錄intallyum_mirrors.163.com,進入此目錄下載rpm包。
下載yum安裝文件
註意,如果下載時找不到文件,就登錄到:http://mirrors.163.com/centos/6/os/x86_64/ 上查找相應的安裝包的包名,對以下包名進行修改,再進行下載。
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
3、在當前installyum_mirrors.163.com目錄下執行ls |grep yum |xargs rpm -ivh --nodeps
[root@Apache installyum_mirrors.163.com]# ls |grep yum |xargs rpm -ivh --nodeps
Preparing... ########################################### [100%]
1:yum-metadata-parser ########################################### [ 33%]
2:yum-plugin-fastestmirro########################################### [ 67%]
3:yum ########################################### [100%]
[root@Apache installyum_mirrors.163.com]#
如果出現此安裝所依賴的其他安裝包沒有安裝,就繼續wget 下載所依賴的安裝包到installyum_mirrors.163.com目錄下,繼續ls |grep yum |xargs rpm -ivh --nodeps安裝
直到yum安裝成功。
4、備份/etc/yum.repos.d目錄下的repo文件
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
5、從mirrors.163.com上面下載reop文件。
[root@Apache yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
6、設置CentOS6-Base-163.repo不更新可以更新的安裝包,編輯以下[updates]中的enabled=0即可,如果配置中無enabled,那麼是預設配置了enabled=1,需要添加enabled=0關閉update。
[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
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
7、yum clean all
8、yum makecache
8、yum search vsftpd 測試yum功能是否OK
--------End Of Text--------
yum clean all #會從系統中找$releasever和$basearch 如值為6和x86_64,然後生成/var/cache/yum/x86_64/6/base/packages/目錄(目錄里是空的)、cat /var/cache/yum/x86_64/6/extras/packages/(目錄里是空的)等目錄。
yum makecache #從yum網路倉庫獲取元數據信息--本地建立元數據緩存,本地將元數據放在yum clean all生成的那些目錄(/var/cache/yum/)中部署好。
PS:
/etc/yum.repos.d/CentOS6-Base-163.repo文件中的$releasever和$basearch的變數值是從哪裡獲取到的呢?從系統(例如arch、rpm -qi centos-release)中獲取這些 built-in variables
yum 安裝其他rpm包的時候,是從/etc/yum.repos.d/目錄下尋找repo文件(.repo),找到之後會找enabled=1的baseurl的值,如果baseurl的值中含有$releasever和$basearch這樣的變數存在,就去系統(arch、rpm -qi centos-release)中去找$releasever和$basearch的值,進而利用此baseurl訪問yum網路倉庫。如果baseurl被設置成無變數存在(sed -i 's/$releasever/6/g' /etc/yum.repos.d/CentOS-Base.repo和sed -i 's/$baseurl/x86_64/g' /etc/yum.repos.d/CentOS-Base.repo)的url,那麼yum clean all (清空了本地元數據緩存)之後,yum就直接根據baseurl去訪問yum網路倉庫。當然repo文件可以直接到http://mirrors.163.com/.help/等網站目錄中去下載。