歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> RHEL5.0 的軟件包管理自動從盤上讀

RHEL5.0 的軟件包管理自動從盤上讀

日期:2017/2/28 16:36:17   编辑:Linux教程

RHEL(Red Hat Enterprise Linux)升級到5.0以後,開始用yum(Yellow dog Update Manager)來管理軟件包,包括軟件包的更新和補丁的下發。這個可不是一個小變化!這樣以來:

1,如果沒有購買 RedHat的訂閱,就不能得到安裝號碼(注意不是開始安裝時的序列號),從而不能注冊系統,就不能得到紅帽的軟件更新和補丁服務;

2,“添加/刪除軟件”中(軟件包管理器,命令名字是 pirut),軟件“列表”就只能看到已經安裝的軟件包;而“浏覽”標簽頁下將看不到任何可管理的軟件包分類(有人認為這是個Bug,其實是Redhat故意制造的“Bug”)。打開菜單“應用程序/系統工具/軟件包更新工具”,就會要求用戶輸入訂閱或去注冊和購買訂閱。 這樣,就不能及時獲得紅帽的更新(沒付費,尚且可以理解吧),而且不能用GUI界面的包管理工具來添加/刪除系統中的rpm軟件包了。雖然可以手工用命令 rpm 來安裝和卸載包(命令分別形如 rpm -Uvh packge.rpm 和 rpm -e package),而且只要手工正確安裝後,使用上不會有任何問題,但就沒有了圖形界面的方便性。 事實上,所有的 rpm 包都儲存在 RHEL安裝光盤(卷標RHEL_5.1 i386 DVD)的 Server 目錄下,手工安裝時也就是從這裡取得安裝源。RHEL5.0其實是把安裝源從這裡指向了它的某個http服務網址了,而且我們可以猜測,直接連接這個網址顯然應該需要認證的了。但我們可以設想,如果把安裝源指向本地的文件系統,可能也是可以的?事實上確實是可以的。 做法: 1,加載DVD安裝盤:

cd /media

mkdir iso

mount /dev/hdc iso

在我用 Vmware6.0安裝的RHEL5.3裡,用 df 命令看到我的光驅設備是 /dev/hdc。我這裡加裝到了 /media/iso下。

注意系統本來是自動加載到了 /media/RHEL_5.1 i386 DVD/ 下的,但因為DVD的卷標中間有空格,使用時有問題。所以特別再加載一次,換一個路徑。 2,在/etc/yum.repos.d/路徑下建立文本文件 RHEL5media.repo,輸入以下文本內容:

[base]

name=Base RPM Repository for RHEL5

baseurl=file:///media/iso/Server/

enabled=1

gpgcheck=0 3,修改/usr/lib/python2.4/site-packages/yum/路徑下的yumRepo.py文件(可以看到,RHEL5.0的系統代碼是用Python開發的!),將其中第 411 行由 remote = url + '/' + relative 修改為 remote = "file:///mnt/iso/Server/" + '/' + relative 就可以了。 這時點擊“應用程序/系統工具/軟件包更新工具”(命令名字是 pup),就會彈出“軟件包更新”窗口,提示沒有可用的更新:“當前還沒有對您的系統有效的更新的軟件包。”語法無可挑剔,但感覺很拗口的一句話了,是個假洋鬼子翻譯的吧?

再點擊“應用程序/添加刪除軟件”(不能和上面的“軟件包更新工具”同時運行,會有出錯提示),打開“軟件包管理器”,就會看到“浏覽”下左邊是“桌面環境”“應用程序”“開發”“服務器”“基本系統”“語言支持”六個軟件包分類,右邊會分別列出所有的軟件包,包括本系統已經安裝的和未安裝的包。

要注意的是,我是用 mo /media/iso/ 下的,以後要如此管理軟件包的話必須首先做這一步。如果還想要“自動化”,那麼把這條命令加到啟動時的自動運行文件裡就可以了。方法是:在 /etc/ 下的 rc.local 文件末尾裡加:

mount /dev/hdc /media/iso 我順便想到,如果把Redhat以後的更新包通過手工下載,再添加到光盤的Server目錄下(關盤是不可寫的,換個路徑吧),是不是可以照樣升級系統呢?理論上是可以的,但這時rpm包的依賴問題不知道能不能解決呢?我不知道。 (本文在 RHEL5.03下用 gedit編輯器寫成。)

Copyright © Linux教程網 All Rights Reserved