RedHatサブスクリプションの登録と有効化 | A Day In The Boy's Life

A Day In The Boy's Life

とあるエンジニアのとある1日のつぶやき。

RedHatのEnterprise版を使用する場合、RPMパッケージの更新などが行えるようにするために、サブスクリプションを登録・有効化する必要があります。


※ サブスクリプションを有効にすると、パッケージのバグやセキュリティ上の問題を回避した最新のパッケージ

  を更新できたり、テクニカルサポートが受けられたりします。


この設定方法が多少ややこしいので、順を追って説明していきたいと思います。

作業手順は、RedHatES4の場合です。

サブスクリプションを有効にするのは、インストール中でもインストール後でも可能です。



サブスクリプション番号を取得する


RedHatのサポートやセキュリティパッチの提供を受けるには、サブスクリプション番号というものが必要になります。

サブスクリプション番号とは、RedHatにおけるライセンスキーのようなものです。


サブスクリプションの購入は、サーバーを導入した際にあわせてメーカーから購入する方法や、サイオステクノロジー株式会社 が行っているテクニカルサポートへの申し込み、後述するRedHatNetworkから購入する方法などがあります。


サイオステクノロジー株式会社からサブスクリプションを発行してもらう場合は、HPにアクセスし「Red Hat Enterprise Linux Plusユーザサイト 」を開きます。

そしてログインIDの作成を行います。


※ 既に「Red Hat Enterprise Linux Plusユーザサイト」用のログインIDを持っている場合は不要です。


「Red Hat Enterprise Linux Plusユーザサイト」にログイン後は、「アクセスキーの登録」メニューから、サブスクリプション番号を発行してもらいます。

発行の際には、アクセスキーが必要です。このアクセスキーは、RedHatのOSのパッケージに付属されているかと思います。(小さなハガキみたいなものが)


この作業を使用するRedHatの数だけ行い、それぞれのサブスクリプション番号を発行します。



RedHatNetwork用のIDを作成する


RedHatのパッケージ管理は、RedHatNetwork (RHN)というサービスを通じて行います。

ですので、次にこれにログインするためのIDが必要になります。


※ RHN用のIDは1つのシステムに1つのIDというわけではなく、システム共通で利用できますので、既に持って

  いる場合はそれを指定すればよいです。


IDの作成は、RedHatのインストールの途中でできたりまたは、Web からも行えます。

インストール中に登録する方が楽ですが、ネットワークにつながる必要があるので、そういった環境ではない場合は、事前にWebで登録しておいてください。


RedHatインストール中にRHN用IDとサブスクリプションを登録する


インストール後半で、「Red Hatログイン」という設定項目が出てきますので、その中でRHNのIDとサブスクリプション番号を登録します。



RedHatインストール1


※ RHNのIDは、事前に作成するのではなく、この画面から作成する事もできます。

  (ネットワークが使用できる環境である事が前提)

  「Red Hatログイン」の設定画面で「Red Hatログインがありません。作成する必要があります。」を選択すれば、

  次で作成画面が表示されます。


既に、RHNのIDを持っている場合は、「既に Red Hatログインを持っています。」のラジオボタンを選択し、IDとパスワードを入力します。


※ LAN環境によってはネットワークの設定を行っておく必要があります。(プロキシの登録など)



RedHatインストール2



次に「アクティブにする」の設定画面でサイオステクノロジーのWebページから発行したサブスクリプション番号を登録します。



RedHatインストール3


※ サブスクリプション番号は、後で登録する事も可能です。

  その際は「サブスクリプション番号がありません」を選択して進めます。

  サブスクリプションを後で登録する方法は、「RedHatNetworkからサブスクリプションを登録する」を参照して

  ください。



RedHatNetworkからサブスクリプションを登録する


インストール中にサブスクリプション番号を登録しなかった場合は、インストール後にRedHatNetworkからサブスクリプションを登録します。

RHNにログインし、「ユーザーのRHN」メニューをクリックするとインストールされたシステム一覧が表示されます。

次に左メニューの「サブスクリプションの管理」メニューをクリックし、サブスクリプションを登録したいシステムのチェックボックスにチェックを入れ、「エンタイトルメントの追加」ボタンを押し、サブスクリプションを登録します。



RHN


※ サブスクリプションの登録方法は、RedHatのページ にも解説があります。



既に登録してあるサブスクリプションを別のRedHatに割り当てる


例えば、再インストールした場合などそのサブスクリプションは既に登録済みであるため、もう一度その再インストールしたRedHatにサブスクリプションを割り当てなければなりません。

割り当てなおすには、RedHatNetwork上に登録されている以前のシステムを一旦削除しておく必要があります。

削除方法は、RHNにログインし「システム」メニューをクリックし一覧を表示します。

次に、削除したいシステム名をクリックし、詳細画面に移ります。

右上に「システムの削除」というメニューがありますので、そこから登録されているシステムを削除します。


以前使用していたシステムを削除すると、そのシステム分のサブスクリプションが空きになるはずです。

RHN上に登録されているサブスクリプション数と、システムの数を確認したければ「ユーザーのRHN」から「サブスクリプションの管理」メニューを開きます。

一番下に、「エンタイトルメント保有数」の項目が表示されていますので、そこから確認できます。



RHNサブスクリプション数


上図の場合、合計6つのサブスクリプションを登録していて、そのうち5つがシステムに割り当てられており、残り1つが空き状態になっている事を表しています。


サブスクリプションに空きがあることを確認した上で、インストールの過程(もしくはインストール後)に既に登録しているサブスクリプションを有効にします。

特に、RHN上で設定する必要はありません。


RedHatインストール4


上記のように、サブスクリプションに空きがある場合は、「存在するうちのひとつを使用し、サブスクリプションを有効にしてください。」が選択できます。



RedHatNetwork上で登録しているシステムを削除してしまった場合の再登録方法


RHN上で管理しているシステムのプロファイル(プロフィール)を誤って削除してしまった場合、再登録を行えば元の状態に戻す事が可能です。


まず、削除してしまったプロファイルのシステム(サーバー)にログインします。


端末を開き、up2dateコマンドを実行します。


$ up2date --register

※ rhn_registerコマンドでも可


グラフィカルログインをしている場合はup2dateのGUI版が、コマンドラインの場合はコマンドライン上で登録用のエージェントが起動します。


ここから、インストール時に指定したようにRHNのIDを指定して登録を進めます。

サブスクリプションをアクティブにする場合は、過去に入力したサブスクリプションを再度指定するのではなく「存在するうちのひとつを使用し、サブスクリプションを有効にしてください。」を選択します。



up2date-Active


※ サブスクリプションを有効にする過程で「ハードウェアプロフィルを送信中に問題発生。」とエラーが出る場合が

  あります。が、何故かRHN上で確認するとプロファイルが登録されており、以降up2dateによるパッケージの

  更新も問題なく行えます。(up2dateの古いバージョンに含まれるバグ?)


後は、up2dateコマンドで自由にパッケージの更新が行えます。

up2dateによる管理方法に関しては、「up2dateによるRPMパッケージの更新管理 」を参照してください。


※ RHN上のプロファイルに反映されるまで少し時間差があります。

  プロファイルが存在するのにエラータやパッケージが0になっている場合は、少し時間をおいてアクセスして

  みると反映されています。

  即座に反映させたい場合は、「rhn_check」コマンドを実行すれば、管理するサーバーからRHNに情報が送信

  され、サイト上に反映されます。



2007.12.12 追記


運用中のサーバーのサブスクリプションが切れてしまった場合は、up2dateコマンドを実行した際に下記のメッセージが表示されます。


Error Message:
Service not enabled for system profile: "HOGE-SYSTEM"
Error Class Code: 31
Error Class Info:
This system does not have a valid entitlement for Red Hat Network.
Please visit https://rhn.redhat.com/rhn/systems/SystemEntitlements.do

or login at https://rhn.redhat.com, and from the "Your RHN" tab,
select "Subscription Management" to enable RHN service for this system.
Explanation:
An error has occurred while processing your request. If this problem
persists please enter a bug report at bugzilla.redhat.com.
If you choose to submit the bug report, please be sure to include
details of what you were trying to do when this error occurred and
details on how to reproduce this problem.

これは、RedHatNetworks上にはシステムが登録されているけれども、そのシステムに割り当てられているサブスクリプションが無効(期限切れ or そもそも割り当てられていないなど)になっているという事です。

有効なサブスクリプションを購入・更新し、それをRedHatNetworks上から再度システムに割り当てなおせば正常にup2dateが行えるようになります。



2008.01.27 追記

上記のup2dateのエラーメッセージが表示された場合、サブスクリプションの有効期限が切れているわけですがその更新方法については、下記の記事を参照してみてください。


Red Hat Linuxサブスクリプションの更新