Pacman Reference
Pacman is Arch Linux’s native package manager combining simple binary packages with a build system.
Basic Operations
Install Packages
# Single package
sudo pacman -S vim
# Multiple packages
sudo pacman -S vim neovim tmux
# Install without confirmation
sudo pacman -S --noconfirm package
Querying Packages
Search Packages
# Search remote repos
pacman -Ss search-term
# Search installed packages
pacman -Qs search-term
# Search by regex
pacman -Ss '^vim'
Configuration
pacman.conf
Key settings in /etc/pacman.conf:
[options]
# Enable colors
Color
# Show package sizes
TotalDownload
# Enable parallel downloads
ParallelDownloads = 5
# Misc options
CheckSpace
VerbosePkgLists
ILoveCandy # Easter egg: Pac-Man progress bar
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
# Uncomment for 32-bit support
#[multilib]
#Include = /etc/pacman.d/mirrorlist
Troubleshooting
Lock File Issues
# If pacman is locked
sudo rm /var/lib/pacman/db.lck
# Check if another process is running
pgrep -a pacman
Corrupted Database
# Rebuild package database
sudo pacman -Syyu
# If that fails
sudo rm -r /var/lib/pacman/sync
sudo pacman -Syyu
Useful Combinations
# List explicitly installed non-base packages
comm -23 <(pacman -Qqe | sort) <(pacman -Qqg base-devel | sort)
# List all installed packages by size
pacman -Qi | awk '/^Name/{name=$3}/^Installed Size/{print $4,$5,name}' | sort -h
# Remove all orphans recursively
sudo pacman -Rns $(pacman -Qtdq)
# Downgrade package from cache
sudo pacman -U /var/cache/pacman/pkg/package-oldversion.pkg.tar.zst
# Reinstall all packages
sudo pacman -Qqn | sudo pacman -S -