pacman
- Pacman settings:
/etc/pacman.conf
-
Pacman logs:
/var/log/pacman.log
-
Mirrors
- Mirrorlist stored at
/etc/pacman.d/mirrorlist
- Official list is available from the package
pacman-mirrorlist
- Last Modified packages
grep -iE 'installed|upgraded|removed' /var/log/pacman.log
Query
- Fetches from pacman's local database
- A package on arch is a tarball
# Query all packages
pacman --query
pacman -Q
# Explicitly installed
pacman -Qe
# Installed as dependency
pacman -Qd
pacman -Qdt # + unrequired
pacman -Qdtt # + optional deps
# Foreign packages (installed manually, AUR packages or from libraries removed from pacman.conf)
pacman -Qm
# Info about a package
pacman -Qi "package"
pacman -Qip "package.pkg.tar.xz" # query a file directly
# List package files
pacman -Ql "package"
pacman -Qlp "package.pkg.tar.xz" # query a file directly
# List outdated packages
pacman -Qu
# Changelog
pacman -Qc "package"
# Query the package that owns a file
pacman -Qo "file"
Sync
- Fetches from pacman's remote database (can be cached)
# Install package
pacman --sync "package"
pacman -S "package"
pacman -S --overwrite \* foo # overwrite conflicting files
# Refresh package database from server
pacman -Sy
pacman -Syy # force download (even if up to date)
# Upgrade installed packages
pacman -Su
pacman -Syu # update & upgrade
# Search package on remote repo
pacman -Ss "regex-package"
# remove cache
pacman -Sc # doesn't keep old versions
pacman -Scc # clear also packages that are installed
# List packages in a repo
pacman -Sl "core"
Remove
# Remove package
pacman --remove "package"
pacman -R "package"
# Remove configuration files
pacman -Rn "package"
# Remove unnecessary dependencies
pacman -Rs "package"
# Cascade (remove all packages that depend on them)
pacman -Rc "package"
Upgrade
# Downgrade a kernel
pacman --upgrade "linux-4.15.8-1-x86_64.pkg.tar.xz"
pacman -U "linux-4.15.8-1-x86_64.pkg.tar.xz"
pacman -U --overwrite \* foo.pkg.tar.zst # overwrite conflicting files
Files
- Fetches from pacman's remote database (can be cached)
# refresh package databases from the server
pacman -Fy
# search for a package by file
pacman --files "file"
pacman -F "file"
# list all files by a package
pacman -Fl "package"
Database
# test local database
pacman -Dk
# mark a package as explicit installed
pacman -D --asexplicit "package"
# mark a package as dependency
pacman -D --asdeps "package"
pacman.conf
- Skip package from being upgraded
- Add the packages to the at
/etc/pacman.conf
IgnorePkg=linux