Translated message

A translation of this page exists in English.

Red Hat Subscription Management の使用を開始する

更新 -

Red Hat Subscription Management (RHSM) サービスを使用して Red Hat サブスクリプションとエンタイトルメントを管理するには、グラフィカルツールとコマンドラインツールの両方が利用できます。この記事では、サブスクリプション管理の仕組みについて簡単に説明します。続いて、サブスクリプション管理コンポーネントの概要と、Red Hat ソフトウェア製品の登録時に発生する可能性のある問題のトラブルシューティング方法に関するヒントを紹介します。

サブスクリプション管理コマンドの使用

以下は、subscription-manager および関連コマンドを使用してシステムを登録し、サブスクリプション情報を照会し、その他の方法でサブスクリプションを管理する例です。subscription-manager の詳細情報を取得するには、man subscription-manager と入力するか、オプションなしで subscription-manager を実行してコマンドの構文を確認します。


# subscription-manager
Usage: subscription-manager MODULE-NAME [MODULE-OPTIONS] [--help]
Primary Modules:
  attach         Attach a specified subscription to the registered system
  list           List subscription and product information for this system
  refresh        Pull the latest subscription data from the server
  register       Register this system to the Customer Portal or another subscription management service
...

特定のモジュール (例: register モジュール) のヘルプを表示するには、次のように --help オプションを使用します。


# subscription-manager register --help
Usage: subscription-manager register [OPTIONS]
Register this system to the Customer Portal or another subscription management service
Options:
  -h, --help            show this help message and exit
  --proxy=PROXY_URL     proxy URL in the form of proxy_hostname:proxy_port
  --proxyuser=PROXY_USER
                        user for HTTP proxy with basic authentication
  --proxypassword=PROXY_PASSWORD
                        password for HTTP proxy with basic authentication
  --username=USERNAME   username to use when authorizing against the server
  --password=PASSWORD   password to use when authorizing against the server
...

登録とサブスクライブ

まだ登録されていないシステムを登録するには、次のコマンドを実行します (yourusernameyourpassword は、Red Hat のユーザー名とパスワードに置き換えます)。

# subscription-manager register --username=yourusername --password=yourpassword
The system has been registered with id: 231c3a37-8e14-449c-a232-3de2d5c8fa8a

登録済みの Red Hat アカウントで利用可能なサブスクリプションをリスト表示するには、次のように入力します。

# subscription-manager list --available | less

システムの登録後にサブスクリプションを自動的に選択して使用するには、次のように入力します。

# subscription-manager attach --auto
The system has been registered with id: 231c3a37-8e14-449c-a232-3de2d5c8fa8a

サブスクリプションを自動的に選択するのではなく、利用可能なサブスクリプションをリスト表示した後、次のようにプール ID を入力して特定のサブスクリプションを使用します。

# subscription-manager attach --pool=7b64f895519e98de4138735cea132a
Successfully attached a subscription for: Red Hat Enterprise Linux for Virtual Datacenters, Premium

システムで消費されたサブスクリプションを確認するには、次のコマンドを実行します。

# subscription-manager list --consumed

リポジトリーの有効化

RHEL システムを登録してサブスクライブすると、最終的にソフトウェアリポジトリーにアクセスできるようになります。1 つ以上のエンタイトルメント (PoolID) をサブスクライブすると、次のファイルが作成または拡張されます。

/etc/yum.repos.d/redhat.repo

redhat.repo ファイルの内容は、サブスクライブされたエンタイトルメントから利用可能なすべてのリポジトリーを反映します。そのファイルのリポジトリーエントリーの例を次に示します。

name = Red Hat Enterprise Linux 6 Server (RPMs)
baseurl = https://cdn.redhat.com/content/dist/rhel/server/6/$releasever/$basearch/os
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/6415396139649515674-key.pem
sslclientcert = /etc/pki/entitlement/6415396139649515674.pem
...

上記のオプションの説明については、yum.conf の man ページを参照してください。特に、このリポジトリーのソフトウェアパッケージが保存されている場所 (baseurl) を確認できます。これらのパッケージは enabled = 1 が設定されている場合にのみアクセスできます。有効なリポジトリーをより簡単に確認する方法は、yum repolist を使用することです。


# yum repolist
...
repo id                                  repo name                                                                             status
rhel-6-server-eus-rpms                   Red Hat Enterprise Linux 6 Server - Extended Update Support (RPMs)                    11,120
rhel-6-server-rpms                       Red Hat Enterprise Linux 6 Server (RPMs)                                              11,121
rhel-6-server-supplementary-rpms         Red Hat Enterprise Linux 6 Server - Supplementary (RPMs)              

リポジトリーを有効にするには、redhat.repo ファイル内の必要なリポジトリーの下の "enabled = 0" 行を enabled = 1 行に変更するだけです。または、代わりに、次のように yum-config-manager コマンドを使用することもできます。

# yum-config-manager --enable rhel-6-server-sam-rpms

上記の例では、Subscription Asset Manager リポジトリーが有効になります。利用可能な他のリポジトリーの名前を見つけるには、redhat.repo ファイルで角括弧 [] 内の名前を探します。

アタッチ解除と登録解除

システムから特定のサブスクリプションを解除するには、そのサブスクリプションのシリアル番号を取得し (何が消費されているかを確認)、次のように削除します。

# subscription-manager list --consumed
# subscription-manager remove --serial=584943852285074892

システムの登録を解除するには、次のように入力します。

# subscription-manager unregister
System has been unregistered.

すべてのサブスクリプションデータを消去するには、次のコマンドを実行します。

# subscription-manager clean

エンタイトルメントについて

ほとんどの場合、サブスクリプション管理を使用するために証明書に関する詳しい知識は必要ありません。ただし、サブスクリプションの問題をトラブルシューティングする場合は、証明書によってサブスクリプション管理サービスがシステムを識別できるようになり、証明書がサービスの認証、認可、およびインベントリー機能の基礎となることを知っておくと役立ちます。

サブスクリプション証明書は、/etc/pki/ ディレクトリーとそのサブディレクトリーに保存されます。以下に、エンタイトルメントに関連するいくつかのサブディレクトリーに含まれる内容の例を示します。

/etc/pki/product または/etc/pki/product-default
システムにインストールされている実際の Red Hat 製品を説明する証明書が含まれています。そのディレクトリーには、少なくとも RHEL システムであることを識別する 69.pem ファイルと、インストールされている可能性のある他の製品の証明書が含まれているはずです。このディレクトリー内の証明書ファイルの例をいくつか示します。

  • 69.pem:この証明書は、コンピューターにインストールされている Red Hat Enterprise Linux システムのリリースバージョン、アーキテクチャー、および名前を識別します。69.pem ファイルは、anaconda インストーラーによって作成されます。

  • 70.pem:この証明書は、RHEL Extended Update Support に関連付けられた名前、バージョン番号、およびアーキテクチャーを識別します。

  • 150.pem:この証明書は、Red Hat Enterprise Virtualization の名前、バージョン、アーキテクチャー、およびこのエンタイトルメントの発行者 (Red Hat) に関する情報を識別します。

  • 201.pem:この証明書は、Red Hat Software Collections の名前、バージョン番号、アーキテクチャーを識別します。

リポジトリーからパッケージをインストールすると、ローカルの RPM からインストールしていないとの前提で、パッケージの提供元の製品を表す .pem ファイルが /etc/pki/product or /etc/pki/product-default ディレクトリーに追加されます。

製品の最後のパッケージがシステムから削除されると、yum は関連する .pem ファイルを /etc/pki/product または /etc/pki/product-default ディレクトリーから削除します。唯一の例外は 69.pem ファイルで、これは yum コマンドでは削除できません。69.pem ファイルは常に RHEL システム上に存在している必要があります。

/etc/pki/consumer
システムを登録すると (subscription-manager register)、cert.pem ファイルと key.pem ファイルがこのディレクトリーに追加されます。これらのファイルは、登録を解除すると削除されます (subscription-manager unregister)。

/etc/pki/entitlement
ローカルシステムに接続されたサブスクリプションの証明書が含まれます (例:subscription-manager attach--pool=xxxxx)。このディレクトリーに配置された .pem ファイルには、特定のサブスクリプションで取得できる最も詳細な情報が含まれています。各エンタイトルメント.pem ファイルには、次の種類の情報が含まれています。

  • 証明書: サブスクリプションのプール ID、有効期間の開始日と終了日、関連付けられているシリアル番号などの情報。

  • 発行元: 証明書を発行した組織 (Red Hat、Inc.) やその組織のメールアドレスなどの情報を説明します。

  • 製品: 製品セクションには複数の製品をリストできます。各製品には ID、名前、有効なアーキテクチャーがあります。

  • 注文情報:この特定のサブスクリプションに含まれる内容の詳細が含まれます。注文情報は特定の名前、番号、SKU に関連付けられます。また、サービスレベルとサービスタイプ、利用可能なサブスクリプションの数と使用済みの数も含まれます。

subscription-manager unattach --all は /etc/pki/entitlements ディレクトリーの内容をすべて削除します。

サブスクリプション証明書の調査

サブスクリプション証明書は X.509 形式で保存されます。これらの証明書に関する問題をデバッグする場合は、openssl コマンドを使用してその内容を表示できます。しかし、適切なオプションを見つけるのは面倒な場合があります。証明書に関する情報を表示するためだけに設計された rct ツールを選択すると適切です。

rct コマンドを使用すると、証明書の内容 (rct cat-cert *.pem) または証明書の詳細 (rct stat-cert *.pem) を表示できます。たとえば、次のコマンドは、特定の証明書に関連付けられているリポジトリー、製品、注文情報のリストを表示します。

# rct cat-cert /etc/pki/entitlement/4163951369645195746.pem

rct cat-cert で回答できる質問には次のようなものがあります。

  • 証明書の対象となる製品は何ですか (Red Hat Enterprise Linux、Red Hat Enterprise Virtualization、JBoss Enterprise Application Platform など)?
  • 証明書の有効期限はいつですか?
  • 注文の SKU、契約番号、アカウント番号、サービスレベル、エンタイトルメント数量、その他の属性は何ですか?
  • このエンタイトルメントで利用できる yum リポジトリーは何ですか?

次の例は、証明書に関する統計を示しています。

# rct stat-cert /etc/pki/entitlement/4163951369645195746.pem

rct stat-cert で回答できる質問には次のようなものがあります。

  • 証明書にはコンテンツセット (yum リポジトリーまたは ISO ファイル) がいくつ含まれていますか?大規模なコンテンツセット (合計 185 セット以上) では、パフォーマンスの問題が発生する可能性があります。
  • DER サイズ (証明書の全体サイズではなく、証明書の内容のサイズを示します) とは何ですか?繰り返しになりますが、これが大きいと、パフォーマンスの問題が発生する可能性があります。

rct コマンドの詳細は、rct ツールによる証明書情報の表示rct ツールを使用した Red Hat Subscription Management の問題のトラブルシューティング、または rct の man ページ (man rct と入力) を参照してください。

サブスクリプション設定

サブスクリプション管理の設定が間違っていると、問題が発生する可能性があります。サブスクリプション管理の設定は、次のファイルで定義されます。

/etc/rhsm/rhsm.conf

現在の設定を確認するには、次のコマンドを入力します。

# subscription-manager config --list
[server]
   hostname = [subscription.rhn.redhat.com]
   insecure = [0]
   port = [443]
   prefix = [/subscription]
   proxy_hostname = []
   proxy_password = []
   proxy_port = []
   proxy_user = []
   ssl_verify_depth = [3]

[rhsm]
   baseurl = [https://cdn.redhat.com]
   ca_cert_dir = [/etc/rhsm/ca/]
   consumercertdir = [/etc/pki/consumer]
   entitlementcertdir = [/etc/pki/entitlement]
   manage_repos = [1]
   pluginconfdir = [/etc/rhsm/pluginconf.d]
   plugindir = [/usr/share/rhsm-plugins]
   productcertdir = [/etc/pki/product]
   repo_ca_cert = [/etc/rhsm/ca/redhat-uep.pem]
   report_package_profile = [1]

[rhsmcertd]
   autoattachinterval = [1440]
   certcheckinterval = [240]

上記の角括弧 ([]) は、デフォルト値が使用されていることを示します。サブスクリプション管理設定が誤っていると思われる場合は、/etc/rhsm/rhsm.conf ファイルを編集して、不適切に設定された値を変更します。たとえば、誤ってホスト名を変更した場合は、Satellite Server の正しい値を入力するか、subscription.rhn.redhat.com に戻します。

Red Hat Subscription Management の価値に関する詳細は、次の記事を参照してください。

Overview of Red Hat Subscription Management

The Benefits of Red Hat Subscription Management

Benefits of a Red Hat subscription

Comments