Pacman: Difference between revisions
No edit summary |
(→Notes) |
||
Line 40: | Line 40: | ||
|- | |- | ||
| [[pacman configuration]] | | [[pacman configuration]] | ||
|- | |||
| [[pacman packages]] | |||
|- | |- | ||
| [[pacman troubleshooting]] | | [[pacman troubleshooting]] |
Revision as of 18:32, 25 December 2021
Archlinux's package manager.
You may also be insterested in arch ABS.
Documentation
archwiki pacman https://wiki.archlinux.org/index.php/Pacman archwiki PKGBUILD https://wiki.archlinux.org/title/PKGBUILD archwiki mirrors https://wiki.archlinux.org/index.php/Mirrors latest mirrorlist https://archlinux.org/mirrorlist/?ip_version=4
Locations
/etc/pacman.conf
configure which repos to pull from (core, extra, communnity, multilib) /etc/pacman.d/mirrorlist
configure which sources to pull from (waterloo, queensu etc) /var/cache/pacman/pkg
currently installed programs. Can use these archives to rollback to older versions of program. /var/log/pacman.log
history of pacman operations /var/lib/pacman/db.lck
pacman lockfile
Notes
pacman usage pacman configuration pacman packages pacman troubleshooting
Usage
Pacman is arch's primary binary package manager. This is typically what you would use for installing/removing software. Pacman comes installed.
installing packages
pacman -Ss <pkg> # search pacman -Qo /bin/netstat # search package containing this file pacman -S <pkg> # install pacman -Rs <pkg> # uninstall with dependencies pacman -Rsc <pkg> # uninstall with dependencies, and packages that require this package pacman -Rsd --nodeps <pkg> # uninstall, allowing broken deps (useful for removing video driver)updates
pacman -Syy # refresh package index pacman -Syu # update allmaintenance
pacman -Si <pkg> # info pacman -Q # list of all installed packages pacman -Rns $(pacman -Qtdq) # remove unneeded packages pacman -Sc # remove old packages from pkg-cache (MAKE SURE CLEANMETHOD=KEEPCURRENT IN /ETC/PACMAN.CONF)
Mirrorlist
You can automatically determine the fastest servers and sort them by quickest.
I wrote a bashscriptpacman-mirrorlist
to do this for me.sudo pacman -S pacman-contrib # generate mirrorlist for all CA/US mirrors awk '/^## Canada$/{f=1; next}f==0{next}/^$/{exit}{print substr($0, 1);}' /etc/pacman.d/mirrorlist.pacnew | sed 's/^#//' | sudo tee /etc/pacman.d/mirrorlist.tmp awk '/^## United States$/{f=1; next}f==0{next}/^$/{exit}{print substr($0, 1);}' /etc/pacman.d/mirrorlist.pacnew | sed 's/^#//' | sudo tee -a /etc/pacman.d/mirrorlist.tmp rankmirrors -n 10 /etc/pacman.d/mirrorlist.tmp | sudo tee /etc/pacman.d/mirrorlist
Key Management
pacman-key --init pacman-key --populate archlinux pacman-key --refresh-keys
Tips/Tricks
Holding/Pinning/Locking Packages
Packages can be set to be ignored in
/etc/pacman.conf
.IgnorePkg = salt zfs-linux spl-linuxDownloading old Packages
Archlinux
Find the package you'd like to downgrade to here
https://archive.archlinux.org/packages/
.Ex:
firefox https://archive.archlinux.org/packages ## find url to package pacman -U \ https://archive.archlinux.org/packages/l/linux/linux-4.15.3-2-x86_64.pkg.tar.xz \ https://archive.archlinux.org/packages/l/linux-headers-4.15.3-2-x86_64.pkg.tar.xz
WARNING:
Occasionally, you might need to install something to satisfy a current AUR package. But installing the core package will break the existing AUR package dependencies.
You have 2x options:
pacaur -S zfs-linux spl-linux -U https://... https://..Archlinux-Arm
# find cpu arch uname -a # download package for your arch http://tardis.tiny-vps.com/aarm/packages/f/firefox/firefox-79.0.1-aarch64.tar.xz # install pacman -U firefox-79.0.1-aarch64.tar.xz
Troubleshooting
Load metadata for package error
The pacman database is corrupt. Simply delete the package's file, and re-install using force.
sudo rm -rf /var/lib/pacman/local/man-pages-* sudo pacman -S --force man-pages