Skip to main content
๐ŸŽ“ Claude Code Masterclass Learn AI-assisted development on Udemy โ€” plus the companion book on Leanpub & Amazon. Start Learning
dnf Cheat Sheet: RHEL Package Management Commands
DevOps

dnf Cheat Sheet: RHEL Package Management Commands

DNF cheat sheet for RHEL 9, Fedora, and Rocky Linux. Install, update, rollback, manage modules, query packages, and troubleshoot dependency conflicts.

LB
Luca Berton
ยท 1 min read

A quick reference for DNF โ€” the RHEL/Fedora/Rocky/Alma package manager. Bookmark this page.

Package Management

# Update package index and upgrade
sudo dnf check-update        # Check for updates
sudo dnf upgrade             # Upgrade all packages
sudo dnf upgrade --security  # Security updates only

# Install
sudo dnf install nginx
sudo dnf install nginx-1.24.0  # Specific version
sudo dnf install -y nginx    # Auto-confirm
sudo dnf install ./package.rpm  # Local RPM

# Remove
sudo dnf remove nginx
sudo dnf autoremove          # Remove unused dependencies

# Search
dnf search "web server"
dnf info nginx               # Package details
dnf list installed           # All installed
dnf list available           # Available packages
dnf provides /usr/sbin/nginx # Which package has this file

Repository Management

# List repos
dnf repolist
dnf repolist all             # Including disabled

# Enable/disable
sudo dnf config-manager --set-enabled crb
sudo dnf config-manager --set-disabled epel

# Add repo
sudo dnf config-manager --add-repo https://repo.example.com/centos/repo.repo
sudo dnf install epel-release  # EPEL repository

# Clean cache
sudo dnf clean all
sudo dnf makecache

Groups and Modules

# Groups
dnf group list
sudo dnf group install "Development Tools"
sudo dnf group remove "Development Tools"

# Modules (RHEL 8+)
dnf module list
dnf module list nodejs
sudo dnf module enable nodejs:20
sudo dnf module install nodejs:20/common
sudo dnf module reset nodejs

History and Rollback

# View history
dnf history
dnf history info 42          # Details of transaction 42

# Undo/redo
sudo dnf history undo 42     # Reverse transaction
sudo dnf history redo 42     # Repeat transaction

# Rollback to specific transaction
sudo dnf history rollback 42

Version Locking

# Install versionlock plugin
sudo dnf install python3-dnf-plugin-versionlock

# Lock package
sudo dnf versionlock add nginx
sudo dnf versionlock list
sudo dnf versionlock delete nginx

Tips and Tricks

  • Use dnf needs-restarting -r to check if a reboot is needed after updates
  • Use dnf needs-restarting -s to list services that need restart
  • Use --enablerepo and --disablerepo for one-time repo changes
  • Use dnf download nginx to download RPM without installing
  • RHEL 9: CRB repo replaces PowerTools for build dependencies

Free 30-min AI & Cloud consultation

Book Now