- Red Hat Enterprise Linux (RHEL) 5.7 or higher, 6.1 or higher
- Red Hat Subscription Management (RHSM)
- How to enable a repository using Red Hat Subscription Manager
- Need to access a repository using Red Hat Subscription Manager
- How to disable repository using Subscription Manager
- How to subscribe a child channel using Red Hat Subscription-Manager
- How can I edit the /etc/yum.repos.d/redhat.repo file?
- Changes made to redhat.repo are reverted whenever a yum or subscription-manager runs
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 repositories for the system, including disabled repositories:
[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
Subscription-Manager provides its 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 or disabled using the
yum-config-manager command, which is provided with the
[root@server ~]# yum install -y yum-utils
yum-config-manager is only available for RHEL 6 and not available for RHEL 5
If required run
yum clean all first to ensure the repositories are in a stable state.
[root@server ~]# yum clean all [root@server ~]# yum repolist enabled
yum repolist enabled command will list the repo id that you can either disable or enable.
[root@server ~]# yum-config-manager --enable rhel-6-server-optional-rpms or [root@server ~]# yum-config-manager --disable epel
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@server ~]# subscription-manager config --rhsm.manage_repos=0
More information: Working with yum Repos
subscription-manager maintains the redhat.repo file. Whenever it's run by itself or as a yum plugin, it will set the redhat.repo back to it's last saved state, undoing any manual changes made.
# head /etc/yum.repos.d/redhat.repo # # Certificate-Based Repositories # Managed by (rhsm) subscription-manager # # *** This file is auto-generated. Changes made here will be over-written. *** # *** Use "subscription-manager repo-override --help" if you wish to make changes. *** # # If this file is empty and this system is subscribed consider # a "yum repolist" to refresh available repos #
You can disable this by disabling "manage_repos" in /etc/rhsm/rhsm.conf OR you can modify the redhat.repo file with the repo-override command.
- Red Hat Enterprise Linux
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.