Appearance
Pacman Package Manager
Comprehensive Pacman commands and workflows for Arch Linux package management.
Installation & Updates
Basic Package Operations
Command | Description |
---|---|
sudo pacman -Syu | Update system (sync + upgrade) |
sudo pacman -S package_name | Install package |
sudo pacman -R package_name | Remove package |
sudo pacman -Rs package_name | Remove package and dependencies |
sudo pacman -Rns package_name | Remove package, deps, and config |
sudo pacman -U package.pkg.tar.xz | Install local package |
Advanced Installation
Command | Description |
---|---|
sudo pacman -S package1 package2 | Install multiple packages |
sudo pacman -S --needed package_name | Install only if not installed |
sudo pacman -S --asdeps package_name | Install as dependency |
sudo pacman -D --asdeps package_name | Mark as dependency |
sudo pacman -D --asexplicit package_name | Mark as explicitly installed |
Package Information
Search and Information
Command | Description |
---|---|
pacman -Ss keyword | Search for packages |
pacman -Si package_name | Show package information |
pacman -Q | List installed packages |
pacman -Qs keyword | Search installed packages |
pacman -Qi package_name | Show installed package info |
pacman -Ql package_name | List package files |
pacman -Qo /path/to/file | Find package owning file |
Package Dependencies
Command | Description |
---|---|
pacman -Qi package_name | grep Depends | Show dependencies |
pacman -Qii package_name | Show detailed package info |
pactree package_name | Show dependency tree |
pactree -r package_name | Show reverse dependencies |
System Maintenance
Cleanup Operations
Command | Description |
---|---|
sudo pacman -Sc | Clean package cache |
sudo pacman -Scc | Clean all cache |
sudo pacman -Rns $(pacman -Qtdq) | Remove orphaned packages |
sudo pacman -Qqd | pacman -Rsu - | Remove unused dependencies |
Database Operations
Command | Description |
---|---|
sudo pacman -Sy | Sync package database |
sudo pacman -Syy | Force sync database |
sudo pacman-db-upgrade | Upgrade package database |
AUR (Arch User Repository)
AUR Helpers
Command | Description |
---|---|
yay -S package_name | Install AUR package (yay) |
yay -Syu | Update system including AUR |
yay -Ss keyword | Search AUR packages |
paru -S package_name | Install AUR package (paru) |
Manual AUR Installation
bash
# Clone AUR package
git clone https://aur.archlinux.org/package_name.git
cd package_name
# Review PKGBUILD
cat PKGBUILD
# Build and install
makepkg -si
Configuration Files
Pacman Configuration
File | Description |
---|---|
/etc/pacman.conf | Main configuration |
/etc/pacman.d/mirrorlist | Mirror list |
/var/log/pacman.log | Package log |
/var/lib/pacman/local/ | Local package database |
Example pacman.conf
ini
[options]
HoldPkg = pacman glibc
Architecture = auto
Color
CheckSpace
VerbosePkgLists
ParallelDownloads = 5
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
Mirror Management
Reflector (Mirror Optimization)
Command | Description |
---|---|
sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist | Update mirrorlist |
sudo reflector --country 'United States' --latest 10 --sort rate --save /etc/pacman.d/mirrorlist | Country-specific mirrors |
Manual Mirror Selection
bash
# Backup current mirrorlist
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
# Edit mirrorlist
sudo nano /etc/pacman.d/mirrorlist
# Test mirrors
sudo pacman -Syy
Package Groups
Group Operations
Command | Description |
---|---|
pacman -Sg | List all groups |
pacman -Sg group_name | List packages in group |
sudo pacman -S group_name | Install package group |
sudo pacman -S --needed group_name | Install missing group packages |
Common Groups
Group | Description |
---|---|
base | Base system packages |
base-devel | Development tools |
gnome | GNOME desktop environment |
kde-applications | KDE applications |
xorg | X Window System |
Advanced Usage
Package Verification
Command | Description |
---|---|
sudo pacman -Qk | Check all packages |
sudo pacman -Qkk | Thorough check |
sudo pacman -Qk package_name | Check specific package |
Downgrading Packages
Command | Description |
---|---|
sudo pacman -U /var/cache/pacman/pkg/package-version.pkg.tar.xz | Downgrade from cache |
downgrade package_name | Downgrade using downgrade tool |
Hooks and Scripts
bash
# /etc/pacman.d/hooks/example.hook
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = *
[Action]
Description = Running custom script...
When = PostTransaction
Exec = /usr/local/bin/custom-script.sh
Troubleshooting
Common Issues
Problem | Solution |
---|---|
Conflicting files | sudo pacman -S --overwrite glob package |
Corrupted package | sudo pacman -S --force package |
Key issues | sudo pacman-key --refresh-keys |
Database lock | sudo rm /var/lib/pacman/db.lck |
Package Conflicts
Command | Description |
---|---|
sudo pacman -Rdd package_name | Remove without checking deps |
sudo pacman -S --force package_name | Force installation |
sudo pacman -Syu --ignore package_name | Ignore package during upgrade |
Key Management
Command | Description |
---|---|
sudo pacman-key --init | Initialize keyring |
sudo pacman-key --populate archlinux | Populate Arch keys |
sudo pacman-key --refresh-keys | Refresh all keys |
sudo pacman-key --recv-keys KEYID | Receive specific key |
Performance Optimization
Parallel Downloads
ini
# /etc/pacman.conf
[options]
ParallelDownloads = 5
Fastest Mirrors
bash
# Install reflector
sudo pacman -S reflector
# Auto-update mirrors weekly
sudo systemctl enable reflector.timer
SSD Optimization
ini
# /etc/pacman.conf
[options]
NoExtract = usr/share/doc/*
NoExtract = usr/share/man/*
NoExtract = usr/share/info/*
Backup and Recovery
Package List Backup
bash
# Create package list
pacman -Qqe > pkglist.txt
# Restore packages
sudo pacman -S --needed - < pkglist.txt
System Snapshot
bash
# Create system backup
sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /backup/
# Package cache backup
sudo cp -r /var/cache/pacman/pkg/ /backup/pacman-cache/
Best Practices
Security
- Regular Updates: Keep system updated with
sudo pacman -Syu
- Key Verification: Maintain updated package signing keys
- AUR Caution: Review PKGBUILDs before building AUR packages
- Minimal Installation: Install only necessary packages
- Backup: Regular system and package list backups
Performance
- Mirror Optimization: Use fastest mirrors with reflector
- Parallel Downloads: Enable parallel downloads
- Cache Management: Regular cache cleanup
- SSD Optimization: Exclude unnecessary files
- Database Optimization: Keep package database clean
Maintenance
- Orphan Cleanup: Regular removal of orphaned packages
- Log Monitoring: Check pacman logs for issues
- Dependency Health: Monitor package dependencies
- Mirror Health: Verify mirror accessibility
- System Consistency: Regular package verification