6. 管理散佈程式

散佈程式乃 Red Hat Network 中,一種特殊類型的消耗者。Red Hat Network 會註冊散佈程式,並將大量訂閱服務指派給它。就預設值,Red Hat Network 會賦予散佈程式(透過其本地應用程式)本機管理系統存貨的權利、訂閱服務,以及提供內容。
若要賦予此等級的權利,Red Hat Network 必須將訂閱服務由企業的全域 Red Hat 帳號傳輸至本機應用程式上。散佈程式項目乃 Red Hat Network 使用來傳輸這些訂閱服務的方式。
RHN 訂閱管理程式中的散佈程式消耗者,與本地應用程式中的組織項目含有直接的相等關係。組織的結構能夠是平的,並含有單個本地組織。此外,它亦可包含多個由相同應用程式所管理的組織,然而這些組織乃獨立的,就有如 Subscription Asset Manager 的情況。在本地應用程式中的多租戶(multi-tenancy),能讓多重、獨立的群組被指派,並透過本機服務自行管理訂閱服務和消耗者。(本地應用程式的組織結構對於 Red Hat Network 來說乃透明化的。RHN 會與個別散佈程式項目協同運作。)
訂閱服務會以區塊的方式指派給散佈程式項目,並且這些訂閱服務乃組織能使用的訂閱服務和產品的全體。訂閱服務、產品和數量皆列在散佈程式的清單中。
本地組織與環境可透過各種不同的散佈程式來管理,例如 Subscription Asset Manager。欲取得更多有關於配置和使用訂閱資產管理程式(Subscription Asset Manager)上的相關資訊,請參閱 its product documentation

6.1. 註冊散佈程式

散佈程式會如同任何其它消耗者一般,向 subscription service 註冊。RHN 訂閱管理程式中的散佈程式項目,與一項應用程式(例如 Subscription Asset Manager)中的組織項目相應。註冊散佈程式基本上與註冊組織本身是相同的。
  1. 在「訂閱 > 總覽」頁上,請點選「註冊散佈程式」連結。
  2. 填入新散佈程式的名稱。

    注意

    此名稱應與在本地應用程式中的組織名稱相應。
  3. 按下「註冊」按鈕。
當散佈程式建立之後,請為它指派訂閱服務,並下載和安裝清單,如此一來散佈程式便能開始為其客戶端分配訂閱服務。

6.2. 散佈程式清單與詳細資訊

訂閱服務 > 總覽」頁下方,根據類型列出了散佈程式。如同消耗者一般,點選「基於憑證」欄中的數字,將會開啟為該散佈程式類型所配置的組織清單。
散佈程式總覽

圖形 22. 散佈程式總覽

散佈程式」存貨中,各個可用並經過配置的散佈程式類型皆擁有一個分頁,並且各個該類型的組織皆會被列出。
檢視散佈程式存貨

圖形 23. 檢視散佈程式存貨

此欄位含有三項重要的資訊:
  • 組織名稱,連至詳細內容頁
  • 分配給該組織訂閱服務總數(跨及產品與合約)
  • 組織的 UUID,如同系統消耗者的 UUID
組織詳細資訊頁,如同消耗者詳細資訊,該組織可用及已套用的訂閱服務,皆擁有分頁。
散佈程式詳細資訊

圖形 24. 散佈程式詳細資訊

6.3. 有關於散佈程式的清單和訂閱服務

節 6, “管理散佈程式” 的簡介所涵蓋的,Red Hat Network 中的散佈程式消耗者與本地應用程式(例如 Subscription Asset Manager)中的組織定義之間,含有直接的關係。此關係為 Red Hat Network 使用來將訂閱服務由 Red Hat 傳輸至本地應用程式的方式,以進行本機管理。
此經傳輸的訂閱服務區塊將被列在「distributor manifest(散佈程式清單)」中。此清單乃一個 ZIP 壓縮檔,您可直接由散佈程式項目的 Red Hat Network 下載此檔案,並將其上載至本地的應用程式。

重要

任何對於組織的訂閱服務變更,皆會針對於 Red Hat Network 中,散佈程式項目的訂閱服務任務進行。接著清單將會被重新產生、下載,並重新上載至應用程式。
清單本身集合了目錄與 JSON 檔案,而它們包含了訂閱服務、權利憑證、產品,以及散佈程式的規則之清單。
manifest.zip
      |
      |- consumer_export.zip
                   |
		   |- export/
		         |
			 |- consumer_types/
			 |
			 |- entitlements/
			 |
			 |- entitlement_certificates/
			 |
			 |- products/
			 |
			 |- rules/
			 |
			 |- consumer.json
			 |
			 |- meta.json
consumer.json 和 meta.json

這些 JSON 檔案包含了有關於消耗者(UUID)與清單本身(版本和建立日期)的部分資訊。

consumer_types/

consumer_types/ 包含了一列 JSON 檔案的清單,每個受支援的散佈程式類型皆擁有一個清單。JSON 檔案顯示了訂閱服務所被指定為的類型。比方說若是 Subscription Asset Manager,sam.jsonmanifest 值將會是「true」。

{"id":"5","label":"sam","manifest":true}
entitlements/

entitlements/ 包含了分配給散佈程式的各項訂閱服務的 JSON 檔案。各個檔案的名稱皆為 UUID.json

此檔案包含了完整的權利資訊,包括權利的合約號碼、集區 ID、合約起始/結束日期、金鑰與憑證、各項已包含之產品的產品 ID、數量以及任何其它與訂閱服務相聯的資訊。
比方說,此乃一項位於訂閱服務 JSON 中,單獨 Red Hat Enterprise Linux 產品的資訊:
...
{"id":"8a878dcd3520d43501353f6f98f911e9","productName":"Red Hat Enterprise Linux Server","productId":"69","updated":"2012-02-02T18:59:32.000+0000","created":"2012-02-02T18:59:32.000+0000"}],"endDate":"2012-10-13T03:59:59.000+0000","quantity":50,"productName":"Red Hat Enterprise Linux Server, Premium (4 sockets) (Up to 4 guests)","contractNumber":"2625891","accountNumber":"1506376","productId":"RH0153936","subscriptionId":"2267347","consumed":31,"exported":30,"sourceEntitlement":null,"activeSubscription":true,"restrictedToUsername":null,"productAttributes":[{"productId":"RH0153936","name":"support_type","value":"L1-L3","id":"8a878dcd3520d43501353f6f98f811de","updated":"2012-02-02T18:59:32.000+0000","created":"2012-02-02T18:59:32.000+0000"}
...
entitlement_certificates/

entitlement_certificates/ 包含了 PEM 檔案,它含有各項訂閱服務之權利憑證的基礎 64-encoded 部分。

products/

products/ 中,每項包含在訂閱服務中的產品皆包含了一個 JSON 檔案。這包含了有關於受支援的版本與內容、相依性,與軟體庫的相關資訊,以及其它產品特屬(不一定是訂閱服務特屬)的相關資訊。

以下為一項基本 Red Hat Enterprise Linux 產品的其中一版的部分 JSON 檔案:
...
{"name":"Red Hat Enterprise Linux Server","id":"69","attributes":[{"name":"type","value":"SVC"},{"name":"arch","value":"i386,ia64,x86_64"},{"name":"name","value":"Red Hat Enterprise Linux Server"}],"multiplier":1,"href":"/products/69","productContent":[{"content":{"name":"Red Hat Enterprise Linux 5 Server Beta (Source ISOs)","id":"861","type":"file","vendor":"Red Hat","modifiedProductIds":[],"contentUrl":"/content/beta/rhel/server/5/$releasever/$basearch/source/iso","label":"rhel-5-server-beta-source-isos","gpgUrl":"http://","metadataExpire":86400,"requiredTags":"rhel-5-server"},"enabled":false}
...
rules/

rules/ 包含了一個單獨的 JavaScript 檔案,它設置了散佈程式所使用來與後端 Red Hat 訂閱服務進行互動的功能。

6.4. 為散佈程式指派訂閱服務

訂閱服務可賦予軟體下載與更新的存取權限。若為散佈程式指派訂閱服務,便可設置組織能本機指派的訂閱服務類與數量。(這與系統消耗者相反,它會為自己本機安裝的產品套用訂閱服務。)
已套用的訂閱服務」分頁顯示了目前指派給散佈程式的訂閱服務。點選「新增訂閱服務」連結,將會顯示散佈程式可使用的所有訂閱服務,此乃根據帳號的全面訂閱服務。
為散佈程式指派訂閱服務:
  1. 在「訂閱 > 總覽」頁上,請點選「註冊散佈程式」連結。
  2. 點選「基於憑證」欄位中的數字,以開啟散佈程式的存貨。
  3. 點選散佈程式存貨中的組織名稱。
  4. 請開啟「已套用的訂閱服務」分頁。
  5. 點選「新增訂閱服務」連結,以開啟訂閱服務選擇視窗。
    可用訂閱服務的清單提供了三項重要資訊:
    • 購買該次訂閱的合約號碼,這對紀錄與追蹤來說,非常重要。
    • 該訂閱中仍然可用的數量。訂閱是透過數量購買的;這個號碼能讓我們得知購買的總數之中,還有多少可用。
    • 訂閱的開始與結束日期。這能讓使用者不至於把快要過期、或尚未啟用的訂閱指定出去。
  6. 請選取訂閱服務的核取方塊,以在「數量」欄位中,指派並設置散佈程式的總數量。

    注意

    數量的預設值為該合約所能使用的訂閱服務總數。請注意多少訂閱服務已被指定給單個散佈程式,如此一來訂閱服務才能在其它散佈程式與消耗者之間,進行適當的分配。
  7. 請按下左下方角落的「新增已選項目」按鈕。

6.5. 下載清單

當訂閱服務指派給散佈程式之後,完整的訂閱服務與產品清單,包括產品憑證和權利憑證,皆會被合併在一起成為一個單獨的清單。此清單基本上就是散佈程式處理本機訂閱服務時,需要的所有東西之主要清單。
此清單可透過按下「下載清單 按鈕,由散佈程式的詳細內容頁下載。這項將 manifest.zip 壓縮檔儲存到本機檔案系統上,如此一來它便能被上載至 Subscription Asset Manager。
下載散佈程式的清單

圖形 25. 下載散佈程式的清單

6.6. 更新清單並修改訂閱

RHN 訂閱管理程式中的散佈程式,與指定於應用程式中的組織有直接的關聯,例如 Subscription Asset Manager。散佈程式消耗者可定義特定組織能本地管理哪些訂閱服務、產品以及數量。
組織會透過清單取得這項資訊。若組織需要更改其訂閱服務 — 透過修改數量、新增產品或新增訂閱服務 — 此乃透過編輯 RHN 訂閱管理程式中的訂閱服務來完成的。

重要

請勿透過在 RHN 訂閱管理程式中新建散佈程式,以嘗試更新本地組織。請在 RHN 訂閱管理程式中,更改已指派給既有散佈程式的訂閱服務,並讓組織使用經更新的清單。
  1. 更改散佈程式的訂閱服務分配。
    分配給散佈程式的訂閱服務數量不可直接更改
    • 若要退還訂閱服務,請刪除較舊的訂閱服務分配,並以新的較小數量來重新指派訂閱服務。
    • 若要新增訂閱服務的數量,請刪除舊的訂閱服務區塊,並以較高的總數來新增訂閱服務,或是重新選擇訂閱服務,並僅新增額外的數量。刪除舊的區塊並根據新的數量來新增區塊,將會較容易管理。
      比方說,若您的訂閱服務區塊之數量為 30,並且應該增加至 35 的話,您可刪除舊的區塊並以數量 35 來新增訂閱服務區塊;這將會提供您一項數量為 35 的訂閱服務。此外,您亦可新增數量為 5 的區塊;這將會提供您兩項訂閱服務,一項的數量為 30,另一項的數量則為 5。
  2. 下載已更新的清單。
  3. 將已更新的清單上傳至本地的應用程式上。