第3章 Red Hat Satellite Proxy 情報
本セクションでは、Red Hat Satellite Proxy を Red Hat Network Package Manager と一緒に使用する方法について説明します。
3.1. Red Hat Network Package Manager の使用および Red Hat Network Proxy によるローカルパッケージの提供 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Network Package Manager はコマンドラインツールで、これを使用すると組織は Red Hat Network Proxy Server 経由でプライベートの Red Hat Network チャンネル関連のローカルパッケージを提供することができます。Red Hat Network Proxy Server 用の Red Hat 公式パッケージのみを更新する場合は、Red Hat Network Package Manager をインストールしないでください。
Red Hat Network Package Manager を使用するには、
spacewalk-proxy-package-manager パッケージとそれに依存するパッケージをインストールします。
パッケージのヘッダー情報のみを Red Hat Network Server にアップロードします。Red Hat Network がクライアントシステムのパッケージ依存を解決するには、このヘッダーが必要になります。実際のパッケージファイル (
*.rpm) は Red Hat Network Proxy Server に格納されます。
Red Hat Network Package Manager はプロキシと同じ設定である、
/etc/rhn/rhn.conf 設定ファイルでの定義を使用します。
Red Hat Network Package Manager のコマンドライン
rhn_package_manager の全オプションの概要は以下のとおりです。
| オプション | 説明 |
|---|---|
-v、 --verbose | 冗長性を高めます。 |
-dDIR、 --dir=DIR | ディレクトリ DIR のパッケージを処理します。 |
-cCHANNEL、 --channel=CHANNEL | 指定したチャンネルを管理します - 複数回の使用が可能です。 |
-nNUMBER、 --count=NUMBER | コールごとに指定したヘッダー数を処理します - デフォルトは 32 です。 |
-l、 --list | 指定したチャンネル内の各パッケージ名、バージョン番号、リリース番号、アーキテクチャを一覧表示します。 |
-s、 --sync | ローカルディレクトリがサーバーと同期中であるかどうか確認します。 |
-p、 --printconf | 現在の設定を表示して終了します。 |
-XPATTERN、 --exclude=PATTERN | 指定した glob 表現と一致するファイルを除外します - 複数回の使用が可能です。 |
--newest | 指定したチャンネル用にサーバーに対して既にプッシュされたパッケージより新しいパッケージのみプッシュします。 |
--stdin | stdin からパッケージ名を読み取ります。 |
--nosig | 署名がないパッケージをプッシュします。デフォルトでは Red Hat Network Package Manager は署名されたパッケージのみのプッシュを試行します。 |
--username=USERNAME | Red Hat Network ユーザー名を指定します。このオプションでユーザー名を指定していない場合は、ユーザー名の入力が求められます。 |
--password=PASSWORD | Red Hat Network パスワードを指定します。このオプションでパスワードを指定していない場合は、パスワードの入力が求められます。 |
--source | ソースパッケージのヘッダーをアップロードします。 |
--dontcopy | アップロード後の手順で、パッケージをパッケージツリー内の最終配置場所にコピーしません。 |
--test | プッシュされるパッケージのみを表示します。 |
--no-ssl | Not recommended - SSL をオフにします。 |
-?、 --usage | オプションの簡潔な説明を表示します。 |
--copyonly | 引数内に表示されているファイルを指定チャンネルにコピーします。プロキシのチャンネルの 1 つのパッケージが欠落している場合に、そのチャンネルのすべてのパッケージを必ずしも再びインポートする必要がない場合に便利です。例: rhn_package_manager-cCHANNEL--copyonly/PATH/TO/MISSING/FILE |
-h、 --help | オプション一覧のヘルプ画面を表示します。 |
注記
これらコマンドラインオプションは
rhn_package_manager の man ページでも説明されています: man rhn_package_manager
Red Hat Network Package Manager によるローカルパッケージの提供を可能にするには、以下の手順が必要になります。
- プライベートチャンネルを作成する
- ローカルパッケージをそのチャンネルにアップロードする。
これらの手順は、次のセクションで説明します。
3.1.1. プライベートチャンネルの作成 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Network Proxy Server からローカルパッケージの提供を行う前に、ローカルパッケージを格納するプライベートチャンネルが必要になります。次の手順でプライベートチャンネルを作成します。
- https://rhn.redhat.com の Red Hat Network Web インターフェースか、またはネットワーク内のローカル Red Hat Satellite サーバーにログインします。
- 上部ナビゲーションバーのチャンネル (Channels) をクリックします。左にあるナビゲーションバーに チャンネルの管理 (Manage Channels) オプションが表示されない場合には、このユーザーがチャンネル編集に関する権限を有しているか確認してください。上部ナビゲーションバーから ユーザー (Users) カテゴリにアクセスすると確認できます。
- 左にあるナビゲーションバーで、ソフトウェアチャンネルの管理 (Manage Software Channels) をクリックしてからページの右上部にある ボタンをクリックします。
- 親チャンネルとベースチャンネルのアーキテクチャを選択して、新しいプライベートチャンネルの名前、ラベル、概要、説明を入力します。チャンネルラベルは少なくとも 6 文字以上の長さで英文字で始まらなければなりません。使用できるのは小文字、数字、ダッシュ(-)、ピリオド(.) のみになります。また、チャンネルの GPG キーの URL も入力します。ただし、このフィールドは必須ではありません。セキュリティ強化のために入力が推奨されるフィールドです。GPG キーの生成方法については、『Red Hat Network チャンネル管理ガイド (Red Hat Network Channel Management Guide)』 を参照してください。
- をクリックします。
3.1.2. パッケージをアップロードする リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
注記
プライベート Red Hat Network チャンネルにパッケージをアップロードするには、組織管理者である必要があります。スクリプトにより Red Hat Network ユーザー名とパスワードの入力が求められます。
プライベートチャンネルの作成後に、Red Hat Network サーバーにバイナリ RPM とソース RPM のパッケージヘッダーをアップロードして、パッケージを Red Hat Network Proxy Broker Server にコピーします。バイナリ RPM のパッケージヘッダーをアップロードするには、以下のコマンドを実行します。
rhn_package_manager -c "label_of_private_channel" pkg-list
rhn_package_manager -c "label_of_private_channel" pkg-list
このコマンドはパッケージのヘッダーを指定されたチャンネル名に、パッケージそのものを
/var/spool/rhn-proxy/rhn にアップロードします。
pkg-list はアップロードするパッケージ一覧です。代わりに、-d オプションを使ってチャンネルに追加するパッケージを含むローカルディレクトリを指定することもできます。このディレクトリには含まれるべきパッケージ以外のファイルがないことを確認してください。Red Hat Network Package Manager は標準入力からパッケージ一覧を読み取ることもできます (--stdin を使用)。
ソース RPM のパッケージヘッダーをアップロードするには、以下のようにします。
rhn_package_manager -c "label_of_private_channel" --source pkg-list>
rhn_package_manager -c "label_of_private_channel" --source pkg-list>
複数のチャンネルを指定している場合 (
-c または --channel を使用)、アップロードしたパッケージヘッダーはリストしたチャンネルすべてにリンクされます。
注記
チャンネル名が指定されていない場合、パッケージはどのチャンネルにも追加されません。この場合、パッケージは Red Hat Network Web インターフェースを使ってチャンネルに追加することができます。インターフェースは既存のプライベートチャンネルの変更にも使用できます。
パッケージをアップロードしたら、すぐに Red Hat Network Web インターフェースを使ってパッケージがあることを確認することができます。上部ナビゲーションバーのチャンネル (Channels) をクリックして、左に表示されるナビゲーションバーのソフトウェアチャンネルの管理 (Manage Software Channels) をクリックし、カスタムチャンネルの名前をクリックします。パッケージ (Packages) サブタブをクリックすると、各 RPM が一覧表示されます。
以下のコマンドラインで、ローカルディレクトリがチャンネルの Red Hat Network サーバーのイメージと同期しているかどうかも確認してください。
rhn_package_manager -s -c "label_of_private_channel"
rhn_package_manager -s -c "label_of_private_channel"
-s オプションは、欠けているパッケージすべてを一覧表示します (Red Hat Network Server にアップロードされたがローカルディレクトリーにないもの)。このコマンドを使用するには、組織管理者である必要があります。スクリプトにより Red Hat Network ユーザー名とパスワードの入力が求められます。
ローカルパッケージの更新に Red Hat Network Package Manager を使用している場合、そのシステムをプライベートチャンネルにサブスクライブさせるには Red Hat Network Web サイトに移動する必要があります。