どうも、Tです。
RHNに登録する方法をよく忘れてしまうので備忘録です。RHNがなにか?については解説されているサイトがいっぱいあるので割愛します。
2021年からRHNの登録方式に「Simple Content Access」が登場しました。本記事の手順とは異なるので、下記の記事をご参照ください。
環境
- OS:Red Hat Enterprise Linux release 8.6
IPアドレスなどの基本的な設定は済んでいる状態です。Proxyはない環境で作業はrootで行っていきます。
準備するもの
- Red Hatアカウント
- 有効なサブスクリプション
検証のためにサブスクリプションを購入するのはハードルが高いので、Red Hat Developer Programに参加しています。
Red Hat Developer Programの登録方法は記事にしていますのでご参照ください。
subscription-managerコマンドだけでも完結しますが、今回はRed Hat Customer Portalのサブスクリプション管理画面も合わせて確認していきます。
用語
RHNを調べるときに独特な用語にぶちあたるので忘れないように記載しておきます。
サブスクリプション・エンタイトルメント
サブスクリプション は Red Hat から購入するものです。サブスクリプションは、製品、サポートされるアーキテクチャー、コンテンツ配信のメカニズム、サポートレベル、および数量を定義します。サブスクリプションがシステムに割り当てられると、システムにそのサブスクリプションを使用する権利が与えられる、すなわち、システムが エンタイトルメント を持つことになります。エンタイトルメントは、常にローカルで、割り当てられているシステムに関連しています。エンタイトルメントとは、割り当てられたサブスクリプションです。
RHNへの登録するときに出てくる見る言葉ですが、サブスクリプションはタイプや数量を含んだライセンスの集合体(購入した単位)、エンタイトルメントはRHEL1台ずつ登録する度に消費するライセンス単体と考えるとわかりやすいかもしれません。
プールID
RHELをどのサブスクリプションに紐づけるか(サブスクライブする)を識別する英数字の文字列。サブスクリプション番号(数字だけ)はありますが、それとは別にサブスクリプション事にプールIDが設定されています。下記のようなイメージです。
RHEL ⇔ プールID ⇔ サブスクリプション
この後、subscription-managerの中でも確認しますが、Red Hat Customer PortalのRed Hatサブスクリプション管理画面からも確認が行えます。
サブスクリプション管理画面で「サブスクリプション」タブ->「Red Hat Developer Subscription for Individuals」の横にある「サブスクリプション番号」をクリックします。
プールIDを確認できます。
RHNに登録する前
Red Hat サブスクリプション管理の状態
何も登録していない状態のサブスクリプション管理画面の状態です。
サブスクリプション「Red Hat Developer Subscription for Individuals」があります。これをクリックすると・・・・・
所持しているエンタイトルメント数が表示されます。「Red Hat Developer Subscription for Individuals」では、エンタイトルメントが16あるため、RHELを16台まで登録することができます。
「システム」画面には、登録されたRHELが表示されます。今は何も登録していません。
RHELの状態
RHNに登録していない状態のRHEL側の状態です。
コマンドを打ってもリポジトリが利用できないので使うことができません。
dnf repolist
RHNの登録に利用するコマンドを打つと登録されていないため、「状態が不明」と表示されます。
subscription-manager list
RHN登録
RHNへ登録を行っていきます。
正確には下記の2段階の手順が必要です。
- RHNへRHELの登録
- サブスクリプションの割当(サブスクライブ)
RHNへRHELの登録
コマンドを入力し、サブスクリプションが紐づいている「ユーザー名(メールアドレス)」と「パスワード」を入力します。
subscription-manager register
認証が行えればRHNへの登録が完了します。ここで表示されるIDは、サブスクリプション管理画面で使われるUUIDになります。
コマンドを確認するとサブスクリプションを割り当てていないため「状態」が「サブスクライブなし」になっています。
subscription-manager list
サブスクリプション管理画面の「システム」を確認すると登録したRHELのホスト名が表示されます。サブスクライブしていないためアイコンが赤の状態です。
これをクリックすると・・・
詳細が表示されます。サブスクリプションの管理が「サブスクライブなし」になっています。
サブスクリプションの割当
これからサブスクリプションの割当(サブスクライブ)を行います。
コマンドを実行し、利用可能なサブスクリプションを確認します。今回は、「Red Hat Developer Subscription for Individuals」を使うので下のほうまでスクロールしていきます。
subscription-manager list --available
下のほうに「プールID」があるのでコピーしておきます。
先ほどコピーしたプールIDを利用してコマンドを実行します。
「サブスクリプションが正しく割り当てられました」が表示されればサブスクライブ完了です。
subscription-manager attach --pool=<プールID>
コマンドを実行すると「状態」が「サブスクライブ済み」になっています。
subscription-manager list
サブスクリプション管理画面の「システム」を見るとサブスクライブ済みになったRHELのアイコンがグリーンになりました。
詳細画面のほうも「正しくサブスクライブ済み」になりました。
1台のRHELのサブスクライブを行ったため、エンタイトルメント数を1つ消費しています。
確認
コマンドを実行するするとRHELのリポジトリが使えるようになっていることがわかります。
dnf repolist
参考
まとめ
サブスクリプション画面みながらだとわかりやすいんですが、お客様から情報だけもらって登録処理だけするとイメージしにくいんですよね。