This is my tiny personal cheatsheet for
subscription-manager that I wrote because I always forget how to use it. If you need something more comprehensive, see this one on the Red Hat Customer Portal.
To be able to access the RHEL CDN repositories you need to firstly register the system, and then attach it to a valid subscription. Let’s dive deep in the first step.
Registering is somewhat like authentication: When you register your system, Red Hat knows who runs the machine. However, bear in mind that the machine is still not authorized to access the CDN repositories.
If you want to register the system interactively, just use the following command:
sudo subscription-manager register
If you want to register your system in a script, you can use one of the following methods:
# if you have a username and password:
subscription-manager register --username=USERNAME --password=PASSWORD
# if you have an activation key:
subscription-manager register --activationkey=ACTIVATION_KEY --org=ORG_NUMBER
When your system is registered, you need to attach it to a subscription. This is somewhat like authorization: Now, we’re authenticated and we need to authorize the system so it can consume the RHEL CDN repositories. There are two important facts about subscriptions:
- You can have multiple active subscriptions on your account.
- Different subscriptions authorize you to use a different set of repositories. In other words, some repositories might not be available when using some subscriptions.
Bear those two facts in mind and choose wisely which subscription to use on your system.
subscription-manager is pretty smart so it can decide which subscription is the most appropriate for your system. If you use this option, be sure to check the subscription afterwards,
subscription-manager might choose it wrongly in some situations.
If you use a username and a password to register the system, you can auto attach the subscription in one command:
subscription-manager register --username=USERNAME --password=PASSWORD --auto-attach
If you use an activation key, you have to use a separate
subscription-manager attach --auto
Sometimes, it might be more appropriate to choose a specific subscription manually. Firstly, use
subscription-manager to list available ones:
subscription-manager list --available
When you are decided which subscription you want to use, simple use the following command to attach it:
subscription-manager attach --pool=POOL_ID
After the command has finished, you can see it attached using:
subscription-manager list --consumed
The following command can be used to show all repositories that are currently enabled on your system:
subscription-manager repos --list-enabled
If you want to enable an additional one, you can use this command to to see all repositories that you can access with your attached subscription:
To enable a specific repository, just use:
subscription-manager repos --enable=REPO_ID
I, for example, need quite often the codeready builder repository, so I can just use:
subscription-manager repos --enable=codeready-builder-for-rhel-8-x86_64-rpms
To disable a repository, the
--disable flag is your friend:
subscription-manager repos --disable=REPO_ID
If you need to revert the steps from previous paragraphs, you can use the following commands:
subscription-manager remove --pool=POOL_ID
In some cases, it might be handy to remove all subscriptions at once:
subscription-manager remove --all