使用 Red Hat Network(RHN)升級服務

火星人 @ 2014-03-12 , reply:0
←手機掃碼閱讀

  作者:杜克石

  想當年,我們懷著興奮和激動的心情,安裝了 RedHat6.2,隨著時間的推移和開發人員的努力,內核中的錯誤和不足被逐漸發現並修正,為了系統的性能和穩定,需要升級內核了。可是我們有許多程序只能運行於2.2.x 內核之下,看來升級到 RedHat 7.2是沒有希望了,唯一的辦法就是下載新的合適的內核包來升級。看內核升級文檔,英文的,不太懂,好不容易搞明白,才發現需要下載的包如此之多,終於下載完了,安裝的時候又出問題,由於包的依賴性等問題,這個裝不上,那個裝不上。最後,內核升級失敗。
  我們使用的應用程序,也有不少性能和安全方面的問題,也需要升級。在下載安裝升級包的時候,會遇到與上面升級內核是同樣的問題,難以克服。

  最麻煩的問題是,好不容易克服了重重困難,開始安裝,可某個包告訴你它需要的一個文件(不是一個包,僅僅是個文件)不存在,天啊!誰知道這個文件在哪個包里,總不能把所有的包都下載下來吧,看來升級是沒有指望了,又是失敗。

  RHN 升級服務是與 RedHat 7.x 同步推出的,就像微軟的 windowsupdate。它可以自動檢查你的系統有哪些包需要升級,自動計算包的依賴性,從而確定下載什麼包來升級你的系統和應用程序,免除了我們的苦惱。

  RHN 只會進行小版本升級,不會把你的系統改的面目全非的。比如:6.2 的內核是 2.2.x,它不會把你的內核升級到 2.3.x 或者 2.4.x的。同樣的道理,你的 bind 是版本 8 的,它決不會給你升級到版本 9的。這樣可以保證你的系統的穩定運行,不會由於升級,導致你的某些對內核版本有依賴的程序不能正常運行,或者象 bind一樣,需要你重新配置或生成很多你不了解的新版本所特有的配置文件。

  另個好處是,Red Hat 會在有你需要的升級包發布的時候(不是所有的升級包發布的時候),把升級的具體原因和內容發到你在 RHN註冊的電子信箱里,你只用收收郵件,就知道有升級消息了,看過之後,可以決定去不去升級你的系統。

  從上可以看出,RHN 是管理 Red Hat linux 系統的有效工具。

  使用 RHN 前的準備工作:

  在安裝 RHN 功能之前,需要升級 rpm 管理包。因為 6.2 使用的版本 3 格式的包,而目前 RedHat 推出的包都是基於版本 4格式的,版本 4 格式的包無法在版本 3 下安裝。

  開始升級 rpm,步驟如下:

  1、如下所示,下載相應的 rpm 包:(注意: Red Hat 網上提供的升級包清單不全,缺少 db3 包。)

  ftp://updates.redhat.com/6.2/en/os/i386/rpm-4.0.2-6x.i386.rpm
  ftp://updates.redhat.com/6.2/en/os/i386/rpm-devel-4.0.2-6x.i386.rpm
  ftp://updates.redhat.com/6.2/en/os/i386/rpm-build-4.0.2-6x.i386.rpm
  ftp://updates.redhat.com/6.2/en/os/i386/rpm-python-4.0.2-6x.i386rpm
  ftp://updates.redhat.com/6.2/en/os/i386/popt-1.6.2-6x.i386.rpm
  ftp://updates.redhat.com/6.2/en/os/i386/db3-3.1.17-4.6x.i386.rpm

  2、安裝 rpm 包,執行如下命令:(注意:是執行兩次相同的命令,而不是寫錯了。)

  rpm -Uvh --nodeps --force *
  rpm -Uvh --nodeps --force *

  3、重建 rpm 資料庫,執行如下命令: rpm --rebuilddb

  安裝 RHN 的客戶端工具,步驟如下:

  1、如下所示,下載相應的 rpm 包:

  ftp://updates.redhat.com/6.2/en/os/i386/up2date-2.7.11-6.x.1.i386.rpm
  ftp://updates.redhat.com/6.2/en/os/i386/python-popt-0.6-1.i386.rpm
  ftp://updates.redhat.com/6.2/en/os/i386/python-xmlrpc-1.5.1-6.x.7.i386.rpm
  ftp://updates.redhat.com/6.2/en/os/i386/python-1.5.2-27.6.x.i386rpm
  ftp://updates.redhat.com/6.2/en/os/i386/rhn_register-2.7.2-6.x.8i386.rpm
  ftp://updates.redhat.com/6.2/en/os/i386/openssl-0.9.5a-7.6.x.i386.rpm

  如果你準備在 Xwindows 下執行 RHN 操作,那麼還需要下載如下的 rpm 包:

  ftp://updates.redhat.com/6.2/en/os/i386/up2date-gnome-2.5.4-0.6.x.i386.rpm
  ftp://updates.redhat.com/6.2/en/os/i386/up2date-2.7.11-6.x.1.i386.rpm
  ftp://updates.redhat.com/6.2/en/os/i386/rhn_register-gnome-2.7.2-6.x.8.i386.rpm
  ftp://updates.redhat.com/6.2/en/os/i386/usermode-1.37-1.6.i386.rpm

  2、開始安裝包,執行如下命令:

  rpm -Uvh *

  怎麼使用 RHN:

  1、在 RHN 上註冊自己的 linux 計算機,也就是在 RHN 上新建立一個帳號。執行如下命令:

  rhn_register

  執行后,出來的是圖形界面,簡單易懂。必須輸入的內容有:

  想在 RHN 上建立的帳號名及密碼,你的電子郵件地址。

  它會把你的機器的硬體、軟體信息和配置信息發給 RHN,留作記錄,用作升級時的參考。

  2、導入 Red Hat 的數字簽名,執行如下命令兩次(有時候一次也可以,這是最保險的方法):

  /usr/bin/gpg --import /usr/share/rhn/RPM-GPG-KEY
  /usr/bin/gpg --import /usr/share/rhn/RPM-GPG-KEY

  3、先看看自己的系統有哪些包需要升級,執行以下命令: up2date -l

  它首先在 RHN上查找你的系統需要的最新升級包的名稱,然後再除去你已經安裝過的,把你目前需要的升級包的詳細信息顯示出來,主要內容為包的名稱、原始版本、發布版本。詳細內容後面有例子。

  4、使用自動升級功能,執行如下命令:

  up2date -u

  它會根據設定的規則,對你的系統進行自動升級。具體過程就是:自動下載,自動安裝。

  如果你改動過應用程序發布時自帶的配置文件,up2date就會告訴你,這個應用程序不能自動升級,需要手動升級。主要是為了保護你的配置,以免被錯誤覆蓋,導致應用程序不能正常運行。 比如:你修改過 sendmail 自帶的 sendmail.cf 文件,up2date 就會告訴你由於 sendmail.cf 被修改過,所以不能升級 sendmail。

  默認情況下內核也是不能自動升級的。

  5、手動升級非內核包:

  主要用於為象上面的 sendmail

  這樣的情況。這個操作有一定難度,首先我們要了解舊的配置與新的配置是否相容,也就是新的程序是否可以使用舊的配置文件。這需要到有關的網站去查看或者諮詢高手。

  如果相容,我們把舊的配置文件保存好,升級完后,再用舊的配置文件覆蓋新的配置文件即可。實際上 up2date會自動把舊的配置文件保存為 *.rpmsave,或者它不改動舊的配置文件,而是把新的配置文件命名為
*.rpmnew。升級后配置文件如何變化的具體情況,up2date 在升級完成時,會告訴我們的。但為了保險起見,我們還是手工保存一下為妙。

  比如剛才的 sendmail 包,我們用舊的配置文件覆蓋新的即可。

  如果不相容,而又想升級。最好的辦法就是升級完后,重新配置了。

  具體操作命令為:

  up2date -f 包名稱

  比如:up2date -f sendmail。有的時候包名稱比較長,如 pcmcia-kernel,需要全部輸入,只輸入 pcmcia 是不行的。

  6、手動升級內核:

  這種情況下,我們需要首先修改配置文件 /etc/sysconfig/rhn/up2date,修改以前最好備份一下 up2date。主要是其中兩項:

  removeSkipList=kernel*;
  pkgSkipList=kernel*;

  把其等號後面的 kernel*; 全部刪除,使其變成:

  removeSkipList=
  pkgSkipList=

  修改完成後,保存,再執行 up2date -u 命令即可。

  從上面的介紹可以看出,RHN 的確是管理 Red Hat linux 系統的有效工具。

  例子:

  執行 up2date -l 后的結果

  Retrieving list of all available packages...
  ########################################
  ########################################

  Removing installed packages from list of updates...
  ########################################

  Removing packages marked to skip from list...
  ########################################

  Getting headers for available packages...
  ########################################

  Removing packages with files marked to skip from list...
  ########################################

  Name Version Rel
  ---------------------------------------------------------
  at 3.1.8 22.2
  uucp 1.06.1 33.6.2

  它告訴我們,at 和 uucp 需要升級。

  如果執行 up2date -u 的話,結果與此類似,多了下載和安裝。






[火星人 via ] 使用 Red Hat Network(RHN)升級服務已經有330次圍觀

http://www.coctec.com/docs/linux/show-post-67858.html