How to update Red Hat Enterprise Linux 8 with RMT 15

This document (7024148) is provided subject to the disclaimer at the end of this document.


Repository Mirroring Tool for SLES 15
Red Hat Enterprise Linux 8.0


Repository mirroring tool (RMT) enables customers that possess the required entitlements to mirror updates for Red Hat Enterprise Linux (RHEL).
Please refer to for details on SUSE Linux Enterprise Server Subscription with Expanded Support.

This document discusses the actions required to configure the RMT server and clients (Red Hat Enterprise Linux servers) for this solution.
This document is for informational purposes only. You are fully responsible for compliance with the terms of your agreements with your suppliers.


On the RMT server perform the following steps to prepare it for mirroring and publishing updates for Red Hat Enterprise Linux.

    1. Install SUSE Linux Enterprise Server (SLES) 15. There’s not RMT pattern, just go to Software selection and search for rmt-server.  (or install rmt on existing SLES15 system using “zypper in rmt-server".). It installs also yast2-rmt package.

    2. It is recommended to check for updates immediately after installing SLES using “zypper patch” command.

    3. Set up RMT using YaST
        ◦ Start yast either with  "yast2 rmt " or  alternatively, start YaST and select Network Services > RMT Configuration.

        ◦  Enter your organization credentials. (Login to => Organization => Organization Credentials)

        ◦  Enter credentials for a new MariaDB user and database name. This user will then be created. Then select Next. If  password for the MariaDB root user is already set, you are required to enter it. If no password is set for root, you are asked to enter a new one.

        ◦  Enter a common name for the SSL certificates. The common name should usually be the fully qualified domain name (FQDN) of the server. Enter all domain names and IP addresses with which you want to reach the RMT server as alternative common names.

        ◦  When all common names are entered, select Next.

        ◦  To view a final summary, select Next. Then select Finish to close YaST. YaST then enables and starts all systemd services and timers. 

        ◦  If you have a firewall enabled, allow access to ports 80 and 443. When using the default zone public, execute the following commands:
# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --zone=public --add-port=443/tcp --permanent
# firewall-cmd -–reload

    4. Mirror repositories with rmt:
        ◦ Make sure you set organization credentials in /etc/rmt.conf (see previous step)

        ◦ Synchronize repository metadata (information about available products and repositories)
# rmt-cli sync

        ◦ Periodic synchronization is done via systemd timer rmt-server-sync.timer. For status information e.g. next running time use systemctl status :
# systemctl status rmt-server-sync.timer

        ◦ Enable/disable products (this will enable or disable all repo associated with the product.
# rmt-cli products list –-all //look for PRODUCTS IDs
# rmt-cli product enable $PRODUCT_ID
# rmt-cli product disable $PRODUCT_ID

        ◦ Enable/disable repositories mirroring (if you want to change product defaults, e.g. you want src repo).
# rmt-cli repo list --all
# rmt-cli repo enable $REPO_ID
# rmt-cli repo disable $REPO_ID

        ◦ Start package mirroring for enabled repositories:
# rmt-cli mirror

        ◦ Packages are downloaded to RMT once a day. This task is done by systemd timer rmt-server-mirror.timer once a day. For status information e.g. next running time use systemctl status:
# systemctl status rmt-server-mirror.timer

Registering Red Hat Enterprise Linux 8 against RMT:

    1. Download rmt-client-setup-res script
# curl http://RMT_SERVER/tools/rmt-client-setup-res --output rmt-client-setup-res

Note: script rmt-client-setup-res is part of rmt-server.rpm.

    2. Run the script with the URL of the RMT server as parameter.
# sh rmt-client-setup-res https://RMT_SERVER/

    3. Test if everything works:
# dnf repolist
# dnf update
# SUSEConnect --status-text

    4. Show and activate extension product
# SUSEConnect --list-extensions
# dnf update
# SUSEConnect –p RES-HA/8/x86_64 –r <code>

Note: please check if libzypp version 16.20.4 or higher is installed, otherwise you get zypper error.
The script does the following:
  1. Adds repositories, install SUSEConnect and its dependencies, disable repositories
  2. Downloads rmt-client-setup script and run it. The rmt-client-setup script does the following:
  3. Downloads all keys from http://rmt-server/repo/keys
  4. Import the keys with gpg –import and rpm --import
  5. Downloads CA’s certificate from https://rmt-server/rmt.crt
  6. Import CA’s certificate to trusted store
  7. Invoke SUSEConnect. SUSEConnect adds all repositories (BaseOS, AppStream, and CodeReady) and set them as enabled.


This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:7024148
  • Creation Date: 30-Sep-2019
  • Modified Date:03-Mar-2020
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact:

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Join Our Community

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.

SUSE Customer Support Quick Reference Guide SUSE Technical Support Handbook Update Advisories
Support FAQ

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.

Go to Customer Center