Arch User Repository

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
AUR
{{{Alternativtext}}}
Arch User Repository
Sprachen mehrsprachig (darunter auch deutsch)
Artikel 78931 Pakete
Benutzer 97353 registrierte Mitglieder, darunter 60 „vertrauenswürdige Benutzer“
Registrierung optional
Online 2005
(aktualisiert 19. Juli 2022)
https://aur.archlinux.org/
Paketliste vom AUR, September 2018

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 auf für andere Arch-basierte Distributionen wie Manjaro zur Verfügung.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Das AUR entstand 2005.[2] 2015 wechselte das AUR auf das Versionskontrollsystem git.[3]

Unterschiede zum offiziellen Repository[Bearbeiten | Quelltext bearbeiten]

  • 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]
  • 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.[4]

Verwendung[Bearbeiten | Quelltext bearbeiten]

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]

Lange wurde yaourt als AUR-Helper empfohlen.[6] Dieser wird jedoch nicht mehr gepflegt und sollte dementsprechend nicht mehr verwendet werden. Anfang 2019 wurde er aus dem AUR entfernt.[5]

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[Bearbeiten | Quelltext bearbeiten]

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.

Beispiel der Handbuchseite

# 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.[7]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Liane M. Dubowy, Kein Gramm zu viel, Maßgeschneidertes System mit Arch Linux, c’t 24/13, S. 168
  2. http://aur.archlinux.org/ (Memento vom 12. April 2005 im Internet Archive)
  3. Systemd und Arch Linux Repository (AUR): Plattformwechsel zu Git. In: Informatik Aktuell. 10. Juni 2015, abgerufen am 19. Juli 2022.
  4. a b Christoph Langner: Die Arch-Linux Paketverwaltung mit Pacman und AUR. In: LinuxUser 09/2015. Abgerufen am 19. Juli 2022 (deutsch).
  5. a b c Christoph Langner: Das Arch User Repository von Arch Linux im Blick. In: LinuxUser 07/2019. Abgerufen am 19. Juli 2022 (deutsch).
  6. a b c Karsten Günther: Die zentrale Bedeutung von Paketmanagern bei Arch Linux. In: LinuxUser 06/2018. Abgerufen am 18. Juli 2022 (deutsch).
  7. Pina Merkert: Arch Linux: AUR-Paketkompression zu langsam. In: c't magazin. 24. Mai 2022, abgerufen am 19. Juli 2022.

Weblinks[Bearbeiten | Quelltext bearbeiten]