ユーザーガイド
Red Hat Satellite の使用と管理
概要
第1章 ユーザーアカウントの管理
1.1. ユーザーアカウントの作成および削除
Satellite ユーザーが Satellite サーバーに登録して製品の更新の要求や他の保守作業を行えるようにするには、適切なユーザーアカウントが必要になります。特定の Satellite 管理者 のみがユーザーアカウントを作成できます。
手順1.1 ユーザーアカウントの作成
- Satellite の web サーバーページに移動して、ナビゲーションバー上の タブをクリックします。
- ページの右側で、新規ユーザーの作成 をクリックし、ユーザーの作成 ページを開きます。
- すべての必須フィールドに入力します。
注記
ログイン値は 5 文字以上の長さにしてください。使用できるのは英数字、ハイフン、下線、コンマ、ピリオド、および商用の at (@) の文字です。 - をクリックして、新規ユーザーを作成します。Email が作成時に指定されたアドレスを使ってユーザーに送信され、ユーザーは新規のアカウント詳細について通知されます。また、パスワードはプレーンテキストに含まれます。
- アカウントの作成が完了すると、ユーザーの一覧 ページにリダイレクトされます。新規ユーザーのパーミッションの変更やオプションの設定を行う場合は、表示されている一覧からそのユーザーの名前を選択して ユーザーの詳細 ページを表示し、適切なタブに移動して変更を行います。
Satellite 管理者 のみがユーザーアカウントを削除できます。削除されたアカウントを使用して、Satellite サーバーのインターフェースにログインしたり、動作をスケジュールしたりすることはできません。
警告
手順1.2 ユーザーアカウントの削除
- Satellite の web サーバーページに移動して、ナビゲーションバー上の タブをクリックします。
- ユーザー名 の一覧から削除するアカウントのユーザー名をクリックします。ユーザーの詳細 ページが表示されます。
- ユーザーアカウントが Satellite 管理者ではないことを確認します。ユーザーが Satellite 管理者である場合、関連するチェックボックスをクリアにしてから をクリックします。ユーザーが Satellite 管理者ではない場合は次のステップに進みます。
- ユーザーの削除をクリックします。ユーザーの削除の確認 ページが表示されます。
- このユーザーアカウントを完全に削除してもよいかを確認してから をクリックします。
手順1.3 ユーザーのアクティベートと停止
注記
- ユーザー タブ内にある一覧からユーザー名を選択し、ユーザーの詳細 ページを表示します。
- そのユーザーが Satellite 管理者かどうか確認します。Satellite 管理者である場合は、そのロールの横にあるチェックボックスのチェックマークを外してから をクリックします。Satellite 管理者ではない場合はそのまま次のステップに進みます。
- ユーザーを停止する をクリックします。この動作を確認するため再クリックが求められます。 詳細を確認してから ユーザーを停止する を再度クリックして確定します。
- アカウントが正しく停止されると、そのユーザー名は アクティブなユーザー の一覧には表示されなくなります。 停止されたユーザーアカウントを表示するには、 ユーザーの一覧 のメニューから 停止 のリンクをクリックします。
- ユーザーアカウントを再度アクティベートする場合は、停止 の一覧を表示させてから、再度アクティベートしたいユーザーの横にあるチェックボックスに印を付け、 をクリックします。
1.2. ユーザーアカウントへのロールの割り当て
ユーザーのロール
- Satellite 管理者
- 組織の作成、サブスクリプションの管理、Satellite Server のグローバル設定など、Satellite の管理作業を行うための特別なロールです。このロールは ユーザーの詳細 ページでは割り当てられません。Satellite Server 管理者ロールを有しているユーザーは、別のユーザーにロールを割り当てることができます。この割り当ては、 → の順に移動して行います。
- 組織の管理者
- 組織内でのユーザー、システム、およびチャンネルなどの管理作業を行います。組織の管理者には、その他すべてのロールに対する管理アクセスが自動的に与えられます。これらは、他のロールが選択されるとチェックボックスがグレー表示されるのでわかるようになっています。
- アクティベーションキーの管理者
- アカウント内のキーの作成、変更、削除など、アクティベーションキー関連の作業を行います。
- チャンネル管理者
- 組織内のソフトウェアチャンネルおよび関連チャンネルへの完全なアクセスが与えられます。チャンネルのサブスクリプションをグローバルに可能にする、新しいチャンネルを作成する、チャンネル内のパッケージを管理する、などの作業を行います。
- 設定管理者
- 組織内の設定チャンネルおよび関連チャンネルへの完全なアクセスが与えられます。組織内のキックスタートプロファイルおよび関連するアイテムへの完全なアクセスも与えられます。組織内のキックスタートプロファイル、チャンネルおよびファイル管理設定の作業を行います。
- システムグループ管理者
- このロールは、アクセス権を付与されたシステムおよびシステムグループに対して完全な権限を有します。システムグループの新規作成、割り当てられたシステムグループの削除、グループへのシステムの追加、グループに対するユーザーアクセスの管理などの作業を行います。
1.3. Red Hat Satellite の選択部分のカスタマイズ
- テキストエディターで Red Hat Satellite の
rhn.confファイルを開きます。 - 必要なコンテンツを追加してファイルを編集します。複数行にまたがるコンテンツを入力するには、新しい行をバックスラッシュでエスケープします。バックスラッシュ自体をエスケープすることができますが HTML はエスケープされません。
注記
Red Hat Satelliteは現在、rhn.confの UTF-8 エンコーディングをサポートしません。- ヘッダーをカスタマイズするには、必要なコンテンツで
java.custom_headerを編集します。 - フッターをカスタマイズするには、必要なコンテンツで
java.custom_footerを編集します。 - ログインバナーをカスタマイズするには、必要なコンテキストで
java.login_bannerを編集します。
- Satellite を再起動して変更を有効にします。
第2章 Red Hat Satellite Server リポジトリーの自動同期
cron ユーティリティーを使用すると効果的に同期を自動化できます。
手順2.1 cron ユーティリティーを使用した同期の自動化
- root ユーザーに切り替え、次のコマンドを実行して、テキストエディターで
crontabを開きます。# crontab -e - 適切なジョブ定義を作成して同期のスケジュールを設定します。ランダムな同期時間を作成する場合は以下のエントリーを使用します。
0 1 * * * perl -le 'sleep rand 9000' && cdn-sync --email >/dev/null 2>1
このエントリーは、01:00 から 03:30 の間に同期ジョブをランダムに実行し、cronユーティリティーからstdoutおよびstderrメッセージを破棄します。これは、cdn-syncコマンドからのメッセージが重複しないようにします。他のオプションも必要に応じて追加することができます。詳細は、crontabman ページのman crontabを参照してください。 - テキストエディターを終了するだけで更新された
crontabファイルは保存されます。追加した新しいルールは直ちに反映されます。
注記
crontab ファイルは vi で開かれます。この動作を変更するには、EDITOR の変数を希望するテキストエディターの名前に変更します。
第3章 障害回復の計画
3.1. Red Hat Satellite Server のバックアップ
Red Hat は、少なくとも以下のファイルおよびディレクトリーをバックアップすることを推奨しています。
/var/opt/rh/rh-postgresql95/lib/pgsql/(組み込みデータベースのみ)/etc/sysconfig/rhn//etc/rhn//etc/sudoers/var/www/html/pub//var/satellite/redhat/[0-9]*/(カスタムの RPM を格納する場所)/root/.gnupg//root/ssl-build//etc/dhcp.conf/etc/httpd/var/lib/tftpboot/(Red Hat Enterprise Linux 6 の場合)/var/lib/cobbler//var/lib/rhn/kickstarts//var/www//var/lib/nocpulse//etc/tomcat*//etc/jabberd//etc/cobbler/
/var/satellite/ もバックアップしてください。障害が発生した場合にダウンロード時間を短縮できます。/var/satellite/ ディレクトリ (特に /var/satellite/redhat/NULL/) は主として Red Hat の RPM リポジトリーの複製となるため、satellite-sync コマンドで再生成することができます。Red Hat は /var/satellite/ ツリー全体のバックアップを推奨します。分離モードの Satellite の場合には、/var/satellite/ のバックアップは必須となります。
- Red Hat Satellite ISO RPM を再インストールします。
- サーバーを再登録します。
satellite-syncコマンドを使用して Red Hat パッケージを再同期します。/root/ssl-build/rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpmファイルを再インストールします。
別の方法として、前述のファイルとディレクトリーのバックアップはすべて行い、Satellite サーバーは登録せずに再インストールする方法です。インストール時に、Red Hat Network の登録と SSL 証明書の生成の部分は取り消すか、または省略します。
最後に、最も包括的な方法としてマシン全体をバックアップする方法があります。この方法の場合、ダウンロードと再インストールの時間を節約することができます。ただし、余分なディスク領域とバックアップ時間が必要になります。
重要
rhn-search サービスの起動時に検索インデックスの再作成が行われるようにスケジュールする必要があります。
# service rhn-search cleanindex3.2. 組み込みデータベースのバックアップ
db-control コマンドは、バックアップの作成、検証、復元をはじめデータベースの状態に関する情報の取得、必要な時の再起動に至るまでの様々な機能を提供します。利用可能な機能の完全な一覧については db-control man ページ (man db-control) を参照してください。
3.2.1. データベースのオンラインバックアップの実行
db-control コマンドにオプションを追加すると、この機能が可能になります。
db-control コマンドに追加されました。
online-backup FILENAME:Satellite データベースのオンラインバックアップを実行します (組み込み PostgreSQL のみ)。reset-password:ユーザーパスワードをリセットし、アカウントのロックを解除します。restore DIRECTORY | FILENAME:以下のいずれかのバックアップによりデータベースを復元します。db-controlによって取得され、DIRECTORY ディレクトリーに保存されるオフラインのバックアップ。backupbackupとrestore操作がどちらも正常に実行されるため、データベースは停止している必要があります。db-controlによって取得され、FILENAME として保存されるオンラインのバックアップ。online-backuponline-backupとrestore操作がどちらも正常に実行されるため、データベース自体は実行中である必要がありますが、それ以外のすべての Satellite サービスは停止している必要があります。
3.2.1.1. オンラインバックアップの実行
FILENAME オプションを、作成するバックアップファイルの完全パスに置き換えます。この場所は、PostgreSQL ユーザーが書き込める必要があります。
# db-control online-backup FILENAME注記
3.2.1.2. オンラインバックアップからのデータベースの復元
db-control online-backup コマンドを使用して作成されたバックアップから組み込みデータベースを復元するには、db-control restore FILENAME コマンドを使用します。データベースを復元する前に、データベース自体を除く、すべての Satellite サービスをシャットダウンする必要があります。
手順3.1 オンラインバックアップからのデータベースの復元
- root ユーザーに切り替え、データベース以外のすべての Satellite サービスを停止するために以下のコマンドを実行します。
# rhn-satellitestop--exclude=rh-postgresql95-postgresql - 以下のコマンドを実行してデータベースを復元します。
FILENAMEオプションを、db-controlコマンドで作成したバックアップファイルの完全パスで置き換えます。online-backup# db-controlrestoreFILENAME - 復元が完了したら、以下のコマンドを実行して、データベースとすべての関連サービスを再起動します。
# rhn-satellitestart
3.2.2. データベースのオフラインバックアップの実行
3.2.2.1. オフラインバックアップの実行
手順3.2 オフラインバックアップの作成
- root ユーザーに切り替え、以下のコマンドを実行して Satellite サーバーを停止します。
# rhn-satellite stop - 以下のコマンドを実行してバックアップを作成します。
# db-controlbackup DIRECTORYDIRECTORY の部分はデータベースのバックアップの保管先となる場所の絶対パスを入力してください。このプロセスには数分かかります。 - バックアップが完了したら、以下のコマンドを実行して Satellite サーバーを再起動します。
# rhn-satellite start - 次にバックアップを rsync または別のファイル転送ユーティリティを使って別のシステムにコピーします。Red Hat は cron ジョブを使って自動バックアップのプロセスをスケジュールすることを強く推奨します。 例えば、午前 3 時にシステムをバックアップしてからそのバックアップを午前 6 時に別のリポジトリー (パーティション、ディスク、またはシステム) にコピーします。
3.2.2.2. バックアップの検証
# db-control examine BACKUP_FILE# db-control verify BACKUP_FILE注記
3.2.2.3. データベースの復元
db-control restore コマンドを使用してバックアップから組み込みデータベースを復元します。データベースの復元を試行する前に、データベースと関連するすべてのサービスをシャットダウンする必要があります。
手順3.3 バックアップからの組み込みデータベースの復元
- すべての Red Hat Satellite サービスを停止するために以下のコマンドを実行します。
# rhn-satellitestop - 復元を開始するには、バックアップが格納されているディレクトリーを含む、以下のコマンドを実行します。directory の部分は、バックアップが格納されている場所の絶対パスで置き換えます。まずバックアップの内容の検証が行われてから、実際のデータベースの復元が行われます。このプロセスには数分かかります。
# db-controlrestore directoryこのコマンドは組み込みデータベースを復元するだけではありません。復元の前にチェックサムを使ったバックアップディレクトリーの内容の検証も行います。 - 復元が完了したら、データベースと関連サービスを再起動します。
# rhn-satellitestart - バックアップしているデータベースが外部のデータベースか組み込みデータベースであるかに関わらず、バックアップからデータベースを復元する際には
rhn-searchサービスの次回の起動時に検索インデックスの復元が行われるようスケジュールします。# service rhn-searchcleanindex
3.3. 組み込みデータベースを使用する Red Hat Satellite のクローン作成
手順3.4 組み込みデータベースを使用する Satellite Server のクローン作成
- 組み込みデータベースを使用する Red Hat Satellite を、別のマシン上の Red Hat Enterprise Linux のベースインストールにインストールします。つまり、Red Hat Satellite の 1 次サーバーとは異なるマシンにインストールします。SSL 証明書の生成手順は省略します。
- 「オフラインバックアップの実行」 の説明どおりにコマンドを使って 1 次サーバーのデータベースを日次でバックアップします。これを行うと、障害が発生した日の変更のみが失われることになります。
- バックアップを 2 次サーバーにコピーするメカニズムを構築します。rsync などのファイル転送プログラムを使ってリポジトリーを常に同期します。SAN (Storage Area Network) を使用している場合はコピーは不要です。
db-controlコマンドを使用して重複するデータをインポートします。restore- 1 次サーバーに障害が発生した場合、
/root/ssl-build内にある SSL キーペアの RPM パッケージを 1 次サーバーから 2 次サーバーに転送し、そのパッケージをインストールします。これにより、Red Hat Satellite クライアントの 2 次サーバーでの認証および安全な接続が可能になります。 - DNS が 2 次サーバーを参照するように更新するか、またはロードバランサーを適切に設定します。
3.4. 外部データベースを使用する冗長な Satellite の作成
重要
手順3.5 外部データベースを使用する冗長な Satellite の作成
- 別のマシンに Red Hat Satellite をインストールしますが、データベースの設定、データベースのスキーマ、SSL 証明書、およびブートストラップスクリプトなどの生成手順の部分は省略します。Satellite の初回インストール時に入力した同じ Red Hat Network アカウント情報およびデータベース接続情報を含めます。
- 新規の Satellite サーバーを登録します。詳しくは、Red Hat Satellite 『インストールガイド』 を参照してください。
- オリジナルの SSL 証明書作成時に高可用性ソリューションについて考慮していなかった場合は、より適切な
Common Nameの値を使って新しい SSL 証明書を作成してください (「Red Hat Satellite 『クライアント設定ガイド』」の 「『SSL Maintenance Tool』」を参照)。この場合、この新規の値を取り込む新しいブートストラップスクリプトを生成します (「『Red Hat Satellite クライアント設定ガイド』」の「『ブートストラップスクリプトを生成する』」に記載)。Common Nameの値が単一マシンのホスト名を表すのではなく、 Satellite の一体化ソリューションを表すようにします。 - インストールが終了したら、次のファイルを 1 次サーバーから 2 次サーバーにコピーします。
/etc/rhn/rhn.conf/etc/tnsnames.ora(Oracle データベースのみ。)
- 1 次サーバーからサーバー側の SSL 証明書 RPM をコピーして 2 次サーバーにインストールします。インストールプロセス時に新しい Common Name の値を含んだ新しい SSL 証明書を生成した場合には、その SSL 証明書 RPM を 2 次サーバーから1 次サーバーにコピーしてクライアント側の証明書を再配信します。また、別のブートストラップスクリプトを作成した場合には、すべてのクライアントシステムへの証明書のインストールにはこのスクリプトを使用します。
- 新しいブートストラップスクリプトを作成した場合は、
/var/www/html/pub/bootstrap/の内容を1 次サーバーにコピーします。 - 新しいブートストラップスクリプトを作成しなかった場合は、
/var/www/html/pub/bootstrap/の内容を1 次サーバーから 2 次サーバーにコピーします。
- Red Hat Network Task Engine サービスを停止するには、 2 次サーバー上で以下のコマンドを実行します。
# service taskomatic stop2 次サーバー上で、カスタムのスクリプトを使用するか、またはその他の方法を使用して Red Hat Network Task Engine の自動スタートアップや自動フェールオーバーを確立することもできます。いずれの場合も、障害の発生時に確実に起動できるようにする必要があります。 - 何らかのネットワークストレージデバイスでチャンネルパッケージのデータ (デフォルトでは
/var/satelliteにある) とキャッシュデータ (デフォルトでは/var/cache/rhnにある) を1 次サーバーと 2 次サーバー間で共有します。これによりデータを重複して持たせることなく各サーバーのデータ保存整合性を確保できるようになります。 - Common Name およびご使用のインフラストラクチャーに合った方法を用いてネットワーク上で各種のサーバーを使用できるようにします。ラウンドロビンの DNS、ネットワーク負荷分散機能、およびリバースプロキシの設定などが考えられます。
3.5. Satellite データベースのバックアップの自動化
cron を使用する方法です。
手順3.6 Satellite Server データベースのバックアップ自動化
backup-db.sh という名前の新しいファイルを作成し、以下のスクリプトを含ませます。このスクリプトで Satellite の停止や、データベースのバックアップ、および Satellite の再起動などを行います。
#!/bin/bash
{
/usr/sbin/rhn-satellite stop
d=db-backup-$(date "+%F");
mkdir -p /tmp/$d;
db-control backup /tmp/$d
/usr/sbin/rhn-satellite start
} &> /dev/nullmove-files.shという名前の新しいファイルを作成し、以下のスクリプトを含ませます。このスクリプトを使ってバックアップファイルを格納先のディレクトリーにrsyncで移動します。#!/bin/bash rsync -avz /tmp/db-backup-$(date "+%F") <destination> &> /dev/null
<destination> をバックアップディレクトリーのパスに置き換えます。または、以下のスクリプトを使用しても同じことができます。#!/bin/bash scp -r /tmp/db-backup-$(date "+%F") <destination> &> /dev/null
- root ユーザーに切り替え、テキストエディターで
crontabファイルを開きます。# crontab -e注記
デフォルトではcrontabファイルは vi で開かれます。この動作を変更するには、EDITORの変数を希望するテキストエディターの名前に変更します。 - 適切なジョブ定義を作成して、バックアップスクリプトを実行するスケジュールを設定します。
0 3 * * * backup-db.sh 0 6 * * * move-files.sh
このcrontabのエントリーの場合、バックアップは 03:00 に、そのバックアップファイルの転送は 06:00 にそれぞれ実行されます。その他のオプションも必要に応じて追加することができます。また、古いバックアップディレクトリーを削除してバックアップストレージが満杯にならないようにするクリーンアップスクリプトを含めることもできます。 - エディターを終了するだけで
crontabファイルは保存されます。追加した新しいルールは直ちに反映されます。
第4章 コマンドライン設定管理ツールの使用
注記
/var/lib/rhncfg/backups/ ディレクトリーに完全パスを含む以前のファイルのバックアップを作成します。バックアップのファイル名は保持されますが、.rhn-cfg-backup という拡張子が付きます。
4.1. Red Hat Network Actions Control の使用
rhn-actions-control) アプリケーションは、システムの設定管理を有効にしたり、無効にしたりする際に使用します。デフォルトではこの方法でクライアントシステムを管理することができません。このツールにより、Satellite 管理者は次のような許可される動作の特定モードを有効または無効にできます: システム上に設定ファイルを配備、システムからファイルをアップロード、diff を使用してシステムで現在管理対象となるものや利用可能なものを判別、任意のリモートコマンドの実行を許可。 これらのモードは /etc/sysconfig/rhn/allowed-actions/ ディレクトリーにファイルやディレクトリーの配置または削除を行うことによって有効または無効にできます。/etc/sysconfig/rhn/ ディレクトリーのデフォルトの権限により、Red Hat Network Actions Control は root アクセス権を持つユーザーによって実行される必要があります。
4.1.1. 一般的なコマンドラインオプションの使用
man ページを使用できます。Red Hat Network でスケジュール済みのどの動作をシステム管理者が使用できるようにするかのみを確定します。次のオプションを使用して各種のスケジュール済み動作のモードを有効にすることができます。
表4.1 rhn-actions-control のオプション
| オプション | 説明 |
|---|---|
| --enable-deploy | rhncfg-client にファイルの配備を許可します |
| --enable-diff | rhncfg-client にファイルの diff (差分取得) を許可します |
| --enable-upload | rhncfg-client にファイルのアップロードを許可します |
| --enable-mtime-upload | rhncfg-clien に mtime のアップロードを許可します |
| --enable-all | rhncfg-client に全ての動作を許可します |
| --enable-run | script.run を有効にします |
| --disable-deploy | 配備を無効にします |
| --disable-diff | diff (差分取得) を無効にします |
| --disable-upload | アップロードを無効にします |
| --disable-mtime-upload | mtime のアップロードを無効にします |
| --disable-all | 全てのオプションを無効にします |
| --disable-run | script.run を無効にします |
| --report | モードが有効になっているか、または無効になっているのかをレポートします |
| -f, --force | 確認なしに操作を強制実行します |
| -h, --help | ヘルプメッセージを表示して終了します |
rhn-actions-control --enable-all が一般的)、Red Hat Satellite でシステムの設定管理を行う準備ができます。
4.2. Red Hat Network Configuration Client の使用
rhncfg-client) は各クライアントシステムから別々にインストールして実行されます。次にこれを使用して Red Hat Network が設定ファイルをクライアントにどのように導入するかに関する情報を得ることができます。
4.2.1. 設定ファイルの一覧表示
rhncfg-client listConfig Channel File config-channel-17 /etc/example-config.txt config-channel-17 /var/spool/aalib.rpm config-channel-14 /etc/rhn/rhn.conf
rhncfg-manager list config-channel-14Files in config channel 'config-channel-14' /etc/example-config.txt /etc/rhn/rhn.conf
/etc/example-config.txt の 2 番目のバージョンがどこへ行ったか気になるかもしれません。 config-channel-17 にある /etc/example-config.txt ファイルは config-channel-14 にある同ファイルよりランクが高くなっていました。その結果、config-channel-14 の設定ファイルのバージョンはこのシステムには配備されていませんが、ファイルはまだそのチャンネルにあります。このシステムにこのファイルは配備されないため、rhncfg-client コマンドはこのファイルを表示しません。
4.2.2. 設定ファイルの取得
rhncfg-client get /etc/example-config.txtDeploying /etc/example-config.txt
less または他のページャーを使用してこのファイルのコンテンツを表示します。このファイルを含む設定チャンネルのランクを基準にしてこのファイルが「最適」として選択されている点に注意してください。これは、システムの詳細 ページの 設定 タブ内で実行できます。
4.2.3. 設定チャンネルの表示
rhncfg-client channelsConfig channels: Label Name ----- ---- config-channel-17 config chan 2 config-channel-14 config chan 1
rhncfg-client get に使用できるオプションの一覧です。
表4.2 rhncfg-client get のオプション
| オプション | 説明 |
|---|---|
| --topdir=TOPDIR | 全てのファイル操作をこの文字列に対して相対的にします |
| --exclude=EXCLUDE | 'get'/ を使用して配備されたファイルを除外します。複数回の使用が可能です。 |
| -h, --help | ヘルプメッセージを表示して終了します |
4.2.4. 設定ファイルの違いを比較
rhncfg-client diff[root@testsatellite root]# rhncfg-client diff --- /etc/test +++ /etc/test 2013-08-28 00:14:49.405152824 +1000 @@ -1 +1,2 @@ This is the first line +This is the second line added
--topdir オプションを組み込んで Red Hat Network 内の設定ファイルと、クライアントシステム上の任意 (さらに未使用) の場所にある設定ファイルを比較することができます。
[root@ root]# rhncfg-client diff --topdir /home/test/blah/ /usr/bin/diff: /home/test/blah/etc/example-config.txt: No such file or directory /usr/bin/diff: /home/test/blah/var/spool/aalib.rpm: No such file or directory
4.2.5. 設定ファイルの確認
rhncfg-client verifymodified /etc/example-config.txt /var/spool/aalib.rpm
example-config.txt ファイルはローカルで修正されていますが、 aalib.rpm は修正されていません。
rhncfg-client verify に使用できるオプションの一覧です。
表4.3 rhncfg-clientt verify のオプション
| オプション | 説明 |
|---|---|
| -v, --verbose | 出力させる詳細レベルを増やします。指定した設定ファイルのモード、所有者、およびグループパーミッションの違いを表示します。 |
| -o, --only | 異なるファイルのみを表示します。 |
| -h, --help | ヘルプメッセージを表示して終了します |
4.3. Red Hat Network Configuration Manager の使用
rhncfg-manager) は、クライアントシステムにある設定ファイルではなく Red Hat Network にある設定ファイルとチャンネルの中央レポジトリの保守を目的として設計されています。このツールでは Red Hat Network Web サイト内の設定管理機能の代替となるコマンドラインのほか、関連するメンテナンスの一部または全体を行うためにスクリプトを作成する機能も備えています。
/etc/sysconfig/rhn/rhncfg-manager.conf または ~/.rhncfgrc の [rhncfg-manager] セクションに指定することができます。
~/.rhncfgrc ファイル内で設定の変更を行う必要があるかもしれません。セッションファイルは ~/.rhncfg-manager-session にキャッシュされ、すべてのコマンドごとにログインが行われないようにします。
server.session_lifetime オプションと新しい値を、このマネージャーを実行しているサーバー上の /etc/rhn/rhn.conf ファイルに追加します。次のようになります。
server.session_lifetime = 120
rhncfg-manager mode --help
rhncfg-manager diff-revisions --help4.3.1. 設定チャンネルの作成
rhncfg-manager create-channel channel-labelRed Hat Network username: rhn-user Password: Creating config channel channel-label Config channel channel-label created
4.3.2. 設定チャンネルへのファイルの追加
rhncfg-manager add --channel=channel-label /path/to/file--dest-file オプションを組み込んでパスとファイル名を変更することができます。
rhncfg-manager add --channel=channel-label --dest-file=/new/path/to/file.txt/path/to/filePushing to channel example-channel Local file >/path/to/file -> remote file /new/path/to/file.txt
rhncfg-manager add に使用できるオプションの一覧です。
表4.4 rhncfg-manager add のオプション
| オプション | 説明 |
|---|---|
| -c CHANNEL --channel=CHANNEL | この設定チャンネルにファイルをアップロードします |
| -d DEST_FILE --dest-file=DEST_FILE | このパスにファイルをアップロードします |
| --delim-start=DELIM_START | 変数挿入用の区切りの開始点です |
| --delim-end=DELIM_END | 変数挿入用の区切りの終了点です |
| -i, --ignore-missing | 足りないローカルファイルは無視します |
| --selinux-context=SELINUX_CONTEXT | SELinux コンテキストを上書きします。 |
| -h, --help | ヘルプメッセージを表示して終了します |
注記
/usr/share/rhn/config-defaults/rhn_web.conf の場合(バイト単位):
maximum_config_file_size = 131072
/usr/share/rhn/config-defaults/rhn_server.conf の場合(バイト単位):
maximum_config_file_size = 131072
/usr/share/rhn/config-defaults/rhn_java.conf (キロバイト単位):
java.config_file_edit_size = 128
4.3.3. 最新の設定ファイルの違いを比較
rhncfg-manager diff --channel=channel-label --dest-file=/path/to/file.txt \ /local/path/to/file--- /tmp/dest_path/example-config.txt config_channel: example-channel revision: 1 +++ /home/test/blah/hello_world.txt 2003-12-14 19:08:59.000000000 -0500 @@ -1 +1 @@ -foo +hello, world
rhncfg-manager diff に使用できるオプションの一覧です。
表4.5 rhncfg-manager diff のオプション
| オプション | 説明 |
|---|---|
| -c CHANNEL, --channel=CHANNEL | この設定チャンネルからファイルを取得します |
| -r REVISION, --revision=REVISION | このリビジョンを使用します |
| -d DEST_FILE, --dest-file=DEST_FILE | このパスにファイルをアップロードします |
| -t TOPDIR, --topdir=TOPDIR | 全てのファイルをこの文字列に対して相対的にします |
| -h, --help | ヘルプメッセージを表示して終了します |
4.3.4. バージョン間の違いの比較
-r フラグを使用して比較するファイルのリビジョンを指定し、-n フラグでチェックする 2 つのチャンネルを特定します。これに関する説明は、「ファイルリビジョン数の判断」 を参照してください。ここでは 1 つのファイルの別のバージョンを比較しているため、1 つのファイル名のみを指定します。例を以下に示します。
rhncfg-manager diff-revisions -n=channel-label1 -r=1 -n=channel-label2 -r=1 /path/to/file.txt--- /tmp/dest_path/example-config.txt 2004-01-13 14:36:41 \ config channel: example-channel2 revision: 1 --- /tmp/dest_path/example-config.txt 2004-01-13 14:42:42 \ config channel: example-channel3 revision: 1 @@ -1 +1,20 @@ -foo +blah +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.0.6 (GNU/Linux) +Comment: For info see http://www.gnupg.org + +iD8DBQA9ZY6vse4XmfJPGwgRAsHcAJ9ud9dabUcdscdcqB8AZP7e0Fua0NmKsdhQCeOWHX +VsDTfen2NWdwwPaTM+S+Cow= +=Ltp2 +-----END PGP SIGNATURE-----
rhncfg-manager diff-revisions に使用できるオプションの一覧です。
表4.6 rhncfg-manager diff-revisions のオプション
| オプション | 説明 |
|---|---|
| -c CHANNEL, --channel=CHANNEL | この設定チャンネルを使用します |
| -r REVISION, --revision=REVISION | このリビジョンを使用します |
| -h, --help | ヘルプメッセージを表示して終了します |
4.3.5. 1 つのチャンネル内のすべてのファイルをダウンロード
rhncfg-manager download-channel channel-label --topdir . Copying /tmp/dest_path/example-config.txt -> \ blah2/tmp/dest_path/example-config.txt
rhncfg-manager download-channel に使用できるオプションの一覧です。
表4.7 rhncfg-manager download-channel のオプション
| オプション | 説明 |
|---|---|
| -t TOPDIR, --topdir=TOPDIR | 全てのファイルパスはこのディレクトリーに対して相対的になります。このオプションは設定しなければなりません。 |
| -h, --help | ヘルプメッセージを表示して終了します |
4.3.6. ファイル内容の取得
rhncfg-manager get --channel=channel-label \ /tmp/dest_path/example-config.txt 4.3.7. チャンネル内の全ファイルの表示
rhncfg-manager list channel-labelFiles in config channel `example-channel3': /tmp/dest_path/example-config.txt
rhncfg-manager get に使用できるオプションの一覧です。
表4.8 rhncfg-manager get のオプション
| オプション | 説明 |
|---|---|
| -c CHANNEL, --channel=CHANNEL | この設定チャンネルからファイルを取得します |
| -t TOPDIR, --topdir=TOPDIR | 全てのファイルをこの文字列に対して相対的にします |
| -r REVISION, --revision=REVISION | このファイルリビジョンを取得します |
| -h, --help | ヘルプメッセージを表示して終了します |
4.3.8. すべての設定チャンネルの一覧表示
rhncfg-manager list-channels Available config channels: example-channel example-channel2 example-channel3 config-channel-14 config-channel-17
local_override チャンネルや server_import チャンネルは表示しないので注意してください。
4.3.9. チャンネルからのファイルの削除
rhncfg-manager remove --channel=channel-label /tmp/dest_path/example-config.txtRed Hat Network username: rhn-user Password: Removing from config channel example-channel3 /tmp/dest_path/example-config.txt removed
rhncfg-manager remove に使用できるオプションの一覧です。
表4.9 rhncfg-manager remove のオプション
| オプション | 説明 |
|---|---|
| -c CHANNEL, --channel=CHANNEL | この設定チャンネルからファイルを削除します |
| -t TOPDIR, --topdir=TOPDIR | 全てのファイルをこの文字列に対して相対的にします |
| -h, --help | ヘルプメッセージを表示して終了します |
4.3.10. 設定チャンネルの削除
rhncfg-manager remove-channel channel-label Removing config channel example-channel Config channel example-channel removed
4.3.11. ファイルリビジョン数の判断
rhncfg-manager revisions channel-label /tmp/dest_path/example-config.txt Analyzing files in config channel example-channel \ /tmp/dest_path/example-config.txt: 1
4.3.12. チャンネル内のファイルの更新
rhncfg-manager update \ --channel=channel-label --dest-file=/path/to/file.txt /local/path/to/filePushing to channel example-channel: Local file example-channel/tmp/dest_path/example-config.txt -> \ remote file /tmp/dest_path/example-config.txt
rhncfg-manager update に使用できるオプションの一覧です。
表4.10 rhncfg-manager update のオプション
| オプション | 説明 |
|---|---|
| -c CHANNEL, --channel=CHANNEL | この設定チャンネルにファイルをアップロードします |
| -d DEST_FILE, --dest-file=DEST_FILE | このパスにファイルをアップロードします |
| -t TOPDIR, --topdir=TOPDIR | 全てのファイルをこの文字列に対して相対的にします |
| --delim-start=DELIM_START | 変数挿入用の区切りの開始点です |
| --delim-end=DELIM_END | 変数挿入用の区切りの終了点です |
| -h, --help | ヘルプメッセージを表示して終了します |
4.3.13. 複数のファイルを一度にまとめてアップロード
rhncfg-manager upload-channel --topdir=topdir channel-labelUsing config channel example-channel4 Uploading /tmp/ola_world.txt from blah4/tmp/ola_world.txt
rhncfg-manager upload-channel に使用できるオプションの一覧です。
表4.11 rhncfg-manager upload-channel のオプション
| オプション | 説明 |
|---|---|
| -t TOPDIR, --topdir=TOPDIR | 全てのファイルパスはこのディレクトリーに対して相対的になります |
| -c CHANNEL, --channel=CHANNEL | 設定情報をアップロードする複数のチャンネルをリストします。 チャンネルとチャンネルの間はコンマ「,」で区切ります。 例: --channel=foo,bar,baz |
| -h, --help | ヘルプメッセージを表示して終了します |
4.4. Red Hat Satellite コマンドラインツール (spacecmd) の使用
spacecmd ツールは Red Hat Satellite の XML-RPC API と対話します。このツールにより、ユーザーはコマンドラインから簡単に Satellite の機能を実行できます。
注記
spacecmd の最初の実行時にユーザー名とパスワードが必要になります。これにより、指定ユーザーのセッションチケットが発行され、その後 spacecmd が使用されると 1 時間後に期限切れになるまでこのセッションが使用されます。ユーザーとパスワードを変更するには、-u USERNAME および -p PASSWORD オプションを使用します。
spacecmd は 2 つの実行方法を使用します。
インタラクティブシェルの使用
spacecmd のみを実行してインタラクティブシェルを開始します。
[root@satellite57 ~]# spacecmd
Welcome to spacecmd, a command-line interface to Spacewalk.
Type: 'help' for a list of commands
'help <cmd>' for command-specific help
'quit' to quit
INFO: Connected to https://localhost/rpc/api as admin
spacecmd {SSM:0}>
spacecmd プロンプトが表示され、System Set Manager (SSM) に接続するシステムの数も表示されます。
system_list を実行します。
spacecmd {SSM:0}> system_list
system001.example.com
system002.example.com
system003.example.com
system004.example.com
...
system_list の後にシステム名を追加して実行します。
spacecmd {SSM:0}> system_listbasechannel system001.example.com
rhel-x86_64-server-6
help コマンドを使用してすべてのコマンドを一覧表示します。
ターミナルの使用
spacecmd コマンドを実行します。たとえば、spacecmd system_list を使用すると、すべてのシステムが表示されます。
[root@satellite57 ~]# spacecmd system_list INFO: Connected to https://localhost/rpc/api as admin system001.example.com system002.example.com system003.example.com system004.example.com ...
spacecmd system_listbasechannel systemname を使用するとシステムのベースチャンネルが表示されます。
[root@satellite57 ~]# spacecmd system_listbasechannel system001.example.com INFO: Connected to https://localhost/rpc/api as admin rhel-x86_64-server-6
spacecmd help を使用するとすべてのコマンドが一覧表示されます。
4.5. Red Hat Satellite Final Archive Tool (spacewalk-final-archive) の使用
spacewalk-final-archive は、Red Hat Satellite 5 サーバーを廃止する前にそのサーバーの最終アーカイブを生成するために使用されます。このコマンドは、/tmp/spacewalk-final/final-archive.tar.bz2 にあるアーカイブファイルを生成します。このアーカイブには以下が含まれます。
archive/db_backupディレクトリーに格納されるデータベースのバックアップ。このバックアップはdb-controlコマンドで作成されます。archive/debugディレクトリーに格納される関連するシステムファイルすべてのコピー。このバックアップはspacewalk-debugコマンドで作成されます。archive/reportsディレクトリーに格納される CSV 形式のレポートすべての最終コピー。このバックアップはspacewalk-reportコマンドで作成されます。archive/transitionディレクトリーに格納される、Red Hat Satellite 6 と使用する CVS 形式の遷移データ。このバックアップはspacewalk-exportコマンドで作成されます。
[root@satellite57 ~]# spacewalk-final-archive
-h オプションを使用して他のオプションを表示します。
第5章 ソフトウェアチャンネルおよびエラータのクローン作成
spacewalk-clone-by-date コマンドを使用すると、Red Hat Enterprise Linux システムに対してエラータが利用可能になった日付でカスタムの Red Hat Enterprise Linux チャンネルのクローンを作成することができるようになります。
5.1. 特長
spacewalk-clone-by-date で利用できる機能を以下に示します。
- 特定の日付のチャンネルのエラータと関連するパッケージの状態のクローンを作成する
- スクリプトとテンプレートファイルでクローン作成を自動化する
- チャンネルからパッケージを削除するか、またはパッケージをブロックする
- 親チャンネルと子チャンネル内のパッケージの依存関係を解決する
- 特定のエラータのみをフィルターおよび対応し、他のエラータは無視する (たとえば、セキュリティーエラータのみに対応し、バグ修正や強化機能は無視)
注記
spacewalk-clone-by-date コマンドは root ユーザー で実行する必要があります。また、username は組織管理者か、またはチャンネル管理者のいずれかにしてください。
重要
spacewalk-clone-by-date is limited to Red Hat Enterprise Linux 5 and higher versions because spacewalk-clone-by-date uses yum metadata to complete dependency resolution.
5.2. 使用例
rhel-i386-server-5 チャンネルを my-clone-RHEL-5 という名前のチャンネルにクローン作成します。
# spacewalk-clone-by-date --username=your_username --password=your_password --server=satellite_server_url --channels=rhel-i386-server-5 my-clone-RHEL-5 --to_date=2012-01-01
重要
# spacewalk-clone-by-date --username=your_username --password=your_password --server=satellite_server_url --channels=rhel-i386-server-5 my-clone-RHEL-5 --to_date=2012-01-01 --security_only --background --blacklist=kernel,vim-extended --assumeyes
spacewalk-clone-by-date の man ページを参照してください。
第6章 OpenSCAP を使用したシステムの保守
6.1. OpenSCAP 機能
6.2. OpenSCAP の前提条件
- システムが標準に適合することを検証するツール。Satellite Server 5.5 以降は、OpenSCAP を監査機能として使用します。これにより Web インターフェースを使ったシステムのコンプライアンススキャンをスケジュールして表示させることが可能になります。
- SCAP のコンテンツSCAP のコンテンツは、少なくとも XCCDF または OVAL を理解していればゼロから作成することができます。XCCDF のコンテンツはオープンソースライセンスで頻繁にオンライン公開されるため、ニーズに合わせてこのコンテンツをカスタマイズすることもできます。
注記
Red Hat ではテンプレートを使用したシステム評価に対応しています。ただし、こうしたテンプレートのカスタムのコンテンツオーサリングについては対応していません。XCCDF のコンテンツを公開している機関の例をいくつか示します。- The United States Government Configuration Baseline (USGCB): 米国連邦機関内のデスクトップ向け公式 SCAP コンテンツです。OVAL を使用し、Red Hat, Inc および国防総省 (DoD) との協同の下 NIST で開発されました。
- コミュニティーが提供するコンテンツ:
- SCAP Security Guide: アクティブなコミュニティーにより運営されるコンテンツで、USGCB 要件や広く認められているポリシーをソースとし、デスクトップやサーバー、 FTP サーバーなどのプロファイルが含まれています。Red Hat Enterprise Linux 6 と JBoss Enterprise Application Server 5. に適しています。
- OpenSCAP コンテンツ - Red Hat Enterprise Linux 6 向け: Red Hat Enterprise Linux 6 のオプションチャンネルから取得できる openscap-content パッケージでは、テンプレートを使ったデフォルトコンテンツのガイダンスを提供しています。
6.3. OpenSCAP の使用における Red Hat Satellite の前提条件
- Satellite Server: Satellite 5.5 またはそれ以降。
- Satellite Client: spacewalk-oscap パッケージ (Red Hat Network Tools 子チャンネルから利用可能)。
スキャンのスケジュールに Management エンタイトルメントが必要です。
Satellite クライアント: XCCDF コンテンツのすべてのクライアントマシン群への配信。
- 従来の方法 (CD、USB、NFS、SCP、FTP)
- Satellite のスクリプト
- RPM パッケージSCAP コンテンツを他のマシンに配信する場合はカスタムの RPM を使用する方法を推奨します。 RPM パッケージはその完全性を保証するために署名を行い、検証することができます。RPM のインストール、削除、および検証はユーザーインターフェースで管理することができます。
6.4. 監査スキャンの実行
6.4.1. Web インターフェースを使った監査スキャン
手順6.1 Web インターフェースを使用した監査スキャンの実行
- Satellite Web インターフェースにログインします。
- → の順にクリックします。
- → の順にクリックします。
新規の XCCDF スキャンをスケジュールページに入力します。このページのフィールドの詳細は 「「スケジュール」ページ」 を参照してください。警告
XCCDF コンテンツは検証後にリモートシステムで実行されます。無効なコマンドライン引数を指定すると、spacewalk-oscapによる検証や実行が失敗する可能性があります。セキュリティー対策上、oscap xccdf evalコマンドが受け入れるのは限られたパラメーターセットのみになります。
注記
rhn_check コマンドを実行して、クライアントシステムで動作が正しく選択されているかどうかを確認します。
# rhn_check -vv
rhnsd や osad がクライアントシステムで実行している場合、アクションはこれらのサービスによって検知されます。これらが実行中であることを確認するには、以下のコマンドのいずれかを実行します。
# service rhnsd start# chkconfig rhnsd onまたは# service osad start# chkconfig osad on
# systemctl enable rhnsd# systemctl start rhnsdまたは# systemctl enable osad# systemctl start osad
6.4.2. API を使った監査スキャン
手順6.2 API を使った監査スキャンの実行
- 既存のスクリプトを選択するか、またはフロントエンドの API
system.scap.scheduleXccdfScanを使ってシステムスキャンのスケジュールを行うスクリプトを作成します。例を以下に示します。#!/usr/bin/python import xmlrpclib client = xmlrpclib.Server('https://satellite.example.com/rpc/api') key = client.auth.login('username', 'password') client.system.scap.scheduleXccdfScan(key, 1000010001, '/usr/local/share/scap/usgcb-rhel5desktop-xccdf.xml', '--profile united_states_government_configuration_baseline')上記の説明は次のとおりです。- 1000010001 は
system ID (sid)です。 /usr/local/share/scap/usgcb-rhel5desktop-xccdf.xmlはクライアントシステム上のコンテンツのある場所へのパスです。この場合、/usr/local/share/scapディレクトリー内の USGCB コンテンツを想定しています。--profile united_states_government_configuration_baselineはoscapコマンドの追加引数です。この場合、USGCB を使用しています。
- いずれかのシステムのコマンドラインインターフェースでスクリプトを実行します。このシステムには適切な python ライブラリと XML-RPC ライブラリをインストールしておく必要があります。
注記
rhn_check コマンドを実行して、クライアントシステムで動作が正しく選択されているかどうかを確認します。
# rhn_check -vv
rhnsd や osad がクライアントシステムで実行している場合には、動作はこれらのサービスによって選択されます。これらが実行中であることを確認するには、以下のコマンドのいずれかを実行します。
# service rhnsd start# chkconfig rhnsd onまたは# service osad start# chkconfig osad on
# systemctl enable rhnsd# systemctl start rhnsdまたは# systemctl enable osad# systemctl start osad
6.4.3. SCAP 監査の結果の表示
- Web インターフェースを使う方法。スキャンの終了後、結果は特定のシステムの ページに表示されます。「OpenSCAP Satellite の Web インターフェース」 を参照してください。
- ハンドラーの
system.scapで API 関数を使う方法。 spacewalk-reportコマンドを使用する方法。次のコマンドを実行します。# spacewalk-report system-history-scap# spacewalk-report scap-scan# spacewalk-report scap-scan-results
6.5. OpenSCAP Satellite の Web インターフェース
6.5.1. OpenSCAP のスキャンページ
6.5.1.1. 全スキャン
- システム: スキャンされたシステム。
- XCCDF プロファイル: 評価を行ったプロファイル。
- 完了: スキャンが完了した時間。
- 合格: 評価の結果が合格になったルール数。ルールは、評価の結果が合格または修正済みのいずれかになる場合に合格とみなされます。
- 不合格: 評価の結果が不合格になったルール数。ルールは、評価の結果が失敗になる場合に不合格とみなされます。
- 不明: 評価に失敗したルール数。ルールは、評価の結果がエラー、不明、またはチェックされていない、などになる場合に不明とみなされます。
6.5.1.2. XCCDF 差分
差分 の出力にアクセスできます。または、任意のスキャンの ID を指定することもできます。
6.5.1.3. 高度な検索
- ルールの結果
- 対象マシン
- スキャンの時間枠
6.5.2. 「システム監査 (Systems Audit)」ページ
SCAP (Security Content Automation Protocol) を実装する OpenSCAP ツールで行います。システムのスキャンを行う場合は、SCAP コンテンツの準備が整い、要件がすべて満たされていることを確認してください。
6.5.2.1. スキャンの一覧
表6.1 OpenSCAP スキャンのラベル
| コラムのラベル | 定義 |
|---|---|
| Xccdf のテスト結果 | スキャンの結果詳細へのリンクになっているスキャンテストの結果の名前 |
| 完了 | スキャンが終了した正確な時間 |
| コンプライアンス | 標準的な使用に基づくコンプライアンスの加重のない合格/不合格の配分 |
| P | 合格のチェック数 |
| F | 不合格のチェック数 |
| E | スキャン中に発生したエラー数 |
| U | 不明 |
| N | このマシンには適用不可 |
| K | チェックされていない |
| S | 選択されていない |
| I | 情報 |
| X | 修正済み |
| 合計 | チェック合計数 |
No difference between the compared scans.
Arbitrary differences between the compared scans.
Major differences between the compared scans. Either there are more failures than the previous scan or less passes.
No comparable scan was found, and therefore no comparison was made.
6.5.2.2. スキャンの詳細
このセクションには、次のようなスキャンについての詳細が表示されます。
ファイルシステムパス:スキャンに使用された XCCDF ファイルへのパスコマンドラインの引数:使用されたすべての追加コマンドラインの引数プロファイル識別子:スキャンに使用されたプロファイルの識別子プロファイルのタイトル:スキャンに使用されたプロファイルのタイトルスキャンのエラー出力:スキャン中に発生したエラー。
ルールの結果では、XCCDF ルール識別子の全一覧が表示され、各ルールチェックの結果のタグと結果を確認することができます。この一覧は特定の結果でフィルターをかけることができます。
6.5.2.3. 「スケジュール」ページ
- コマンドラインの引数:
oscapコマンドのオプションの引数になります。以下のいずれかになります。--profile PROFILE: XCCDF ドキュメントから特定のプロファイルを指定します。プロファイルは、XCCDF XML ファイル内のプロファイルタグで決定されます。所定の XCCDF ファイル内でプロファイルの一覧を確認するにはoscapコマンドを使用します。例えば、以下のようになります。$ oscap info /usr/share/openscap/scap-rhel6-xccdf.xml Document type: XCCDF Checklist Checklist version: 1.1 Status: draft Generated: 2011-10-12 Imported: 2012-11-15T22:10:41 Resolved: false Profiles: RHEL6-Default指定されていない場合は、デフォルトのプロファイルが使用されます。注記
Red Hat Enterprise Linux 5 の以前のバージョンの OpenSCAP には、--profileオプションを使用しないとスキャンが失敗するものがあります。--skip-valid: 入力や出力のファイルの検証を行いません。XCCDF コンテンツが適切な形式で構成されていない場合、このオプションを使用するとファイル検証のプロセスを回避することができます。
- XCCDF ドキュメントへのパス: これは必須フィールドになります。
pathパラメーターでクライアントシステム上の XCCDF コンテンツの場所をポイントします。例えば、/usr/local/scap/dist_rhel6_scap-rhel6-oval.xmlなどです。警告
XCCDF コンテンツは検証が行われると、リモートシステムで実行されます。無効な引数を指定すると、spacewalk-oscapによる検証や実行が失敗する可能性があります。セキュリティ対策上、oscap xccdf evalコマンドが受け取るのは限られたパラメーターセットのみになります。
第7章 クライアントソフトウェアの障害レポート
7.1. 単一クライアントのソフトウェア障害の表示
手順7.1 単一クライアントのソフトウェア障害の表示
- Red Hat Satellite Web UI にログインします。
- 登録済みのシステムで発生したソフトウェア障害の一覧を表示するには、 → → → の順にクリックします。
- 該当する障害をクリックし、その詳細とソフトウェア障害レポートのためにキャプチャーされたファイルを表示します。
7.2. 類似するソフトウェア障害の分類
手順7.2 複数のクライアントでの類似するソフトウェア障害を表示するには
- Red Hat Satellite Web UI にログインします。
- すべての登録済みシステムにおけるすべてのソフトウェア障害の一覧を表示するには、 → の順にクリックします。
- ソフトウェア障害で影響を受けるシステムを表示するには、クラッシュ UUID をクリックします。
- 特定のシステムをクリックし、詳細と個別のソフトウェア障害レポート用に取り込まれたファイルを表示します。
7.3. ソフトウェア障害レポートについての組織全体の設定の変更
手順7.3 ソフトウェア障害に対して組織全体の設定を変更
- Satellite Web UI で、 → → の順にクリックします。
- 組織全体の設定とアップロードサイズの設定を変更し、組織の更新 をクリックします。
7.4. ソフトウェア障害のログファイル
/var/satellite/systems/$org_id/$system_id/crashes/$crash_name/ ディレクトリーに物理的に格納されます。
第8章 Red Hat Satellite レポートの生成
channel-packages- チャンネル内のパッケージchannels- チャンネルレポートcustom-info- システムカスタム情報の表示entitlements- エンタイトルメントとチャンネルの一覧と使用errata-channels- チャンネル内のエラータの一覧errata-list- システムに対するコンプライアンス検査に基づくエラータ情報errata-list-all- 全エラータの一覧errata-systems- 影響を受ける各システムに適用できる各エラータの一覧inactive-systems- Satellite 内の休止中のシステムinventory- インベントリレポートkickstartable-trees- キックスタート可能なツリーの一覧packages-updates-all- アップグレード可能なパッケージの一覧packages-updates-newest- アップグレード可能なパッケージの一覧scap-scan- OpenSCAP xccdf の評価の結果scap-scan-results- OpenSCAP xccdf の評価の結果system-crash-count- システムのクラッシュ数system-crash-details- システムのクラッシュの詳細system-currency- システムの状態の一覧system-groups- Satellite 内のシステムグループsystem-groups-keys- システムグループのアクティベーションキーsystem-groups-systems- システムグループ内のシステムsystem-groups-users- システムグループのユーザーレポートsystem-history- システムのイベント履歴system-history-channels- チャンネルのイベント履歴system-history-configuration- 設定のイベント履歴system-history-entitlements- システムのエンタイトルメントに関するイベント履歴system-history-errata- エラータに関するイベント履歴system-history-kickstart- キックスタートに関するイベント履歴system-history-packages- パッケージに関連するイベント履歴system-history-scap- OpenSCAP に関するイベント履歴system-packages-installed- システムにインストールされたパッケージusers- システム内のユーザーusers-systems- 個別ユーザーが管理するシステム
spacewalk-report コマンドを使用します。
# spacewalk-report report-name
注記
-h オプションを使って spacewalk-report コマンドを実行します。
第9章 Red Hat Satellite の管理タスクのスケジューリング
taskomatic サービスを使った長期的な操作を定期的に実行することができます。これらの操作は個別の作業に分けられ、スケジュールで定義される バンチ に論理的に分類されます。これらのスケジュールは、特定の時間の間隔で実行するように変更することができます。Satellite のスケジュールは、以下を目的として使用されます。
- 作業を自動化して、組織管理者から管理上の負担を取り除く。
- 組織の日々のネットワークトラフィックに負担をかけない時間枠に操作上の作業をスケジュールする。
表9.1 Red Hat Satellite 5.8 でのデフォルトのスケジュール
| スケジュール名 | バンチ名 | バンチ機能 |
|---|---|---|
| channel-repodata-default | channel-repodata-bunch | チャンネルのリポジトリーデータを生成する。 |
| cleanup-data-default | cleanup-data-bunch | 古く無効になったまま残されたデータを消去する。 |
| clear-taskologs-default | clear-taskologs-bunch | taskomatic 実行ログ履歴を消去する。 |
| cobbler-sync-default | cobbler-sync-bunch | cobbler 設定変更を適用する。 |
| compare-configs-default | compare-configs-bunch | 全システムでの設定ファイルの比較をスケジュールする。 |
| daily-status-queue | daily-status-bunch | デイリーレポートを送信する。 |
| errata-cache-default | errata-cache-bunch | 特定のサーバーまたはチャンネル用のエラータキャッシュを再計算する。 |
| errata-queue-default | errata-queue-bunch | エラータを処理する。 |
| kickstart-cleanup-default | kickstart-cleanup-bunch | 古くなったキックスタートを消去する。 |
| kickstartfile-sync-default | kickstartfile-sync-bunch | ウィザードを使って生成したキックスタートプロファイルを同期する。 |
| package-cleanup-default | package-cleanup-bunch | 孤立しているパッケージを消去する。 |
| sandbox-cleanup-default | sandbox-cleanup-bunch | サンドボックスを消去する。 |
| satcert-check-default | satcert-check-bunch | Satellite 証明書の有効期限の状態を判別する。 |
| session-cleanup-default | session-cleanup-bunch | 期限切れの行が増大しすぎないよう PXTSessions テーブルから削除する。 |
9.1. 実行 (Run) のスケジューリング
手順9.1 スケジュールテンプレートの作成
- 組織管理者として Satellite にログインします。
- → → の順にクリックします。
- 以下のフィールドに入力します。
- スケジュール名: 先頭は文字で開始します。使用できるのは小文字、ハイフン、ピリオド、下線、または数字のみになります。
- バンチ: 管理者が選択できる管理作業のデフォルトのバンチ。
- 頻度頻度については、以下のオプションを使用できます。
- スケジュールを無効にする: スケジュールされる作業とその結果についての詳細の知識を持つ管理者のみに推奨されます。スケジュールを無効にすることで、Satellite の動作を変更できます。
- 毎日: 指定される時間に、日次のスケジュールを作成します。
- 毎週: 指定される日と時間に、週次のスケジュールを作成します。
- 毎月: 指定される日と時間に、月次のスケジュールを作成します。
- カスタム Quartz 形式: この形式では、Cron 式に基づいてスケジュールを定義します。この形式について詳しくは、crontab man ページ (
man 5 crontab) を参照してください。
- をクリックします。
手順9.2 スケジュールテンプレートの編集
- 組織管理者として Satellite にログインします。
- → の順にクリックします。
- 変更するスケジュールをクリックします。
- 必要に応じて頻度のタイプを変更します。
- をクリックします。
9.2. セルフサブスクライブされた Red Hat Satellite の設定
cdn-sync コマンドを使用して新しいパッケージとコンテンツを Red Hat CDN から取得できます。
重要
- セルフサブスクライブされた Satellite は自身の登録を他のクライアントシステムの登録と同様に処理します。セルフサブスクライブされた Satellite を誤って変更しないようにするには、システムプロファイルの システムのロック を使用して、セルフサブスクライブされた Satellite のシステムプロファイルをロックします。
- セルフサブスクライブされた Satellite は
osadを使用できません。 クライアント側のosadパッケージをインストールすると、Satellite のプロビジョニング機能は動作しません。
9.2.1. セルフサブスクライブされた Satellite のインストールおよび設定
手順9.3 セルフサブスクライブされた Satellite のインストールおよび設定
- 『Red Hat Satellite 5 インストールガイド』 の 『シナリオ 1: 組み込みデータベースを使用する Satellite のインストール』 にある手順にしたがって Red Hat Enterprise Linux をインストールします。インストールを非接続モードで実行する必要があります。
- インストール後、
/etc/rhn/rhn.conf設定ファイルにあるdisconnectedパラメーターの値を0に戻し、次のステップでcdn-syncコマンドを使用できるようにします。disconnected=0
cdn-syncコマンドを使用して、Satellite サーバーにインストールされた Red Hat Enterprise Linux のバージョンと一致するベースチャンネルをダウンロードおよびインポートします。cdn-syncコマンドを使用すると Red Hat CDN から必要なファイルをインポートできます。任意でsatellite-syncコマンドを使用すると、ダウンロードできるベースチャンネルコンテンツ ISO をインポートできます。- Satellite 5 の web インターフェースを使用して、インポートしたベースチャンネルをクローンしたチャンネルを作成します。詳細は 5章ソフトウェアチャンネルおよびエラータのクローン作成 を参照してください。
- 以下のコマンドを使用して、クライアント側の Satellite SSL 証明書を Satellite サーバーにインストールします。
# rpm -Uvh /var/www/html/pub/rhn-org-trusted-ssl-cert-1.0-1.noarch.rpm
- Satellite のホスト名と SSL 証明書を使用するよう、
/etc/sysconfig/rhn/up2dateを編集してRed Hat Update Agentを再設定します。以下のオプションを変更します。sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT noSSLServerURL=http://satellite-server-hostname/XMLRPC serverURL=https://satellite-server-hostname/XMLRPC
- Register the Satellite server:
# rhnreg_ks --username satellite_username --password satellite_password
- Satellite web インターフェースにログインします。 → に移動し、ドロップダウンメニューからクローンしたベースチャンネルを選択します。 をクリックします。
9.2.2. セルフサブスクライブされた Satellite 機能のテスト
手順9.4 セルフサブスクライブされた Satellite 機能のテスト
- Red Hat CDN と同期されていることを検証します。
# cdn-sync -l
cdn-syncコマンドを実行すると、同期可能なチャンネルがすべて表示されます。以下は出力の例になります。17:34:02 p = previously imported/synced channel 17:34:02 . = channel not yet imported/synced
- パッケージ更新のソースを検証します。
- Red Hat Enterprise Linux 6:
yum check-update
Red Hat CDN からではなく Satellite からパッケージがダウンロードされることを示す情報が表示されるはずです。
9.2.3. セルフサブスクライブされた Satellite でのクライアント側のアプリケーション機能
重要
- ここには、テスト済みのクライアント側アプリケーションのみが記載されています。
- Red Hat は、管理者が登録済みのセルフサブスクライブされた Satellite を Satellite web インターフェース内でロックすることを推奨します。これにより、スケジュールされたイベントが実行されないようにします。Satellite のロックを解除する前に、保留中のイベントを確認して実行したくないイベントを削除してください。
- Red Hat は、管理者がセルフサブスクライブされた Satellite のエンタイトルメントを Management レベルにし、Provisioning エンタイトルメントを使用しないことを推奨します。これにより、Satellite サーバーに悪影響を与える変更や意図的でない変更が行われないようにします。
- セルフサブスクライブされた Satellite に Provisioning エンタイトルメントを使用する場合は、Satellite を使用して再度プロビジョニングを行わないでください。Satellite は Red Hat Enterprise Linux オペレーティングシステムの再インストールを試みますが、再起動時に Red Hat インストールプログラムはインストールの実行に必要なパッケージを Satellite からダウンロードすることができません。特に、外部のキックスタートツリーが使用された場合、データが損失し、サービスが中断するリスクが高くなります。
- Red Hat Update Agent ツールThe
rhn_check,rhnsdand,yumpackages will all function normally on a self-subscribed Satellite. - Push
osadパッケージはインストールされません。osadパッケージはパッケージをクライアントシステムにプッシュするために使用されますが、これはサーバー側のosa-dispatcherパッケージと競合します。セルフサブスクライブされた Satellite ではosadのインストールを強制しないでください。 - 設定クライアントツールThe
rhncfg-clientpackage will function normally. - 設定管理ツール
rhncfg-managerパッケージは正常に動作します。 - カスタム情報
rhn-custom-infoパッケージは正常に動作します。
第10章 トラブルシューティング
tail -f コマンドを発行してから yum list を実行するのが効果的です。解決の手がかりがあるかどうかについて、ログのエントリーをすべて調べます。
- 10.1. ディスク領域
- 10.2. インストールと更新
- 10.3. Services
- 10.4. 接続性
- 10.5. ログとレポート機能
- 10.6. エラー
- 問: Red Hat Satellite のインストール中に「Error validating satellite certificate (Satellite 証明書の検証中にエラーが発生しました)」のエラーが表示されます。どうしたら修復できますか?
- 問: Red Hat Satellite のアクティベートや同期を行おうとすると「ERROR: server.mount_point not set in the configuration file (エラー: server.mount_point が設定ファイル内に設定されていません)」のエラーが表示されます。どうしたら修復できますか?
- 問: 別のバージョンの yum-utils が必要だというエラーメッセージが cobbler check で表示されるのはどうしてですか?
- 問: Red Hat Satellite 証明書をアクティベートしようとすると「unsupported version (バージョンがサポートされていません)」のエラーが表示されます。どうしたら修復できますか?
- 問: キックスタートプロファイルを編集しようとすると「Internal Server Error (内部サーバーのエラー)」が表示され ASCII についての問題が指摘されます。何が問題なのでしょうか?
- 問: 「Host Not Found (ホストが見つかりません)」または「Could Not Determine FQDN (完全修飾ドメイン名を確定できませんでした)」のエラーが表示されます。どうしたらよいでしょうか?
- 問: Red Hat Satellite サーバーを同期しようとすると「This server is not an entitled Satellite (このサーバーはエンタイトルメントを有する Satellite ではありません)」というメッセージが表示されます。どうしたら修復できますか?
- 10.7. Web インターフェース
- 10.8. Anaconda
- 10.9. トレースバック
- 10.10. 登録
- 10.11. キックスタートとスニペット
- 10.12. 複数組織向けの Satellite と Satellite 証明書
- 10.13. プロキシのインストールと設定
- 問: Red Hat Network Package Manager の設定後に、ローカルパッケージがプライベート Red Hat Network チャンネルに正しく追加されたかどうかをどのように判別できますか?
- 問: クライアント群が Squid サーバーに接続しているかどうかは、どうしたら確認することができますか?
- 問: クライアントシステムの Red Hat Update Agent が Red Hat Satellite Proxy に接続されません。どうしたらこのエラーを解決できますか?
- 問: Red Hat Satellite Proxy 設定が動作しません。どこからトラブルシューティングを開始したらよいですか?
- 問: Red Hat Satellite Proxy の全般的な問題はどのように調査/解決できますか?
- 問: Red Hat Satellite Proxy に「Host Not Found (ホストが見つかりません)」または「Could Not Determine FQDN (完全修飾ドメイン名を確定できませんでした)」のエラーが発生しました。どうしたらよいでしょうか?
- 問: Red Hat Satellite Proxy の不具合とネットワーク接続のエラーが生じました。どうしたらよいでしょうか?
- 問: パッケージ配信のエラーとオブジェクトの破損が生じました。何をチェックしたらよいですか?
10.1. ディスク領域
# df -h
# /usr/sbin/rhn-satellite status
# service httpd status
10.2. インストールと更新
audit.log ファイルを用意してください。このファイルは /var/log/audit/audit.log にあります。サポートチームの担当が支援できるようサポートチケットにファイルを添付できます。
/var/satellite を NFS マウントに変更しました。このため SELinux が正常に動作しなくなってしまいました。どうしたらいいですか?
# /usr/sbin/setsebool -P spacewalk_nfs_mountpoint on
# /usr/sbin/setsebool -P cobbler_use_nfs on
- Red Hat Developer Suite
- Red Hat Application Server
- Red Hat Extras
- JBoss 製品のチャンネル
10.3. Services
/etc/hosts ファイル内のエントリーが正しくない可能性があります。
# service taskomatic status
# db-control status
# service jabberd stop # rm -f /var/lib/jabberd/db/_db* # service jabberd start
10.4. 接続性
/etc/rhn/rhn.confにある正しい接続文字列を使ってコマンドラインから Red Hat Satellite のデータベースへの接続を試行します。# sqlplus username/password@sid
- Red Hat Satellite でネットワーク時刻プロトコル (NTP) が使用され、また適切なタイムゾーンに設定されていることを確認します。同様に、すべてのクライアントシステムおよびスタンドアローンのデータベースと動作する Red Hat Satellite の単独データベースマシンについても適切な設定になっていることを確認してください。
- 適切なパッケージを確認します。
rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm上記のパッケージが Red Hat Satellite にインストールされ、また対応するrhn-org-trusted-ssl-cert-*.noarch.rpmまたは Raw 形式の CA SSL パブリック (クライアント) 証明書がすべてのクライアントシステムにインストールされていることを確認します。 - クライアントシステムが適切な証明書を使用するよう設定されていることを確認します。
- また、1 つまたは複数の Red Hat Satellite Proxy Server を使用している場合は、各プロキシの SSL 証明書も正しく用意されていることを確認します。プロキシには、両方向に対応するためプロキシ独自のサーバー用 SSL キーペアと CA SSL パブリック (クライアント用) 証明書の両方がインストールされていなければなりません。詳しい説明については、『Red Hat Satellite クライアント設定ガイド』 の SSL 証明書の章を参照してください。
- 『Red Hat Satellite インストールガイド』 の 『その他の要件』 のセクションにあるように、必要なポートをブロックするファイアウォールをクライアントシステム自体が使用していないか確認します。
# rm -rf temporary-directory
注記
/var/rhn-sat-import/ を指定しています。
SSL_CONNECT のエラーで示される一般的な接続の問題は、時間が不適切に設定されているマシンに Satellite がインストールされていることが原因です。Satellite のインストール過程で SSL 証明書が誤った時間で作成され、その後に Satellite の時間が修正されると、証明書の開始日と時刻が未来に設定されることがあり、これにより証明書が無効になってしまいます。
# date
# openssl x509 -dates -noout -in /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
# openssl x509 -dates -noout -in /etc/httpd/conf/ssl.crt/server.crt
10.5. ログとレポート機能
/var/log/rhn/ ディレクトリー内には、番号付けされたログファイル (例: /var/log/rhn/rhn_satellite_install.log.1、/var/log/rhn/rhn_satellite_install.log.2など) が存在する場合があります。これらは、回転 ログで、現行の rhn_satellite_install.log ファイルが logrotate(8) デーモンにより指定されたサイズに達して一杯になった時に、コンテンツが回転ログファイルに書き込まれ、<NUMBER> の拡張子付きで作成されるログファイルです。例えば、rhn_satellite_install.log.1 には、最も古い回転ログファイルが含まれる一方、rhn_satellite_install.log.4 には最も新しい回転ログが含まれます。
表10.1 ログファイル
| コンポーネント/タスク | ログファイルの場所 |
|---|---|
| Apache Web server | /var/log/httpd/ ディレクトリー |
| Red Hat Satellite | /var/log/rhn/ ディレクトリー |
| Red Hat Satellite Installation Program | /var/log/rhn/rhn_satellite_install.log |
| データベースのインストール - 組み込みのデータベース | /var/log/rhn/install_db.log |
| データベースへのデータ取り込み | /var/log/rhn/populate_db.log |
| Red Hat Satellite Synchronization Tool | /var/log/rhn/rhn_server_satellite.log |
| Red Hat Network DB Control - 組み込みのデータベース | /var/log/rhn/rhn_database.log |
| Red Hat Network Task Engine (taskomatic) | /var/log/messages |
| yum | /var/log/yum.log |
| XML-RPC のトランザクション | /var/log/rhn/rhn_server_xmlrpc.log |
spacewalk-report の使い方を教えてください。
spacewalk-report コマンドが Red Hat Satellite には同梱されています。
注記
spacewalk-report を使用する場合、spacewalk-reports パッケージを先にインストールしておく必要があります。
spacewalk-report では、管理者による Satellite 全体のコンテンツ、エラータ、システム群、システムイベント履歴、およびユーザーなどのリソースに関するレポートの生成と表示が可能です。以下のように spacewalk-report コマンドを使ってレポートを生成します。
- システムインベントリ - Satellite に登録されているすべてのシステムを一覧表示します。
- エンタイトルメント - Satellite 上のすべての組織をシステム別またはチャンネルエンタイトルメント別に表示します。
- エラータ - 登録されているシステムに関連した全エラータを重度別、ならびに特定のエラータに適用されるシステム別に表示します。
- ユーザー - Satellite に登録されている全ユーザーと、特定のユーザーに関連付けされているシステムを表示します。
- システム履歴 - 発生した全システムイベントまたは一部のシステムイベントを表示します。
# spacewalk-report report_name
表10.2 spacewalk-report レポート
| レポート | 以下として呼び出し | 説明 |
|---|---|---|
| グループ監査 | audit-server-groups | グループでのユーザー変更の監査 |
| サーバー監査 | audit-servers | サーバー変更の監査 |
| ユーザー監査 | audit-users | ユーザー変更の監査 |
| パッケージレポート | channel-packages | パッケージおよびパッケージのチャンネルを表示 |
| チャンネル | channels | サーバーで利用できるチャンネルを表示 |
| クローンされたチャンネル | cloned-channels | クローンされたチャンネルを表示 |
| カスタム情報 | custom-info | システムに関するカスタム情報を表示 |
| エンタイトルメント | entitlements | Satellite 上の全組織とそのシステムまたはチャンネルのエンタイトルメントを表示 |
| チャンネル内のエラータ | errata-channels | チャンネル内のエラータを表示 |
| エラータのコンプライアンス | errata-list | コンプライアンス情報からエラータの詳細をリストします。 |
| すべてのエラータ | errata-list-all | すべてのエラータの全一覧 |
| システムのエラータ | errata-systems | 適用できるエラータと影響を受ける登録システムをすべて表示 |
| リレーションシップマッピング | host-guests | ホストとゲストのマッピング詳細を提供 |
| 休止中のシステム | inactive-systems | |
| システムインベントリ | inventory | サーバーに登録されているシステムとそのハードウェアおよびソフトウェア情報を表示 |
| キックスタートツリー | kickstartable-trees | キックスタート可能なツリーを表示 |
| パッケージの更新 | packages-updates-all | アップデート可能なすべてのパッケージを表示 |
| 最新のパッケージ更新 | package-updates-newest | パッケージの最新更新を表示 |
| SCAP スキャン | scap-scan
scap-scan-results
| OpenSCAP xccdf 評価の結果を表示 |
| Splice レポート | splice-export | レポート強化のための splice 統合に必要なシステムデータの表示 |
| クラッシュ数 | system-crash-count | システムがクラッシュした回数を表示 |
| クラッシュの詳細 | system-crash-details | システムのクラッシュの詳細を表示 |
| システムの状態 | system-currency | システムの状態値を表示 |
| システムグループ | system-groups | Satellite サーバーのシステムグループを表示 |
| グループアクティベーションキー | system-groups-keys | システムグループの既存のアクティベーションキーをすべて表示 |
| システムグループのシステム | system-groups-systems | 各グループ内のシステムグループとシステムをすべて表示 |
| システムグループのユーザー | system-groups-users | すべてのシステムグループとそれらの関連ユーザーを表示 |
| システム履歴 | system-history | システムのイベント履歴を表示 |
| システム履歴チャンネル | system-history-channels | システムのイベント履歴を表示 |
| システム履歴 (設定) | system-history-configuration | システムの設定に関連するイベントの履歴を表示 |
| システム履歴 (エンタイトルメント) | system-history-entitlements | システムのエンタイトルメントに関連するイベントの履歴を表示 |
| システム履歴 (エラータ) | system-history-errata | システムのエラータに関連するイベントの履歴を表示 |
| システム履歴 (キックスタート) | system-history-kickstart | システムのキックスタートとプロビジョニングに関連するイベントの履歴を表示 |
| システム履歴 (パッケージ) | system-history-packages | システムのパッケージに関連するイベントの履歴を表示 |
| SCAP イベント履歴 | system-history-scap | システムの OpenSCAP イベント履歴を表示 |
| インストール済みパッケージ | system-packages-installed | システムにインストールされたすべてのパッケージを表示 |
| システム内のユーザー | users | Satellite に登録されている全ユーザーを表示 |
| 管理対象システム | users-systems | 個別ユーザーで管理が可能なシステムを表示 |
spacewalk-report に --info または --list-fields-info のオプションとレポート名を指定して実行します。レポート内に使用可能なフィールドの説明と一覧が表示されます。
spacewalk-report(8) man ページおよび spacewalk-report プログラムの --help パラメータを使用すると、プログラムの起動とそのオプションについての追加情報を取得することができます。
# rhn-schema-version
# rhn-charsets
/etc/rhn/rhn.conf 内の traceback_mail に正しいアドレスが設定されているか確認してください。
web.default_mail_from オプションと適切な値を /etc/rhn/rhn.conf に追加します。
10.6. エラー
install.log ファイルに以下のようなエラーの記載がないか確認します。
ERROR: unhandled exception occurred:
Traceback (most recent call last):
File "/usr/bin/rhn-satellite-activate", line 45, in ?
sys.exit(abs(mod.main() or 0))
File "/usr/share/rhn/satellite_tools/rhn_satellite_activate.py", line 585, in main
activateSatellite_remote(options)
File "/usr/share/rhn/satellite_tools/rhn_satellite_activate.py", line 291, in activateSatellite_remote
ret = s.satellite.deactivate_satellite(systemid, rhn_cert)
File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 603, in __call__
return self._send(self._name, args)
File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 326, in _request
self._handler, request, verbose=self._verbose)
File "/usr/lib/python2.4/site-packages/rhn/transports.py", line 171, in request
headers, fd = req.send_http(host, handler)
File "/usr/lib/python2.4/site-packages/rhn/transports.py", line 698, in send_http
self._connection.connect()
File "/usr/lib/python2.4/site-packages/rhn/connections.py", line 193, in connect
sock.connect((self.host, self.port))
File "<string>", line 1, in connect
socket.timeout: timed out- 分離モードでインストールスクリプトを実行し、すでに実行済みのデータベースのインストールは省略します。
# ./install.pl --disconnected --skip-db-install
- テキストエディターで
/etc/rhn/rhn.confを開き、以下の行を追加または変更します。server.satellite.rhn_parent = satellite.rhn.redhat.com
以下の行を削除します。disconnected=1
Red Hat Network への接続にプロキシーを使用している場合には、以下の行を追加または変更してプロキシーの設定も反映させる必要があります。server.satellite.http_proxy = <hostname>:<port> server.satellite.http_proxy_username = <username> server.satellite.http_proxy_password = <password>
- Satellite を再度接続モードに切り替えるには、root ユーザーとして
rhn-satellite-activateコマンド使用します。コマンドには Satellite 証明書のパスとファイル名を追加してください。# rhn-satellite-activate --rhn-cert=/path/to/file.cert
install.pl スクリプトを実行します。この場合、--answer-file=answer file のオプションを使用します。以下に示したような HTTP プロキシの情報を回答ファイルに組み込みます。
rhn-http-proxy = <hostname>:<port> rhn-http-proxy-username = <username> rhn-http-proxy-password = <password>
/etc/rhn/rhn.conf 内の mount_point 設定パラメータがディレクトリーパスをポイントしていない場合か、ポイントしているディレクトリーパスが存在しない場合か、またはディレクトリーにアクセスするパーミッションがない場合に発生する可能性があります。
/etc/rhn/rhn.conf 内の mount_point 設定パラメータの値をチェックします。/var/satellite のデフォルト値に設定されている場合には、 /var/satellite と /var/satellite/redhat のディレクトリーが確かに存在していることを確認します。すべての値に対してファイルへのパスが正しく設定されていること、およびパーミッションが適切に設定されていることを確認します。
yum-utils が必要だというエラーメッセージが cobbler check で表示されるのはどうしてですか?
cobbler check コマンドを実行すると以下のようなエラーが表示される場合があります。
# cobbler check The following potential problems were detected: #0: yum-utils need to be at least version 1.1.17 for reposync -l, current version is 1.1.16
reposync パッケージでは既知の問題です。このエラーは擬似エラーのため無視して構いません。このエラーは、今後の Red Hat Satellite バージョンで解決される予定です。
ERROR: <Fault -2: 'unhandled internal exception: unsupported version: 96'>
RHN_PARENT: satellite.rhn.redhat.com
Error reported from RHN: <Fault -2: 'unhandled internal exception: unsupported version: 115'>
ERROR: unhandled XMLRPC fault upon remote activation: <Fault -2: 'unhandled internal exception: unsupported version: 115'>
ERROR: <Fault -2: 'unhandled internal exception: unsupported version: 115'>Invalid satellite certificate
'ascii' codec can't encode character u'\u2013'
- root ユーザーとして Satellite サーバー に対して直接 ssh を実行します。
# ssh root@satellite.fqdn.com
- 問題の原因となっているキックスタートプロファイルを特定するには、
/var/lib/cobbler/config/profiles.dのファイルの日付を確認して、最近に編集されたファイルを見つけます。# ls -l /var/lib/cobbler/config/profiles.d/
- 希望のテキストエディタでプロファイルを開き、以下のようなテキストを探します。
\u2013hostname
エントリーを以下のように変更します。--hostname
- プロファイルへの変更を保存して、ファイルを閉じます。
- Red Hat Satellite サービスを再起動し、更新されたプロファイルを取得します。
# rhn-satellite restart Shutting down rhn-satellite... Stopping RHN Taskomatic... Stopped RHN Taskomatic. Stopping cobbler daemon: [ OK ] Stopping rhn-search... Stopped rhn-search. Stopping MonitoringScout ... [ OK ] Stopping Monitoring ... [ OK ] Stopping httpd: [ OK ] Stopping tomcat5: [ OK ] Shutting down osa-dispatcher: [ OK ] Shutting down Oracle Net Listener ... [ OK ] Shutting down Oracle DB instance "rhnsat" ... [ OK ] Shutting down Jabber router: [ OK ] Done. Starting rhn-satellite... Starting Jabber services [ OK ] Starting Oracle Net Listener ... [ OK ] Starting Oracle DB instance "rhnsat" ... [ OK ] Starting osa-dispatcher: [ OK ] Starting tomcat5: [ OK ] Starting httpd: [ OK ] Starting Monitoring ... [ OK ] Starting MonitoringScout ... [ OK ] Starting rhn-search... Starting cobbler daemon: [ OK ] Starting RHN Taskomatic... Done.
- Web インターフェースに戻ります。インターフェースがサービスを解決するのにしばらく時間がかかる場合がありますが、しばらくすると通常の状態に戻るはずです。
/etc/hosts ファイルが原因で生じます。ドメイン名解決の順序と方法を定義する /etc/nsswitch.conf を調べると確認できます。通常、/etc/hosts ファイルが最初にチェックされた後、NIS (Neetwork Information Service) を使用している場合はこのサービス、次に DNS の順でチェックされて行きます。Apache Web server が起動して Red Hat Network クライアントのアプリケーション群が動作するには、これらのいずれかが成功しなければなりません。
/etc/hosts ファイルの内容を確認します。次のようになっています。
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
127.0.0.1 localhost.localdomain.com localhost
127.0.0.1 localhost.localdomain.com localhost 123.45.67.8 this_machine.example.com this_machine
satellite-sync でサーバーが Red Hat Satellite としてアクティベートされていないと報告される場合は、サーバーがそれぞれの Red Hat Satellite チャンネルにサブスクライブされていません。新規インストールしたシステムの場合は、Satellite の証明書がそのシステムでアクティベートされていることを確認します。以前に証明書をアクティベートしている場合には、それが停止されています。
# yum repolist
# rhn-satellite-activate -vvv --rhn-cert=/path/to/certificate
10.7. Web インターフェース
/var/log/tomcat5/catalina.out ログファイルをチェックしてください。
/var/log/httpd/error_log ログファイルをチェックします。
10.8. Anaconda
Error downloading kickstart file (キックスタートファイルのダウンロードでエラーが発生しました) というエラーが表示されます。何が問題なのでしょうか。どのようにしたら修復できますか。
cobbler check のコマンドを実行して出力を確認します。以下のような出力が表示されるはずです。
# cobbler check The following potential problems were detected: #0: reposync is not installed, need for cobbler reposync, install/upgrade yum-utils? #1: yumdownloader is not installed, needed for cobbler repo add with --rpm-list parameter, install/upgrade yum-utils? #2: The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed #3: fencing tools were not found, and are required to use the (optional) power management features. install cman to use them
cobbler check で問題が究明できない場合には、以下の点を確認してください。
httpdが実行されているかを確認します。service httpd statuscobblerdが実行されているかを確認します。service cobblerd statuswgetを使用して、異なるホストからキックスタートファイルを取得できることを確認します。wget http://satellite.example.com/cblr/svc/op/ks/profile/rhel5-i386-u3:1:Example-Org
The file chkconfig-1.3.30.1-2.i386.rpm cannot be opened. (chkconfig-1.3.30.1-2.i386.rpm のファイルは開くことができません) というパッケージインストールエラーが表示されます。何が問題なのでしょうか。どのようにしたら修復できますか。
--url パラメータに基づいて Red Hat Satellite からコンテンツを取得します。例:
url --url http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3
200 OK の応答を生成することを確認します。これは、wget でその URL にあるファイルの取得を試みることによって行うことができます。
wget http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3 --2011-08-19 15:06:55-- http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3 Resolving satellite.example.com... 10.10.77.131 Connecting to satellite.example.com|10.10.77.131|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 0 [text/plain] Saving to: `ks-rhel-i386-server-5-u3.1' 2011-08-19 15:06:55 (0.00 B/s) - `ks-rhel-i386-server-5-u3.1' saved [0/0]
200 OK 以外の応答が返された場合は、エラーログを確認して問題を究明します。また、access_log ファイルを検索することによって、Anaconda がダウンロードを試みた実際のファイルをチェックすることもできます。
# grep chkconfig /var/log/httpd/access_log 10.10.77.131 - - [19/Aug/2011:15:12:36 -0400] "GET /rhn/common/DownloadFile.do?url=/ks/dist/ks-rhel-i386-server- 5-u3/Server /chkconfig-1.3.30.1-2.i386.rpm HTTP/1.1" 206 24744 "-" "urlgrabber/3.1.0 yum/3.2.19" 10.10.76.143 - - [19/Aug/2011:15:12:36 -0400] "GET /ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig- 1.3.30.1-2.i386.rpm HTTP/1.1" 206 24744 "-" "urlgrabber/3.1.0 yum/3.2.19" 10.10.76.143 - - [19/Aug/2011:15:14:20 -0400] "GET /ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig- 1.3.30.1-2.i386.rpm HTTP/1.1" 200 162580 "-" "urlgrabber/3.1.0 yum/3.2.19" 10.10.77.131 - - [19/Aug/2011:15:14:20 -0400] "GET /rhn/common/DownloadFile.do?url=/ks/dist/ks-rhel-i386-server- 5-u3/Server/chkconfig-1.3.30.1-2.i386.rpm HTTP/1.1" 200 162580 "-" "urlgrabber/3.1.0 yum/3.2.19"
access_log ファイル内に記載されていない場合は、システムのネットワーク設定に問題がある可能性があります。要求が記載されていてもエラーが生成される場合には、エラーログを確認してください。
wget http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig-1.3.30.1-2.i386.rpm
10.9. トレースバック
Subject: WEB TRACEBACK from satellite.example.com Date: Wed, 19 Aug 2011 20:28:01 -0400 From:Red Hat Satellite <dev-null@redhat.com> To: admin@example.com java.lang.RuntimeException: XmlRpcException calling cobbler. at com.redhat.rhn.manager.kickstart.cobbler.CobblerXMLRPCHelper.invokeMethod(CobblerXMLRPCHelper.java:72) at com.redhat.rhn.taskomatic.task.CobblerSyncTask.execute(CobblerSyncTask.java:76) at com.redhat.rhn.taskomatic.task.SingleThreadedTestableTask.execute(SingleThreadedTestableTask.java:54) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) Caused by: redstone.xmlrpc.XmlRpcException: The response could not be parsed. at redstone.xmlrpc.XmlRpcClient.handleResponse(XmlRpcClient.java:434) at redstone.xmlrpc.XmlRpcClient.endCall(XmlRpcClient.java:376) at redstone.xmlrpc.XmlRpcClient.invoke(XmlRpcClient.java:165) at com.redhat.rhn.manager.kickstart.cobbler.CobblerXMLRPCHelper.invokeMethod(CobblerXMLRPCHelper.java:69) ... 4 more Caused by: java.io.IOException: Server returned HTTP response code: 503 for URL: http://someserver.example.com:80/cobbler_api at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1236) at redstone.xmlrpc.XmlRpcClient.handleResponse(XmlRpcClient.java:420) ... 7 more
taskomatic サービスとの通信において問題が生じたことを示しています。以下の点を確認してください。
httpdが実行されていることを確認します。# service httpd statuscobblerdが実行されていることを確認します。# service cobblerd statuslocalhostへの接続を妨げるファイアウォールルールがないことを確認します。
10.10. 登録
rhnreg_ks コマンドを実行すると、ERROR: unable to read system id (エラー: システム ID を読み取ることができません) というエラーメッセージが表示されて、失敗してしまいます。何が問題なのでしょうか。
%post のセクションがあり、ここでマシンが Red Hat Satellite に登録されます。
# begin Red Hat management server registration mkdir -p /usr/share/rhn/ wget http://satellite.example.com/pub/RHN-ORG-TRUSTED-SSL-CERT -O /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT perl -npe 's/RHNS-CA-CERT/RHN-ORG-TRUSTED-SSL-CERT/g' -i /etc/sysconfig/rhn/* rhnreg_ks --serverUrl=https://satellite.example.com/XMLRPC --sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT --activationkey=1-c8d01e2f23c6bbaedd0f6507e9ac079d # end Red Hat management server registration
- Red Hat Satellite が使用するカスタム SSL 証明書を格納するディレクトリーを作成します。
- 登録中に使用する SSL 証明書を取得します。
rhn_register設定ファイルからの SSL 証明書の文字列を検索および置換し、SSL 証明書とアクティベーションキーを使用して Red Hat Satellite に登録します。各キックスタートプロファイルにはアクティベーションキーが含まれ、これによってシステムに正しいベースチャンネルと子チャンネルが確実に割り当てられ、正しいシステムのエンタイトルメントが取得されます。既存システムの再プロビジョニングの場合には、アクティベーションキーによって以前のシステムプロファイルに確実に関連付けられます。
rhnreg_ks コマンドが失敗した場合には、ks-post.log ログファイル内に以下のようなエラーが表示される場合があります。
ERROR: unable to read system id.
rhn_check の実行を試行した際にシステムが Red Hat Satellite に登録されていなかった場合にも発生します。
10.11. キックスタートとスニペット
/var/lib/rhn/kickstarts/ です。このディレクトリー内において、raw キックスタートは upload サブディレクトリー内に格納され、ウィザードによって生成されたキックスタートは wizard サブディレクトリー内に格納されます。
Raw Kickstarts: /var/lib/rhn/kickstarts/upload/$profile_name--$org_id.cfg Wizard Kickstarts: /var/lib/rhn/kickstarts/wizard/$profile_name--$org_id.cfg
/var/lib/rhn/kickstarts/snippets に格納されます。Cobbler は、/var/lib/cobbler/snippets/spacewalk のシンボリックリンクを使用して、スニペットにアクセスします。
Snippets: /var/lib/rhn/kickstarts/snippets/$org_id/$snippet_name
重要
10.12. 複数組織向けの Satellite と Satellite 証明書
/etc/rhn/rhn.confファイルで、web.force_unentitlement=1 を設定します。- Satellite を再起動します。
- 各組織の サブスクリプション タブまたは個別エンタイトルメントの 組織 タブのいずれかで目的の組織に割り当てられたエンタイトルメント数を減らします。
- 組織内のいくつかのシステムが エンタイトルメントなし の状態になるはずです。組織内のエンタイトルメントなしのシステム数は、組織から削除したエンタイトルメントの合計数とシステムに適用していないエンタイトルメント数の差と同じになります。例えば、ステップ 3 で組織から 10 エンタイトルメントを削除して、その組織がシステムで使用されていなかった 4 エンタイトルメントを持っている場合は、その組織の 6 システムがエンタイトルメントを持たないことになります。
web.force_unentitlement 変数の変更が必要となるのは、組織が使用しているエンタイトルメントの数より少ない数を割り当てる場合のみになります。組織の所有しているエンタイトルメントの数が現在使用しているエンタイトルメントの数より多い場合、エンタイトルメントの削除にこの変数を設定する必要はありません。
10.13. プロキシのインストールと設定
rhn_package_manager -l -c "name_of_private_channel" を使用して Satellite に対して既知のプライベートチャンネルパッケージを一覧表示します。または、Satellite インターフェースで確認します。
yum --disablerepo="*" --enablerepo="your_repo_name" list available を実行してプライベート Satellite チャンネルからパッケージを検索することもできます。
/var/log/squid/access.log ファイルが Squid サーバーに対する接続をすべてログに記録しています。
yum update yum を root として実行して Red Hat Network から取得するか、または http://www.redhat.com/support/errata/ から取得できます。
/etc/sysconfig/rhn/systemid がパーミッション 0640 で root.apache によって所有されていることを確認してください。
df -h
service httpd status
service squid status/etc/rhn/rhn.conf 内の traceback_mail に正しいアドレスが設定されていることを確認してください。
/etc/hosts ファイルが原因で生じます。ドメイン名解決の順序と方法を定義する /etc/nsswitch.conf を調べると確認できます。通常、/etc/hosts ファイルが最初にチェックされた後に、NIS (Neetwork Information Service) を使用している場合はこのサービス、次に DNS の順でチェックされます。Apache Web server が起動して Red Hat Network クライアントのアプリケーション群が動作するには、これらのいずれかが成功しなければなりません。
/etc/hosts ファイルの内容を確認します。次のようになっています。
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
127.0.0.1 localhost.localdomain.com localhost
127.0.0.1 localhost.localdomain.com localhost 123.45.67.8 this_machine.example.com this_machine
- 適切なパッケージを確認します。
rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm上記のパッケージが Red Hat Satellite Proxy にインストールされ、また対応するrhn-org-trusted-ssl-cert-*.noarch.rpmまたは Raw 形式の CA SSL パブリック (クライアント) 証明書がすべてのクライアントシステムにインストールされていることを確認します。 - クライアントシステムが適切な証明書を使用するよう設定されていることを確認します。
- 1 つまたは複数の Red Hat Satellite Proxy を使用している場合は、各プロキシの SSL 証明書が正しく用意されていることを確認します。Red Hat Satellite と併用して Red Hat Satellite Proxy を使用している場合は、プロキシはサーバーとクライアントの両方の役割を担うため、自身のサーバー SSL キーペアと CA SSL パブリック (クライアント) 証明書の両方がインストールされていなければなりません。詳しい説明については 『Red Hat Satellite クライアント設定ガイド』 の SSL 証明書の章を参照してください。
- Red Hat Satellite Proxy が HTTP Proxy 経由で接続している場合、表示されている URL が有効であることを確認します。例えば、HTTP Proxy URL フィールドには、http:// や https:// などのプロトコルへの参照が含まれていてはいけません。
your-gateway.example.com:8080などのように、hostname:port の形式でホスト名とポートのみを記載します。 - 『Red Hat Satellite Proxy インストールガイド』 の 『その他の要件』 に示されるように、クライアントシステムが必要なポートを自らブロックしてしまうファイアウォールを使用していないことを確認します。
/var/spool/squid/ にあり、以下の手順で消去します。
- Apache Web server を停止します:
service httpd stop - Squid server を停止します:
service squid stop - 該当ディレクトリーの内容を削除します:
rm -fv /var/spool/squid/* - 両方のサービスを再起動します:
service squid start service httpd start
rm -fv /var/spool/squid/* 注記
satellite-debug コマンドでよく知られている Satellite Diagnostic Info Gatherer (Satellite 診断情報収集ツール) です。このツールを使用する際は root としてこのコマンドを発行してください。次のように、収集された情報が表示され tarball が 1 つ作成されます。
# satellite-debug
Collecting and packaging relevant diagnostic information.
Warning: this may take some time...
* copying configuration information
* copying logs
* querying RPM database (versioning of Red Hat Satellite, etc.)
* querying schema version and database character sets
* get diskspace available
* timestamping
* creating tarball (may take some time): /tmp/satellite-debug.tar.bz2
* removing temporary debug tree
Debug dump created, stored in /tmp/satellite-debug.tar.bz2
Deliver the generated tarball to your Red Hat Network contact or support channel./tmp/ ディレクトリーに生成された新しいファイルを Red Hat の担当者にメールで送信してください。迅速な診断が行われます。
sosreport として知られています。このツールは Proxy の設定パラメータ、ログファイル、およびデータベース情報を収集し、Red Hat に直接送信します。
sos パッケージをインストールしておく必要があります。レポートを作成するには、Satellite サーバー上で root として sosreport -o satellite と入力します。例を以下に示します。
[root@satserver ~]# sosreport -o satellite sosreport (version 3.2) This command will collect diagnostic and configuration information from this Red Hat Enterprise Linux system and installed applications. An archive containing the collected information will be generated in /tmp and may be provided to a Red Hat support representative. Any information provided to Red Hat will be treated in accordance with the published support policies at: https://access.redhat.com/support/ The generated archive may contain data considered sensitive and its content should be reviewed by the originating organization before being passed to any third party. No changes will be made to system configuration. Press ENTER to continue, or CTRL-C to quit.
/tmp/ ディレクトリーにできた新しいファイルを Red Hat 担当者にメール送信してください。
付録A 改訂履歴
| 改訂履歴 | |||
|---|---|---|---|
| 改訂 1.1-0.1 | Mon Sep 4 2017 | ||
| |||
| 改訂 1.1-0 | Wed Feb 1 2017 | ||
| |||
