Pacman Package Manager
📋 Copy All Commands
📄 Generate PDF
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
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
# 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
[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
# 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
# /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
Parallel Downloads
# /etc/pacman.conf
[options]
ParallelDownloads = 5
Fastest Mirrors
# Install reflector
sudo pacman -S reflector
# Auto-update mirrors weekly
sudo systemctl enable reflector.timer
SSD Optimization
# /etc/pacman.conf
[options]
NoExtract = usr/share/doc/*
NoExtract = usr/share/man/*
NoExtract = usr/share/info/*
Backup and Recovery
Package List Backup
# Create package list
pacman -Qqe > pkglist.txt
# Restore packages
sudo pacman -S --needed - < pkglist.txt
System Snapshot
# 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
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