Synchronization CLI Tools
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.
This tool is designed for use with a SUSE support subscription. It is not required for open source distributions, including openSUSE, CentOS, and Ubuntu.
The available commands and arguments for mgr-sync are listed in this table. Use this syntax for mgr-sync commands:
mgr-sync [-h] [--version] [-v] [-s] [-d {1,2,3}] {list,add,refresh,delete}
| Command | Description | Example Use |
|---|---|---|
list |
List channels, organization credentials, or products |
|
add |
Add channels, organization credentials, or products |
|
refresh |
Refresh the local copy of products, channels, and subscriptions |
|
delete |
Delete existing SCC organization credentials from the local system |
|
sync |
Synchronize specified channel or ask for it when left blank |
|
To see the full list of options specific to a command, use this command:
mgr-sync <command> --help
| Option | Abbreviated option | Description | Example Use |
|---|---|---|---|
help |
|
Display the command usage and options |
|
version |
N/A |
Display the currently installed version of |
|
verbose |
|
Provide verbose output |
|
store-credentials |
|
Store credentials a local hidden file |
|
debug |
|
Log additional debugging information. Requires a level of 1, 2, 3. 3 provides the highest amnount of debugging information |
|
no-sync |
N/A |
Use with the |
|
Logs for mgr-sync are located in:
-
/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:
| Option | Description | Example Use |
|---|---|---|
list |
List all custom channels and the repositories assigned to them. |
|
channel |
Synchronize a single channel to all repositories assigned to it. |
|
deep-verify |
ignore cached package checksums. |
|
force-all-errata |
force re-importing all the patches. |
|
no-packages |
excludes packages from the operation. |
|
For a complete list of options, see the spacewalk-repo-sync manpage:
man spacewalk-repo-sync
3. Troubleshooting Synchronization
If you are having trouble synchronizing with spacewalk-repo-sync you can find out more by watching the HTTP log as the command runs.
-
Log the HTTP output into
/var/log/zypper.log:ZYPP_MEDIA_CURL_DEBUG=2 spacewalk-repo-sync --channel <channel-label>
-
Export the setting:
export URLGRABBER_DEBUG=DEBUG
-
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.
-
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.