Package Managers

This guide covers package management in different Linux distributions, focusing on APT (Debian/Ubuntu) and YUM/DNF (RHEL/CentOS).

๐Ÿ“ฆ APT (Advanced Package Tool)

Basic Package Operations for APT

# Update package lists
sudo apt update                # Update package index
sudo apt upgrade              # Upgrade installed packages
sudo apt full-upgrade         # Upgrade with dependency handling

# Package installation
sudo apt install package_name           # Install package
sudo apt install package1 package2      # Install multiple packages
sudo apt install package_name=version   # Install specific version

# Package removal
sudo apt remove package_name    # Remove package
sudo apt purge package_name     # Remove package and configuration
sudo apt autoremove            # Remove unused dependencies

Package Information

# Search packages
apt search keyword             # Search for packages
apt list --installed          # List installed packages
apt list --upgradeable        # List upgradeable packages

# Package details
apt show package_name         # Show package details
apt policy package_name       # Show package versions
dpkg -L package_name         # List package files

Repository Management

# Add/Remove repositories
sudo add-apt-repository ppa:user/repo-name    # Add PPA
sudo add-apt-repository --remove ppa:user/repo # Remove PPA

# Repository files
/etc/apt/sources.list         # Main repository file
/etc/apt/sources.list.d/      # Additional repository files

๐ŸŽฏ YUM/DNF (Yellowdog Updater, Modified)

Basic Package Operations for YUM

# Update system
sudo yum update               # Update all packages
sudo dnf update              # DNF equivalent

# Package installation
sudo yum install package_name          # Install package
sudo dnf install package_name          # DNF equivalent
sudo yum install package-1.0.0         # Install specific version

# Package removal
sudo yum remove package_name   # Remove package
sudo dnf remove package_name   # DNF equivalent
sudo yum autoremove           # Remove unused dependencies

Package Information for YUM

# Search packages
yum search keyword            # Search for packages
yum list installed           # List installed packages
yum list updates             # List available updates

# Package details
yum info package_name        # Show package details
rpm -ql package_name        # List package files
yum provides */file_name    # Find package providing file

Repository Management for YUM

# Repository operations
yum repolist                 # List enabled repositories
yum repolist all            # List all repositories

# Add repository
sudo yum-config-manager --add-repo repository_url
sudo dnf config-manager --add-repo repository_url

๐Ÿ”ง Common Tasks

Package Maintenance

# Clean package cache
sudo apt clean               # APT cache cleanup
sudo apt autoclean          # Remove old packages
sudo yum clean all          # YUM cache cleanup

# Fix broken installations
sudo apt --fix-broken install    # Fix broken dependencies
sudo dpkg --configure -a         # Configure unconfigured packages

System Updates

# Full system update (Debian/Ubuntu)
sudo apt update && sudo apt upgrade -y

# Full system update (RHEL/CentOS)
sudo yum update -y
sudo dnf upgrade -y

Package Files

# Download package without installing
apt download package_name    # APT download
yumdownloader package_name   # YUM download

# Install local package
sudo dpkg -i package.deb     # Install DEB package
sudo rpm -i package.rpm      # Install RPM package

๐Ÿ’ก Best Practices

  1. System Updates

    • Regularly update package lists

    • Schedule system updates

    • Review changes before upgrading

    • Keep security updates current

  2. Package Installation

    • Verify package sources

    • Check dependencies

    • Use official repositories

    • Keep minimal installations

  3. Maintenance

    • Regular cache cleanup

    • Remove unused packages

    • Monitor disk space

    • Maintain clean sources

๐Ÿ”’ Security Considerations

Repository Security

# Check package signatures
sudo apt-key list           # List trusted keys (APT)
rpm -qa gpg-pubkey*        # List trusted keys (RPM)

# Secure apt transport
sudo apt install apt-transport-https

Package Verification

# Verify package integrity
dpkg -V package_name       # Verify APT package
rpm -V package_name       # Verify RPM package

# Check for vulnerable packages
sudo apt list --upgradeable
sudo yum updateinfo list security

๐Ÿ“Š Package Management Tools

GUI Tools

# Debian/Ubuntu
sudo apt install synaptic              # Synaptic Package Manager
sudo apt install software-center       # Ubuntu Software Center

# RHEL/CentOS
sudo yum install gnome-software       # GNOME Software
sudo yum install dnfdragora          # DNF Dragora

Additional Tools

# APT tools
sudo apt install aptitude              # Alternative package manager
sudo apt install apt-file             # Search package contents

# YUM tools
sudo yum install yum-utils            # YUM utilities
sudo yum install dnf-plugins-core     # DNF plugins

๐Ÿ” Troubleshooting

  1. Package Conflicts

    # APT
    sudo apt --fix-broken install
    
    # YUM/DNF
    sudo yum clean all && sudo yum update
  2. Repository Issues

    # APT
    sudo apt update --fix-missing
    
    # YUM/DNF
    sudo yum clean metadata
    sudo dnf clean metadata
  3. Lock Files

    # Remove APT locks
    sudo rm /var/lib/apt/lists/lock
    sudo rm /var/cache/apt/archives/lock
    
    # Remove YUM locks
    sudo rm /var/run/yum.pid

Last updated

Was this helpful?