Package Management
Introduction to Package Management
Package management systems automate the process of installing, upgrading, configuring, and removing software packages on Linux systems. Each distribution has its own package management system.
Key Concepts:
- Package repositories
- Dependencies
- Package versions
- Repository management
- Package verification
- Security updates
- Package caching
- Configuration management
Common Package Types
Package Formats:
- .deb - Debian/Ubuntu packages
- .rpm - Red Hat/Fedora packages
- .pkg.tar.zst - Arch Linux packages
- .tgz - Slackware packages
- Source tarballs (.tar.gz, .tar.bz2)
- Snap packages
- Flatpak packages
- AppImage executables
APT (Debian/Ubuntu)
Basic Operations
# Update package lists
apt update
apt-get update
# Upgrade packages
apt upgrade
apt-get upgrade
apt full-upgrade
# Install packages
apt install package-name
apt-get install package-name
# Remove packages
apt remove package-name
apt-get remove package-name
apt purge package-name
# Search packages
apt search keyword
apt-cache search keyword
# Package information
apt show package-name
apt-cache show package-name
dpkg -l | grep package-name
Repository Management
# Add repository
add-apt-repository ppa:user/repo-name
# Repository configuration
/etc/apt/sources.list
/etc/apt/sources.list.d/*.list
# GPG key management
apt-key add keyfile
apt-key del keyid
# Repository priorities
/etc/apt/preferences.d/
Package: *
Pin: release n=distro
Pin-Priority: 500
# Clean package cache
apt clean
apt autoclean
apt autoremove
DNF (RHEL/Fedora)
Basic Operations
# Update package lists
dnf check-update
# Upgrade packages
dnf upgrade
dnf update
# Install packages
dnf install package-name
dnf groupinstall "group-name"
# Remove packages
dnf remove package-name
dnf groupremove "group-name"
# Search packages
dnf search keyword
dnf list available
dnf list installed
# Package information
dnf info package-name
rpm -qi package-name
rpm -ql package-name
Repository Management
# Add repository
dnf config-manager --add-repo URL
dnf config-manager --enable repo-name
# Repository configuration
/etc/yum.repos.d/*.repo
# GPG key management
rpm --import keyfile.key
# Repository metadata
dnf clean all
dnf makecache
# Transaction history
dnf history
dnf history undo TRANSACTION_ID
dnf history rollback TRANSACTION_ID
Zypper (SUSE)
Basic Operations
# Update repositories
zypper refresh
# Upgrade packages
zypper update
zypper dup
# Install packages
zypper install package-name
zypper in package-name
# Remove packages
zypper remove package-name
zypper rm package-name
# Search packages
zypper search keyword
zypper se keyword
# Package information
zypper info package-name
rpm -qi package-name
Repository Management
# Add repository
zypper addrepo URL alias
# Repository management
zypper repos
zypper modifyrepo
zypper removerepo
# Repository refresh
zypper refresh
zypper ref
# Package verification
zypper verify
zypper ve
# Clean cache
zypper clean
zypper cc
Pacman (Arch)
Basic Operations
# Update package database
pacman -Sy
# Upgrade system
pacman -Syu
# Install packages
pacman -S package-name
# Remove packages
pacman -R package-name
pacman -Rs package-name # Remove with dependencies
# Search packages
pacman -Ss keyword
pacman -Qs keyword # Search installed
# Package information
pacman -Si package-name
pacman -Qi package-name # Installed packages
# Clean cache
pacman -Sc # Remove unused packages
pacman -Scc # Remove all cache
AUR Helper (yay)
# Update AUR packages
yay -Syu
# Install AUR package
yay -S package-name
# Search AUR
yay -Ss keyword
# Clean build files
yay -Sc
yay -Yc
# Package information
yay -Si package-name
yay -Ps # Print system statistics
Best Practices
System Maintenance:
- Regular system updates
- Clean package cache
- Remove unused packages
- Verify package signatures
- Backup package lists
- Monitor disk usage
- Track security updates
- Maintain clean repositories
Security Considerations:
- Use official repositories
- Verify package sources
- Check package signatures
- Monitor security advisories
- Regular security updates
- Audit installed packages
- Secure repository access
- Version control policies
Performance Tips:
- Use fast mirrors
- Optimize download settings
- Manage cache size
- Schedule updates
- Parallel downloads
- Delta updates
- Repository priorities
- Network optimization