Subscription Management

Red Hat Subscription Management for RHEL systems. Rocky/Alma users can skip this section.

Overview

RHEL requires an active subscription for:

  • Package updates

  • Security patches

  • Red Hat support

  • Access to Red Hat repositories

Free options:

  • Red Hat Developer Subscription: Free for development (16 systems)

  • RHEL Individual Subscription: Free for personal use

Registration

Register System

# Interactive registration
sudo subscription-manager register

# With username/password
sudo subscription-manager register --username=user --password=pass

# With activation key (preferred for automation)
sudo subscription-manager register --activationkey=key --org=org_id

Attach Subscription

# Auto-attach best subscription
sudo subscription-manager attach --auto

# List available subscriptions
sudo subscription-manager list --available

# Attach specific subscription
sudo subscription-manager attach --pool=pool_id

Status and Information

Check Status

# Overall status
sudo subscription-manager status

# Subscription details
sudo subscription-manager list --consumed

# Available subscriptions
sudo subscription-manager list --available --all

System Facts

# View system facts
sudo subscription-manager facts

# Update facts
sudo subscription-manager facts --update

Repository Management

List Repositories

# All repos
sudo subscription-manager repos --list

# Enabled repos
sudo subscription-manager repos --list-enabled

Enable/Disable Repos

# Enable repo
sudo subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms

# Disable repo
sudo subscription-manager repos --disable=repo-id

# Enable multiple
sudo subscription-manager repos \
  --enable=rhel-9-for-x86_64-baseos-rpms \
  --enable=rhel-9-for-x86_64-appstream-rpms

Common Repository IDs (RHEL 9)

Repository Content

rhel-9-for-x86_64-baseos-rpms

Base OS packages

rhel-9-for-x86_64-appstream-rpms

Applications and tools

rhel-9-for-x86_64-supplementary-rpms

Supplementary packages

codeready-builder-for-rhel-9-x86_64-rpms

Build dependencies (like EPEL needs)

Unregister and Clean

Unregister System

# Unregister (keeps repos)
sudo subscription-manager unregister

# Full cleanup
sudo subscription-manager remove --all
sudo subscription-manager unregister
sudo subscription-manager clean

Clean State

# Clean subscription data
sudo subscription-manager clean

# Remove all subscriptions
sudo subscription-manager remove --all

Simple Content Access (SCA)

Modern RHEL uses Simple Content Access which simplifies entitlement:

# Check if SCA is enabled
sudo subscription-manager status

# With SCA, you just register - no need to attach
sudo subscription-manager register --username=user --password=pass
# Repos are immediately available

Activation Keys

For automated deployment, create activation keys in Red Hat Customer Portal:

# Register with activation key
sudo subscription-manager register \
  --activationkey=my-activation-key \
  --org=12345678

# Multiple keys
sudo subscription-manager register \
  --activationkey=key1,key2 \
  --org=12345678

Proxy Configuration

Configure Proxy

# Set proxy
sudo subscription-manager config \
  --server.proxy_hostname=proxy.example.com \
  --server.proxy_port=8080

# With authentication
sudo subscription-manager config \
  --server.proxy_hostname=proxy.example.com \
  --server.proxy_port=8080 \
  --server.proxy_user=proxyuser \
  --server.proxy_password=proxypass

View Configuration

sudo subscription-manager config --list

Insights Client

Red Hat Insights for proactive system analysis:

# Install
sudo dnf install insights-client

# Register
sudo insights-client --register

# Run analysis
sudo insights-client

# Unregister
sudo insights-client --unregister

Troubleshooting

Common Issues

# Refresh subscription data
sudo subscription-manager refresh

# Force re-registration
sudo subscription-manager unregister
sudo subscription-manager clean
sudo subscription-manager register

# Check connectivity
sudo subscription-manager status
curl -v https://subscription.rhsm.redhat.com

Certificate Issues

# Check certificates
sudo ls -la /etc/pki/entitlement/

# Regenerate certificates
sudo subscription-manager refresh

Repository Errors

# Clean and refresh
sudo dnf clean all
sudo subscription-manager refresh

# Re-enable repos
sudo subscription-manager repos --list-enabled
sudo subscription-manager repos --disable="*"
sudo subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms
sudo subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms

Offline/Disconnected Systems

For air-gapped environments:

# Export manifest from Customer Portal
# Upload to Satellite or local content source

# Configure system for local content
sudo subscription-manager config --rhsm.baseurl=https://satellite.local/pulp/repos
sudo subscription-manager register --org=MyOrg --activationkey=offline-key