Pacman (software)
pacman | ||||
---|---|---|---|---|
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] | |||
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 | |||
|
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
[bewerken | brontekst bewerken]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
}
libalpm
[bewerken | brontekst bewerken]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.
GUIs
[bewerken | brontekst bewerken]- 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.