Arch User Repository: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(10 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 8: Zeile 8:


===Paketdateien herunterladen===
===Paketdateien herunterladen===
Alle Dateien die nötig sind, um ein Paket zu erstellen, sind in einem Git-Repository gespeichert. Zum Herunterladen ist also zunächst git zu installieren.
Alle Dateien die nötig sind, um ein Paket zu erstellen, sind in einem Git-Repository gespeichert.
pacman -S git
 
Man benötigt einen User im AUR, den man über die Weboberfläche einrichten kann, und einen öffentlichen Schlüssel (ssh), der dort per Copy und Paste zu hinterlegen ist.
Dieses kann man entweder mittels [[git]] klonen oder sich von der Website des Pakets im AUR über das rechtsseitige Menü ''Package Actions'' einen Snapshot herunterladen.
 
====Git Methode====
  git clone https://aur.archlinux.org/<paketname>.git


In der lokalen Konfigurationsdatei ~/.ssh/config ist folgendes einzutragen:
====Snapshot Methode====
Der heruntergeladene Snapshot muss zunächst mit


Host aur.archlinux.org
  tar xvzf <snapshot_datei>
  IdentityFile ~/.ssh/aur
  User aur


Dann ist etwa folgendes einzugeben:
extrahiert werden.
git clone ssh://aur@aur.archlinux.org/<paketname>.git
wobei <paketname> entsprechend zu ersetzen ist.


===Ein Verzeichnis für eigene Pakete wählen===
===Ein Verzeichnis für eigene Pakete wählen===
Zeile 51: Zeile 51:


   pacman -U beispiel-paket-*.pkg.tar.xz
   pacman -U beispiel-paket-*.pkg.tar.xz
==Eigene Pakete erstellen==
Alle Dateien eines AUR-Pakets werden in einem eigenen Git-Repository gepflegt.
Daher ist also zunächst git zu installieren.
pacman -S git
Man benötigt einen User im AUR, den man über die Weboberfläche einrichten kann, und einen öffentlichen Schlüssel (ssh), der dort per Copy&Paste zu hinterlegen ist.
In der lokalen Konfigurationsdatei {{ic|~/.ssh/config}} ist folgendes einzutragen:
Host aur.archlinux.org
  IdentityFile ~/.ssh/aur
  User aur
Dann ist etwa folgendes einzugeben:
git clone ssh://aur@aur.archlinux.org/<paketname>.git
wobei <paketname> entsprechend zu ersetzen ist.
Die Datei [[PKGBUILD]] ist im Wurzelverzeichnis des neu geklonten Git-Repositories zu erstellen.
Ferner '''''muss''''' jeder Git-Commit die Datei ''.SRCINFO'' beinhalten.
Diese kann mittels {{ic|mksrcinfo}} aus dem Paket {{paket|pkgbuild-introspection}} erstellt werden.


==Hilfsprogramme für AUR==
==Hilfsprogramme für AUR==
Zeile 62: Zeile 83:


reduziert.
reduziert.
====[[paktahn]]====
 
[[paktahn]] ist ein in Common Lisp geschriebenes Programm, das sich hinsichtlich Aufruf und Wirkungsweise an [[yaourt]] orientiert. Das auzurufende Programm heißt pak.  
Aber Vorsicht: In der stabilen Version kann Yaourt nicht mit "split packages" umgehen, d.h. nicht alle Pakete aus dem AUR sind über Yaourt umstandslos installierbar.
 
====[[packer]]====
====[[packer]]====
Ein weiteres Shellskript mit ähnlichem Funktionsumfang wie [[yaourt]].
Ein weiteres Shellskript mit ähnlichem Funktionsumfang wie [[yaourt]].
===Hilfsprogramme, die Teilaspekte abdecken===
===Hilfsprogramme, die Teilaspekte abdecken===
====Aurcheck====
Mit {{AUR|aurcheck}} kann man sich anzeigen lassen, ob es für installierte Pakete aus dem AUR Updates gibt.
Das Bash Script, ermittelt mittels 'pacman -Qm' alle installierten Pakete, die in keinem Repo sind, sucht diese dann im AUR und vergleicht die Versionsnummern.


====Cower====
====Cower====
{{AUR|cower}} ist in C geschrieben und lädt die Tarbälle nur herunter. Es wird also weder gebaut noch installiert.
{{AUR|cower}} ist in C geschrieben und lädt die Tarbälle nur herunter. Es wird also weder gebaut noch installiert. Die Suche nach verfügbaren Updates ist möglich.


====Burp====
====Burp====

Version vom 31. August 2016, 21:45 Uhr

Das ArchLinux User-Community Repository (AUR) ist eine Sammlung von Paketbau-Anleitungen (den PKGBUILDs) anhand derer Programmpakete für Arch Linux mittels ABS erstellt werden können. Jeder kann dort seine Pakete nach einer Registrierung veröffentlichen und anderen zur Verfügung stellen.

Ein Paket aus dem AUR installieren

Voraussetzungen

Alle Pakete, die zur Erstellung von Paketen notwendig sind, befinden sich in der Gruppe base-devel:

 pacman -S base-devel

Paketdateien herunterladen

Alle Dateien die nötig sind, um ein Paket zu erstellen, sind in einem Git-Repository gespeichert.

Dieses kann man entweder mittels git klonen oder sich von der Website des Pakets im AUR über das rechtsseitige Menü Package Actions einen Snapshot herunterladen.

Git Methode

 git clone https://aur.archlinux.org/<paketname>.git

Snapshot Methode

Der heruntergeladene Snapshot muss zunächst mit

 tar xvzf <snapshot_datei>

extrahiert werden.

Ein Verzeichnis für eigene Pakete wählen

Pakete sollten nicht als root erstellt werden. Deswegen ist es ratsam, die Paketdateien in einem Verzeichnis zu speichern, das einem normalen Benutzer zugänglich ist. Eine Möglichkeit ist ein Verzeichnis in /home, dann sind keine weiteren Schritte notwendig.

Wenn die Paketdateien im /home-Verzeichnis nicht gewünscht sind, sollte man sie in /var/abs/local speichern, da in /var/abs der ABS-Verzeichnisbaum liegt. (Nur /var/abs/local ist unter /var/abs verwendbar, da die übrigen Verzeichnisse von abs überschrieben werden können.)

Um /var/abs/local für normale Benutzer zugänglich zu machen, sind folgende Schritte nötig:

  • Gruppe abs erstellen
groupadd abs
  • Benutzer der Gruppe abs hinzufügen (erst nach einem erneuten Anmelden wird das Hinzufügen wirksam)
gpasswd -a <Benutzer> abs
  • Gruppe und Zugriffsrechte ändern
mkdir -p /var/abs/local
chown root:abs /var/abs/local
chmod 775 /var/abs/local

Paket erstellen

Achtung: Um Schäden am System zu verhindern, sollten Pakete niemals als Root gebaut werden!

Das Paket wird mittels makepkg erstellt. Dazu wechselt man in das Verzeichnis, in dem man das Git-Repo erstellt hat, und führt makepkg aus:

 makepkg

Paket installieren

Das soeben erstellte Paket kann nun (als root) mittels Pacman installiert werden:

 pacman -U beispiel-paket-*.pkg.tar.xz

Eigene Pakete erstellen

Alle Dateien eines AUR-Pakets werden in einem eigenen Git-Repository gepflegt. Daher ist also zunächst git zu installieren.

pacman -S git

Man benötigt einen User im AUR, den man über die Weboberfläche einrichten kann, und einen öffentlichen Schlüssel (ssh), der dort per Copy&Paste zu hinterlegen ist.

In der lokalen Konfigurationsdatei ~/.ssh/config ist folgendes einzutragen:

Host aur.archlinux.org
  IdentityFile ~/.ssh/aur
  User aur

Dann ist etwa folgendes einzugeben:

git clone ssh://aur@aur.archlinux.org/<paketname>.git

wobei <paketname> entsprechend zu ersetzen ist.

Die Datei PKGBUILD ist im Wurzelverzeichnis des neu geklonten Git-Repositories zu erstellen. Ferner muss jeder Git-Commit die Datei .SRCINFO beinhalten. Diese kann mittels mksrcinfo aus dem Paket pkgbuild-introspection erstellt werden.

Hilfsprogramme für AUR

Es gibt eine Fülle von Hilfsprogrammen, die den Umgang mit dem AUR erleichtern. Sie verfolgen unterschiedliche Ziele.

Allumfassende Hilfsprogramme

Diese Programme decken vom automatischen Herunterladen über das Bauen bis zum Installieren alle Schritte ab, verstecken also den eigentlichen pacman-Aufruf vor dem Benutzer.

yaourt

Mit yaourt bietet das AUR ein sehr komfortables Shellskript, welches die oben genannten Schritte auf ein

 yaourt -S aur-beispiel-programm

reduziert.

Aber Vorsicht: In der stabilen Version kann Yaourt nicht mit "split packages" umgehen, d.h. nicht alle Pakete aus dem AUR sind über Yaourt umstandslos installierbar.

packer

Ein weiteres Shellskript mit ähnlichem Funktionsumfang wie yaourt.

Hilfsprogramme, die Teilaspekte abdecken

Cower

cowerAUR ist in C geschrieben und lädt die Tarbälle nur herunter. Es wird also weder gebaut noch installiert. Die Suche nach verfügbaren Updates ist möglich.

Burp

Burp ist vom selben Autor wie cowerAUR, aber zum Hochladen der PKGBUILDs ins AUR gedacht. Die stabile Veröffentlichung ist als burp in extra zu finden. Die GIT-Version befindet sich als burp-gitAUR im AUR.

Links