Arch User Repository: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Werner (Diskussion | Beiträge)
Kapitel "Hilfsprogramme für das AUR" erneuert – siehe auch Diskussion
Tuxnix (Diskussion | Beiträge)
K typo
 
(18 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
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 [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.


==Ein Paket aus dem AUR installieren==
==Vorbereitung==
===Voraussetzungen===
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:
Alle Pakete, die zur Erstellung von Paketen notwendig sind, befinden sich in der Gruppe base-devel:


   pacman -S base-devel
   pacman -S base-devel


===Paketdateien herunterladen===
==Ein Paket aus dem AUR installieren==
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.
(Als konkretes Beispiel siehe [[Trizen]])


====Git Methode====
{{Hinweis|Alle folgenden Befehle werden mit Userrechten ausgeführt!}}
  <nowiki>git clone https://aur.archlinux.org/<paketname>.git</nowiki>


====Snapshot Methode====
git clone https://aur.archlinux.org/<Paketname>.git
Der heruntergeladene Snapshot muss zunächst extrahiert werden.
Durch den Befehl werden das PKGBUILD und der Source Code heruntergeladen.


  tar xvzf <snapshot_datei>
cd <Paketname>
Wechselt ins Verzeichnis


====Alte Versionen====
nano PKGBUILD
Um an ältere Versionen der Paketdateien zu kommen, kann man die git-history nutzen.
{{achtung| Beachte die [[AUR Sicherheitshinweise]]!}}
<nowiki>git clone https://aur.archlinux.org/<paketname>.git</nowiki>
cd <paketname>
git log                # hier den commit-hash der gewünschten Version herausfinden
git checkout <commit>


===Ein Verzeichnis für eigene Pakete wählen===
makepkg -i
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.
Das Paket wird gebaut und nach Abfrage des root Passworts auf dem System installiert.


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.
==Paketabhängigkeiten==
(Nur ''/var/abs/local'' ist unter ''/var/abs'' verwendbar, da die übrigen Verzeichnisse von [[Abs#Der_ABS-Verzeichnisbaum|abs]] überschrieben werden können.)


Um ''/var/abs/local'' für normale Benutzer zugänglich zu machen, sind folgende Schritte nötig:
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.


* Gruppe ''abs'' erstellen
Muss mehrmals zum Bau eines AUR-Pakets angesetzt werden empfiehlt es sich zusätzlich die Option -f zu nutzen.
groupadd abs


* Benutzer der Gruppe ''abs'' hinzufügen (erst nach einem erneuten Anmelden wird das Hinzufügen wirksam)
Die wichtigsten Optionen von makepkg sind:
gpasswd -a <Benutzer> abs
* -i, --install    Installiere Paket nach erfolgreichem Build
* -s, --syncdeps  Installiere fehlende Abhängigkeiten mit pacman
* -f, --force      Zuvor erstelltes Paket überschreiben


* Gruppe und Zugriffsrechte ändern
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.
mkdir -p /var/abs/local
chown root:abs /var/abs/local
chmod 775 /var/abs/local


===Paket erstellen===
==Eigene Pakete 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.
Alle Dateien eines AUR-Pakets werden in einem eigenen Git-Repository gepflegt.
Daher ist also zunächst git zu installieren.
Daher ist also zunächst git zu installieren.
Zeile 80: Zeile 62:
oder {{ic|mksrcinfo}} aus dem Paket {{paket|pkgbuild-introspection}} erstellt werden.
oder {{ic|mksrcinfo}} aus dem Paket {{paket|pkgbuild-introspection}} erstellt werden.


==Hilfsprogramme für das AUR==
==Siehe auch==
* [[Arch Build System]]
* [[AUR Sicherheitshinweise]]
* [[AUR Hilfsprogramme]]
* [[AUR benutzen (Beispiele)]]
* [[Trizen]]


Es gibt eine Reihe von Hilfsprogrammen, die das Arbeiten mit dem AUR erleichtern können. Die Hilfsprogramme verfolgen unterschiedliche Ziele und haben unterschiedliche Fähigkeiten, welche in dieser [https://wiki.archlinux.org/index.php/AUR_helpers#Comparison_table Tabelle] verglichen werden können.
[[ar:Arch User Repository]]
 
[[cs:Arch User Repository]]
Um ein AUR-Hilfsprogramm universell und sicher nutzen zu können, muss es einigen Anforderungen gerecht werden können. Wie man anhand der Tabelle ersehen kann, ist das nicht immer der Fall. Eine Reihe von Hilfsprogrammen scheitert bereits, wenn von einem PKGBUILD mehrere Pakete zu erstellen sind ([https://www.archlinux.org/pacman/PKGBUILD.5.html#_package_splitting Package Splitting]), was auch im AUR keine Seltenheit ist.
[[da:Arch User Repository]]
 
[[en:Arch User Repository]]
===trizen===
[[el:Arch User Repository]]
 
[[es:Arch User Repository]]
Das Programm ''trizen'' ist in der Programmiersprache ''Perl'' geschrieben und ein leichtgewichtiges, schnelles und universelles Werkzeug.
[[fi:AUR]]
 
[[fr:AUR]]
{{AUR|trizen}} kann aus dem [[AUR]] installiert werden. Sollte noch kein AUR-Hilfsprogramm zu diesem Zweck vorhanden sein, kann folgender Befehl mit normalen Nutzerrechten ausgeführt werden:
[[it:Arch User Repository]]
{{bc|<nowiki>git clone https://aur.archlinux.org/trizen.git && cd trizen && makepkg -si</nowiki>}}
[[ja:Arch User Repository]]
Durch diesen Befehl werden das PKGBUILD und der Source Code heruntergeladen, das Paket gebaut und anschließend inklusive fehlender Abhängigkeiten installiert.
[[nl:Arch User Repository]]
 
[[pl:Arch User Repository]]
''trizen'' erzeugt automatisch eine vorausgefüllte Konfigurationsdatei {{ic|~/.config/trizen/trizen.conf}}. Die dort einstellbaren Optionen werden in der Konfigurationsdatei erläutert.
[[pt:Arch User Repository]]
 
[[ro:AUR]]
Der Start von ''trizen'' erfolgt mit normalen Nutzerrechten. Erst wenn der Build-Prozess eines Paketes abgeschlossen ist, fordert ''trizen'' per [[sudo]] erhöhte Rechte für eine Installation an.
[[ru:Arch User Repository]]
 
[[sr:Arch User Repository]]
Pakete, die bei Updates aus dem AUR von ''trizen'' ignoriert werden sollen, können in der Datei {{ic|/etc/pacman.conf}} unter {{ic|IgnorePkg}} eingetragen werden.
 
Für ''trizen'' gibt es keinen Handbucheintrag, den man mit {{ic|man trizen}} aufrufen könnte. Die Hilfen zur Bedienung des Programmen sind in ''Hauptoptionen'', ''Sync-Optionen'' und ''Get-Optionen'' untergliedert:
trizen -h
trizen -Sh
trizen -Gh
 
Die Befehlslogik von ''trizen'' deckt sich weitgehend mit [[pacman]], was die Bedienung der Grundfunktionen einfach und transparent macht. Eine kleine Auswahl gängiger Befehle:
 
{| {{prettytable}}
!Befehl
!Kurzbeschreibung
|-
|trizen -S ''<Paketname>''
|Installation eines oder mehrerer Pakete
|-
|trizen -Syu
|Paketdatenbank synchronisieren und komplette Systemaktualisierung durchführen
|-
|trizen -Syua
|Datenbank für AUR-Pakete synchronisieren und nur Pakete aus dem AUR aktualisieren
|-
|trizen -U ''<Paketname>''
|Ein lokales Paket installieren (z.B. nach fertig gestelltem Build)
|-
|trizen -Ss ''<Suchbegriff>''
|Nach Schlüsselwort(en) in Paketnamen und Paketbeschreibung suchen
|-
|trizen -Si ''<Paketname>''
|Informationen zu einem bestimmten Paket abrufen
|-
|trizen -Qi ''<Paketname>''
|Informationen zu einem bereits installierten Paket abrufen
|-
|trizen -Fo ''<Pfad/Dateiname>''
|Paketzugehörigkeit einer Datei abfragen – z. B. ''trizen -Fo usr/lib/udev/scsi_id''
|}
 
===Weitere AUR-Hilfsprogramme===
 
* {{AUR|aurutils}}
* {{AUR|bauerbill}}
* {{AUR|pacaur}} (''Das Programm wird derzeit weder weiterentwickelt noch gepflegt'')
 
==Weblinks==
*[https://github.com/AladW/aurutils aurutils bei GitHub]
*[https://xyne.archlinux.ca/projects/bauerbill/ bauerbill bei xyne.archlinux.ca]
*[https://github.com/rmarquis/pacaur pacaur bei GitHub]
*[https://github.com/trizen/trizen trizen bei GitHub]


[[Kategorie:Arch-Linux-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