Red Hat Training

A Red Hat training course is available for Red Hat Satellite

頻道管理指南

Red Hat Network Satellite(衛星伺服器) 5.5

Red Hat Network Satellite(衛星伺服器)

版 7

摘要

歡迎使用 Red Hat Network Satellite 頻道管理指南。

章 1. 簡介

本文件將討論關於 RHN Proxy Server 與 RHN Satellite Server 佈署與維護自訂軟體頻道的問題,用於 RHN Satellite Server 或 RHN Proxy Server 安裝、配置完成之後。
在一些情形下,本文件指的動作乃在 Red Hat Network 網站伺服器上進行的動作。對 RHN Proxy Server 用戶來說,這指的是中央的 Red Hat Network 伺服器,網址為 https://rhn.redhat.com。對衛星伺服器的用戶來說,這指的是您網站上的 RHN Satellite Server。

章 2. RHN 頻道簡介

Red Hat Network 頻道是軟體套件的集合。頻道能幫助您根據一些標準,分類套件:例如一個頻道可能會包括特定 Red Hat 版本的套件。頻道可以包含一個應用程式的套件,或是一組應用程式的套件。使用者也可以視需求定義頻道;舉例來說,公司可以為所有筆記型電腦,建立包含所需套件的頻道。

2.1. 基礎頻道與子頻道

頻道有兩種:基礎頻道子頻道。基礎頻道包括了特定架構與 Red Hat Enterprise Linux 版本的套件。子頻道則是與基礎頻道相關聯的頻道,其中包括了額外的套件。
一台系統必須、也只能訂閱一個基礎頻道。一台系統可以訂閱其基礎頻道下的多個子頻道。已經訂閱成功的系統可以透過其 Red Hat Network 頻道,安裝或升級套件。
當系統向 Red Hat Network 註冊時,它會根據系統的 Red Hat Enterprise Linux 版本,訂閱一個基礎頻道。一旦系統註冊過後,其預設的基礎頻道可以透過 RHN 網站,以單台系統為基礎,變為私有的基礎頻道。另一種方式,您可以讓啟動金鑰與一個自訂頻道相關聯,用這啟動金鑰註冊的系統會自動與這自訂頻道相關聯。
在 Red Hat Network 網站上,「頻道」網頁(位於上方導覽列「頻道」分頁下方)提供了所有基礎頻道與其子頻道的清單。請點選顯示在「頻道的詳細資料」網頁中的頻道名稱,此網頁提供了頻道中所有套件、勘誤、與任何相關系統的清單。

2.2. 訂閱頻道

請藉由以下方式,為系統訂閱頻道:
  • 透過啟動金鑰註冊 — 鑑於啟動金鑰的簡易性與速度,不管對 RHN Proxy Server 或 RHN Satellite Server 的用戶端來說,這是註冊系統的最佳方式。使用啟動金鑰註冊的系統會訂閱與該金鑰相關的所有頻道。欲知啟動金鑰的更多詳情,請參閱《Red Hat Network 客戶端配置指南》與《Red Hat Network 參考指南》。
  • 安裝註冊 — 當系統透過 Red Hat Update AgentRed Hat Network Registration Client 註冊時,它會根據系統的 Red Hat Enterprise Linux 版本,自動指定基礎頻道。一旦系統註冊後,其預設的基礎頻道就可以透過 RHN 網站,依照單系統的基礎,改為私有頻道。此外,您也可以將啟動金鑰與自訂頻道相關聯,如此一來,使用這金鑰啟動的系統就會自動與這自訂頻道相關聯。欲知使用這些應用程式的資訊,請根據您的權利等級(Management 或 Provisioning),參閱《RHN 參考指南》。
  • 網站訂閱 — 多種特定的子頻道可供訂閱,端視系統的基礎頻道為何。系統可以透過 RHN 網站訂閱子頻道。如果您已經建立了自己的基礎頻道,您也可以透過網站,重新指定系統訂閱這些自訂頻道。欲知更多關於線上訂閱頻道的訊息,請參閱《RHN 參考指南‧Red Hat Network 網站》章節。
  • 使用 spacewalk-channel 指令列工具(CLI)— spacewalk-channel 能讓您透過指令列,在不登入 Red Hat Network 網站的情況下將系統訂閱至特定頻道。
    比方說,若要訂閱兩個頻道:
    spacewalk-channel --add -c rhn-tools-rhel-i386-server-5 -c
    rhel-i386-server-vt-5 --user username --password password
    
    若要取消頻道訂閱:
    spacewalk-channel --remove -c rhn-tools-rhel-i386-server-5 -c
    rhel-i386-server-vt-5 --user username --password password
    
    若要列出已訂閱的頻道:
    spacewalk-channel --list
    

2.3. 頻道的可用性

Red Hat Network 上有許多頻道。有些開放給所有使用者,有些開放給特定組織的使用者,有些僅開放給付費使用者。頻道可以分為以下幾類:
  • 付費服務頻道 — 這些頻道僅供付費用戶使用,付費方式包括直接購買,或與特定 Red Hat 方案相結合。Red Hat Enterprise Linux 就是付費服務頻道的一個例子。
  • 自訂頻道 — 這些頻道是由組織管理員所建立,以用來管理自訂套。這些頻道亦稱為私密頻道,就預設值僅有建立了它們的組織能夠看見它們;其他任何人將絕對無法存取它們。然而,私密頻道可透過設定組織信任關係(Organizational Trusts)來共享於組織之間。欲取得更多有關於組織信任關係上的相關資訊,請參閱《參考指南》。
本文件著重在使用 RHN Proxy Server 或 RHN Satellite Server 建立、維護自訂頻道的過程。

2.4. 工具、軟體庫、與實務

在建立與管理頻道前,請注意各種工具與軟體庫的分別。如果您同時建置 RHN Satellite Server 與 RHN Proxy Server,這一點更形重要,因為這種配置會使得可用的工具程式與軟體庫增加。此外,Proxy-Satellite 的結合提供了一些最佳方案,並能提供最佳的效能。
首先,請熟悉這些套件管理工具:
  • RHN Package Manager - 請用這工具,將自訂套件推送到您 RHN Proxy Server 上的自訂頻道。
  • RHN Push - 請使用此工具,將自訂套件推送至您 RHN Satellite Server 上的自訂頻道。
  • RHN Satellite Synchronization Tool - 請使用此工具透過 Red Hat Network,由 Red Hat Network Classic 將標準套件匯入至,並與 RHN Satellite Server 進行同步。此乃透過網際網路或是 CD/DVD ISO 映像檔來完成。
這些工具各個皆有相應的套件軟體庫。RHN Package ManagerRHN Push 兩者都需要建立暫時性的分段目錄以便存放上載至 Proxy 或 Satellite 的自訂套件。使用過後,您需要將這些分段目錄刪除掉。

注意

Red Hat 建議您將自訂套件備份於 Red Hat Network 之外。
如果您同時使用 RHN Proxy Server 與 RHN Satellite Server,請只用 RHN PushRHN 衛星伺服器同步工具。這種 Proxy-Satellite 的結合需要自訂套件與頻道「」上傳到 Satellite,Proxy 會從此取得套件,並發佈至用戶端系統上。

章 3. 建立自訂套件

在建立軟體頻道時,可能會發生許多錯誤。這在套件必須透過 Red Hat Network 發送並安裝時,特別容易發生。本章將提供如何建立套件,並透過 Red Hat Network 成功發送的簡介。本章包括的內容有為何要使用 RPM、如何為 RHN 建立套件、以及如何適當地簽署套件。

3.1. 為 Red Hat Network 建立套件

Red Hat Network 使用 RPM 套件管理員RPM)技術,來決定新增的軟體與更新檔要如何套用到用戶端電腦上。從 Red Hat Network 取得的套件通常是 RPM 格式。不過完整的 ISO 映像檔亦可透過 Red Hat Network 網站的「軟體」分頁取得,但不適用於 RHN Satellite Server。如果您的 Satellite 支援 Solaris,您可以使用 RHN Push 來上傳 Solaris 套件,到 Solaris 用戶所使用的自訂頻道。
RPM 這工具為使用者提供簡易的方法,安裝、解除安裝、升級、並驗證軟體套件。它也能讓軟體設計師將原始碼與編譯過的版本包裝起來,給終端使用者與設計師使用。

3.1.1. RPM 的優點

RPM 包含了以下優點:
易於升級
使用 RPM,您就可以升級系統中的獨立元件,而不需要重新安裝。當 Red Hat 釋出 Red Hat Enterprise Linux 的新版本時,使用者不需要為了升級而重裝。RPM 允許智慧型、完全自動、立即可用的系統升級。套件中的設定檔在升級中會被保留,使用者不會失去之前自訂的功能。升級時不需要特別的設定檔,因為安裝與更新套件時,用的 RPM 檔案是一樣的。
套件查詢
RPM 提供的查詢選項能讓您透過整個 RPM 資料庫,搜尋所有可用套件,或是特定檔案。您也可以輕易地找出某個檔案屬於哪個套件、從何而來。包括在套件中的檔案都是以壓縮格式儲存,自訂的二進位表頭包含了有用的套件資訊及其內容。RPM 會快速、輕易地查詢這表頭。
系統驗證
另一個功能是驗證套件。如果您擔心與某個套件相關的檔案已經被刪除,您可以驗證該套件,檢查其提供的檔案之狀態。這驗證會告知您任何異常。如果錯誤發生,您可以輕易地重新安裝這些檔案。修改的設定檔在重新安裝過程中,都會被保留。
純淨的原始碼
RPM 的重要設計目標之一,是使用純淨的軟體原始碼,讓原始碼從作者手上流出後都能保持如一。有了 RPM,純淨的原始碼就可以包裝起來,包含任何使用的升級檔,外加完整的建立指示。這是非常重要的優勢,理由非常多。舉例來說,如果一個軟體釋出了新版本,您不需要從頭開始編譯。您可以看看更新部份,決定您「可能」需要作什麼。所有對這軟體作的編譯預設值與變更,藉由這技術都非常的一目瞭然。
讓原始碼保持純淨似乎只對程式設計師很重要,但這對使用軟體的使用者一樣重要。

3.1.2. RHN RPM 方針

RPM 的優勢在於其正確定義相依性與衝突的能力。Red Hat Network 依靠 RPM 的這項功能運作。Red Hat Network 提供了一個自動的環境,表示在安裝套件過程中,使用者不需手動干預。因此,在建立透過 Red Hat Network 發送的 RPM 時,請遵循下列規則:
  1. 學習 RPM。對 RPM 的重要功能有著基本的了解,是非常重要的,這可以讓您適當的建立套件。欲知更多 RPM 的詳情,請從以下資源著手:
  2. 當您要為子頻道建立 RPM 時,請在剛安裝好 Red Hat Enterprise Linux 的系統上建立,這系統的版本應與子基礎頻道的相同。請確定先從 Red Hat Network 取得、安裝所有升級。
  3. RPM 套件必須在不使用 --force--nodeps 選項下安裝。如果您無法在您要建立 RPM 的系統上,以乾淨的方式安裝 RPM,Red Hat Network 就無法在一台系統上自動安裝。
  4. RPM 套件的檔名必須是 NVR 格式(名稱、版本、釋出版本),同時必須包含套件的架構。適當的格式是name-version-release.arch.rpm。舉例來說,合格的 RPM 套件檔名是 pkgname-0.84-1.i386.rpm,其中名稱是 pkgname,版本是 0.84,釋出版本為 1,架構為 i386
  5. RPM 套件應該由套件的維護者來簽署。未簽署的套件還是可透過 Red Hat Network 來散佈;但 yum 更新程式必須強迫接受這些套件。強烈建議您簽署套件,詳情請參閱 節 3.2, “RHN 套件的數位簽章”
  6. 如果套件以任何方式改變過,請將這改變放入簽名中,或重新編譯,這版本或釋出版本必須累進計算。換句話說,透過 RHN 散佈的每個 RPM 的 NVRA(包含版本)必須反映出一個獨一無二的版本,以避免混淆。
  7. 沒有 RPM 可以自行淘汰。
  8. 如果一個套件被分成多個獨立套件,請特別注意相依性問題。除非您有充份的理由,否則請不要將現有套件分開。
  9. 沒有套件會仰賴互動式的安裝前、安裝後、反安裝前或反安裝後程序檔。如果套件需要使用者的直接干預,那麼它無法與 Red Hat Network 運作。
  10. 任何安裝前、安裝後、反安裝前或反安裝後程序檔都不該將任何東西寫入 stderr 或 stdout。如果需要的話,請將訊息重新導向到 /dev/null。否則的話,請寫入檔案。
  11. 當建立 spec 檔案時,請使用 /usr/share/doc/rpm-<version>/GROUPS 的群組定義。如果沒有完全符合的定義,請選一個次好的。
  12. 請使用 RPM 相依性的功能,確定程式在安裝後能正常執行。

重要

不要在安裝後程序檔中,用備份檔案,然後再解壓縮的方式建立 RPM。這會覆寫 RPM 的用意。
如果備份中的檔案不包括在檔案清單中,就無法驗證或檢查其衝突。在大部份情形下,RPM 會有效地壓縮、解壓縮。舉例來說,您不在 %postun 一節中清除的檔案,就不應該在 %post 中建立。

3.2. RHN 套件的數位簽章

所有透過 RHN 發佈的套件都應該擁有 數位簽章。數位簽章是以獨一無二的私有金鑰所建立,可以透過相關的公開金鑰來驗證。在建立套件之後,SRPM(原始碼 RPM)與 RPM 可以用 GnuPG 金鑰來簽署。在套件安裝之前,公開金鑰會用來驗證套件,這套件是由受信任方所簽署,同時在簽署之後,這套件沒有被修改過。

3.2.1. 產生 GnuPG 金鑰配對

GnuPG 金鑰配對包含了私密與公用金鑰。若要產生金鑰配對:
  1. 以 root 使用者身份在 shell 提示列上輸入下列指令:
    gpg --gen-key
    如果您以非 root 身份執行這個指令,您會看到以下訊息:
    gpg: Warning: using insecure memory!
    
    這訊息會出現是因為非 root 使用者不能鎖定記憶體分頁。因為您不希望任何人擁有您的私有 GnuGP 金鑰或密碼字串,請以 root 身份產生金鑰配對。root 使用者可以鎖定記憶體分頁,這表示這訊息永遠不會寫入磁碟中。
  2. 在執行這指令,產生金鑰配對後,您會看到一個簡介畫面,包含金鑰的選項,類似以下:
    	gpg (GnuPG) 1.2.6; Copyright (C) 2004 Free Software
    	Foundation, Inc.  This program comes with ABSOLUTELY NO
    	WARRANTY. This is free software, and you are welcome to
    	redistribute it under certain conditions. See the file COPYING
    	for details. Please select what kind of key you want: (1) DSA
    	and ElGamal (default) (2) DSA (sign only) (4) RSA (sign only)
    	Your selection?
    
  3. 請接受預設選項:(1) DSA and ElGama1。這選項能讓您建立數位簽章,並以兩種技術進行加密 / 解密。請輸入 1,然後按下 Enter
  4. 接下來,請選擇金鑰的大小,也就是金鑰的長度。金鑰愈長,您的訊息就愈能抵抗攻擊。建議您建立長於 1024 位元的金鑰。
  5. 接下來的選項會請您指定金鑰的期限。如果您選擇的一個過期日,請記得通知使用您公開金鑰的人這個過期日,並給予新的金鑰。建議您不要選擇過時日。如果您不選擇過期日,系統會跟您確認這一點:
    Key does not expire at all Is this correct (y/n)?
    
  6. 請按下 y 確認您的決定。
  7. 您接下來的工作是提供一組使用者 ID,包含您的姓名、電子郵件位址、以及選用的註解。每一項東西都要求您分開輸入。當您完成後,您會看到您輸入訊息的摘要。
  8. 一旦您接受這些選擇後,請輸入一組密碼字串。

    注意

    跟您帳號的密碼一樣,好的密碼字串是 GnuPG 最基本的安全防護。請用大小寫字母、數字、以及 / 或標點符號,來組成您的密碼字串。
  9. 在您輸入、驗證了密碼字串後,您的金鑰就會產生。如以下的訊息會出現:
    We need to generate a lot of random bytes. It is a good idea to perform some
    other action (type on the keyboard, move the mouse, utilize the disks) 
    during the prime generation; this gives the random number generator a 
    better chance to gain enough entropy. 
    
    +++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++.
    ++++++++++++++++++++++++++++++++++++++..........................++++
    
    當畫面上的動作終止時,您新的金鑰便會被放置在 root 家目錄中的 .gnupg 目錄裡。此乃 root 使用者所產生之金鑰的預設位置。
若要列出 root 金鑰,請使用下列指令:
gpg --list-keys
您會看到類似以下的畫面:
/root/.gnupg/pubring.gpg ----------------  pub 1024D/B7085C8A 2002-02-18
 Your Name<you@example.com> 
sub 1024g/E12AF9C4 2002-02-18
要讀取您的公開金鑰,請使用以下指令:
gpg --export -a 'Your Name' > public_key.txt
您的公開金鑰會寫入 public_key.txt 檔案。
此公用金鑰非常重要。它必須建置至所有透過 up2date 接收自訂軟體的用戶端系統上。在組織中建置此金鑰的技巧皆列在《Red Hat Network 用戶端配置指南》中。

3.2.2. 簽署套件

在您簽署套件前,您必須設定您的 ~/.rpmmacros 檔案,包括以下:
%_signature gpg 
%_gpg_name B7085C8A
請以您 GPG 金鑰環中的金鑰 ID,取代 _gpg_name 的值 B7085C8A。這個值會告訴 RPM 要用哪一個簽章。
要簽署套件 package-name-1.0-1.noarch.rpm 套件,請執行以下指令:
rpm --resign package-name-1.0-1.noarch.rpm
輸入您的密碼字串。要確定套件已經簽署,請執行以下指令:
rpm --checksig -v package-name-1.0-1.noarch.rpm
您應該會看到畫面上出現 Good signature from "Your Name",其中 Your Name 會以與此簽署金鑰有關的名稱所取代。

章 4. 自訂頻道與套件管理

自訂頻道能讓管理者透過 Red Hat Network 基礎架構,建置由其組織內部自行建立與維護的套件。所有頻道與套件管理的活動,皆在 RHN 網站上的「頻道」分頁中進行。本處使用的指示將與《RHN 參考指南》的 RHN 網站一章相結合。

注意

由於透過您的生產環境,建置未經測試的套件,可能會發生潛在性的問題,因此 Red Hat 強烈建議您建立測試頻道,在正式使用前僅選幾台系統做測試。
舉例來說,如果您有一組會收到自訂套件的網站伺服器,請建立暫時性的頻道,以將套件安裝在一台不擔負重要任務的系統上。這可能是開發用途或階段性的伺服器,而「不是」投入生產的系統。這些暫時性頻道之後可透過 節 4.8, “刪除軟體頻道” 中所描述的步驟刪除。

4.1. 頻道管理的權利

若要進行頻道管理工作,使用者必須取得適當的權限,此身份為頻道管理員。這些存取權限可以透過 Red Hat Network 網站來修改。權限將透過組織管理員指定給使用者,此乃最高等級的管理員。頻道管理員的權利則透過以下方法授予:
  1. 以組織管理員身份登入 Red Hat Network 網站。
  2. 在上方導覽列,點選「使用者」分頁,然後按下將進行頻道管理工作的使用者名稱。
  3. 在「使用者的詳細資料」網頁中,將視窗下拉至「角色」一節,勾選「頻道管理員」。然後按下網頁下方的「送出」。請注意組織管理員會自動被授與頻道管理者的權利。
  4. 以該使用者身份登入 Red Hat Network 網站,按下上方導覽列的「頻道」分頁,確定「管理軟體頻道」按鈕會出現在相對應的左方導覽列中。

4.2. 管理軟體頻道

除了標準 RHN Management 等級使用者可用的按鈕與網頁之外,RHN Satellite Server 與 RHN Proxy Server 用戶亦可從左方導覽列存取「管理軟體頻道」。此按鈕會開啟「軟體頻道管理」介面,其中包含所有自訂軟體頻道的管理工作。

警告

如果您使用了 RHN Proxy Server 與 RHN Satellite Server,請只在 Satellite 上管理自訂頻道與套件,因為 Proxy 伺服器會從前者直接收到升級檔。在這種配置組合下,在 Proxy 上手動管理套件與頻道,可能會使您伺服器間的資料不同步。
請點選「軟體頻道管理」清單中的連結,這會讓您連上「已管理的軟體頻道之詳細資料」網頁中的多個分頁。按下頻道名稱將會開啟「詳細資料」分頁,而按下套件數量則會開啟「套件」分頁的「列出/移除」子分頁。請參閱 節 4.3, “管理軟體頻道的詳細資料”,以取得這些範圍的完整解說。

4.3. 管理軟體頻道的詳細資料

基本上,所有自訂頻道管理工作都會在「管理軟體頻道的詳細資料」網頁中進行,按下左方導覽列上的「管理軟體頻道」,然後選擇欲修改的頻道名稱。此網頁包含了幾個主要分頁:
  • 詳細資料」— 提供了關於頻道的基本資料,例如其父頻道、名稱、摘要、以及描述。其中一些資訊是可以修改的。除此之外,組織管理員與頻道管理員可以看到「各使用者的訂閱限制」勾選方塊。這指出了每個頻道皆能讓任何使用者將系統訂閱此頻道的預設行為。取消勾選此方塊並按下「更新頻道」,畫面上會出現「訂閱者」分頁,這可使用來授與一些使用者頻道的訂閱權利。
  • 訂閱者」— 列出擁有此自訂頻道之訂閱權限的使用者清單。此分頁會在兩個條件滿足的情況下出現。第一,登入的使用者必須是組織管理員或頻道管理員。第二,「詳細資料」分頁上的「各使用者訂閱」必須被設為「只有您組織中特選的使用者能夠向此頻道訂閱」。這將可確保使用者能夠向頻道訂閱。在此分頁上,請勾選允許將其系統向此頻道訂閱的使用者,然後按下「更新」。請注意,組織管理員與頻道管理員會自動擁有訂閱所有頻道的權利。
  • 管理員」— 列出對自訂頻道擁有管理權限的使用者。組織管理員與頻道管理員可以看到此分頁。請勾選允許擁有此頻道完整管理權限的使用者,然後按下「更新」。這狀態並不能讓使用者建立新頻道。請注意,組織管理員與頻道管理員會自動擁有所有頻道的管理權限。
  • 勘誤」— 提供與您每個自訂頻道相關的勘誤。跟 Red Hat Network 產生、發送 Red Hat Enterprise Linux 軟體勘誤一樣,您可以將勘誤升級發送到您的自訂頻道中,作為以最新原始碼更新您伺服器的一部分。這分頁包含的子分頁能讓您檢視、新增、移除、並複製勘誤:「新增/移除」、「新增」與「複製」。請注意複製勘誤只能透過 RHN Satellite Server 完成。
    • 新增/移除」— 顯示所有目前與自訂頻道有關的勘誤,並提供方法來取消這關聯。要從頻道中移除勘誤,請選擇勘誤的勾選方塊,按下網頁右下方的「移除勘誤」。確認頁會出現,上面會列出欲刪除的勘誤。請按下「確認」完成這動作。
    • 新增」— 將勘誤新增至頻道中。所有可套用至此頻道的勘誤都會列出來。若要將勘誤新增至頻道中,請選擇適當的核取方塊,並按下「新增勘誤」。欲取得更多有關於勘誤管理的詳情,請參閱 章 5, 自訂勘誤管理
    • 複製」— 這能讓 Satellite 用戶為已複製的頻道複製勘誤與相關套件。這子分頁會立即呈現頻道的散佈過程,這可能是來自於原有狀態或所選勘誤的選項。每當發送勘誤至目標(也就是原始的)頻道時,「複製」分頁亦會取得勘誤。這對於以現有狀態複製的頻道來說,也相當有用。有關於複製選項上的詳情,請參閱 節 4.7, “複製軟體頻道”
      要把勘誤從目標頻道納入複製的頻道,請從每個建議的下拉式視窗中,選擇「合併」或「複製」。「合併」選項只有在該勘誤之前被複製過的時候,才會存在。請使用它來使勘誤在頻道間有所關聯,並避免重複。請使用「複製」選項來建立新的項目,就和您由先前的複本所進行的修改一樣。
      就預設值,已複製的勘誤會繼承原始 Red Hat 建議的標籤,但起始的「RH」會被改為「CL」。舉例來說,RHSA-2003:324 會變成 CLSA-2003:324。接下來的複製項目如果有同樣的名字,那麼字母便會按照順序繼續排下去,例如「CM」與「CN」。這些標籤可透過「已管理的勘誤之詳細資料」網頁來修改。詳情請參閱 節 5.2, “管理勘誤的詳細資料”
      除了「合併」選項之外,之前複製的勘誤包括「擁有的勘誤」一欄中包含的值。此勘誤標籤會與其詳細資料網頁相連結。括號中的「pub」與「mod」旗標標明了已複製的勘誤是否已公開或被修改過。旗標前的「+」號表示已經確認,該複製勘誤已公開。「-」號的意義則相反,舉例來說,「(-mod)」意味著套件已被刪除。若要取得更多有關於公開與編輯自訂勘誤的相關資訊,請參閱 節 5.1, “管理勘誤”
      要將勘誤從複製頻道中排除,請從其下拉式選單中,選擇「什麼都不做」。做好改變之後,請按下「複製勘誤」。請檢視確認頁上的訊息,確定後請按下「更新勘誤」。
    • Sync」— 顯示了未包含在初始頻道複本中,而之後已更新的勘誤套件。此網頁能讓您透過選取欲選擇的核取方塊,並按下「同步勘誤」,來讓您為已複製的頻道和目前的勘誤進行同步。
  • 套件」— 提供與每個自訂頻道相關的套件。這分頁包括的子分頁能讓您檢視、新增與移除套件:「列出/移除」、「新增」、與「比較」。
    • 新增/移除」— 顯示所有目前與自訂頻道有關的勘誤,並提供方法來取消這關聯。要從頻道中移除勘誤,請選擇勘誤的勾選方塊,按下網頁右下方的「移除勘誤」。確認頁會出現,上面會列出要刪除的勘誤。請按下「確認」以完成這項動作。

      重要

      此清單與透過標準「軟體頻道的詳細資料」頁面出現的套件清單不同,它顯示了所有存在於資料庫中的套件版本,而不是只有最新的版本。您只要移除最新的版本,就可回復到先前版本的套件。
    • 新增」— 將勘誤新增至頻道中。若要檢視可用的套件,請從「檢視」下拉式視窗中選擇選項,然後按下「檢視」。若要將套件加入您正在編輯的頻道,請選擇適當的勾選方塊,然後按下「新增套件」。有關於這項程序的詳情,請參閱 節 4.6, “將套件指定給軟體頻道”
    • 比較」— 比較不同頻道中的套件清單。要檢視不同之處,請從「比較:」下拉式選單中選擇另一個頻道,按下「比較」。清單會顯示所有不包含在雙方套件中的清單,並指出每個現有頻道的位置。
  • 軟體庫 — 選擇「管理軟體庫」來將 yum 軟體庫指定給頻道,以同步軟體庫內容。
    • 新增/移除」— 列出已配置的軟體庫。您可藉由選取軟體庫名稱旁的核取方塊,並按下「更新軟體庫」來新增和移除軟體庫。
    • 同步」— 列出已配置的軟體庫。您可透過使用下拉式方塊來設定同步排程,或透過按下「現在同步」來進行即時的同步。

4.4. 管理軟體套件

除了在頻道中新增與移除套件之外,您亦可從整個資料庫與檔案系統中,移除套件。從檔案系統上移除套件會晚一個小時完成。這可以透過「軟體套件管理」網頁來完成,方法是按下左方導覽列的「管理軟體套件」。

警告

雖然由資料庫中刪除套件,可藉由再次上傳套件來復原,但這些套件會失去與任何勘誤之間的關聯。重新載入後,您必須手動式為這些套件與勘誤重新連結。詳細指示請參閱 章 5, 自訂勘誤管理
由資料庫移除套件:
  1. 請至「軟體套件管理」頁並選擇一項包含了「檢視」下拉式選單中所有套件的選項,然後按下「檢視」。
  2. 請選取適當的核取方塊,並按下「刪除套件」。之後將會有個包含了套件清單的確認頁出現A。請按下「確認」以將套件完全移除。
由於套件實際上是儲存在 RHN Proxy Server 上,其自訂套件雖然已經列出,但無法透過 RHN 網站下載。用戶端系統必須使用 up2date 指令來擷取這些套件。由於 RHN Satellite Server提供了自己的網站,其自訂套件就可以透過 HTTP 或 Red Hat Update Agent 來存取。要獲得自訂套件,用戶端系統必須訂閱包含這些套件的頻道。

4.5. 建立軟體頻道

在將套件上載至伺服器之前,您能夠建立一個自訂頻道來存放它們。欲取得相關指南,請參閱 章 6, 上傳與維護自訂套件。一旦上載之後,套件便能依照 節 4.6, “將套件指定給軟體頻道” 之中所描述地,透過網站重新分配。
頻道可以在 Red Hat Network 網站上建立,如下所述:
  1. 以頻道管理者的身份登入 Red Hat Network。
  2. 在上方導覽列中,點選「頻道」分頁,然後按下左方導覽列的「管理軟體頻道」按鈕。
  3. 請在「軟體頻道管理」網頁中,按下右上角的「建立新軟體頻道」。RHN Satellite Server 管理員能選擇「複製頻道」。詳情請參閱 節 4.7, “複製軟體頻道”
  4. 在「新建頻道」網頁中,請跟隨網頁上的指示,定義頻道的詳細資料。對大部份頻道管理動作來說,「頻道標籤」是用來分辨頻道用,因此請選擇具描述性的標籤。請檢視現有頻道的詳細資料,以獲得參考資料。
    GPG 金鑰網址」必須是伺服器上金鑰的位置,一如用戶端設定過程中所定義的。詳情請參閱《Red Hat Network 用戶端配置指南》。GPG 金鑰 ID 是獨一無二的識別子,例如「DB43A60E」,而 GPG 金鑰指紋則類似「CA20 8686 2BD6 9DFC 65F6 ECC4 2191 80CD DB42 A60E」。請注意,金鑰 ID 與金鑰指紋最後一對數字是一樣的。
  5. 完成之後,請按下網頁下方的「建立頻道」。

4.6. 將套件指定給軟體頻道

當套件剛被載入之後,它們能被指定給自訂頻道、多重自訂頻道,或無任何頻道。如欲取得相關指南,請參閱 章 6, 上傳與維護自訂套件。上載之後,套件將可被重新指定於「自訂頻道」或「無頻道」軟體庫。
這些功能可依照下列步驟啟用:
  1. 點選上方導覽列中的「頻道」分頁,並點選左方導覽列上的「管理軟體頻道」。
  2. 請點選「軟體頻道管理」頁中的頻道名稱,以取得套件。
  3. 請在「已管理的軟體頻道之詳細資料」頁中,點選「套件」分頁,然後點選「新增」子分頁。若要使套件與正在編輯的頻道相聯,請選擇包含了「檢視」下拉式選單中所有套件的選項,並按下「檢視」。

    注意

    已與正在編輯之頻道相聯的套件將不會顯示。並未指定給特定頻道的套件將能在「不在任何頻道中的套件」選單項目中。選擇「所有已管理的套件」將會顯示所有可用套件。
  4. 選取欲指定給已編輯之頻道的套件核取方塊,並按下網頁右下方角落的「新增套件」。之後,列出套件的確認網頁將會出現。
  5. 請按下「確認」以使套件與頻道相聯。之後,「已管理的軟體頻道之詳細資料」網頁的「列出/移除」子分頁將會出現,並列出新套件。
一旦套件指定給頻道,勘誤快取便會更新,以反映這項變更。此更新會有短暫的延遲時間,好讓使用者在所有變更生效前完成頻道編輯。若要手動式進行您對快取的變更,請按下「列出/移除」子分頁上方的「立即使改變生效」連結。

4.7. 複製軟體頻道

RHN Satellite Server 頻道管理員亦擁有能夠複製軟體頻道的能力,以方便使套件相聯。複製這項動作會完整複製另一頻道,並以自訂軟體頻道來使套件和勘誤即刻相聯。
若要存取這項功能:
  1. 點選上方導覽列上的「頻道」分頁,然後點選左方導覽列上的「管理軟體頻道」。這將會帶領您前往「軟體頻道管理」網頁。
  2. 請點選右上方角落的「複製頻道」,以開始進行複製。
    您馬上會看到三個複製選項:頻道的目前狀態、頻道的原始狀態,或選擇勘誤。這些選項在網頁上皆有完整說明,摘要如下:
    • 頻道的目前狀態」— 所有勘誤與所有最新套件現在皆在目標頻道中。
    • 頻道的原始狀態」— 所有目標頻道的原始套件皆在其中,但不包括勘誤或相關的升級套件。
    • 選擇勘誤」— 所有來自目標頻道的原始套件,加上排除某些勘誤與相關升級套件的能力。
  3. 請用「複製」欄位中的選擇鈕,選擇您想要的選項,使用「從何處複製」下拉式選單中,選擇目標頻道,然後按下「建立頻道」。
  4. 請在「新增軟體頻道」網頁上填入相應欄位,如 節 4.5, “建立軟體頻道” 中所述。預設值將已足夠。
  5. 請按下「建立頻道」。若選擇了原始或目前的選項,「已管理的軟體頻道詳細資料」網頁的「詳細資料」分頁便會出現。請為新頻道更改設定。欲取得相關指示,請參閱 節 4.3, “管理軟體頻道的詳細資料”
    如果您使用「選擇勘誤」選項來複製頻道,您則會被導向至「已管理的軟體頻道詳細資料」網頁的「複製」子分頁,在其中,您可個別選擇勘誤與相關聯的套件,以供複製和包含在新頻道中。詳情請參閱 節 4.3, “管理軟體頻道的詳細資料”

注意

有項能根據日期複製所有頻道的指令,它可確保套件組的一致性。這項指令名為 spacewalk-clone-by-date

4.8. 刪除軟體頻道

RHN Satellite Server 與 RHN Proxy Server 管理員擁有能刪除未使用之頻道的能力。此動作可在「頻道管理軟體頻道」網頁進行。請按下網頁右上方角落的「刪除軟體頻道」,以將頻道移除。請在下一頁上按下「刪除頻道」以完成動作。

注意

頻道管理軟體頻道」網頁的詳細描述位於 節 4.3, “管理軟體頻道的詳細資料” 中。

重要

套件不會與頻道一起被刪除。若要由 RHRN 衛星伺服器刪除套件,請參閱 節 4.4, “管理軟體套件”
在透過網站移除頻道之前,應進行下列考量:
  • 儘管頻道被移除,來自於該頻道的套件還是會保留在伺服器上。有項指令能在事後將它們刪除掉。
  • 任何與頻道相關的勘誤皆會在頻道刪除後被孤立。
  • 若子頻道存在,衛星伺服器將不會刪除相聯的父頻道。請在刪除父頻道之前,先將所有子頻道刪除。
  • 在刪除頻道之前,您必須先取消 Kickstart 發行版與頻道的相聯性。
  • 若 Proxy 上建立的頻道連上了衛星伺服器,請刪除 RHN Proxy Server 上的頻道。

章 5. 自訂勘誤管理

自訂勘誤能讓您為自訂頻道中的套件發出勘誤警示。所有勘誤管理動作都在 RHN 中的「勘誤」分頁中進行。以下的指示皆與《Red Hat Network 參考指南》的 RHN 網站章節搭配使用。

5.1. 管理勘誤

除了標準 RHN Management 等級用戶可用的按鈕與網頁以外,RHN Satellite Server 與 RHN Proxy Server 用戶也可以從左方導覽列存取「管理勘誤」。此按鈕會開啟「勘誤管理」介面,其中所有自訂勘誤管理的工作皆在此進行。

警告

若組織同時正在使用 RHN Proxy Server 和 RHN Satellite Server,請只在 Satellite 上管理勘誤,因為 Proxy 伺服器會直接由此取得更新。在此種配置組合的情況下在 Proxt 上管理勘誤,可能會使您伺服器之間的資料不同步。
按下「勘誤管理」中的任何建議,您就會看到「已管理的勘誤詳細資料」網頁的「詳細資料」分頁。欲取得本區的完整詳細解說,請參閱 節 5.2, “管理勘誤的詳細資料”

5.1.1. 已公佈的勘誤

當您按下左方導覽列的「管理勘誤」時,將會出現「已公佈的勘誤」網頁,這是預設的網頁。它顯示您組織已建立並散佈的勘誤警示。
若要編輯一個既有的已公佈勘誤,請按照 節 5.3, “建立和編輯勘誤” 之中所描述的步驟進行。若要發放勘誤,請點選「勘誤詳情」網頁右上方角落的「發送通知」。勘誤警告會被傳送給所有受影響系統的所屬系統管理員。

5.1.2. 未公佈的勘誤

當您按下左方導覽列「管理勘誤」下方的「未公佈」後,您會看見「未公佈的勘誤」。它會顯示您組織已建立,卻尚未公佈的勘誤警示。
若要編輯一項未公佈的勘誤,請按照 節 5.3, “建立和編輯勘誤” 中所描述的步驟進行。若要公佈勘誤,請點選「勘誤詳情」網頁右上方角落的「公佈勘誤」。接著,您將需要確認與該勘誤相聯的頻道,然後按下位於右下角的「公佈勘誤」按鈕。此勘誤警告會被移至「已公佈」網頁等待發放。

5.2. 管理勘誤的詳細資料

如果您按下「已公佈」或「未公佈」網頁中,任何受管理勘誤警示的建議,其「已管理的勘誤詳細資料」網頁便會出現。此網頁進一步分成三個分頁:「詳細資料」、「頻道」以及「套件」。
  • 詳細資料」— 提供您在建立時輸入,關於自訂勘誤的主要資訊。這包括大綱、建議名稱與種類、相關產品、錯誤、描述、解決方法、關鍵字、參考、以及附註。要改變任何上列資訊,請修改適當欄位,按下「更新勘誤」。
  • 頻道」— 顯示與所選勘誤相聯的頻道。要改變這些關聯,請選取或取消選取適當的勾選方塊,按下「更新頻道」按鈕。
  • 套件」— 分頁包括了兩個子分頁,讓您可以檢視、增加、移除套件:「列出/移除」與「新增」。
    • 列出/移除」— 顯示所有目前與這自訂勘誤相聯的套件,並提供取消這關聯的方法。要從勘誤中移除套件,請勾選之,按下網頁右下角的「移除套件」。確認頁會出現,列出所有要移除的套件。請按下「確認」,完成這項工作。
    • 新增」— 能讓套件加入勘誤中。若要檢視可用套件,請由「檢視」下拉式選單中選取選項,然後按下「檢視」。若要將您正在編輯的勘誤加入套件中,請選擇適當的勾選方塊,並按下「新增套件」。欲取得此程序的廣泛資訊,請參閱 節 5.4, “為勘誤指定套件”

5.3. 建立和編輯勘誤

請遵循這步驟,製作自訂的勘誤警示。
  1. 在上方導覽列中,請按下「勘誤」,然後按下左方的「管理勘誤」。請由「勘誤管理」網頁中,按下「建立新勘誤」。
  2. 請在「建議」欄位中,為此勘誤輸入敘述性的標籤,最好能遵循您組織的命名方式。請注意此標籤不能以「RH」開始(大小寫皆然),以避免自訂勘誤與 Red Hat 發出的勘誤相混淆。
  3. 接著,請完成所有剩下的所需欄位,並按下「建立勘誤」按鈕。請以標準的 Red Hat 勘誤警示作為範例,完成欄位的填寫。
RHN Satellite Server 系統管理員亦可透過複製現有的勘誤,以建立其它勘誤。此複製程序會將與該勘誤相聯的套件保留住,並簡化勘誤發放。欲取得相關指南,請參閱 節 5.5, “複製勘誤”
若要編輯現有勘誤警示的詳細資料,請點選「勘誤管理」網頁中的建議,在「詳細資料」分頁中做出適當的變更,然後按下「更新勘誤」按鈕。請按下「頻道」分頁來修改勘誤的頻道關聯。請按下「套件」分頁來檢視、修改其套件。
若要刪除勘誤,請選擇「勘誤管理」網頁中,勘誤的勾選方塊,按下「刪除勘誤」按鈕,然後確認這項動作。請注意,刪除已公佈的勘誤可能會花上幾分鐘的時間。

注意

如果您想要在您的系統發出勘誤警示時收到電子郵件,請至 RHN 網站上的「您專屬的 RHN」=>「偏好設定」,並選擇「收取電子郵件通知」。此設定對於您組織中已訂閱之系統的管理員來說,非常有幫助。

5.4. 為勘誤指定套件

請遵循這步驟,為勘誤指定套件。
  1. 在選擇要編輯的勘誤後,請按下「套件」分頁,然後點選「新增」子分頁。
  2. 要將目前正在編輯的勘誤與套件建立關聯,請由「檢視」下拉式選單中選取頻道,選單中包含了您想要納入的套件,然後按下「檢視」。已經與編輯中的勘誤建立關聯的套件不會顯示在此。選擇「所有管理套件」將會出現所有可用套件。
  3. 在按下「檢視」之後,所選選項的套件清單就會出現。請注意此網頁的標頭依然還顯示著編輯中的勘誤。
  4. 在清單中,選擇欲指定給已編輯之勘誤的套件勾選方塊,然後按下網頁右下角的「新增套件」。
  5. 確認網頁將會出現,上面會顯示套件清單。請按下「確認」,以建立套件與勘誤之間的關聯。「已管理的勘誤之詳細資料」網頁的「列出/移除」子分頁將會出現,並列出新的套件。
一旦套件指定給勘誤之後,勘誤快取就會更新,以反映此變更。這項更新會稍微延遲一下,好讓使用者在做出變更之前,有時間完成編輯勘誤的工作。要手動更新快取,請遵循網頁上方「立即做出變更」的指示。

5.5. 複製勘誤

您可以複製勘誤,以輕易地複製並散佈,作為 RHN Satellite Server 的一部分。只有能套用到您頻道的潛在勘誤,才能被複製。能套用至頻道的勘誤,是從該勘誤可套用的頻道複製出來的頻道。若要使用這項功能,請按下上方導覽列的「勘誤」,然後按下左方導覽列的「複製勘誤」。僅有 RHN Satellite Server 用戶才能看見此按鈕。
在「複製勘誤」網頁中,從「檢視」下拉式選單中選擇包含此勘誤的頻道,然後按下「檢視」。出現了勘誤清單之後,請勾選欲複製的勘誤,並點選「複製勘誤」。確認網頁將會出現,並列出勘誤。請按下「確認」以完成複製工作。
複製的勘誤會出現在您未公佈的勘誤清單中。從這清單中,您可以驗證勘誤文字,以及與這勘誤相關的套件。準備好之後,您就可以發放這個勘誤,您組織中的使用者就可以使用這勘誤。

章 6. 上傳與維護自訂套件

端看用得是何種 Red Hat Network 服務,有兩種機制可以用將套件上傳到私有頻道中。
RHN Proxy Server 的用戶使用 RHN Package Manager 應用程式,它可將套件表頭資訊傳送至中央 Red Hat Network 伺服器,並將套件本身放置到引動了 RHN Package Manager 的 Proxy 的本機軟體庫中。
RHN Satellite Server 的用戶使用 RHN Push 應用程式,它可以將套件表頭資訊傳送到本機的 RHN Satellite Server 上,並將套件放置至使用了 RHN Push 的 Satellite 的本機軟體庫中。
本章將詳細描述這兩項工具。

警告

如果您同時使用了 RHN Proxy Server 與 RHN Satellite Server,請使用 RHN Push 即可。Proxy-Satellite 的組合僅需要將自訂套件與頻道上傳至 Satellite。Proxy 會從該處獲得套件,並發送到用戶端系統上。

6.1. 上傳套件至 RHN Proxy Server

RHN Package Manager 能讓組織透過 RHN Proxy Server 處理與私密 RHN 頻道相聯的自訂套件。若組織希望 RHN Proxy Server 僅處理正式的 Red Hat Enterprise Linux 套件,請勿安裝 RHN Package Manager
要使用 RHN Package Manager,請安裝 rhns-proxy-package-manager RPM 套件及其相依套件。此套件可以在已註冊的 RHN Proxy Server 系統上找到,或以執行 up2date rhns-proxy-package-manager 的方式安裝。

注意

只有套件的表頭資訊會上傳到 RHN 伺服器上。表頭是必備的資訊,這樣 RHN 才可以解決用戶端系統上,套件的相依性問題。真正的套件檔案(*.rpm)會儲存在 RHN Proxy Server 上。因此,雖然自訂套件都列了出來,但卻不能透過 RHN 網站下載。這些套件必須在用戶端上,透過 up2date 存取。

6.1.1. 設定與使用 RHN Package Manager

在您使用 RHN Package Manager 將套件上傳到 RHN 之前,您需要先手動複製套件到 Proxy 伺服器。舉例來說,您可以在發展機器上用 scp 指令。
scp foo.rpm root@rhnproxy.example.com:/tmp
當使用 RHN Package Manager 將套件上傳到 Red Hat Network 時,指向您之前複製到伺服器的檔案。

注意

在將自訂套件上傳至 Red Hat Network 前,請建立至少一個私有頻道,以接收這些套件。這是因為系統要收到套件前,頻道是必要的東西。
以下指令會將套件的表頭上傳至 RHN 伺服器,並將套件複製至 RHN Proxy Server 的軟體庫:
rhn_package_manager -c label_of_private_channelpkg-list
label_of_private_channel 是個建立來取得這些套件的自訂頻道。請確認您使用建立頻道時所設立的精確頻道標籤。如果您要指定一或多個頻道(透過 -c--channel),所上傳的套件表頭會與所有指定的頻道相連結。若您未指定頻道,套件將存在「套件管理」網頁中的「無頻道」一節中。有關於重新指定套件上的說明,請參閱 節 4.6, “將套件指定給軟體頻道”
pkg-list 參考了要上傳套件的清單。這些套件必須已經複製到 Proxy 主機上。否則的話,請使用 -d 選項,指定包含要加入頻道的套件之目錄。RHN Package Manager 也可以從標準輸入讀取套件清單(使用 --stdin 選項)。
其他選項會在一個設定檔中指定,例如 Red Hat Network 伺服器網址、HTTP 代理伺服器的使用者名稱與密碼(如果您的 HTTP 代理伺服器需要認證的話),以及套件所在地的上層目錄。此特定設定一定「不能被」修改,並且必須位在 /etc/rhn/default/rhn_proxy_package_manager.conf 中。您可以藉由修改主設定檔 /etc/rhn/rhn.conf 或透過傳送到 RHN Package Manager 的指令列選項,覆寫預設設定檔中的這些選擇。
不在此檔案中設定的參數會從目前登入的使用者家目錄的 .rhn_package_manager 中讀取,最終會從 /etc/rhn/rhn_package_manager.conf 中讀取。請確定所有這些檔案都有正確的存取權限,以避免其他使用者讀取。
在上傳套件之後,請檢查本機目錄是否與 RHN 伺服器的頻道映像同步:
rhn_package_manager -s -c name_of_private_channel
-s 選項會列出所有遺失的套件,也就是已經上傳到 RHN 伺服器,但不存在於本機目錄的套件。您必須是組織管理員才可以使用此選項。此應用程式會提示您輸入 RHN 使用者名稱與密碼。
--copyonly 選項會將參數中列出的套件複製到特定的頻道中,而不會上傳到 Satellite 上。這對於在 RHN Proxy Server 上的頻道遺失了一個套件,而您不想重新匯入頻道中的所有套件時,特別有用。
rhn_package_manager -c channel-name --copyonly /path/to/missing/file
您也可以使用 RHN Package Manager 來擷取頻道內的套件清單,因為它們都儲存在 RHN 伺服器上:
rhn_package_manager -l -c name_of_private_channel
-l 選項會列出位於特定頻道的每個套件名稱、版本號碼、釋出版本、架構,以及頻道名稱。欲取得額外選項上的相關資訊,請參閱 表格 6.1, “rhn_package_manager 選項”
表格 6.1, “rhn_package_manager 選項”RHN Package Managerrhn_package_manager)的所有指令列選項摘要。

表格 6.1. rhn_package_manager 選項

選項 描述
-v, --verbose 增加標準輸出訊息的詳情。
-d, --dir DIRECTORY_NAME 從此目錄處理套件。
-c, --channel CHANNEL_NAME 指定收到套件的頻道。您可以使用多個 -c,指定多個頻道(例如 -c channel_one -c channel_two
-n, --count NUMBER 每次調用時,處理這個數量的表頭 — 預設值為 32。
-l, --list 列出特定頻道的套件。
-s, --sync 檢查本機目錄是不是與伺服器的同步。
-p, --printconf 印出目前的配置並離開。
--newest 只將更新的套件推送到伺服器上。請注意,原始碼套件檔是很特別的,因為其版本不會互相進行比較。新舊與否取決於它們的相關二進位套件。使用 RHN Package Manager 此選項與一個原始碼套件檔會上傳套件,但是原始套件並不會出現在 RHN 網站介面中,除非相關的二進位套件也上傳。請將這個與 --source 相比較。合用 --source --newest 選項「」以更新的版本更新獨立的原始碼套件,並不需要先上傳相關的二進位檔。
--source 上傳所指示的原始碼套件。這麼作會將其視為獨立套件,而「不會」將它們視為與另一個現存的二進位套件相互關聯的特別原始碼套件。舉例來說,在正規原始碼控制管理之外,若您希望將應用程式原始碼發佈給開發和測試人員的話,便可以這麼作。
--stdin 從標準輸入讀取套件名稱。
--nosig 即使套件沒有簽署,依舊繼續執行。
--no-ssl 關閉 SSL(不建議)。
--stdin 從標準輸入讀取套件名稱。
--username USERNAME 指定 RHN 的使用者名稱。如果您沒有輸入使用者名稱,系統會提示您輸入頻道管理者的使用名稱。
--password PASSWORD 指定 RHN 密碼。如果您沒有輸入密碼,系統會提示您輸入頻道管理者的密碼。
--dontcopy 在上傳後的步驟中,不複製套件到套件樹中的最後位置。
--copyonly 僅複製套件,不將它們重新匯入。
--test 僅列出將被推送的套件清單。
-?, --help 顯示求助清單,包括選項清單。
--usage 簡短描述可用選項。
--copyonly 僅複製套件

注意

這些指令列選項在 rhn_package_manager 的 man page 中有所描述:man rhn_package_manager

6.2. 上載套件至 RHN 衛星伺服器上

RHN Push 應用程式能透過 RHN 衛星伺服器,讓組織處理與私密 RHN 頻道相聯的自訂套件。若 RHN 衛星伺服器只會被用來處理 Red Hat Enterprise Linux 套件,則無需安裝 RHN Push
要使用 RHN Push,請安裝 rhnpush 套件及其相依套件。此套件可以在已註冊的 RHN Satellite Server 系統找到,或者執行 up2date rhnpush
RHN Push 會將 RPM 表頭資訊上傳至 RHN Satellite Server 資料庫,並將 RPM 放在 RHN Satellite Server 套件軟體庫中。與 RHN Proxy Server 的 RHN Package Manager 不同,RHN Push 絕不會將套件資訊(即使是表頭)發佈至 RHN Satellite Server 資料庫之外。

注意

如果您的 Satellite 啟用了支援 Solaris 作業系統的功能,您可以從 Solaris 用戶端使用 RHN Push,以上傳 Solaris 套件內容到自訂的 Solaris 頻道。

6.2.1. 配置 RHN Push 應用程式

當安裝了 RHN Push 之後,中央設定檔會安裝於 /etc/sysconfig/rhn/rhnpushrc 之中。此檔案包含了 表格 6.2, “rhnpush 選項” 中所有列出的選項之值。
這些特別的配置檔案在分辨您的設定時,非常有用,這會根據 rhnpush 指令發出的目錄而定。在目前目錄(./.rhnpushrc)中的設定會蓋過使用者家目錄(~/.rhnpushrc)的設定,並且這些設定將會使用於中央配置檔案(/etc/sysconfig/rhn/rhnpushrc)中的設定之前。
比方說,目前的目錄配置檔案可被使用來指定:
  • 需填入的軟體頻道
  • 包含欲引動之使用者名稱的家目錄配置檔案
  • 用來辨識伺服器以取得套件的中央配置檔案
表格 6.2, “rhnpush 選項” 包含了所有 rhnpush 指令的指令列選項:

表格 6.2. rhnpush 選項

選項 描述
-v --verbose 增加顯示訊息,選項可以重複使用多次,意即 -vv-vvv 等等。
-d, --dir DIRECTORY 從此目錄處理套件。
-c, --channel=CHANNEL_LABEL 指定收到套件的頻道。請注意這是必要的欄位,同時它與頻道的名稱不同。您可以將此 -c 重複使用,指定多個頻道(例如 -c CHANNEL_ONE -c CHANNEL_TWO)。
-n, --count N_HEADERS_PER_CALL 每次調用時,處理這個數量的表頭。預設值是 25。
-l, --list 僅列出特定頻道。
-r, --reldirRELATIVE_DIRECTORY 將此相對目錄與各個檔案相聯。
-o, --orgidORGANIZATION_ID 納入您組織的 ID 號碼。必須是整數。
-u , --username USERNAME 包括使用者在 RHN 上的使用者名稱,該名稱對特定頻道擁有管理權限。如果沒有提供的話,rhnpush 會提示您輸入頻道管理者的使用者名稱。這使用者名稱與密碼會暫時存在 ~/.rhnpushcache 中,預設時間為五分鐘。請使用 --new-cache 選項,強迫使用新的使用者名稱與密碼。
-p , --password PASSWORD 包括對特定頻道擁有管理權限的使用者的 RHN 密碼。如果沒有輸入的話,rhnpush 會提示您輸入頻道管理者的密碼。在一定時間內,使用者名稱與密碼會放在 ~/.rhnpushcache 快取中,預設值為五分鐘。請使用 --new-cache 選項來強迫使用新的使用者名稱與密碼。
-s, --stdin 從標準輸入中,讀取套件清單。舉例來說,從 ls 指令而來的清單。
-X, --exclude GLOB 排除與此表示式相符的套件。
--force 強迫上傳套件,即使此套件的名稱與版本已經存在於頻道中。若無此選項,上傳一個既有的套件時,將會收到錯誤訊息。
--nosig 即使套件沒有簽署,依舊繼續執行。
--new-cache 強迫 RHN Push 丟棄快取中的使用者名稱與密碼,然後接受或詢問新的使用者名稱與密碼。這在您第一次輸入錯誤時,非常有用。
--newest 只將更新的套件推送到伺服器上。請注意,原始碼套件檔是很特別的,因為其版本不會相比較。新舊與否取決於它們的相關二進位套件。與 RHN Push 搭配使用此選項和一個原始碼套件檔會上傳套件,但是原始套件並不會出現在 RHN 網站介面中,除非相關的二進位套件也被上傳。請拿此與 --source 相比較。合用 --source --newest 選項「」以更新的版本更新獨立的原始碼套件,並不需要先上傳相關的二進位檔。
--header 只上傳表頭。
--source 上傳所指示的原始碼套件。作法是將其視為獨立套件,而「」視為與另一個已存在的二進位套件相互關聯的特別原始碼套件。舉例來說,若您在正規原始碼控制管理之外,希望將應用程式原始碼發佈給開發和測試人員時,就可以這麼作。
--server SERVER 指定要將套件上傳至哪一台伺服器。目前,這需要 http://localhost/APP 的值。這是必要的參數。
--test 只列出要推送套件的清單,實際上並不推送套件。
-h, --help 簡單描述選項。
-?, --usage 檢視使用摘要。

注意

這些指令列選項亦描述於 rhnpush 的 man page 中:man rhnpush

6.2.2. 使用 RHN Push 應用程式

注意

建議您在上傳前,至少建立一個私有頻道,以接收自訂套件,因為系統需要擁有頻道,才能取得套件。
以下指令會將套件的表頭上傳至 RHN Satellite Server,並將套件複製至 RHN Satellite Server 的套件軟體庫中:
rhnpush -c label_of_private_channelpkg-list
RHN Push 配置檔案設定可藉由在指令列上指定選項與值來置換:
rhnpush -c label_of_private_channel --server=localhost pkg-list
label_of_private_channel 是個建立來取得這些套件的自訂頻道。請確認您使用建立頻道時所設立的精確頻道標籤。如果您要指定一或多個頻道(透過 -c--channel),所上傳的套件表頭會與所有指定的頻道相連結。若未指定頻道,套件將存在「套件管理」網頁中的「無頻道」一節中。有關於重新指定套件上的說明,請參閱 節 4.6, “將套件指定給軟體頻道”
--server 選項會指定要安裝套件的伺服器,這是必要的。RHN Push 可以安裝在外部系統上,但建議您在 RHN Satellite Server 上執行 RHN Push
pkg-list 代表要上傳的套件清單。您也可以使用 -d 選項,指定包含套件的本機目錄,以加到頻道中。RHN Push 也能從標準輸入中讀取套件清單(使用 --stdin)。

附錄 A. Revision History

修訂記錄
修訂 8-9.402Fri Oct 25 2013Rüdiger Landmann
Rebuild with Publican 4.0.0
修訂 8-9Wed Feb 27 2013Dayle Parker
message
修訂 8-8Wed Feb 27 2013Dayle Parker
testing
修訂 8-7Wed Feb 27 2013Dayle Parker
testing
修訂 8-6Tue Feb 26 2013Dayle Parker
message
修訂 8-5Tue Feb 26 2013Dayle Parker
message
修訂 8-4.2Mon Feb 25 2013Terry Chuang
翻譯、校閱完成
修訂 8-4.1Wed Nov 21 2012Terry Chuang
Translation files synchronised with XML sources 8-4
修訂 8-4Wed Sept 19 2012Dan Macpherson
5.5 版最後一次製成套件
修訂 8-3Fri Aug 17 2012Athene Chan
BZ#768267 在 4.8 部分中新增了重要的註釋
修訂 8-2Fri Aug 17 2012Athene Chan
非重大編輯。
修訂 8-1Fri Aug 17 2012Athene Chan
BZ#768267 編輯了「刪除軟體頻道」部分中的句子。
修訂 8-0Tue June 26 2012Athene Chan
為 RHN 衛星伺服器 5.5 出版準備了章節 1-4
為 RHN 衛星伺服器 5.5 出版準備了章節 5-6
BZ#768267 修正了頻道刪除和其對於套件的影響的相關資訊
納入了技術檢視編輯
修訂 7-0Thu May 24 2012Athene Chan
BZ#798415 更新了 RPM 連結。
修訂 6-3Mon Aug 15 2011Lana Brindley
將 z-stream 版本的資料放入 y-stream 中
修訂 6-2Wed Jun 15 2011Lana Brindley
已準備出版
修訂 6-1Fri May 27 2011Lana Brindley
來自譯者的更新
修訂 6-0Fri May 6 2011Lana Brindley
已準備好進行翻譯
修訂 5-8Thu May 5 2011Lana Brindley
BZ#701846 - QE 檢測
修訂 5-7Wed April 27 2011Lana Brindley
BZ#637722 - QE 檢測
修訂 5-6Thu March 24 2011Lana Brindley
BZ#637722 - 頻道與套件管理
BZ#679529 - 套件維護

索引

符號

上傳套件, 上傳與維護自訂套件
何為
RPM 的優點, RPM 的優點
勘誤警示
建立與編輯, 建立和編輯勘誤
管理, 自訂勘誤管理
管理公佈, 已公佈的勘誤
管理未公佈的, 未公佈的勘誤
複製, 複製勘誤
套件
Solaris 和 UNIX, 上載套件至 RHN 衛星伺服器上
如何
傳遞非 RPM 的套件, 上載套件至 RHN 衛星伺服器上
將套件上傳至 RHN Proxy Server, 上傳套件至 RHN Proxy Server
將遺失的套件複製至 Satellite, 設定與使用 RHN Package Manager
建立自訂套件, 為 Red Hat Network 建立套件
擷取頻道套件清單, 設定與使用 RHN Package Manager
產生一組 GnuPG 金鑰, 產生 GnuPG 金鑰配對
複製頻道, 複製軟體頻道
配置 RHN Package Manager, 設定與使用 RHN Package Manager
配置 RHN Push, 配置 RHN Push 應用程式
已管理的軟體頻道
詳細資料, 管理軟體頻道的詳細資料
已管理的頻道之詳細資料, 管理軟體頻道的詳細資料
管理勘誤
檢視詳細資料, 管理勘誤的詳細資料
網站
已管理的軟體頻道, 管理軟體頻道的詳細資料
自訂套件, 建立自訂套件
上傳至 RHN Proxy Server, 上傳套件至 RHN Proxy Server
上載至 RHN 衛星伺服器, 上載套件至 RHN 衛星伺服器上
建立, 為 Red Hat Network 建立套件
指南, RHN RPM 方針
簽署, 簽署套件
軟體
頻道管理, 管理軟體頻道的詳細資料
頻道
刪除, 刪除軟體頻道
簡介, RHN 頻道簡介
複製, 複製軟體頻道

G

GnuPG 金鑰
以...簽署套件, 簽署套件
建立, 產生 GnuPG 金鑰配對
gpg 金鑰, 產生 GnuPG 金鑰配對

R

RHN Package Manager, 上傳套件至 RHN Proxy Server
rhn_package_manager, 設定與使用 RHN Package Manager
上傳套件表頭, 設定與使用 RHN Package Manager
安裝, 上傳套件至 RHN Proxy Server
將遺失的套件複製至衛星伺服器, 設定與使用 RHN Package Manager
擷取頻道套件清單, 設定與使用 RHN Package Manager
配置檔案, 設定與使用 RHN Package Manager
頻道,指定, 設定與使用 RHN Package Manager
驗證本機套件清單, 設定與使用 RHN Package Manager
RHN Push
使用, 使用 RHN Push 應用程式
安裝, 上載套件至 RHN 衛星伺服器上
配置, 配置 RHN Push 應用程式
頻道,指定, 使用 RHN Push 應用程式
rhn_package_manager, 設定與使用 RHN Package Manager
(另參見 RHN Package Manager)
指令列選項, 設定與使用 RHN Package Manager
rhn_package_manager.conf, 設定與使用 RHN Package Manager
RPM
優點, RPM 的優點
RPM 套件管理程式 (參見 RPM)

法律聲明

Copyright © 2010 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.