# Pacman (Arch Linux)

Pacman és el gestor de paquets de la distribució GNU/Linux Arch Linux. Va ser programat amb el llenguatge C pel mateix creador d'Arch Linux, Judd Vinet. L'objectiu de Pacman és ser capaç de resoldre les dependències, descarregar i instal·lar automàticament tots els paquets necessaris amb una sola ordre. A més de a Arch Linux, Pacman també és utilitzat a Frugalware i Chakra (distribució).

## Ús

El gestor de paquets Pacman és un dels punts forts d'Arch Linux. Combina un simple paquet binari amb un format fàcil d'usar. Pacman permet administrar fàcilment els paquets, ja sigui des dels dipòsits oficials d'Arch o de l'AUR (dipòsits d'usuari d'Arch, o Arch User Repository en anglès).
Pacman manté el sistema actualitzat gràcies a la sincronització de la llista de paquets amb un servidor primari. Aquest model client/Servidor també li permet descarregar i instal·lar paquets complets amb totes les dependències requerides amb una simple línia d'ordre.
Aquest gestor de paquets utilitza arxius empaquetats en tar i comprimits en gzip o xz per tots els paquets, cadascun dels quals conté binaris compilats. Els paquets són descarregats a través d'FTP, tot i que també pot utilitzar HTTP i arxius locals, depenent de com estigui configurat cada dipòsit de programari. Compleix amb Linux Arch Build System, utilitzat per crear els paquets des del codi font.

## Configuració

Per configurar Pacman només cal editar l'arxiu /etc/pamcman.conf, on es poden afegir dipòsits i opcions personalitzades, podent inclús crear dipòsits propis. Els paquets de programari de Pacman són arxius comprimits en tar que contenen metadades i una estructura de directoris amb els fitxers. Els paquets són construïts amb makepkg utilitzant scripts de Bash coneguts com a PKGBUILD. Un exemple de PKGBUILD per un pedaç inclòs en la documentació de pacman com a exemple seria el següent:

## Versions

La versió 1.0 de pacman permetia tan sols instal·lar paquets que havien de ser introduïts manualment amb les opcions --add i --upgrade.
La versió 2.0 de pacman introduí l'habilitat de sincronitzar paquets amb el servidor principal (amb l'opció --sync) a través d'una base de dades.
Pacman 3.0 seria el canvi cap a dividir pacman en dues parts, la tasca de gestió interna la duria a terme libalpm (llibreria per a la gestió de paquets d'Arch Linux o Arch Linux Package Management en anglès), i la tasca de gestió externa la duria a terme el ja conegut pacman. Es millorà així la velocitat, alhora que es facilitava la gestió de dependències i la resolució de conflictes en la majoria dels casos. El canvi cap a un programa basat en una llibreria facilità també el desenvolupament de gestors externs alternatius. PackageKit inclogué suport per la llibreria libalpm.
La versió 4.0 de pacman afegí la capacitat de firmar i verificar els paquets de programari amb l'anell de claus al sistema makepkg/repo-add/pacman via GnuPG i GPGME, tema que fins aleshores no s'havia considerat indispensable.

## Gestors gràfics

Pacman no té cap gestor gràfic oficial. Tot i que, el gestor PackageKit pot ser utilitzat amb les següents interfícies de tercers.

### GUIs

* gtkpacman: Una GUI escrita en PyGTK. No està disponible als dipòsits oficials de programari, però sí que està disponible una versió subversion coneguda amb el nom de gtkpacman-svn.
* wakka: Fork de gtkpacman.
* PackageKit

### Miniaplicació de notificació d'actualitzacions

* pacmon: Miniaplicació de la safata de sistema que notifica a l'usuari de les actualitzacions de pacman disponibles.
* pacupdate: Notificacions a la safata de sistema quan hi ha noves actualitzacions d'Arch Linux.

## Referències

* ↑ «makepkg(8) Manual Page». [Consulta: 15 agost 2011].
* ↑ «PKGBUILD(5) Manual Page». [Consulta: 15 agost 2011].
* ↑ «Pacman Home Page». [Consulta: 4 setembre 2012].
* ↑ «PackageKit - Feature Matrix». [Consulta: 15 agost 2011].

## Enllaços externs

* Pàgina principal de Pacman
* DistroWatch Interview: Judd Vinet talks about Arch Linux and Pacman in 2003