Arch User Repository
nutzergenerierte Paketsammlung für Arch Linux
From Wikipedia, the free encyclopedia
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] Es steht jedoch auch für andere Arch-basierte Distributionen wie Manjaro zur Verfügung.
| AUR | |
| Arch User Repository | |
| Sprachen | mehrsprachig (darunter auch deutsch) |
|---|---|
| Artikel | 78931 Pakete |
| Benutzer | 97353 registrierte Mitglieder, darunter 60 „vertrauenswürdige Benutzer“ |
| Registrierung | optional |
| Online | seit 2005 |
| (aktualisiert 19. Juli 2022) | |
| https://aur.archlinux.org/ | |

Geschichte
Nutzungsgründe
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.[4] Beispiel hierfür ist proprietäre Software wie Google Chrome.[5]
Variationen
Das Arch-User-Repository enthält auch viele veränderte offizielle Pakete (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.
Nischenstatus
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.[4]
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.[6] 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. 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.[5]
Gefahren
Die Entwickler von Arch Linux weisen ausdrücklich darauf hin, dass das AUR nicht aktiv moderiert wird und die Verwendung der Installationsskripte auf eigene Gefahr erfolgt. 2018 wurden Paketskripte hochgeladen, die Schadprogramme herunterluden.[7] 2025 wurden Skripte veröffentlicht, die einen Remote-Access-Trojaner installierten. Diese wurden zwei Tage später administrativ entfernt.[8]
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.
# 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
}
PKGBUILDs werden von dem Programm makepkg geparst und in Programmpakete (tar-Archiv) übersetzt.[6] Diese sind für die Übertragung im Internet standardmäßig komprimiert. Für die rein lokale Verwendung kann die Kompression auch deaktiviert werden, um die Bauzeit zu verkürzen.[9]