Naar inhoud springen

Pacman (software)

Uit Wikipedia, de vrije encyclopedie
pacman
Screenshot van pacman dat in terminal draait
Screenshot van pacman dat in terminal draait
Ontwerper(s) Judd Vinet
Ontwikkelaar(s) verschillende
Uitgebracht 25 februari 2002
(22 jaar)
Recentste versie 7.0.0 (14 juli 2024)[1] Bewerken op Wikidata
Status Actief
Besturingssysteem POSIX-compliant: Unix-, Linux- en BSD-systemen
Geschreven in C
Categorie Pakketbeheer
Licentie(s) GPLv2
Versiebeheer Officiële broncode
Website Officiële website
Portaal  Portaalicoon   Informatica
Vrije software

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.

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

[bewerken | brontekst bewerken]

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
}

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

[bewerken | brontekst bewerken]

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

  • 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

[bewerken | brontekst bewerken]
  • pacmon: Tray-applet dat de gebruiker van de beschikbare pacman-updates op de hoogte stelt.
  • pacupdate: Tray-notificaties over nieuwe updates voor Arch Linux.
[bewerken | brontekst bewerken]