4.3. Red Hat Network Configuration Manager の使用
Red Hat Network Configuration Client とは異なり、Red Hat Network Configuration Manager (
rhncfg-manager) は、クライアントシステムにある設定ファイルではなく Red Hat Network にある設定ファイルとチャンネルの中央レポジトリの保守を目的として設計されています。このツールでは Red Hat Network Web サイト内の設定管理機能の代替となるコマンドラインのほか、関連するメンテナンスの一部または全体を行うためにスクリプトを作成する機能も備えています。
これは、設定管理者による使用が意図されているため、適切な権限セットを持つ Red Hat Network ユーザー名とパスワードを必要とします。ユーザー名は
/etc/sysconfig/rhn/rhncfg-manager.conf または ~/.rhncfgrc の [rhncfg-manager] セクションに指定することができます。
Red Hat Network Configuration Manager が root として実行されると、Red Hat Update Agent から必要な設定値を取得しようとします。root 以外のユーザーとして実行される場合は、
~/.rhncfgrc ファイル内で設定の変更を行う必要があるかもしれません。セッションファイルは ~/.rhncfg-manager-session にキャッシュされ、すべてのコマンドごとにログインが行われないようにします。
Red Hat Network Configuration Manager のデフォルトのタイムアウトは 30 分です。タイムアウトを変更するには、
server.session_lifetime オプションと新しい値を、このマネージャーを実行しているサーバー上の /etc/rhn/rhn.conf ファイルに追加します。次のようになります。
server.session_lifetime = 120
server.session_lifetime = 120
Red Hat Network Configuration Manager には、「add」、「create-channel」、「diff」、「diff-revisions」、「download-channel」、「get」、「list」、「list-channels」、「remove」、「remove-channel」、「revisions」、「update」、「upload-channel」などの基本モードが備わっています。
各モードにはそれぞれ独自のオプションセットがあります。 次のコマンドを発行するとオプションを表示することができます。
rhncfg-manager mode --help
rhncfg-manager mode --help
mode の部分にモード名を入れて調べます。
rhncfg-manager diff-revisions --help
rhncfg-manager diff-revisions --help
「add」モードのオプション一覧は、「設定チャンネルへのファイルの追加」 を参照してください。
4.3.1. 設定チャンネルの作成 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
組織用の設定チャンネルを作成するには、次のコマンドを発行します。
rhncfg-manager create-channel channel-label
rhncfg-manager create-channel channel-label
Red Hat Satellite のユーザー名とパスワードの入力が求められたら入力します。次のような出力になります。
Red Hat Network username: rhn-user Password: Creating config channel channel-label Config channel channel-label created
Red 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
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/file
rhncfg-manager add --channel=channel-label --dest-file=/new/path/to/file.txt/path/to/file
出力は以下のようになります。
Pushing to channel example-channel Local file >/path/to/file -> remote file /new/path/to/file.txt
Pushing to channel example-channel
Local file >/path/to/file -> remote file /new/path/to/file.txt
次の表は
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 | ヘルプメッセージを表示して終了します |
注記
デフォルトでは設定ファイルの最大サイズは 128KB です。この値を変更する必要がある場合は、以下のファイルで指定の行を見つけるか、その行を作成します。
/usr/share/rhn/config-defaults/rhn_web.conf の場合(バイト単位):
maximum_config_file_size = 131072
maximum_config_file_size = 131072
/usr/share/rhn/config-defaults/rhn_server.conf の場合(バイト単位):
maximum_config_file_size = 131072
maximum_config_file_size = 131072
/usr/share/rhn/config-defaults/rhn_java.conf (キロバイト単位):
java.config_file_edit_size = 128
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
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
--- /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 に使用できるオプションの一覧です。
| オプション | 説明 |
|---|---|
| -c CHANNEL, --channel=CHANNEL | この設定チャンネルからファイルを取得します |
| -r REVISION, --revision=REVISION | このリビジョンを使用します |
| -d DEST_FILE, --dest-file=DEST_FILE | このパスにファイルをアップロードします |
| -t TOPDIR, --topdir=TOPDIR | 全てのファイルをこの文字列に対して相対的にします |
| -h, --help | ヘルプメッセージを表示して終了します |
4.3.4. バージョン間の違いの比較 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
チャンネルおよびリビジョン全体で 1 つのファイルの異なるバージョンを比較する場合は、
-r フラグを使用して比較するファイルのリビジョンを指定し、-n フラグでチェックする 2 つのチャンネルを特定します。これに関する説明は、「ファイルリビジョン数の判断」 を参照してください。ここでは 1 つのファイルの別のバージョンを比較しているため、1 つのファイル名のみを指定します。例を以下に示します。
rhncfg-manager diff-revisions -n=channel-label1 -r=1 -n=channel-label2 -r=1 /path/to/file.txt
rhncfg-manager diff-revisions -n=channel-label1 -r=1 -n=channel-label2 -r=1 /path/to/file.txt
出力は以下のようになります。
次の表は
rhncfg-manager diff-revisions に使用できるオプションの一覧です。
| オプション | 説明 |
|---|---|
| -c CHANNEL, --channel=CHANNEL | この設定チャンネルを使用します |
| -r REVISION, --revision=REVISION | このリビジョンを使用します |
| -h, --help | ヘルプメッセージを表示して終了します |
4.3.5. 1 つのチャンネル内のすべてのファイルをダウンロード リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
あるチャンネル内の全ファイルをディスクにダウンロードする場合は、ディレクトリーを 1 つ作成してから次のコマンドを発行します。
rhncfg-manager download-channel channel-label --topdir .
rhncfg-manager download-channel channel-label --topdir .
出力は以下のようになります。
Copying /tmp/dest_path/example-config.txt -> \ blah2/tmp/dest_path/example-config.txt
Copying /tmp/dest_path/example-config.txt -> \ blah2/tmp/dest_path/example-config.txt
次の表は
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
rhncfg-manager get --channel=channel-label \ /tmp/dest_path/example-config.txt
ファイルの内容は出力として表示されます。
4.3.7. チャンネル内の全ファイルの表示 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
1 つのチャンネル内の全ファイルを表示させるには、次のコマンドを発行します。
rhncfg-manager list channel-label
rhncfg-manager list channel-label
次のような出力が表示されるはずです。
Files in config channel `example-channel3': /tmp/dest_path/example-config.txt
Files in config channel `example-channel3': /tmp/dest_path/example-config.txt
次の表は
rhncfg-manager get に使用できるオプションの一覧です。
| オプション | 説明 |
|---|---|
| -c CHANNEL, --channel=CHANNEL | この設定チャンネルからファイルを取得します |
| -t TOPDIR, --topdir=TOPDIR | 全てのファイルをこの文字列に対して相対的にします |
| -r REVISION, --revision=REVISION | このファイルリビジョンを取得します |
| -h, --help | ヘルプメッセージを表示して終了します |
4.3.8. すべての設定チャンネルの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
組織内の全ての設定チャンネルを表示させるには、次のコマンドを発行します。
rhncfg-manager list-channels
rhncfg-manager list-channels
出力は以下のようになります。
Available config channels: example-channel example-channel2 example-channel3 config-channel-14 config-channel-17
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.txt
rhncfg-manager remove --channel=channel-label /tmp/dest_path/example-config.txt
Red Hat Network のユーザー名とパスワードの入力が求められたら入力します。次のような出力が表示されます。
Red Hat Network username: rhn-user Password: Removing from config channel example-channel3 /tmp/dest_path/example-config.txt removed
Red Hat Network username: rhn-user Password: Removing from config channel example-channel3 /tmp/dest_path/example-config.txt removed
次の表は
rhncfg-manager remove に使用できるオプションの一覧です。
| オプション | 説明 |
|---|---|
| -c CHANNEL, --channel=CHANNEL | この設定チャンネルからファイルを削除します |
| -t TOPDIR, --topdir=TOPDIR | 全てのファイルをこの文字列に対して相対的にします |
| -h, --help | ヘルプメッセージを表示して終了します |
4.3.10. 設定チャンネルの削除 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
組織の設定チャンネルを削除するには、以下のコマンドを実行します。
rhncfg-manager remove-channel channel-label
rhncfg-manager remove-channel channel-label
出力は以下のようになります。
Removing config channel example-channel Config channel example-channel removed
Removing config channel example-channel Config channel example-channel removed
4.3.11. ファイルリビジョン数の判断 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
チャンネル内のファイルやパスのリビジョンの数を確認するには (リビジョンは 1 から開始して N までとし、N は 0 より大きい整数になる)、次のコマンドを発行します。
rhncfg-manager revisions channel-label /tmp/dest_path/example-config.txt
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
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/file
rhncfg-manager update \ --channel=channel-label --dest-file=/path/to/file.txt /local/path/to/file
出力は以下のようになります。
Pushing to channel example-channel: Local file example-channel/tmp/dest_path/example-config.txt -> \ remote file /tmp/dest_path/example-config.txt
Pushing 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 に使用できるオプションの一覧です。
| オプション | 説明 |
|---|---|
| -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-label
rhncfg-manager upload-channel --topdir=topdir channel-label
出力は以下のようになります。
Using config channel example-channel4 Uploading /tmp/ola_world.txt from blah4/tmp/ola_world.txt
Using config channel example-channel4 Uploading /tmp/ola_world.txt from blah4/tmp/ola_world.txt
次の表は
rhncfg-manager upload-channel に使用できるオプションの一覧です。
| オプション | 説明 |
|---|---|
| -t TOPDIR, --topdir=TOPDIR | 全てのファイルパスはこのディレクトリーに対して相対的になります |
| -c CHANNEL, --channel=CHANNEL | 設定情報をアップロードする複数のチャンネルをリストします。 チャンネルとチャンネルの間はコンマ「,」で区切ります。 例: --channel=foo,bar,baz |
| -h, --help | ヘルプメッセージを表示して終了します |