Do I need a RHEL subscription to install packages?

I'm new to RHEL. Trying to install software this morning and running into road blocks. Is it required to have a subscription to download packages via yum on RHEL?

I'm coming across different sources on the net, some make it sound like yes, you need a subscription, others making it sound like no, a subscription is only required for support.

In either case I'm stuck unable to install software ATM, because the machines I'm on don't have the subscription registered. Is there a way to install RHEL software without registering a subscription? If so, how?


Solution 1:

Yes, you have to have an active RHEL subscription to download packages from RHEL's repositories. If your machine has never been subscribed, or the subscription is expired, you will not be able to use any of the repositories provided by RHEL.

Red Hat states, in relevant part:

If you choose to let all your subscriptions expire and have no other active subscriptions in your organization, you retain the right to use the software, but your entire environment will no longer receive any of the subscription benefits, including:

  • The latest certified software versions.
  • Security errata or bug fixes.

And further:

Entering a Red Hat Enterprise Linux 5 subscription number lets the installer:

  • Access the full set of supported packages included with the subscription at install time.

  • Automatically register the system to all Red Hat Network (RHN) channels included with the subscription at install time.

Many other examples can be found...


You can still use third party repositories; however, they often depend on packages in the base repositories provided by RHEL, and thus many packages will fail to install if those dependencies can't be satisfied.

The only way to install base packages without a subscription is to get them off the installation media.


If you're unable or unwilling to purchase a Red Hat subscription, consider migrating to CentOS to avoid the problem.

Solution 2:

An alternative is to add the CentOS repository to your yum configs. CentOS is in large part a derivative of RHEL. As such, most of its packages are compatible with RHEL.

Michael Cutler wrote a guide for installing CentOS packages on RHEL. Briefly:

# find out the release (version) of your RHEL
# ex: 5.0, 6.0, 6.3

lsb_release -r
cat /etc/issue

# create a new yum .repo config file

nano /etc/yum.repos.d/centos.repo

# add the following contents to centos.repo
# change the 6 in baseurl to your RHEL release
# check here for options: http://ftp.heanet.ie/pub/centos/

[centos]
name=CentOS $releasever - $basearch
baseurl=http://ftp.heanet.ie/pub/centos/6/os/$basearch/
enabled=1
gpgcheck=0

# save centos.repo and (optional) run this to reset the cache

yum clean all

Similar steps will need to be followed for other third-party repos. Using the CentOS repo is preferable, however, since it will likely contain all the dependencies your packages will need.

Tangentially, if you are getting PYCURL ERROR 22 - "The requested URL returned error: 404", you can remove the outdated third-party repositories by deleting their .repo and related files.

# Ex: http://repoforge.org

cd /etc/yum.repos.d/
rm rpmforge.repo
rm mirrors-rpmforge
rm mirrors-rpmforge-extras
rm mirrors-rpmforge-testing