我虛擬機安裝的系統是RedHat Enterprise Linux 6.4-i686,是32位的。使用yum命令安裝軟件時候出現以下錯誤:
This system is not registered to Red Hat Subscription Management.You can use subscription-manager to register.
主要原因就是redhat的yum源是需要注冊付費的,所以我打算卸掉紅帽原有的yum源。
步驟一:
首先我們檢查一下當前已經安裝的yum包
rpm -qa|grep yum (rpm -qa 列出所有被安裝的 rpm package,而grep yum篩選出匹配到yum的部分,也就是我們當前已經安裝的yum包)
接着使用命令,不檢查依賴關系直接刪除這些yum包
rpm -qa|grep yum|xargs rpm -e --nodeps (xargs作用是將參數列表轉換成小塊分段傳遞給其他命令,以避免參數列表過長的問題。rpm -e 是卸載 rpm package --nodeps是忽視依賴關系)
然后我們再用rpm -qa|grep yum檢查一下是否全部清除完畢
步驟二:
接下來,我們要下載新的centos的yum包,並且安裝它們。
下載前的首要任務是明確我們當前系統的版本號和位數:
輸入命令 cat /etc/issue && arch,如果是i386或者i686就是32位的,如果是x86_64就是64位的。
很顯然我的是32位,接下來看看我們的系統版本號,輸入命令uname -a看看系統版本= =然后到http://mirrors.kernel.org/centos/ 或者 http://mirrors.163.com/centos/ 找對應系統版本號和系統位數下載,找到yum、yum-plugin-fastestmirror、yum-metadata-parser、python-urlgrabber這四個軟件包下載。如果跟我系統一樣是RedHat Enterprise Linux 6.4-i686,那么可以直接從我提供的百度雲鏈接里下載。
====================================================================================
鏈接:/s/17mvacn3VlQAjKZm89Kjzbw
提取碼:見評論區
====================================================================================
最后用命令安裝它們就OK了:
rpm -ivh yum-metadata-parser-1.1.2.16.el6.i686.rpm
rpm -ivh yum-3.2.29-81.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm python-urlgrabber-3.9.1-11.el6.noarch.rpm (把相互依賴的包一起安裝)
步驟三:
接下來要做的就是更換yum源,打開http://mirrors.163.com/.help/centos.html,在里面下載對應版本的repo文件,我下載的是CentOS6-Base-163.repo文件,然后把它放到/etc/yum.repos.d/下。接着我們還需要把里面的$releasever為版本號6,進入vim編輯器后在末行模式下輸入:%s/$releasever/6/g 完成15處替換。
步驟四:
接着在命令行上輸入yun發現yum不好使了,出現
-bash: yum: command not found
的錯誤,由於我們切換了本地yum源,所以出現了這個錯誤,於是這一步我們要修復它。
首先先輸入wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz,下載完后解壓tar xvf yum-3.2.28.tar.gz,接着進入目錄cd yum-3.2.28,輸入以下命令
touch /etc/yum.conf
./yummain.py install yum
步驟五:
整完上面的之后我們在命令行里輸入yum就有反應了,而后我們輸入命令 yum clean all 清除原來的緩存,接着輸入命令yum makecache 重建緩存。
步驟六:
完成了這些我們可以再試試安裝軟件包了,這里我安裝了php,
yum -y install php
發現已經沒有問題了。