How to enable/disable repository using Subscription Manager or Yum-Utils

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 using 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.

Share
  • John Call

    There are lots of syntax errors here, and some of the commands (e.g. to disable repos) are missing required arguments.

  • Roshan V Sharma

    thanks John Call i fixed it

  • Roshan V Sharma

    thanks John Call. I fixed it.

  • John Westerdale

    Looking for setting up Yum service on DMZ. Will keep looking.

    • Roshan V Sharma

      Net-filter is the framework for firewall for each and every Linux distributions. Back in every RHEL editions RHEL have used iptables but in version 7 they have introduced Firewalld. It’s easier to understand and use firewalld. so please check how to yum through firewalld ?

      • John Westerdale

        Roshan, I have a different usage case. you might be on cloud, but i am looking for a solution for traditional dmz redhat server. rhel6 or rhel7 should be the same. Satellite would be one case, where connections go to internal intranet. standalone server that hits rhsm network is the other.

        i see some data is akamai’ed… some at Redhat. thanks.

        • John Westerdale

          Found a quick and easy solution! Squid. Just mod yum.conf and rhsm.conf on the RH server, and you’re off to the races!! Just be sure to control who can use the squid proxy service.