Package Management
Package Management
Understanding Package Managers
Package Management Systems
- APT (Advanced Package Tool) - Debian/Ubuntu
- YUM (Yellowdog Updater Modified) - RHEL/CentOS
- DNF (Dandified YUM) - Fedora/RHEL 8+
- Zypper - openSUSE
APT Package Manager
Basic APT Commands
apt update # Update package lists
apt upgrade # Upgrade installed packages
apt install package # Install a package
apt remove package # Remove a package
apt autoremove # Remove unused dependencies
Advanced APT Usage
apt search keyword # Search for packages
apt show package # Show package details
apt list --installed # List installed packages
apt clean # Clean package cache
YUM Package Manager
Basic YUM Commands
yum check-update # Check for updates
yum update # Update packages
yum install package # Install a package
yum remove package # Remove a package
yum autoremove # Remove unused dependencies
Advanced YUM Usage
yum search keyword # Search for packages
yum info package # Show package info
yum list installed # List installed packages
yum clean all # Clean cache and metadata
Repository Management
APT Repository Management
# Add repository
add-apt-repository ppa:user/repo-name
# Edit sources
vim /etc/apt/sources.list
# Manage repository keys
apt-key add key.gpg
apt-key del keyid
YUM Repository Management
# Add repository file
vim /etc/yum.repos.d/repo-name.repo
# Import GPG key
rpm --import key.gpg
# List repositories
yum repolist
Package Dependencies
Managing Dependencies
- Understanding dependency resolution
- Handling conflicts
- Broken package fixes
Troubleshooting
# APT
apt --fix-broken install
dpkg --configure -a
# YUM
yum deplist package
yum resolve
Software Installation from Source
Compilation Steps
# Install build tools
apt install build-essential # Debian/Ubuntu
yum groupinstall "Development Tools" # RHEL/CentOS
# Basic compilation
./configure
make
make install
Hands-on Practice
Exercise 1: Package Management
- Update system:
# Debian/Ubuntu sudo apt update && sudo apt upgrade # RHEL/CentOS sudo yum update
- Install and remove packages:
# Install package sudo apt install nginx # Remove package sudo apt remove nginx
Exercise 2: Repository Management
- Add a new repository
- Import GPG key
- Install software from new repository
- Verify installation
Best Practices
System Updates
- Regular system updates
- Security updates priority
- Update scheduling
- Backup before major upgrades
Package Management
- Verify package authenticity
- Keep clean package cache
- Document installed packages
- Use version control for configs
Additional Resources
Next Steps
- Learn about configuration management tools
- Explore automated package deployment
- Study package building
- Understand package security