# Install a package
dnf install package_name
# Install multiple packages
dnf install package1 package2 package3
# Install a specific version
dnf install package_name-version
# Install a local RPM file
dnf install /path/to/package.rpm
# Install package without confirmation prompt
dnf install -y package_name
# Reinstall a package
dnf reinstall package_name
# Remove a package
dnf remove package_name
# Remove multiple packages
dnf remove package1 package2
# Remove a package and its dependencies (not used by other packages)
dnf autoremove package_name
# Remove unused dependencies
dnf autoremove
# Update all packages
dnf update
# Update all packages without confirmation
dnf update -y
# Update a specific package
dnf update package_name
# Check for available updates
dnf check-update
# Upgrade packages (same as update)
dnf upgrade
# Update minimal (security and bugfix only)
dnf update-minimal
# Search for a package
dnf search keyword
# Search in package names and descriptions
dnf search all keyword
# Display package information
dnf info package_name
# List all available packages
dnf list available
# List installed packages
dnf list installed
# List packages matching pattern
dnf list 'pattern*'
# Show which package provides a file
dnf provides /path/to/file
# Show which package provides a command
dnf provides '*/command_name'
# Show detailed package information
dnf info package_name
# List files in a package
dnf repoquery -l package_name
# Show package dependencies
dnf repoquery --requires package_name
# Show what depends on a package
dnf repoquery --whatrequires package_name
# List changelog for a package
dnf changelog package_name
# List enabled repositories
dnf repolist
# List all repositories (enabled and disabled)
dnf repolist all
# Enable a repository
dnf config-manager --set-enabled repository_id
# Disable a repository
dnf config-manager --set-disabled repository_id
# Add a new repository
dnf config-manager --add-repo repository_url
# Install from a specific repository
dnf --enablerepo=repository_id install package_name
# Show repository information
dnf repoinfo repository_id
# List available groups
dnf group list
# List all groups (available and installed)
dnf group list --available
# Show group information
dnf group info "Group Name"
# Install a package group
dnf group install "Group Name"
# Remove a package group
dnf group remove "Group Name"
# Update packages in a group
dnf group update "Group Name"
# Show transaction history
dnf history
# Show details of a specific transaction
dnf history info transaction_id
# Undo a transaction
dnf history undo transaction_id
# Redo a transaction
dnf history redo transaction_id
# Rollback to a specific transaction
dnf history rollback transaction_id
# List packages changed in last transaction
dnf history list last
# Clean cached packages
dnf clean packages
# Clean metadata cache
dnf clean metadata
# Clean all cache
dnf clean all
# Build metadata cache
dnf makecache
# Build cache faster (only essential data)
dnf makecache fast
# Download package without installing
dnf download package_name
# Download package and dependencies
dnf download --resolve package_name
# Download to specific directory
dnf download --downloaddir=/path/to/dir package_name
# Install with download only (no install)
dnf install --downloadonly package_name
# Check for problems in system
dnf check
# List duplicate packages
dnf list --duplicates
# Remove duplicate packages
dnf remove --duplicates
# Synchronize packages to repository versions
dnf distro-sync
# Show DNF configuration
dnf config-manager --dump
# Mark packages as installed by user
dnf mark install package_name
# Mark packages as dependency
dnf mark remove package_name
# Assume yes to all prompts
dnf -y command
# Show verbose output
dnf -v command
# Quiet mode (minimal output)
dnf -q command
# Skip broken packages
dnf --skip-broken command
# Best candidate (ignore version locks)
dnf --best command
# Allow erasing of protected packages
dnf --allowerasing command
# Refresh repository metadata
dnf --refresh command
# List all packages matching pattern
dnf list 'pattern*'
# List recently added packages
dnf list recent
# List updates available
dnf list updates
# List obsolete packages
dnf list obsoletes
# Show installed package size
dnf repoquery --installed --qf '%{size} %{name}'
# List packages by install date
dnf repoquery --userinstalled --qf '%{installtime} %{name}'
# List security updates
dnf updateinfo list security
# Install only security updates
dnf update --security
# List advisories
dnf updateinfo
# Show specific advisory details
dnf updateinfo info advisory_id
# Update packages for specific advisory
dnf update --advisory=advisory_id