Pacman is een pakketbeheerder, ontwikkeld als onderdeel van de Arch Linux-distributie. Het werd gemaakt door Judd Vinet van Arch Linux. De pacman-pakketbeheerder is een van de belangrijkste pijlers van Arch Linux.

Naast Arch Linux wordt pacman ook gebruikt door Manjaro, Arcolinux, Artix, Chakra Linux en andere op Arch gebaseerde distros. Frugalware maakt gebruik van een fork van een pacman-rewrite.

Gebruik 
Pacman is in staat om afhankelijkheden op te lossen en alle noodzakelijke pakketten automatisch te downloaden en te installeren. In theorie kan een gebruiker slechts een enkele opdracht uitvoeren om het systeem volledig te updaten.

Pacman houdt het systeem up-to-date door pakketlijsten met de masterserver te synchroniseren. Dit client-servermodel maakt het ook mogelijk voor gebruikers om pakketten met een simpel commando, compleet met alle benodigde afhankelijkheden te downloaden/installeren.

Pakketten worden gedownload via FTP of HTTP; het kan ook gebruikmaken van lokale bestanden, afhankelijk van hoe elke repository is opgezet.

Pakketten en bouwsysteem 
Pacmanpakketten zijn gecomprimeerde tar-archieven met metadata en een mappenstructuur met bestanden. Pakketten zijn gebouwd met behulp van makepkg die Bash-buildscripts gebruiken bekend als PKGBUILDs. Het volgende is een PKGBUILD voor het patch-pakket opgenomen in de pacman-documentatie als voorbeeld:

pkgname=patch
pkgver=2.5.4
pkgrel=3
pkgdesc="A utility to apply patch files to original sources"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/patch/patch.html"
license=('GPL')
groups=('base-devel')
depends=('glibc' 'ed')
source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz)
md5sums=('ee5ae84d115f051d87fcaaef3b4ae782')

build() {
  cd "$srcdir"/$pkgname-$pkgver
  ./configure --prefix=/usr
  make
}

package() {
  cd "$srcdir"/$pkgname-$pkgver
  make prefix="$pkgdir"/usr install
}

libalpm 
Pacman versie 3.0 introduceerde een back-end-bibliotheek, libalpm, waarvan pacman een front-end werd. PackageKit omvat ondersteuning voor de ALPM-bibliotheek.

Grafische front-ends 
Pacman heeft geen officiële grafische front-end. Er kunnen echter PackageKit-front-ends worden gebruikt samen met de volgende interfaces van derden.

GUIs 
 gtkpacman: Een PyGTK-pacman-GUI. Een Subversion-versie is ook beschikbaar (gtkpacman-svn). Niet beschikbaar in de repository's.
 wakka: Fork van gtkpacman.
 PackageKit

Updatenotificatie-applets 
 pacmon: Tray-applet dat de gebruiker van de beschikbare pacman-updates op de hoogte stelt.
 pacupdate: Tray-notificaties over nieuwe updates voor Arch Linux.

Externe links 
 Officiële website
 Pacman op Arch Linux Wiki

Systeemsoftware
Linux
Opensourcesoftware en vrije software
Software geschreven in C