Red Hat Training

A Red Hat training course is available for Red Hat Satellite

9.4. Unix クライアントの登録と更新

RHN 固有のパッケージのインストールとSSL の実装、 RHN Satellite に接続するためのクライアントシステムの再設定が完了したので、システムを登録して更新を取得する準備が整いました。

9.4.1. Unix システムを登録する

このセクションでは、UNIX システム用に RHN の登録手順を説明していきます。これを行う場合は rhnreg_ks を使用する必要があります。 システムの登録にアクティベーションキーを使用するのはオプションになります。 アクティベーションキーを使用すると、 ベースチャンネルやシステムグループなど RHN 内での設定をあらかじめ指定し、 登録の時点でそれらをシステムに自動的に適用することができるようになります。
アクティベーションキーの生成および使用方法については他の章で詳述されているので、このセクションではアクティベーションキーを UNIX 系システムに適用する際の相異点にフォーカスします。このプロセスの詳細については 「アクティベーションキーを管理する」 を参照してください。
RHN Satellite に UNIX システムを登録するには、次の順番で作業を行います。
  1. Satellite の Web インターフェースにログインし、上部ナビゲーションバーの システム タブをクリックしてから、 左側のナビゲーションバーの アクティベーションキー をクリックします。 次に、 ページ右上の 新規のキーを作成 をクリックします。
  2. 次のページで 「Satellite サーバーの準備と設定」 の最後に作成したベースチャンネルを選択します。
  3. キーを作成した後、 アクティベーションキー 一覧内でそのキーの名前をクリックし、 ソフトウェア、 設定チャンネル、 システムグループを関連付けることで RHN 設定を確定します。
  4. 登録するクライアントシステムでターミナルを開いて root になります。
  5. コマンド rhnreg_ks--activationkey オプションと併用してクライアントを Satellite に登録します。 キーを構成する文字列は Web サイトの アクティベーションキー 一覧から直接コピーしても構いません。 コマンドは以下に似たようなものになります。
    rhnreg_ks --activationkey=b25fef0966659314ef9156786bd9f3af
    
  6. Web サイトに戻り、 アクティベーションキーの名前をクリックして新しいシステムが アクティベートしたシステム タブ内にあることを確認します。

9.4.2. 更新を取得する

UNIX のパッケージ更新は、Linux の場合とはかなり異なります。 例えば、Solaris は複数のパッケージを一度に更新する場合にパッチクラスタに依存しますが、 Red Hat のオペレーティングシステムはエラータ更新を使用して特定のパッケージと更新を関連付けます。 また、 Solaris は回答ファイルを使用してインテラクティブなパッケージのインストールを自動化しますが、 Linux はこれを理解せず、Red Hat はソースパッケージという概念を提供しています。このため、このセクションでは UNIX システム上で RHN ツールを使用する場合の相異点について明らかにしていきます。 (注記: RHN は現在のリリースでは Solaris の回答ファイルには対応していません。 今後のリリースで対応を計画しています。)
エラータが存在しないなど固有の相異にもかかわらず、 Satellite 上の RHN Web サイト内のチャンネルやパッケージの管理インターフェースは UNIX システムに対しても大部分で同様に動作します。 UNIX 互換種で動作するよう設計されたソフトウェアはすべて 『RHN チャンネル管理ガイド』 に記載されているカスタムチャンネルとほぼ同じように構成することができます。 最も重要な相異はアーキテクチャです。 UNIX のソフトウェアチャンネルを作成する場合は必ず動作させるシステムに適したベースチャンネルのアーキテクチャを選択するようにしてください。
その機能に応じてパッケージをベースチャンネルと子チャンネルに分けます。 例えば、 Solaris ではインストールパッケージは Solaris のベースチャンネルに入れ、 パッチやパッチクラスタはその Solaris のベースチャンネルの子チャンネルに入れます。 余分なインストールパッケージは別のエクストラ子チャンネルに入れることができます。
RHN はパッチをパッケージと同じように扱います。 通常のパッケージと同様に同じインターフェースで表示、インストールが行われます。 パッチは Solaris で番号付けされるため「patch-solaris-108434」のような名前になります。 Solaris パッチのバージョンはオリジナル Solaris のメタデータから抽出されリリースは常に 1 になります。
パッチクラスタとはパッチを束ねたものであり、 1 ユニットとしてインストールされます。 RHN は前回パッチクラスタがシステムに正しくインストールされた時間を常に追跡しています。 ただし、 パッチクラスタはクライアント上では実態としてインストールされるため追跡は行われません。 このため、 インストール済みのパッケージまたはパッチ一覧には表示されません。 パッチクラスタ名は「patch-cluster-solaris-7_Recommended」のようになります。 バージョンは「20040206」など日付で構成され、 リリースは常に 1 エポックは常に 0 になります。

9.4.2.1. パッケージを Satellite にアップロードする

RHN では、UNIX コンテンツは提供しません。 Solaris のパッケージ、 パッチ、 パッチクラスタはいずれもクライアントシステムから理解できる形式で Satellite にアップロードする必要があります。 これによりそのパッケージを管理して他のシステムに配信することができるようになります。 Solaris のパッケージ、 パッチ、 及びパッチクラスタを Satellite が理解できる形式に変換する solaris2mpm を RHN は作成しました。
9.4.2.1.1. solaris2mpm
「機能の相異」 で簡単に説明ているように、 solaris2mpm は Solaris 用 RHN Push の一部になります。 Satellite 上の Solaris チャンネルにプッシュされるコンテンツは、最初は .mpm 形式でなければなりません。
.mpm ファイルは、パッケージのデータとパッケージ自体またはパッチ自体に関する詳細を含むアーカイブになります。solaris2mpm コマンドは Satellite ではなく、 必ずクライアント上で実行しなければなりません。

注記

solaris2mpm は、変換するパッケージ、 パッチ、 あるいはパッチクラスタのサイズの 3 倍に相当する空き領域を必要とします。 通常、 /tmp/ の領域が使用されますが、 --tempdir オプションを使用すると必要に応じて別のディレクトリを指定することもできます。
solaris2mpm のコマンドラインでは、複数のファイルを指定することができます。 以下に使用例を示します。
# solaris2mpm RHATrpush-3.1.5-21.pkg RHATrpush-3.1.5-23.pkg
Opening archive, this may take a while
Writing out RHATrpush-3.1.5-21.sparc-solaris.mpm
Opening archive, this may take a while
Writing out RHATrpush-3.1.5-23.sparc-solaris.mpm
別のディレクトリが指定されていないので結果となる .mpm ファイルは /tmp/ ディレクトリに書き込まれます。 .mpm ファイルの名前にはそのファイルが作成されたクライアントのアーキテクチャが含まれている点に注意してください。 この例では Sparc Solaris です。 以下に .mpm ファイル名の一般的な形式を示します。
name-version-release.arch.mpm
パッチクラスタは「展開」してあります。.mpm ファイル郡は 1 クラスタ内の各パッチごとに生成され、 またクラスタ全体に関する情報を含むトップレベルの「メタ」.mpm ファイルも生成されます。
以下は、solaris2mpm のオプションになります。

表9.2 solaris2mpm オプション

オプション 説明
--version
プログラムのバージョン番号を表示して終了します
-h, --help
この情報を表示して終了します
-?, --usage
プログラムの使い方に関する説明を表示して終了します
--tempdir=<tempdir>
作業用の一時的ディレクトリを指定します
--select-arch=<arch>
複合アーキテクチャパッケージ用のアーキテクチャ (i386 か Sparc) を選択します
9.4.2.1.2. .mpm ファイルで rhnpush を行う
rhnpush の Solaris バージョンは標準ユーティリティと同じように動作しますが、 .mpm ファイルが処理できる追加機能があります。 以下にその使用例を示します。
% rhnpush -v --server testbox.example.com --username myuser -c solaris-8 \
RHATrpush-3.1.5-*.mpm
 Red Hat Network password:
 Connecting to http://testbox.example.com/APP
 Uploading package RHATrpush-3.1.5-21.sparc-solaris.mpm
 Uploading package RHATrpush-3.1.5-23.sparc-solaris.mpm

注記

パッチクラスタである .mpm ファイルは、 そのクラスタに含まれるパッチ用の .mpm ファイルと同時にプッシュするか、 その後にプッシュする必要があります。 そのクラスタに含まれるパッチ用の .mpm ファイルより先には決してプッシュしないでください。
Satellite で管理するそれぞれのパッケージ、 パッチ、 またはパッチクラスタで solaris2mpm を使用し、 次にこれらを RHN Push を使ってこれらを既に作成してあるチャンネルにアップロードします。

9.4.2.2. Web サイト経由で更新を行う

個別のシステムにパッケージやパッチをインストールする場合は、 システム カテゴリ内のシステム名をクリックし、 パッケージ タブまたは パッチ タブの「アップグレード」一覧または「インストール」一覧からパッケージを選択して 選択した パッケージのインストールまたはアップグレード(Install/Upgrade Selected Packages) をクリックします。
パッケージのインストール中にリモートコマンドを実行する場合は、 確認 ではなく リモートコマンドの実行 をクリックします。 詳細については 「リモートコマンド」 を参照してください。
複数のシステムに一度にパッケージやパッチをインストールする場合は、 システムを選択して左側のナビゲーションバーにある システムセットの管理 をクリックします。 次に、 パッケージ タブで「アップグレード」一覧または「インストール」一覧からパッケージを選び パッケージのインストールまたはアップグレード (Install/Upgrade Packages) をクリックします。 この動作を完了するには更新をスケジュールします。

9.4.2.3. rhnsd

Red Hat Enterprise Linux システム上では、 RHN にチェックインするようにクライアントシステムに指示をする rhnsd デーモンは、起動時に自動的に開始します。 Solaris システム上では、 デフォルトでは rhnsd は起動時には 開始しません。 次のようにしてコマンドラインから開始させることができます。
rhnsd --foreground --interval=240
rhnsd のデフォルトの場所は /opt/redhat/rhn/solaris/usr/sbin/rhnsd になります。 以下に Solaris で利用できる rhnsd のオプションを示します。

表9.3 rhnsd のオプション

オプション 説明
-f, --foreground
前面で実行します
-i, --interval=MINS
MINS 分毎に Red Hat Network に接続します
-v, --verbose
syslog にすべての動作をログ記録します
-h, --help
このヘルプ一覧を表示します
-u, --usage
このヘルプ一覧を表示します
-V, --version
プログラムのバージョンを表示します

9.4.2.4. コマンドラインから更新を行う

Web サイトと同様に、Red Hat Update Agent のコマンドライン使用も UNIX パッケージ管理における制約の影響を受けます。 ただし、 中核となるほとんどの機能は up2date コマンドで行えます。 最も大きな相異点は、ソースファイルに関するオプションがまったくないことです。 UNIX システムで使用可能なオプションの詳細については 表9.4「Update Agent のコマンドライン引数」 を参照してください。
Red Hat Update Agent のコマンドラインバージョンは、以下の UNIX システムの引数を受け入れます。

表9.4 Update Agent のコマンドライン引数

引数 説明
--version プログラムのバージョン情報を表示します。
-h--help このヘルプメッセージを表示して終了します。
-v--verbose 追加の出力を表示します。
-l--list インストール済みの全てのパッケージの最新バージョンを一覧表示します。
-p--packages このシステムプロファイルに関連したパッケージを更新します。
--hardware RHN にあるこのシステムのハードウェアプロファイルを更新します。
--showall ダウンロード可能なパッケージをすべて一覧表示します。
--show-available 現在、 利用可能なパッケージの中でまだインストールされていないパッケージをすべて一覧表示します。
--show-orphans 現在インストールされているパッケージの中でシステムがサブスクライブしているチャンネルには入っていないパッケージをすべて一覧表示します。
--show-channels チャンネル名とそれに該当するパッケージ名を表示します。
--installall 利用できるパッケージをすべてインストールします。 --channel と共に使用します。
--channel=CHANNEL チャンネルラベルを使用して更新するチャンネルを指定します。
--get 依存関係を解決せずに指定のパッケージを取りこみます。