Red Hat Training

A Red Hat training course is available for Red Hat Satellite

6.2. RHN Satellite Server にパッケージをアップロードする

RHN Push アプリケーションを使用してプライベートの RHN チャンネルに関連付けられたカスタムのパッケージを RHN Satellite Server 全体に提供します。 RHN Satellite Server から提供するパッケージが正規の Red Hat Enterprise Linux パッケージのみの場合は RHN Push をインストールする必要はありません。
RHN Push を使用するには、 rhnpush パッケージとその依存パッケージをインストールします。 このパッケージは登録している RHN Satellite Server システムで入手することができ、 up2date rhnpush を実行するとインストールされます。
RHN Push により RPM ヘッダー情報を RHN Satellite Server のデータベースにアップロードし、 その RPM を RHN Satellite Server パッケージのリポジトリに格納します。 RHN Proxy Server の RHN Package Manager とは異り、 RHN Push は RHN Satellite Server のデータベースを越えてパッケージ情報やヘッダーを配布することはありません。

注記

Satellite のインストールで Solaris OS のシステムがサポートされている場合は Solaris クライアントから RHN Push を使用して Solaris パッケージのコンテンツをカスタムの Solaris チャンネルにアップロードすることができます。

6.2.1. RHN Push アプリケーションを設定する

RHN Push をインストールすると中央設定ファイルが /etc/sysconfig/rhn/rhnpushrc にインストールされます。 このファイルには 表6.2「rhnpush オプション」 に収納されている全てのオプションの値が含まれています。
rhnpush コマンドが発行されるディレクトリによって設定を変える場合には、 こうした明確に異なる設定ファイルが役に立ちます。 現在のディレクトリ (./.rhnpushrc) はユーザーのホームディレクトリ (~/.rhnpushrc) ないの設定より優先され、 中央設定ファイル (/etc/sysconfig/rhn/rhnpushrc) 内の設定より先に使用されます。
例えば、 投入するソフトウェアチャンネル、 呼び出すユーザー名を含ませるためのホームディレクトリ設定ファイル、 パッケージを受信するサーバーを識別するための中央設定ファイルなどを指定するために現在のディレクトリ設定を使用することができます。
表6.2「rhnpush オプション」 には rhnpush コマンド用の全コマンドラインオプションが含まれています。

表6.2 rhnpush オプション

オプション 説明
-v --verbose 詳細レベルが冗長になります。 -vv-vvv といった具合にオプションは複数回使用することができます。
-d, --dir DIRECTORY このディレクトリからのパッケージを処理します。
-c, --channel CHANNEL_LABEL パッケージを受け取るチャンネルを指定します。 チャンネル指定は必須となります。 チャンネル名と同じものではありません。 -c を複数回使用することで複数のチャンネルを指定することができます (例、 -c=CHANNEL_ONE -c=CHANNEL_TWO)。
-n, --count N_HEADERS_PER_CALL 指定したヘッダー数を呼出しごとに処理します。 整数にしてください。 デフォルトは 25 です。
-l, --list 指定したチャンネルのみを表示します。
-r, --reldirRELATIVE_DIRECTORY 各ファイルにこの相対ディレクトリを関連付けます。
-o, --orgidORGANIZATION_ID 組織や企業の ID 番号を含めます。 整数にしてください。
-u , --username USERNAME 指定したチャンネルに管理アクセス権を持つユーザーの RHN ユーザー名を含ませます。 ユーザー名を与えないと rhnpush により有効なチャンネル管理者のユーザー名の入力が求められます。 ユーザー名とパスワードは一定期間 ~/.rhnpushcache にキャッシュされます。 デフォルトは 5 分です。 新しいユーザー名とパスワードを強制する場合は --new-cache を使用します。
-p , --password PASSWORD 指定したチャンネルに管理アクセス権を持つユーザーの RHN パスワードを含ませます。 パスワードを与えないと rhnpush により有効なチャンネル管理者のパスワードの入力が求められます。 ユーザー名とパスワードは一定期間 ~/.rhnpushcache にキャッシュされます。 デフォルト値は 5 分です。 新しいユーザー名とパスワードを強制する場合は --new-cache を使用します。
-s, --stdin 標準入力からパッケージ一覧を読み込みます。 例えば、パイプされた ls コマンドなど。
-X, --exclude GLOB この glob 式と一致するパッケージを除きます。
--force チャンネル内に現在、その名前とバージョンのパッケージが存在する場合でもパッケージのアップロードを強制します。 このオプションを付けないと既存しているパッケージのアップロードはエラーを返すことになります。
--nosig パッケージに署名がない場合も失敗しません。
--new-cache RHN Push を強制してユーザー名とパスワードのキャッシュをドロップし、 新しいユーザー名とパスワードを受け取る、 またはその入力を求めてきます。 最初にユーザー名とパスワードの入力を間違えた場合に便利です。
--newest サーバーにあるパッケージより新しいパッケージのみをプッシュします。 ソースパッケージはバージョン同士の比較が行われないという点で特殊となります。 その新しさは関連するバイナリパッケージに関係します。 このオプションを RHN Package Manager とソースパッケージで使用するとパッケージをアップロードしますが、関連バイナリパッケージがアップロードされるまで RHN Web インターフェースにソースパッケージは表示されません。 --source と比較して見てください。 --source --newest を一緒に使用すると単独ソースパッケージをより新しいパッケージで更新するため、 先に関連バイナリパッケージをアップロードしておく必要がありません。
--header ヘッダのみをアップロードします。
--source 指示されたソースパッケージをアップロードします。 この場合、 ソースパッケージはプレーンで単独のパッケージとして扱われ、 別途に既存するバイナリパッケージと関連する特殊なソースパッケージとしては 扱われません。 例えば、 通常のソース制御管理の範囲外で開発者やテスターにアプリケーションソースを配布したい場合などに使用できます。
--server SERVER パッケージのアップロード先となるサーバーを指定します。 現在、 http://localhost/APP の値が必要です。 このパラメータは必須です。
--test プッシュするパッケージの一覧のみを表示し、 実際のプッシュは行いません。
-h, --help オプションの簡単な説明を表示します。
-?, --usage 使用法の要約を表示します。

注記

これらのコマンドラインオプションについては rhnpush の man ページ (man rhnpush) でも説明されています。