Red Hat Training

A Red Hat training course is available for Red Hat Satellite

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

RHN Push アプリケーションを使用すると、 RHN Satellite Server 経由でプライベートの RHN チャンネルに割り当てられたカスタムのパッケージを提供することができます。 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) 内の設定値より先に使用されます。
たとえば、 現在のディレクトリの設定ファイルは、 以下を指定する場合に使用します。
  • 移植するソフトウェアチャンネル
  • 呼び出すユーザー名を含ませるためのホームディレクトリの設定ファイル
  • パッケージを受け取るサーバーを識別するための中央設定ファイル
rhnpush コマンドの全コマンドラインオプションを 表6.2「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 Push とソースパッケージだけで使用すると、 パッケージのアップロードは行なわれますが、 関連バイナリパッケージがアップロードされるまでソースパッケージは RHN Web インターフェースに表示されません。 --source と比較してみてください。 --source --newest を一緒に使用すると、 単独ソースパッケージが新しいパッケージで 更新される ので、 関連バイナリパッケージを先にアップロードしておく必要はありません。
--header ヘッダーのみをアップロードします。
--source 指示されたソースパッケージをアップロードします。 この場合、 ソースパッケージはプレーンで単独のパッケージとして扱われ、 別途に既存するバイナリパッケージと関連する特殊なソースパッケージとしては 扱われません。 例えば、 通常のソース制御管理とは別に、 開発者やテスターに向けてアプリケーションソースを配布したい場合などに使用できます。
--server SERVER パッケージのアップロード先となるサーバーを指定します。 現在、 http://localhost/APP の値が必要です。 このパラメータは必須です。
--test プッシュするパッケージの一覧のみを表示し、 実際のプッシュは行いません。
-h, --help オプションの簡単な説明を表示します。
-?, --usage 使用法の要約を表示します。

注記

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