Synchronization CLI Tools

サーバコンテナ内でシェルにアクセスするには、コンテナホストでmgrctl termを実行します。そこから、CLIツールを通常どおりに実行できます。

There are two tools for synchronizing clients to the server. For clients that are connected to the SUSE Customer Center, use mgr-sync. For all other clients, use spacewalk-repo-sync.

1. Synchronize SCC Repositories With mgr-sync

The primary use of mgr-sync is to connect to the SUSE Customer Center, retrieve product and package information, and prepare channels for synchronization with the SUSE Manager Server.

このツールは、SUSEサポートサブスクリプションで使用するように設計されています。 openSUSE、CentOS、Ubuntuなどのオープンソースディストリビューションには必要ありません。

mgr-syncに使用できるコマンドおよび引数を以下の表に一覧表示しています。 mgr-syncコマンドには次の構文を使用します。

mgr-sync [-h] [--version] [-v] [-s] [-d {1,2,3}] {list,add,refresh,delete}
Table 1. mgr-syncコマンド
コマンド 説明 使用例

list

チャンネル、組織の資格情報、または製品を一覧表示する

mgr-sync list channels

add

チャンネル、組織の資格情報、または製品を追加する

mgr-sync add channel <channel_name>

refresh

製品、チャンネル、およびサブスクリプションのローカルコピーを更新する

mgr-sync refresh

delete

ローカルシステムから既存のSCC組織の資格情報を削除する

mgr-sync delete credentials

sync

指定されたチャンネルを同期するか、空白のままの場合は尋ねる

mgr-sync sync channel <channel_name>

コマンドに固有のオプションの全リストを表示するには、次のコマンドを使用します。

mgr-sync <command> --help
Table 2. mgr-syncオプション引数
オプション 短縮オプション 説明 使用例

help

h

コマンドの使用方法とオプションを表示する

mgr-sync --help

version

N/A

現在インストールされているバージョンのmgr-syncを表示する

mgr-sync --version

verbose

v

詳細な出力を提供する

mgr-sync --verbose refresh

store-credentials

s

資格情報をローカルの隠しファイルに保存する

mgr-sync --store-credentials

debug

d

追加のデバッグ情報をログに記録する。レベル 1、2、3が必要です。3は、最も多くのデバッグ情報を提供します。

mgr-sync -d 3 refresh

no-sync

N/A

add コマンドと一緒に使用して、同期を開始せずに製品またはチャンネルを追加する

mgr-sync --no-sync add <channel_name>

mgr-syncのログは次の場所にあります。

  • /var/log/rhn/mgr-sync.log

  • /var/log/rhn/rhn_web_api.log

2. Synchronize Repositories with spacewalk-repo-sync

The spacewalk-repo-sync tool synchronizes software repositories into SUSE Manager channels. In most cases, this happens automatically, but you can use the tool to run it manually if required.

The spacewalk-repo-sync tool has these primary commands:

Table 3. spacewalk-repo-sync Options
Option Description Example Use

list

List all custom channels and the repositories assigned to them.

spacewalk-repo-sync --list

channel

Synchronize a single channel to all repositories assigned to it.

spacewalk-repo-sync --channel <custom-channel>

deep-verify

ignore cached package checksums.

spacewalk-repo-sync --deep-verify

force-all-errata

force re-importing all the patches.

spacewalk-repo-sync --deep-verify

no-packages

excludes packages from the operation.

spacewalk-repo-sync --deep-verify --no-packages

For a complete list of options, see the spacewalk-repo-sync manpage:

man spacewalk-repo-sync

3. 同期のトラブルシューティング

If you are having trouble synchronizing with spacewalk-repo-sync you can find out more by watching the HTTP log as the command runs.

Procedure: Troubleshooting Synchronization Problems
  1. Log the HTTP output into /var/log/zypper.log:

    ZYPP_MEDIA_CURL_DEBUG=2 spacewalk-repo-sync --channel <channel-label>
  2. Export the setting:

    export URLGRABBER_DEBUG=DEBUG
  3. Start the synchronization:

    /usr/bin/spacewalk-repo-sync --channel <channel-label> --type yum
    You can increase the debug level, by adding the [option]``-vvv`` option to the command.
  4. When the complete completes, or fails, disable debug mode:

    unset URLGRABBER_DEBUG

3.1. Add Custom Extra HTTP Headers

You can add custom HTTP headers to the requests made by spacewalk-repo-sync at the time of synchronization. The custom HTTP headers are defined in the /etc/rhn/spacewalk-repo-sync/extra_headers.conf configuration file. The headers can be defined by repository name or channel label. You can also define global headers by putting them in the main section. For example:

[testchannel]
X-MY-HEADER-1=VALUE
X-MY-HEADER-2=VALUE

[mychannel]
X-MY-HEADER-3=VALUE
X-MY-HEADER-4=VALUE

[main]
X-MYGLOBAL-HEADER=VALUE

This can be particularly useful when dealing with Red Hat Update Infrastructure (RHUI) repositories in the public cloud.