Enabling or disabling a repository using Red Hat Subscription Management
Environment
- Red Hat Enterprise Linux (RHEL) 5.7 or higher, 6.1 or higher
- Red Hat Subscription Management (RHSM)
Issue
- 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
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 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 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 or disabled using the yum-config-manager
command, which is provided with the yum-utils
package:
[root@server ~]# yum install -y yum-utils
Please note 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
The 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
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.
12 Comments
Just a quick note:
suscription-manager only handles /etc/yum.repos.d/redhat.repo
To fully disable all yum repos you need both of these
Also note, when making to make sure you don't having missing dependencies and to ensure you don't have other conflicts run the following:
Why would you want to disable all repos?
There are some use cases for this.
Sometimes it is such that there are numerous repos enabled, and you want to make sure that only specific ones are switched on.
Suppose you need three specific repos, ONLY but there are nine enabled.
It's easier to disable all of them, then enable three, versus disabling all except those particular three.
Thank you. Because we use openldap for access to satellite server we chose option 2. I enable the optional channel and resolved the issue. This ticket may be closed. Thanks, Lonnie Furnish
sometimes, it will get failed result when enable repos, what's the reason?
Perhaps there has been a mistake in the repo ID?
when i want to config /etc/yum.repos.d/redhat.repo, but everty time this file will be rewirte,why?
The file is managed by the
subscription-manager
application, theyum-config-manager
tool, as well as various GUI tools. These tools should respect manual settings in the file, but if you use them to change settings, they will overwrite the file.Hi, I can not update red hat 6.5 on my servers. I get the message below:
yum repolist allLoaded plugins: product-id, refresh-packagekit, security repo id repo name status rhel-source Red Hat Enterprise Linux 6Server - x86_64 - Source disabled rhel-source-beta Red Hat Enterprise Linux 6Server Beta - x86_64 - Source disabled repolist: 0
subscription-manager repos --listCe système ne possède pas de référentiel disponible à travers des abonnements.
subscription-manager repos --disable=rhel-6-server-optional-rpmsErreur : rhel-6-server-optional-rpms n'est pas un ID de référentiel valide. Utilisez l'option --list pour afficher les référentiels valides. I get suscription recently. Thank you for your assistance. Best regards,
First you need to attach subscription by running # subscription-manager attach --auto then # subscription-manager repos --list to list the repositories.
How do I enable all repos that my subscription allows ?
for example, something like subscription-manager repos --enable=*
If this is a suitable/good/OK thing to do? If not, why not? Just to ask.
DEAR SIR PL GUIDE HOW TO INSTALL XFIG AND KATE IN RHEL 7.7 IN TERMINAL MODE PLEASE GUIDE STEP BY STEP WITH FULL COMMAND THANKS