Pacman Package Manager Cheatsheet


Updating and Synchronizing Packages

  • Sync package database
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>
  • Install from file or URL
sudo pacman -U <path/to/package.pkg.tar.zst>
  • Remove package only
sudo pacman -R <package>
  • Remove package and dependencies
sudo pacman -Rs <package>
  • Remove package, dependencies, and config files
sudo pacman -Rns <package>
  • Remove orphaned packages
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
  • List orphaned packages
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>
  • Verify package integrity
pacman -Qk <package>
  • Check all packages for file issues
sudo pacman -Qkk

Managing Package Groups

  • List all package groups
pacman -Sg
  • List packages in a group
pacman -Sg <group>
  • Install entire group
sudo pacman -S <group>

Database and Mirror Management

  • Refresh all package databases
sudo pacman -Syy
  • Optimize pacman database
sudo pacman-optimize
  • Clean package database
sudo pacman -Sc
  • Update mirrorlist (requires reflector)
sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist

Advanced Operations

  • List packages by size
pacman -Qi | awk '/^Name/{name=$3} /^Installed Size/{print $4$5, name}' | sort -h
  • Show dependency tree
pactree <package>
  • Show reverse dependencies
pactree -r <package>
  • List files not owned by any package
sudo pacman -Qkk 2>&1 | grep "No such file"
  • Reinstall all packages
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

  • Main configuration file
sudo vim /etc/pacman.conf
  • Mirror list
sudo vim /etc/pacman.d/mirrorlist
  • Enable color output
# Uncomment "Color" in /etc/pacman.conf
  • Enable parallel downloads
# Add "ParallelDownloads = 5" to /etc/pacman.conf

Troubleshooting

  • Fix broken packages
sudo pacman -S --needed $(pacman -Qnq)
  • Unlock pacman database
sudo rm /var/lib/pacman/db.lck
  • Verify all packages
sudo pacman -Qkk
  • Force package installation
sudo pacman -S --overwrite '*' <package>
  • Skip dependency checks (dangerous)
sudo pacman -Sd <package>