How to enable/disable a repository using Red Hat Subscription-Manager?

Resolution

As systems are subscribed to products, the associated content repositories (identified in the entitlement certificate) are made available to the system. The content repositories are based on the product and on the content delivery network, defined in the baseurl parameter of the rhsm.conf file.

A subscription may include access to optional content channels along with the default channels. These optional channels must be enabled before the packages in them can be installed (even if the system is fully entitled to the products in those channels).

List all available repos for the system, including disabled repos.

    [root@server ~]# yum repolist all
    repo id                      repo name                           status
    rhel-6-server                Red Hat Enterprise Linux 6Server -  enabled
    rhel-6-server-beta           Red Hat Enterprise Linux 6Server Be enabled
    rhel-6-server-optional-rpms  Red Hat Enterprise Linux 6Server Op disabled
    rhel-6-server-supplementary  Red Hat Enterprise Linux 6Server Su disabled

The optional and supplementary channels are named rhel-6-server-optional-rpms and rhel-6-server-supplementary, respectively.

Using Subscription-Manager

Subscription-Manager provides it's own utility to enable & disable repositories within the redhat.repo file:

To see a list of available repositories:

[root@server ~]# subscription-manager repos --list

To enable a specific repository:

[root@server ~]# subscription-manager repos --enable=rhel-6-server-optional-rpms

To disable a specific repository:

[root@server ~]# subscription-manager repos --disable=rhel-6-server-optional-rpms

Using Yum-Utils provided yum-config-manager:

The repositories can be enabled using the yum-config-manager command, which is provided with the yum-utils package:

[root@server ~]# yum install -y yum-utils
[root@server ~]# yum-config-manager --enable rhel-6-server-optional-rpms

Alternatively, simply specify the optional or supplementary repository when installing a package with yum. This uses the –enablerepo repo_name option. For example:

    # yum install rubygems --enablerepo=rhel-6-server-optional-rpms
    Loaded plugins: product-id, refresh-packagekit, subscription-manager
    Updating Red Hat repositories.
    ....

Disabling the Subscription-Manager Repository

When a system is registered using Subscription-Manager, the rhsmcertd process creates a special yum repository — redhat.repo. As “Enabling Supplementary and Optional Repositories” describes, as the system adds subscriptions, the product channels are added to the redhat.repo file.

Maintaining a redhat.repo file may not be desirable in some environments. It can create static in content management operations if that repository is not the one actually used for subscriptions, such as for a disconnected system or a system using a local content mirror.

This default redhat.repo repository can be disabled by editing the Subscription-Manager configuration and setting the manage_repos value to zero (0).

[root@server1 ~]# subscription-manager config --rhsm.manage_repos=0

More information: [https://access.redhat.com/documentation/en-US/Red_Hat_Subscription_Management/1/html/RHSM/entitlements-and-yum.html](Working with yum Repos)