Red Hat Training

A Red Hat training course is available for Red Hat Satellite

9.4. Unix 客戶端註冊與更新

現在您已經安裝了與 RHN 相關的套件,安裝了 SSL,並且重新配置了您的客戶端以連上 RHN 衛星伺服器,您現在可以開始進行註冊程序,並獲得升級。

9.4.1. 註冊 Unix 系統

本節描述了 UNIX 系統的 RHN 註冊程序。您必須使用 rhnreg_ks,以完成這項工作。這些金鑰能讓您事先決定 RHN 的設定,例如基礎頻道與系統群組,並在註冊時,將這些自動套用到系統上。
由於啟動金鑰的產生與使用,皆已在其它指南中詳述過,本節僅著重在將金鑰套用到各種 UNIX 版本上的分別。欲取得此過程的完成詳述,請參閱〈節 4.4.6.1, “管理啟用金鑰”〉章節。
要向您的 RHN 衛星伺服器註冊 UNIX 系統,請依序執行以下工作:
  1. 登入衛星伺服器的網頁介面,按下上方導覽列的「系統」分頁,接著按下左方導覽列的「啟動金鑰」。然後按下網頁右上方的「建立新的金鑰」連結。
  2. 在下一個網頁中,請選擇您在「節 9.2, “衛星伺服器準備/配置”」最後所建立的基礎頻道。
  3. 在建立了金鑰之後,請按下「啟動金鑰」清單中的金鑰名稱,將軟體與設定頻道與系統群組建立關聯,以加強其 RHN 設定。
  4. 在要註冊的用戶系統上開啟終端機視窗,切換至 root 使用者。
  5. 使用 rhnreg_ks--activationkey 選項,向衛星伺服器註冊客戶端。您可以從網站上的「啟動金鑰」清單複製這串字元。這項指令會看似:
    rhnreg_ks --activationkey=b25fef0966659314ef9156786bd9f3af
    
  6. 請回到網站上,按下啟動金鑰的名稱,並確定新系統出現在「已啟動的系統」分頁中。

9.4.2. 取得更新

在 UNIX 中處理套件升級的方式與 Linux 有很大的不同。舉例來說,Solaris 靠得是【升級叢集】,好一次升級多個套件;而 Red Hat 作業系統使用的是【勘誤升級】,將升級檔與特定套件建立關聯。除此之外,Solaris 會使用自動安裝檔(answer file)來事先決定套件安裝;但這是 Linux 所不了解的;而相反地,Red Hat 提供了原始檔套件的觀念。因此,本節會點出在 UNIX 系統上,使用 RHN 工具的不同處。(注意:RHN 目前的版本並不支援 Solaris 的自動安裝檔;但計劃在將來的版本中推出。)
衛星伺服器上的 RHN 網站之 UNIX 頻道與套件管理界面大部份都相同,只有少部份不一樣,例如缺少勘誤。所有為 UNIX 各種版本設計的所有軟體頻道都可以用自訂頻道的方式建立,如《RHN 頻道管理指南》所述。如您預期的,最大的不同是硬體架構。當建立 UNIX 軟體頻道時,請確定您選擇的基礎頻道架構跟所要服務的系統相同。
除此之外,Red Hat 建議您根據用途,將套件分為基礎頻道與子頻道。舉例來說,Solaris 的安裝套件就應該歸類為 Solaris 基礎套件,而升級檔與升級叢集就應該歸類為 Solaris 基礎頻道的子頻道。其他安裝套件則可以歸類為獨立的額外子套件。
RHN 將升級檔與套件視為類似的東西;它們的列出與安裝方式相同,界面也與正常的套件一樣。Solaris 會將升級檔編號,名稱近乎「patch-solaris-108434」。這 Solaris 升級檔的版本來自於原始的 Solaris metadata,釋出版本都是 1。
升級叢集是許多升級檔的集合,會以一個完整的集合一次安裝。RHN 並不會儲存升級叢集中的升級檔清單。RHN 無法得知升級叢集是不是已經安裝到系統上,因為 Solaris 並不會追蹤這項資訊。因此可以安裝到系統上的升級叢集永遠不會出現在系統的已安裝套件清單中,即使安裝後亦然。升級叢集的名稱看起來類似「patch-cluster-solaris-7_Recommended」。版本則是日期,例如「20040206」,而釋出版本都是 1,紀元版本都是 0。

9.4.2.1. 將套件上傳至衛星伺服器

RHN 並不提供 UNIX 的內容;任何 Solaris 套件、升級檔或升級叢集都必須以客戶端可理解的格式,上傳至衛星伺服器上。接著,該套件就可以受到管理,並散佈至其他系統上。RHN 建立了 solaris2mpm,以轉譯 Solaris 的套件、升級檔與升級叢集至衛星伺服器可以理解的格式。
9.4.2.1.1. solaris2mpm
如先前〈節 9.1.4, “功能的差別”〉所述,solaris2mpm 是 Solaris 版 RHN 推送服務的一部分。要推送至衛星伺服器上 Solaris 頻道的內容,必須是 .mpm 格式。
.mpm 檔案包含了套件本身及其資訊。solaris2mpm 指令必須在客戶端上執行,斷不可在衛星伺服器上執行。

注意

在轉換時,solaris2mpm 需要任何套件、升級檔或升級叢集的三倍空間或以上。一般來說,/tmp/ 目錄可以給這過程使用。然而,如果您有需要的話,--tempdir 選項能讓您指定另一個目錄。
您可以用 solaris2mpm 的命令列指定多個檔案。以下是使用範例:
# solaris2mpm RHATrpush-3.1.5-21.pkg RHATrpush-3.1.5-23.pkg
Opening archive, this may take a while
Writing out RHATrpush-3.1.5-21.sparc-solaris.mpm
Opening archive, this may take a while
Writing out RHATrpush-3.1.5-23.sparc-solaris.mpm
由於沒有指定其他目錄,.mpm 檔案會寫入 /tmp/ 目錄中。請注意,.mpm 檔案的名稱包括用來生成該檔案的客戶端架構。就這個例子來說,是 Sparc Solaris。mpm 檔名的一般格式為:
name-version-release.arch.mpm
升級叢集包含多種資料 — .mpm 檔案是由叢集的每個升級檔,以及最上層的「meta」.mpm 檔案,包含叢集的資訊而成。
以下是 solaris2mpm 的選項:

表格 9.2. solaris2mpm 選項

選項 描述
--version
顯示程式的版本號,並離開
-h, --help
顯示本資訊並離開
-?, --usage
印出程式的使用資訊,並離開
--tempdir=<tempdir>
工作的暫存目錄
--select-arch=<arch>
為多架構的套件選擇架構(i386 或 Sparc)。
9.4.2.1.2. 帶 .mpm 檔案的 rhnpush
Solaris 版 rhnpush 的運作方式就跟標準的工具程式,但多加了處理 .mpm 檔案的能力。以下是使用範例:
% rhnpush -v --server testbox.example.com --username myuser -c solaris-8 \
RHATrpush-3.1.5-*.mpm
 Red Hat Network password:
 Connecting to http://testbox.example.com/APP
 Uploading package RHATrpush-3.1.5-21.sparc-solaris.mpm
 Uploading package RHATrpush-3.1.5-23.sparc-solaris.mpm

注意

升級叢集的 .mpm 檔案必須同步推送或稍晚一點推送,但決不可早於包含在這叢集的 .mpm 檔案。
請對每個您想要透過衛星伺服器管理的套件、升級檔或升級叢集,使用 solaris2mpm。然後使用 RHN 推送服務上傳這些檔案到您所建立的頻道內。

9.4.2.2. 透過網站升級

要安裝套件或升級檔到獨立系統上,請按下「系統」類別中的系統名稱,從「套件」或「升級」分頁的升級或安裝清單選擇套件,然後按下「安裝/升級所選的套件」。
要在安裝套件時執行遠端指令,請按下「執行遠端指令」,而非「確認」,詳情請參閱〈節 9.5, “遠端指令”〉。
要在多台系統上一次安裝套件或升級檔,請選擇系統,按下左方導覽列的「系統設定管理員」。然後在「套件」分頁中,從升級或安裝清單中選擇套件,按下「安裝/升級套件」。要完成這項動作,請排程這些升級。

9.4.2.3. rhnsd

在 RHEL 系統上,rhnsd 系統程式(主導客戶端系統登入 RHN 的程式)在開機時會自動載入。在 Solaris 系統上,rhnsd 程式預設上「不會」被自動載入。您可以用這方式從命令列啟動:
rhnsd --foreground --interval=240
rhnsd 的預設位置是 /opt/redhat/rhn/solaris/usr/sbin/rhnsd。以下是 Solaris rhnsd 指令的可用選項:

表格 9.3. rhnsd 的選項

選項 描述
-f, --foreground
在背景執行
-i, --interval=MINS
每隔 MINS 分鐘,就連上 Red Hat Network
-v, --verbose
將所有活動紀錄至 syslog
-h, --help
提供本求助清單
-u, --usage
提供本求助清單
-V, --version
印出程式版本

9.4.2.4. 從命令列升級

跟網站一樣,Red Hat 更新代理程式 使用命令列會受 UNIX 套件管理的限制所影響。這意味著大部份核心功能還是可以透過 up2date 指令來完成。最顯著的分別是所有有關原始檔的選項都不見了。欲知 UNIX 系統可用的詳細選項清單,請參閱〈表格 9.4, “更新代理程式的指令列引數”〉。
指令列版本的 Red Hat 更新代理程式 在 UNIX 系統上接受以下引數:

表格 9.4. 更新代理程式的指令列引數

引數 描述
--version 顯示程式的版本資訊。
-h--help 顯示本求助訊息後離開。
-v--verbose 顯示額外的輸出。
-l--list 列出所有已安裝套件的最新版本。
-p--packages 更新與此系統設定檔相聯的套件。
--hardware 在 RHN 上,更新此系統的硬體設定檔。
--showall 列出可供下載的所有套件。
--show-available 列出目前尚未安裝的所有可用套件。
--show-orphans 列出目前已安裝、但並未列在系統所訂閱頻道中的套件。
--show-channels 顯示套件名稱時,一併顯示頻道名稱。
--installall 安裝所有可用的套件。與 --channel 搭配使用。
--channel=CHANNEL 透過使用頻道標籤,指定要更新哪些頻道。
--get 下載指定的套件,並且不解析相依性。