RHEL 6.1 または RHEL 5.7 以降、レッドハットネットワークでは新しいサブスクリプション管理の方法が導入されました。コレにより従来のサブスクリプション管理の方法は RHN Classic と呼ばれるようになっています。
新しいサブスクリプション管理と言われても勉強するのが面倒でずっと RHN Classic を使ってきました。どちらを選択してもソフトウェアアップデートは提供されますので新しい方に移行する理由が無かったのです。
新旧で違いは何があるのでしょうか。
新しいほうは、証明書ベースの管理となっており、サブスクリプションとシステムの紐付けが出来るようになっています。どのシステムがどのサブスクリプションに紐付いているかを自前の管理表で管理しなくて良くなります。
便利と言えば便利ですが、管理しきれないほどの数を持っているわけではありませんので移行のきっかけにはなりませんでした。
ところが。
RHN Classic では rhel-6-server-optional-rpms リポジトリに新しいパッケージが入ってこなくなってしまいました。といっても最近の話ではなく1年くらい前からこの状態のように思えます。
rhel-6-server-optional-rpms リポジトリのパッケージも yum で手軽にアップデートしたいので、これはもう新しいサブスクリプション管理の方法へ移行するしかないなと、やり方を調べてみました。
何のことはない、製品マニュアルに載っていました。移行用のツールも用意されています。
パート V. RHN Classic から Red Hat Network への移行
ここに書いてあるとおりに作業すれば良いでしょう。
まずは移行ツールのインストールです。
# yum install subscription-manager-migration subscription-manager-migration-data
自動アップデートのツールが入りましたので、後はマニュアル通り作業をすると自動で移行されます。すべて自動で移行しても良いのですが、管理表に合わせて、どのシステムをどのサブスクリプションに割り当てるか細かく指定したいでしょう。ですので自動割り当てはしない方針で進めます。
# rhn-migrate-classic-to-rhsm --no-auto
RHN の ID と Pass を求められますので入力します。これで、 RHN Classic からの削除と、新しいサブスクリプション管理への Register までが終了します。
次に、どれに割り当てるかを決めるのですが、これはサブスクリプションプール ID を指定する必要があります。サブスクリプションプールID?そんなものは知りませんよ?大丈夫です。一覧が出せます。
# subscription-manager list --available
この中から目的の契約を探すとそこにプールIDが記載されているので、このプールIDを使用してサブスクリプションをシステムにアタッチします。
# subscription-manager attach --pool=プールID
以上の操作で新しいサブスクリプション管理への移行ができました。
あとは rhel-6-server-optional-rpms を使えるようにするだけです。
# yum-config-manager --enable rhel-6-server-optional-rpms
ようやく新しいパッケージを取得できるようになりました。