This blog is to resolve the following issues/answering the following questions.

  1. How to enable a repository using the Red Hat Subscription Manager/yum?
  2. Need to access a repository using the Red Hat Subscription Manager/yum?
  3. How to disable a repository usisystem register with rhn classicng the Red Hat Subscription Manager/yum?
  4. How to subscribe a child channel using the Red Hat Subscription Manager/yum?

To enable/disable repository using Subscription-Manger or Yum-Utils you'll need:

  1. Red Hat Enterprise Linux 6 or higher.
  2. Red Hat Subscription Management (RHSM).
  3. Red Hat Subscription Manager.
  4. System registered to RHN classic (see system register with rhn classic).

If you are using the latest version Red Hat Enterprise Linux then it will be very useful (I suggest to update your system at regular intervals).

Solution

Before that, we need to know what is a repository.

A repository is content, based on product and contents of a delivery network. The system is subscribed to products and is defined in the rhsm.conf file in your systems.

For enabling a repository, you have to be the root user.

  • [username@localhost ~]$ su -

Then check the repository list

  • [root@localhost username]# subscription-manager repos --list

To enable repository

  • [root@localhost username]# subscription-manager repos --enable=ReposName

change ReposName to the repository name you want.

To disable repository

  • [root@localhost username]# subscription-manager repos --disable=ReposName

change ReposName to the repository name you want.

In some university/enterprise, subscription manager is blocked for that they can use yum to enable or disable any repository.

For using yum to enable.disable repos you need to install config-manager attribute for that using yum-utils.

  • [username@localhost ~]$ su -
  • [root@localhost username]# yum install yum-utils

Before enabling repository to make sure that all repository is in a stable state.

  • [root@localhost username]# yum clean all

To check enabled repository

  • [root@localhost username]# yum repolist enabled

To enable repository

  • [root@localhost username]# yum-config-manager --enable ReposName

change ReposName to your repository name.

To disable repository

  • [root@localhost username]# yum-config-manager --disable ReposName

change ReposName to your repository name.

Some installing packages use --enablerepo to install packages

  • [root@localhost username]# yum install package-name --enablerepo ReposName

And to disabling the Subscription Manager

  • [root@localhost username]# subscription-manager config --rhsm.manage_repos=0

When a system is registered using a subscription manager a file name redhat.repo is created, it is a special yum repository. Maintaining redhat.repo in some environments may not be desirable. It can create static in content management operation if that repo is not the actual one used for subscription. You can disable it by making the rshm.manage repo setting it to a value of zero (0).

Any doubts/questions please comment below.

Last updated: December 20, 2021