Arch User Repository
Das AUR (Arch User Repository) ist ein Online-Repository für Anweisungen zum Erstellen von Paketen für den Paketmanager pacman (sogenannte PKGBUILDs). Es ist ein integraler Teil der Linux-Distribution Arch Linux.[1][2], steht jedoch auf für andere Arch-basierte Distributionen wie Manjaro zur Verfügung.
AUR | |
---|---|
Arch User Repository | |
Sprachen | mehrsprachig (darunter auch deutsch) |
Benutzer | 82672 registrierte Mitglieder, darunter 58 „Vertrauenswürdige Benutzer“ (Stand: März 2021) |
Registrierung | optional |
Online | 2005 |
(aktualisiert 30. März 2021) | |
https://aur.archlinux.org/ |
Geschichte
Das AUR entstand 2005[3] und ist seitdem auf rund 70.000 PKGBUILDs angewachsen. Zwischen dem 8. Juni und 8. August 2015 wechselte das AUR auf das Versionskontrollsystem git.[4]
Unterschiede zum offiziellen Repository
- Lizenzfragen: Software, die nicht explizit durch Dritte verteilt werden darf, kann im Arch-User-Repository aufgenommen werden. Dabei wird auf der Website des AUR lediglich ein Shellskript gehostet, das die aktuelle Version der Software herunterlädt und packt. Beispiel hierfür ist proprietäre Software wie Google Earth oder Spotify.
- Veränderte offizielle Pakete: Das Arch-User-Repository enthält auch viele Variationen (z. B. Entwicklungs- oder Legacy-Versionen) von Paketen aus den offiziellen Repositories sowie git- und hg-Versionen von Software, die in den Repositories als stabile Versionen enthalten ist.
- Seltenheit der Software: Neue, besonders alte oder selten verwendete Programme, die zu den offiziellen Repositories (noch) nicht hinzugefügt oder aus diesen entfernt wurden. Nimmt sich ein sogenannter „Trusted User“ eines populären AUR-Paketes an, kann dieses in das offizielle community-Repository verschoben werden.
Verwendung
Jeder registrierte Nutzer des AURs kann selbst PKGBUILDs hochladen. Danach ist er für die Pflege des Paketes zuständig, wie sie bei Software-Aktualisierungen nötig ist. Nur der ursprüngliche Autor kann seine PKGBUILDs aktualisieren.
PKGBUILDs können von jedem Anwender heruntergeladen und zum Erzeugen eines Pakets benutzt werden. Die PKGBUILDs werden im AUR als Tarball, der extrahiert werden muss sowie als git-Repository angeboten.[5] Es gibt eine Reihe von Hilfsprogrammen (wie z. B. paru oder yay), die den Prozess des Herunterladens, Extrahierens und Erstellens des Pakets automatisieren sowie Pakete automatisch auf Aktualisierungen prüfen können.[6]
Lange wurde yaourt als AUR-Helper empfohlen. Dieser wird jedoch nicht mehr gepflegt und sollte dementsprechend nicht mehr verwendet werden. Anfang 2019 wurde er aus dem AUR entfernt.
Manuell
git clone https://aur.archlinux.org/$paketname.git
cd $paketname
makepkg -si
Optional kann die Option -r
dem makepkg-Befehl hinzugefügt werden, um nicht mehr benötigte Abhängigkeiten, welche zum Erstellen des Paketes installiert wurden, anschließend zu entfernen.
Automatisiert mit dem AUR-Helper yay
yay -S $paketname
PKGBUILD
PKGBUILDs sind Skripte, die ähnlich wie die älteren ebuilds von Portage, der Paketverwaltung von Gentoo Linux, aufgebaut sind. Im ersten Abschnitt befinden sich Metadaten über Paketname, URL des Quelltexts, Hashsumme der Quelldateien (hier im Beispiel MD5), zum Kompilieren/Entpacken benötigte Bibliotheken (Abhängigkeiten) und Lizenz/Dokumentation des Pakets. Die Abschnitte build und package enthalten Anweisungen zum Erstellen und Installieren der Pakete.
PKGBUILDs werden von dem Programm makepkg geparst und in Programmpakete (tar-Archiv mit zstd-Kompression) übersetzt. Diese tragen standardmäßig die Dateiendung .tar.zst.[7]
# Maintainer: Joe User <joe.user@example.com>
pkgname=patch
pkgver=2.7.1
pkgrel=1
pkgdesc="A utility to apply patch files to original sources"
arch=('i686' 'x86_64')
url="https://www.gnu.org/software/patch/patch.html"
license=('GPL')
groups=('base-devel')
depends=('glibc')
makedepends=('ed')
optdepends=('ed: for "patch -e" functionality')
source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig})
md5sums=('e9ae5393426d3ad783a300a338c09b72'
'SKIP')
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr
make
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir/" install
}
Einzelnachweise
- Liane M. Dubowy, Kein Gramm zu viel, Maßgeschneidertes System mit Arch Linux, c’t 24/13, S. 168
- AUR. In: ArchWiki. Abgerufen am 16. Juli 2014 (englisch).
- http://aur.archlinux.org/ (Memento vom 12. April 2005 im Internet Archive)
- AUR: History. In: ArchWiki. Abgerufen am 8. September 2018 (englisch).
- AUR: Installing packages. In: ArchWiki. Abgerufen am 16. Juli 2014 (englisch).
- AUR helpers. In: ArchWiki. Abgerufen am 8. September 2018 (englisch).
- Arch packaging standards. In: ArchWiki. Abgerufen am 16. Juli 2014 (englisch).