【YUM】Redhat5和6YUM源配置的區別

xysoul_雲龍發表於2014-10-16

一、         概述

隨著各個軟體版本的不斷升級,我們需要掌握的軟體特性也越來越多,技術的不斷更新也促進了我們腦細胞的迴圈。 今天在配置Redhat6.3yum源時也出現了一個有趣的事情,下面請聽俺道來。

二、          問題處理
問題源於哥們處,自己就搭建了一個測試的系統模擬環境,儘量還原。

由於作業系統無法掛在光碟,其實映象也是可以拷進系統的,但系統映象太大,也就是偷懶的做法,只是將幾個需要的包考過去。簡單來說點吧,實際環境也不一樣

報錯如下面所示:

[root@firsoul rpm]# /usr/bin/yum upgrade

Loaded plugins: product-id, refresh-packagekit, security, subscription-manager

Updating certificate-based repositories.

Unable to read consumer identity

file:///soft/rpm/repodata/repomd.xml: [Errno 14] Could not open/read file:///soft/rpm/repodata/repomd.xml

Trying other mirror.

Setting up Upgrade Process

No Packages marked for Update

根據以上提示,將該缺失檔案複製到相應目錄,還是報錯,錯誤如下,檢視相關資料,應該之前系統yum源有快取(具體配置資訊以及系統環境並沒有詳細檢視),當時沒有嘗試使用yum clean all命令。

[root@bej-idc-db01 yum.repos.d]# /usr/bin/yum upgrade

Loaded plugins: refresh-packagekit, security

[Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'public-yum.oracle.com'"

Trying other mirror.

Error: Cannot retrieve repository metadata (repomd.xml) for repository: public_ol6_UEKR3_latest. Please verify its path and try again

[root@bej-idc-db01 yum.repos.d]#

 

由於很久沒有用Redhat6以上系統了,只是在Redhat5.4系統上做測試,我將Server中所需要的rpm包考入制定目錄,並將Server目錄下repodata複製到制定目錄,即可安裝。讓其查詢目錄repodata,在RPM所屬目錄(Packages)並沒有發現。突然想起,配置Redhat6.0以上系統時,yum源所寫目錄並非指定到rpm所在目錄Packages,還是指定Server目錄,檢視Redhat6的下Server目錄,發現檔案repomd.xml。其實Redhat5redhat6只是rpm包所在位置發生變化(6是在Server同目錄Packages下),6Server目錄中多出幾個包以及rpm包清單檔案,在制定yum時,6的目錄還是要制定到Server目錄。其實根據yum報錯我們比較容易解決。也就是不管5還是6repodata目錄還是在Server下。

由於哥們比較著急,無法再檢視原因,我就讓他用rpm按照所需軟體。給我發來一下錯誤資訊

[root@bej-idc-db01 Packages]# rpm -ivh glibc-2.12-1.132.el6.i686.rpm

error: Failed dependencies:

        libfreebl3.so is needed by glibc-2.12-1.132.el6.i686

        libfreebl3.so(NSSRAWHASH_3.12.3) is needed by glibc-2.12-1.132.el6.i686

 

[root@bej-idc-db01 Packages]# rpm -ivh nss-softokn-freebl-3.14.3-9.el6.i686.rpm

error: Failed dependencies:

        libc.so.6 is needed by nss-softokn-freebl-3.14.3-9.el6.i686

        libc.so.6(GLIBC_2.0) is needed by nss-softokn-freebl-3.14.3-9.el6.i686

        libc.so.6(GLIBC_2.1) is needed by nss-softokn-freebl-3.14.3-9.el6.i686

        libc.so.6(GLIBC_2.1.3) is needed by nss-softokn-freebl-3.14.3-9.el6.i686

        libc.so.6(GLIBC_2.3) is needed by nss-softokn-freebl-3.14.3-9.el6.i686

        libc.so.6(GLIBC_2.3.4) is needed by nss-softokn-freebl-3.14.3-9.el6.i686

        libc.so.6(GLIBC_2.4) is needed by nss-softokn-freebl-3.14.3-9.el6.i686

        libc.so.6(GLIBC_2.7) is needed by nss-softokn-freebl-3.14.3-9.el6.i686

        libdl.so.2 is needed by nss-softokn-freebl-3.14.3-9.el6.i686

        libdl.so.2(GLIBC_2.0) is needed by nss-softokn-freebl-3.14.3-9.el6.i686

        libdl.so.2(GLIBC_2.1) is needed by nss-softokn-freebl-3.14.3-9.el6.i686

 

由上面資訊,我們可以看出,尤其標明黃色部分,安裝glibc軟體需要依賴的包為libfreebl3.so 然後他就安裝該包,還是報錯。他忽略了後邊的一行,libfreebl3.so包也依賴glibc軟體包,所以需要將兩個rpm包同時執行。結果如下:

[root@bej-idc-db01 Packages]# rpm -ivh glibc-2.12-1.132.el6.i686.rpm nss-softokn-freebl-3.14.3-9.el6.i686.rpm

Preparing...                ########################################### [100%]

   1:nss-softokn-freebl     ########################################### [ 50%]

   2:glibc                  ########################################### [100%]

[root@bej-idc-db01 Packages]#

 

三、         總結
  
這個總結不知道怎麼說了,一個是要了解新系統一些改變以及新特性,在這操作過程中需要認真點,其實他那個yum問題還未根本解決,只是把glibc軟體安裝完事就撤了,有機會再跟蹤一下。在很多情況下,我們並沒有被偏難的技術所阻礙,而是被一些習慣、馬虎所桎梏。認真、多變(腦子靈活一點),問題往往迎刃而解,當然,自身技術能力也要達到一定級別,我只是在慢慢的學習中。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-1301275/,如需轉載,請註明出處,否則將追究法律責任。

相關文章