Pacman (pakethanterare)

Från Wikipedia
Hoppa till: navigering, sök
Pacman

Miniatyr

Utvecklare Skapat av Judd Vinet m.fl.[1]
Senaste utgåva 4.1.2
(18 juni 2013[2])
Skriven i C
Operativsystem Multiplattform
Typ Pakethanterare
Språk Engelska
Licens GPL
Webbplats archlinux.org/pacman

Pacman är ett verktyg som hanterar programpaket i Linux. Det använder enkla komprimerade filer som paketformat. Pacman strävar inte efter att "göra allt." utan kommer att lägga till, ta bort och uppgradera paket i systemet, och tillåter användarna att ställa frågor till paketetdatabasen efter installerade paket, filer och ägare. Pacman försöker också att hantera paketberoenden automatiskt och kan hämta paket från en fjärrserver när de behövs för.

Pacman är standard i Arch Linux och många av de linuxdistrubutioner som baseras på Arch, men pacman hittas även hos DeLi Linux samt hos Frugalware Linux som använder en fork kallad Pacman-G2.[3]

Användning[redigera | redigera wikitext]

Pacman är kapabel att lösa paketberoenden och automatiskt ladda ned och installera alla nödvändiga delar som ett program kräver. I teorin kan en användare uppdatera hela sitt operativsystem med ett enda kommando. Pacman håller systemet uppdaterat genom att synkronisera sig med en eller flera huvudservrar för att jämföra mjukvaruversioner. Från samma servrar kan man med enkla kommandon ladda ned och installera nya program.

Paketen klienten laddar ned kommer från ett antal servrar runt om i världen, normalt sett väljer man de servrar som är snabbast för klienten för att få maximal nedladdningshastighet. Pacman kan även kombineras med nedladdningsprogram som wget, aria2 och airpac för att ladda ned paketen från flera servrar samtidigt och på så vis öka hastigheten om man inte når upp till sin maximala hastighet från en server.[4]

Grundläggande exempel på användning av pacman[redigera | redigera wikitext]

Exempel för att installera webbläsaren Firefox med pacman:

# pacman -S firefox

För att avinstallera enbart Firefox skriver man:

# pacman -R firefox

Eller med -Rs om man även vill ta bort eventuella paketberoenden som inte längre används av Firefox eller några andra program installerade:

# pacman -Rs firefox

Paket och byggsystem[redigera | redigera wikitext]

Pacman paket laddas ned som komprimerade TAR-filer som innehåller metadata samt en katalogstruktur över filer.[5] Paketen byggs med makepkg genom Bash byggskript kallade PKGBUILDs.

Följande är en PKGBUILD för en programfix, inkluderad i pacman dokumentationen som ett exempel:[6]

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[redigera | redigera wikitext]

Pacman version 3.0 var en stor omstrukturering och innebar en splittning av pacman till två delar, libalpm blev namnet på back-end, och pacman blev front-end för libalpm. Detta löste många programberoenden, snabbade upp pacman samt underlättade för framtida front-ends att utvecklas direkt till programkärnan libalpm.[7]

Grafiska front-ends[redigera | redigera wikitext]

Pacman har inget officiellt GUI, men för den som vill använda ett grafiskt gränssnitt så finns PackageKit som har stöd för många olika pakethanteringssystem, bl.a ALPM som är akronym för Arch Linux Package Management, vilket inefattar Pacman.[8]

Även följande små program finns för att underlätta hanteringen av sina pacman program:

KDE/QT[redigera | redigera wikitext]

  • Shaman är ett komplett gränssnitt till Qt 4 för libalpm. Shaman omfattar även ett antal extra funktioner, grafiska inställningar, och stöd för att sammanställa från källa till ABS (Arch Build System).
  • pacmanager-svn, ett paket hanteraren i Qt 4 bygger på pacman.
  • Chase, KDE demonen som hanterar uppdateringar av libapqm.
  • kpacupdate, panelprogram för KDE som talar om när det finns nya uppdateringar till Arch Linux.

Gnome/GTK+[redigera | redigera wikitext]

  • YAPG-gtk (Yet Another Pacman GUI) är ett komplett och fullt utrustad skal för pacman pygtk.
  • guzuta, front-end skriven i PyGTK.
  • gtkpacman: Ett PyGTK pacman GUI. En SVN version finns tillgänglig (gtkpacman-svn).
  • pacmon: panelprogram som notifierar om det finns nya uppdateringar till användaren.
  • pacupdate: panelprogram som talar om när det finns nya uppdateringar till Arch Linux.

Referenser[redigera | redigera wikitext]

Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia, Pacman (package manager), 2012-01-22.

Noter[redigera | redigera wikitext]

  1. ^ ”index : pacman.git” (på engelska). https://projects.archlinux.org/pacman.git. Läst 22 januari 2012. 
  2. ^ ”Pacman Home Page: Releases” (på engelska). http://www.archlinux.org/pacman/#_releases. Läst 13 mars 2014. 
  3. ^ ”Pacman-G2” (på engelska). http://frugalware.org/docs/stable/pacman-g2.html. Läst 22 januari 2012. 
  4. ^ ”Improve Pacman Performance” (på engelska). http://wiki.archlinux.org/index.php/Improve_Pacman_Performance. Läst 22 januari 2012. 
  5. ^ ”makepkg(8) Manual Page” (på engelska). https://www.archlinux.org/pacman/makepkg.8.html#_description. Läst 22 januari 2012. 
  6. ^ ”PKGBUILD(5) Manual Page- Exemple” (på engelska). https://www.archlinux.org/pacman/PKGBUILD.5.html#_example. Läst 22 januari 2012. 
  7. ^ ”Pacman Home Page: History” (på engelska). https://www.archlinux.org/pacman/#_history. Läst 23 januari 2012. 
  8. ^ ”PackageKit - Feature Matrix” (på engelska). http://www.packagekit.org/pk-matrix.html. Läst 23 januari 2012. 

Se även[redigera | redigera wikitext]

Externa länkar[redigera | redigera wikitext]