Pacman Package Manager Cheatsheet
Updating and Synchronizing Packages
sudo pacman -Sy
- Update system (sync database and upgrade packages)
sudo pacman -Syu
- Force refresh package database
sudo pacman -Syy
- Update system with database refresh
sudo pacman -Syyu
Installing and Removing Packages
- Install a package (e.g.,
firefox
)
sudo pacman -S <package>
- Install package without confirmation
sudo pacman -S --noconfirm <package>
sudo pacman -U <path/to/package.pkg.tar.zst>
sudo pacman -R <package>
- Remove package and dependencies
sudo pacman -Rs <package>
- Remove package, dependencies, and config files
sudo pacman -Rns <package>
sudo pacman -Rns $(pacman -Qdtq)
Searching and Querying Packages
- Search for packages in repositories
pacman -Ss <keyword>
- Search installed packages
pacman -Qs <keyword>
- Display package information (repository)
pacman -Si <package>
- Display installed package information
pacman -Qi <package>
- List all installed packages
pacman -Q
- List explicitly installed packages
pacman -Qe
pacman -Qdt
- List files installed by package
pacman -Ql <package>
- Find which package owns a file
pacman -Qo <file>
Package Cache Management
- Remove uninstalled packages from cache
sudo pacman -Sc
- Clear entire package cache
sudo pacman -Scc
- Download package without installing
sudo pacman -Sw <package>
pacman -Qk <package>
- Check all packages for file issues
sudo pacman -Qkk
Managing Package Groups
pacman -Sg
pacman -Sg <group>
sudo pacman -S <group>
Database and Mirror Management
- Refresh all package databases
sudo pacman -Syy
sudo pacman-optimize
sudo pacman -Sc
- Update mirrorlist (requires reflector)
sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Advanced Operations
pacman -Qi | awk '/^Name/{name=$3} /^Installed Size/{print $4$5, name}' | sort -h
pactree <package>
- Show reverse dependencies
pactree -r <package>
- List files not owned by any package
sudo pacman -Qkk 2>&1 | grep "No such file"
sudo pacman -Qqn | pacman -S -
- Mark package as explicitly installed
sudo pacman -D --asexplicit <package>
- Mark package as dependency
sudo pacman -D --asdeps <package>
Configuration
sudo vim /etc/pacman.conf
sudo vim /etc/pacman.d/mirrorlist
# Uncomment "Color" in /etc/pacman.conf
- Enable parallel downloads
# Add "ParallelDownloads = 5" to /etc/pacman.conf
Troubleshooting
sudo pacman -S --needed $(pacman -Qnq)
sudo rm /var/lib/pacman/db.lck
sudo pacman -Qkk
- Force package installation
sudo pacman -S --overwrite '*' <package>
- Skip dependency checks (dangerous)
sudo pacman -Sd <package>