Arch User Repository: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
SiD (Diskussion | Beiträge)
Tuxnix (Diskussion | Beiträge)
K typo
 
(51 dazwischenliegende Versionen von 15 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Einführung==
Das [https://aur.archlinux.org/?setlang=de <u>A</u>rch Linux <u>U</u>ser Community <u>R</u>epository - AUR] ist eine Sammlung von Paketbau-Anleitungen den PKGBUILDs. Diese Anleitungen erstellen Programm-Pakete die auf Arch Linux installiert werden können. Jeder kann im AUR ohne weitere Prüfung seine Pakete nach einer [https://aur.archlinux.org/register/?setlang=de Registrierung] veröffentlichen und allen anderen Usern zur Verfügung stellen.
Das [http://aur.archlinux.org/index.php?setlang=de ArchLinux User-Community Repository (AUR)] ist eine Sammlung von Paketbeschreibungen (den PKGBUILDs) anhand derer Programmpakete für Arch Linux mittels [[Abs|ABS]] erstellt werden können. Jeder kann dort seine Pakete nach einer [http://aur.archlinux.org/account.php?setlang=de Registrierung] veröffentlichen und anderen zur Verfügung stellen.
 
==Vorbereitung==
Alle Programme sowohl für die Installation von AUR-Paketen als auch zu deren Erstellung werden im core-package base-devel zur Verfügung gestellt:
 
  pacman -S base-devel


==Ein Paket aus dem AUR installieren==
==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
(Als konkretes Beispiel siehe [[Trizen]])
 
{{Hinweis|Alle folgenden Befehle werden mit Userrechten ausgeführt!}}
 
git clone https://aur.archlinux.org/<Paketname>.git
Durch den Befehl werden das PKGBUILD und der Source Code heruntergeladen.


===Paketdateien herunterladen===
cd <Paketname>
Alle Dateien die nötig sind, um ein Paket zu erstellen, sind in einem Tarball gespeichert. Dieser kann von der entsprechenden Seite unter dem Link ''Tarball'' im AUR heruntergeladen werden.
Wechselt ins Verzeichnis


===Ein Verzeichnis für eigene Pakete wählen===
nano PKGBUILD
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| Beachte die [[AUR Sicherheitshinweise]]!}}


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.
makepkg -i
(Nur ''/var/abs/local'' ist unter ''/var/abs'' verwendbar, da die übrigen Verzeichnisse von [[Abs#Der_ABS-Verzeichnisbaum|abs]] überschrieben werden können.)
Das Paket wird gebaut und nach Abfrage des root Passworts auf dem System installiert.


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


* Gruppe ''abs'' erstellen
Unter Umständen müssen noch Pakete installiert werden, die beim Bauen oder zur Laufzeit benötigt werden. Stammen diese aus dem core bzw. extra Repositorien dann ist zusätzlich die Option -s zu nutzen.
groupadd abs
Bei Abhängigkeiten, die selber nur aus dem AUR erhältlich sind, müssen diese Pakete nach dem hier geschilderten Verfahren erst gebaut und installiert werden, bis mit dem Weiterbau des gewünschten AUR-Pakets fortgefahren werden kann.


* Benutzer der Gruppe ''abs'' hinzufügen (erst nach einem erneuten Anmelden wird das Hinzufügen wirksam)
Muss mehrmals zum Bau eines AUR-Pakets angesetzt werden empfiehlt es sich zusätzlich die Option -f zu nutzen.
gpasswd -a <Benutzer> abs


* Gruppe und Zugriffsrechte ändern
Die wichtigsten Optionen von makepkg sind:
mkdir -p /var/abs/local
* -i, --install    Installiere Paket nach erfolgreichem Build
chown root:abs /var/abs/local
* -s, --syncdeps  Installiere fehlende Abhängigkeiten mit pacman
chmod 775 /var/abs/local
* -f, --force      Zuvor erstelltes Paket überschreiben


===Paket erstellen===
Alternativ zu diesem Vorgang, bietet sich die Verwendung eines der [[AUR Hilfsprogramme]] an. Wobei man bei Arch Linux dazu gezwungen ist, den ersten dieser Helfer nach obiger Anleitung zu installieren.
{{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 sich der Tarball befindet, entpackt ihn, wechselt in das Paket-Verzeichnis und führt ''makepkg'' aus:


  tar -xvzf /<Pfad zum Tarball>/beispiel-paket.tar.gz
==Eigene Pakete erstellen==
  cd beispiel-paket
  makepkg


===Paket installieren===
Alle Dateien eines AUR-Pakets werden in einem eigenen Git-Repository gepflegt.
Das soeben erstellte Paket kann nun (als root) mittels [[Pacman]] installiert werden:
Daher ist also zunächst git zu installieren.
pacman -S git


  pacman -U beispiel-paket-*.pkg.tar.gz
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.


==Hilfsprogramme für AUR==
In der lokalen Konfigurationsdatei {{ic|~/.ssh/config}} ist folgendes einzutragen:
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
Host aur.archlinux.org
  IdentityFile ~/.ssh/aur
  User aur


reduziert.
Dann ist etwa folgendes einzugeben:
====[[paktahn]]====
<nowiki>git clone ssh://aur@aur.archlinux.org/<paketname>.git</nowiki>
[[paktahn]] ist ein in Common Lisp geschriebenes Programm, das sich hinsichtlich Aufruf und Wirkungsweise an [[yaourt]] orientiert. Das auzurufende Programm heißt pak.  
wobei <paketname> entsprechend zu ersetzen ist.
====[[packer]]====
Ein weiteres Shellskript mit ähnlichem Funktionsumfang wie [[yaourt]].
===Hilfsprogramme, die Teilaspekte abdecken===


====Aurcheck====
Die Datei [https://www.archlinux.org/pacman/PKGBUILD.5.html PKGBUILD] ist im Wurzelverzeichnis des neu geklonten Git-Repositories zu erstellen.
Mit [http://aur.archlinux.org/packages.php?ID=28009 aurcheck] kann man sich anzeigen lassen, ob es für installierte Pakete aus dem AUR Updates gibt.
Ferner '''''muss''''' jeder Git-Commit die Datei ''.SRCINFO'' beinhalten.
Das Bash Script, ermittelt mittels 'pacman -Qm' alle installierten Pakete, die in keinem Repo sind, sucht diese dann im AUR und vergleicht die Versionsnummern.
Diese kann mittels
====cower====
makepkg --printsrcinfo > .SRCINFO
{{AUR|cower}} ist in C geschrieben und lädt die Tarbälle nur herunter. Es wird also weder gebaut noch installiert.
oder {{ic|mksrcinfo}} aus dem Paket {{paket|pkgbuild-introspection}} erstellt werden.


====[[burp]]====
==Siehe auch==
Vom selben Autor wie [[cower]], aber zum Hochladen der PKGBUILDs ins AUR gedacht.
* [[Arch Build System]]
* [[AUR Sicherheitshinweise]]
* [[AUR Hilfsprogramme]]
* [[AUR benutzen (Beispiele)]]
* [[Trizen]]


==Links==
[[ar:Arch User Repository]]
* [http://aur.archlinux.org/index.php?setlang=de ArchLinux User-Community Repository (AUR)]
[[cs:Arch User Repository]]
* [[Pacman]]
[[da:Arch User Repository]]
* [[Abs|ABS]]
[[en:Arch User Repository]]
[[el:Arch User Repository]]
[[es:Arch User Repository]]
[[fi:AUR]]
[[fr:AUR]]
[[it:Arch User Repository]]
[[ja:Arch User Repository]]
[[nl:Arch User Repository]]
[[pl:Arch User Repository]]
[[pt:Arch User Repository]]
[[ro:AUR]]
[[ru:Arch User Repository]]
[[sr:Arch User Repository]]


[[Kategorie:ArchLinux Projekte]]
[[Kategorie:Arch-Linux-Projekte]]
[[Kategorie:Paketverwaltung]]
[[Kategorie:Paketverwaltung]]
[[en:Arch User Repository]]

Aktuelle Version vom 12. August 2024, 19:09 Uhr

Das Arch Linux User Community Repository - AUR ist eine Sammlung von Paketbau-Anleitungen den PKGBUILDs. Diese Anleitungen erstellen Programm-Pakete die auf Arch Linux installiert werden können. Jeder kann im AUR ohne weitere Prüfung seine Pakete nach einer Registrierung veröffentlichen und allen anderen Usern zur Verfügung stellen.

Vorbereitung

Alle Programme sowohl für die Installation von AUR-Paketen als auch zu deren Erstellung werden im core-package base-devel zur Verfügung gestellt:

 pacman -S base-devel

Ein Paket aus dem AUR installieren

(Als konkretes Beispiel siehe Trizen)

Hinweis: Alle folgenden Befehle werden mit Userrechten ausgeführt!

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

Durch den Befehl werden das PKGBUILD und der Source Code heruntergeladen.

cd <Paketname>

Wechselt ins Verzeichnis

nano PKGBUILD

Achtung: Beachte die AUR Sicherheitshinweise!


makepkg -i

Das Paket wird gebaut und nach Abfrage des root Passworts auf dem System installiert.

Paketabhängigkeiten

Unter Umständen müssen noch Pakete installiert werden, die beim Bauen oder zur Laufzeit benötigt werden. Stammen diese aus dem core bzw. extra Repositorien dann ist zusätzlich die Option -s zu nutzen. Bei Abhängigkeiten, die selber nur aus dem AUR erhältlich sind, müssen diese Pakete nach dem hier geschilderten Verfahren erst gebaut und installiert werden, bis mit dem Weiterbau des gewünschten AUR-Pakets fortgefahren werden kann.

Muss mehrmals zum Bau eines AUR-Pakets angesetzt werden empfiehlt es sich zusätzlich die Option -f zu nutzen.

Die wichtigsten Optionen von makepkg sind:

  • -i, --install Installiere Paket nach erfolgreichem Build
  • -s, --syncdeps Installiere fehlende Abhängigkeiten mit pacman
  • -f, --force Zuvor erstelltes Paket überschreiben

Alternativ zu diesem Vorgang, bietet sich die Verwendung eines der AUR Hilfsprogramme an. Wobei man bei Arch Linux dazu gezwungen ist, den ersten dieser Helfer nach obiger Anleitung zu installieren.

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

makepkg --printsrcinfo > .SRCINFO

oder mksrcinfo aus dem Paket pkgbuild-introspection erstellt werden.

Siehe auch