Arch User Repository: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
K (cower: Suche nach Updates)
(43 dazwischenliegende Versionen von 14 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Was ist das AUR?==
Das [https://aur.archlinux.org/?setlang=de ArchLinux User-Community Repository (AUR)] ist eine Sammlung von Paketbau-Anleitungen (den PKGBUILDs) anhand derer Programmpakete für Arch Linux mittels [[Abs|ABS]] erstellt werden können. Jeder kann dort seine Pakete nach einer [https://aur.archlinux.org/register/?setlang=de Registrierung] veröffentlichen und anderen zur Verfügung stellen.
Das [http://aur.archlinux.org/index.php?setlang=de ArchLinux User-Community Repository (AUR)] ist eine Sammlung von PKGBUILDs, den Bauanleitungen für ARCH-Pakete. Jeder kann dort seine Pakete veröffentlichen und anderen zur Verfügung stellen. Um die Funktionen des AUR benutzen zu können, ist eine Registrierung auf [http://aur.archlinux.org/account.php?setlang=de aur.archlinux.org] nötig.


==Ein Paket aus dem AUR installieren==
==Ein Paket aus dem AUR installieren==
===Fakeroot installieren===
===Voraussetzungen===
Um ein Paket als normaler User zu erstellen muss das Paket fakeroot installiert werden. Es ist zu empfehlen Pakete als normaler User und nicht als Root zu erstellen, um zu verhindern, dass das System beschädigt wird falls etwas schief geht.
Alle Pakete, die zur Erstellung von Paketen notwendig sind, befinden sich in der Gruppe base-devel:
  pacman -S fakeroot


===Alle benötigten Pakete installieren===
Um alle zum Kompilieren und Paketeerstellen benötigten Pakete zu installieren, empfiehlt es sich, das Metapaket base-devel zu installieren (Fakeroot ist dabei eingeschlossen).
   pacman -S 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. Zum Herunterladen 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 und 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.


===Ein Verzeichnis für eigene Pakete wählen===
===Ein Verzeichnis für eigene Pakete wählen===
Als nächstes muss man sich überlegen wo man eigene Pakete erstellen/speichern will. Es ist zu empfehlen sie unter ''/var/abs/local'' zu erstellen. Mann kann aber natürlich auch ein anderes Verzeichnis, z. B. ''/home/<user>/Pakete'', verwenden. Auf jeden Fall ist darauf zu achten, dass der User Schreibrechte in dem Verzeichnis hat, damit die Pakete als nicht-Root-User erstellt werden können.  
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.


'''Achtung:''' Wenn man sich entschieden hat ein Verzeichnis unterhalb von ''/var/abs'' zu verwenden sollte man auf es auf jeden Fall ''/var/abs/local'' nennen, da alle anderen Verzeichnisse (außer die für die Repos; core, extra, ect.) beim aktualisieren des [[Arch Build System | ABS]] Baumes gelöscht werden!
Wenn die Paketdateien im /home-Verzeichnis nicht gewünscht sind, sollte man sie in ''/var/abs/local'' speichern, da in ''/var/abs'' der [[Abs#Der_ABS-Verzeichnisbaum|ABS-Verzeichnisbaum]] liegt.
(Nur ''/var/abs/local'' ist unter ''/var/abs'' verwendbar, da die übrigen Verzeichnisse von [[Abs#Der_ABS-Verzeichnisbaum|abs]] überschrieben werden können.)


Im Folgenden wird beschrieben wie man vorgeht um die Pakete unter ''/var/abs/local'' zu erstellen. Verwendet man ein Verzeichnis unterhalb von ''/home/<user>'', entfallen die nächsten Schritte, da bereits Schreibrechte bestehen.
Um ''/var/abs/local'' für normale Benutzer zugänglich zu machen, sind folgende Schritte nötig:


*Die Gruppe ''abs'' erstellen
* Gruppe ''abs'' erstellen
  groupadd abs
groupadd abs
*den User der Gruppe ''abs'' hinzufügen (danach aus- und wieder einloggen damit die Änderungen wirksam werden)
gpasswd -a <user> abs
*Verzeichnis ''/var/abs/local'' erstellen, der Gruppe ''abs'' zuordnen und die Zugriffsrechte so ändern, dass Mitglieder der Gruppe abs Schreibrechte haben
  mkdir -p /var/abs/local
  chown root:abs /var/abs/local
  chmod 775 /var/abs/local


===Paket Dateien herunterladen===
* Benutzer der Gruppe ''abs'' hinzufügen (erst nach einem erneuten Anmelden wird das Hinzufügen wirksam)
Alle Dateien die nötig sind, um ein Paket zu erstellen, sind in einem Tarball gespeichert. Diesen kann man herunterladen indem man auf der Seite des Paketes im AUR auf den ''TARBALL''-Link klickt oder dierkt, z. B. per wget, über die URL ''http://aur.archlinux.org/packages/beispiel-paket/beispiel-paket.tar.gz''
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===
===Paket erstellen===
Das Paket wird mittels ''makepkg'' erstellt. Dazu wechselt man in das Verzeichnis für eigene Pakete (hier ''/var/abs/local''), entpackt den Tarball, wechselt in das Paket-Verzeichnis und führt ''makepkg'' aus (alles als normaler User).
{{achtung|Um Schäden am System zu verhindern, sollten Pakete niemals als Root gebaut werden!}}
  cd /var/abs/local
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:
  tar -xvzf /<Pfad zum Tarball>/beispiel-paket.tar.gz
  cd beispiel-paket
   makepkg
   makepkg


===Paket installieren===
===Paket installieren===
Das soeben erstellte Paket kann nun (als root) mittels Pacman installiert werden.
Das soeben erstellte Paket kann nun (als root) mittels [[Pacman]] installiert werden:
''pacman -U'' sollte sowohl zum Aktualisieren bereits installierter Pakete als auch für das Installieren von komplett neuen Paketen benutzt werden.
 
   pacman -U beispiel-paket-*.pkg.tar.gz
  pacman -U beispiel-paket-*.pkg.tar.xz
 
 
[[Kategorie:ArchLinux Projekte]]
==Hilfsprogramme für AUR==
[[Kategorie:unvollständig]]
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.
====[[packer]]====
Ein weiteres Shellskript mit ähnlichem Funktionsumfang wie [[yaourt]].
===Hilfsprogramme, die Teilaspekte abdecken===
 
====Cower====
{{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 ist vom selben Autor wie {{AUR|cower}}, aber zum Hochladen der PKGBUILDs ins AUR gedacht.
Die stabile Veröffentlichung ist als {{paket|burp}} in {{ic|extra}} zu finden. Die GIT-Version befindet sich als {{AUR|burp-git}} im AUR.
 
==Links==
* [http://aur.archlinux.org/index.php?setlang=de ArchLinux User-Community Repository (AUR)]
* [[Pacman]]
* [[Abs|ABS]]
 
[[Kategorie:Arch-Linux-Projekte]]
[[Kategorie:Paketverwaltung]]
[[en:Arch User Repository]]

Version vom 14. Juni 2016, 18:16 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. Zum Herunterladen 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 und 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.

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

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.

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