Wie installiere ich Pakete aus dem AUR?

61

Arch Linux verfügt über das AUR (Arch User Repository), eine Sammlung von benutzerdefinierten Paketen. Wie installiere ich diese Pakete auf Arch Linux ARM?

Ghanima
quelle
2
Es sieht so aus, als ob es bereits viele Aur-Pakete gibt, die über das "Aur" -Repo bereitgestellt werden. Ich habe es zufällig gefunden. Pacman - Dein Paket könnte tatsächlich funktionieren. Es funktioniert zum Beispiel mit cower und gmrender-resurrect-git.
enigmaticPhysicist

Antworten:

53

Entsprechend der Seite Building Packages von Arch Linux ARM müssen Sie Folgendes tun .

  1. Installieren Sie die Build-Grundlagen. Diese werden benötigt, um Pakete auf Arch Linux ARM zu kompilieren.

    $ sudo pacman -S kernel26-headers file base-devel abs
    
  2. Besorgen Sie sich die PKGBUILD. Sie müssen den gewünschten Tarball herunterladen. Die Tarballs für Programme finden Sie bei der AUR .

  3. Machen Sie die Pakete. Als nächstes müssen Sie makepkgausführen, um ein Paket zu generieren, das pacman installieren kann.

    $ makepkg -Acs
    

    Die -AOption ignoriert die Zielarchitektur. Die -cOption bereinigt das Verzeichnis nach Abschluss makepkgund -sinstalliert die erforderlichen Abhängigkeiten.

    Es wird empfohlen , dass Sie nicht laufen makepkgals root wie es zu dauerhaften Schäden an Ihrem System verursachen können. Wenn Sie es wirklich als root ausführen müssen, verwenden Sie die --asrootOption.

  4. Installieren Sie das Paket. makepkgsollte eine Datei im Verzeichnis mit dem Dateityp erstellen .pkg.tar.xz. Sie sollten dieses Paket installieren, indem Sie die -UOption mit pacman verwenden.

    $ sudo pacman -U x.pkg.tar.xz
    

    Stellen Sie sicher, dass Sie durch x.pkg.tar.xzden tatsächlichen Paketnamen ersetzen .


quelle
Das manuelle Erstellen von Paketen wird Anfängern definitiv nicht empfohlen. Tatsächlich sollte jeder Yaourt benutzen. Es macht den gesamten Prozess einfach.
Jivings
Sie benötigen diese Pakete weiterhin und müssen PKGBUILD bearbeiten, um armv6h arch zu kompilieren.
Anglepoise
5
@Jivings Eigentlich ist der ganze Grund, warum Sie und andere AUR-Helfer nicht im offiziellen Repo sind, der, dass Sie lernen sollen, wie Sie Fremdpakete manuell installieren, bevor Sie ein automatisiertes Tool verwenden.
PyRulez
2
"abs" -Paket ist nicht im Repository vorhanden
dmnc
ist das kernel26-headersnoch aktuell? Hab bei google nichts dazu gefunden. Und die Gruppe base-develenthält file.
user3123159
34

Die einfachste Lösung ist Yaourt (Yet AnOther User Repository Tool) .

Sie können installieren mit:

pacman -S yaourt

Und dann mit dem AUR synchronisieren:

yaourt -Syy

Sie können dann nach AUR-Paketen suchen:

yaourt package-name

Welches wird interaktive Eingabeaufforderungen für die Installation bieten.

Oder wenn Sie den Paketnamen genau kennen:

yaourt -S package-name

Die meisten Pacman-Befehle sind für yaourt gleich.

Jivings
quelle
Was ist der Unterschied zwischen pacmanund yaourt?
Alex Chamberlain
Yaourt überprüft auch die AUR sowie die offiziellen Repositories. AUR-Pakete haben auch mehr Anpassungsmöglichkeiten.
Jivings
Das geht nicht mehr. Was ist die offizielle Lösung?
Tekknolagi
2
pacman -S yaourtfunktioniert nicht und ich kann nicht hinzufügen, archlinuxfrda sie anscheinend nicht hostenarmv6h
tekknolagi
1
@tekknolagi befand sich yaourtfrüher im Hauptverzeichnis von Arch Arm. Vielleicht haben sie es entfernt ... Sie können es aber trotzdem aus dem Quellcode erstellen, was im AUR-Artikel im Arch-Wiki erklärt wird. Und es gibt eine Paketdatei für sie hier . Ich hoffe das hilft!
Jivings
10

Alle obigen Antworten sind veraltet. Meine Antwort ist nicht sehr gut, aber hoffentlich vermeidet sie das Problem, veraltet zu sein.

Das offizielle Wiki erklärt im Detail, wie man ein Paket installiert / erstellt, das nicht Teil von pacman ist (Packer und yaourt ab diesem Datum).

Sowohl packer als auch yaourt sind in AUR als veraltet gekennzeichnet. (Dies kann sich in Zukunft ändern.)

PPPaul
quelle
Gute Antwort! Ich empfehle auch die Verwendung von makepkg -si (nach Überprüfung der PKGBUILD-Datei)
smoothware 31.12.18
7

Ich benutze Packer für diesen Zweck, was meiner Meinung nach eine schnellere Alternative zu yaourt ist.

Fügen Sie einfach diese beiden Zeilen hinzu /etc/pacman.conf:

[archlinuxfr]
Server = http://repo.archlinux.fr/$arch

Dann können Sie den Packer über pacman installieren / aktualisieren:

# pacman -Sy packer

Und verwenden Sie Packer so ziemlich genauso wie Pacman:

$ packer -S some_aur_package

Auch wenn Sie nicht alle Pakete einschließlich derer aus dem AUR aktualisieren möchten:

$ packer -Syu

Packer wird zuerst ausgeführt pacman -Syu, um die Pakete aus offiziellen Repositorys zu aktualisieren, und dann werden alle AUR-Pakete aktualisiert.

brkt
quelle
4

WICHTIG! yaourtist unsicher und veraltet gemäß dem Wiki: https://wiki.archlinux.org/index.php/AUR_helpers

Während @Jivings answer in `12 am besten war, würde ich empfehlen, einen der sichereren und funktionsreicheren Arch-Paket-Manager zu installieren (und ich schlage vor, dass jemand @Jivings answer aktualisiert, da er die höchste Sichtbarkeit aufweist).

Ich benutze aurmanund grabe es. Hat alle Funktionen, ist sicher und das CLI funktioniert fast genau wie Pacman. Installieren:

cd ~/Downloads
git clone https://aur.archlinux.org/aurman.git
cd aurman
makepkg -Acs
# Change xxx below to downloaded version
sudo pacman -U aurman-xxx.pkg.tar.xz

Dann kann man dann einem Pacman-Führer fast genau folgen, aber aurmananstelle von Pacman verwenden. Der folgende Leitfaden stammt von https://www.digitalocean.com/community/tutorials/how-to-use-arch-linux-package-management und hat mich zum Einstieg gebracht:


Anfangen

Arch Linux bietet Paketverwaltungsfunktionen, die denen anderer moderner Linux-Distributionen ähneln. Dies ist eine Anleitung für allgemeine Paketverwaltungsvorgänge.

Bevor Sie fortfahren, stellen Sie sicher, dass Ihre Paketdatenbanken auf dem neuesten Stand sind mit:

sudo pacman -Sy

Suchen

Die meisten Paketverwaltungsvorgänge in Arch Linux werden im folgenden Format angezeigt, da die Kürze der Intuitivität vorgezogen wird:

pacman -<a-z><a-z>.

Der normale Befehl zum Durchsuchen von Pacman-Repositorys lautet beispielsweise

pacman -Ss <package> 

...

Alternativ können Sie pacman -Qs verwenden, ohne dass die Farbe hervorgehoben wird.

pacman -Qs linux

Wenn Sie mit pacman -Ss eine farbliche Hervorhebung wünschen, können Sie Color in /etc/pacman.conf auskommentieren. Es hebt jedoch andere Dinge hervor als pacsearch. Vielleicht möchten Sie beide ausprobieren und herausfinden, welche Ihnen besser gefällt.

sudo vi /etc/pacman.conf

...
# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
...

Informationen erhalten

pacman -Qi displays basic information about an installed package.

pacman -Qi linux

Name           : linux
Version        : 3.8.4-1
Description    : The linux kernel and modules
Architecture   : x86_64
URL            : http://www.kernel.org/
Licenses       : GPL2
Groups         : base
Provides       : kernel26=3.8.4
Depends On     : coreutils  linux-firmware  kmod  mkinitcpio>=0.7
Optional Deps  : crda: to set the correct wireless channels of your country
Required By    : None
Optional For   : None
Conflicts With : kernel26
Replaces       : kernel26
Installed Size : 64728.00 KiB
Packager       : Tobias Powalowski <[email protected]>
Build Date     : Wed Mar 20 21:16:17 2013
Install Date   : Fri Mar 29 01:02:14 2013
Install Reason : Explicitly installed
Install Script : Yes
Validated By   : Unknown

Wenn pacman -Qi keine Argumente übergeben wird, werden alle Pakete im System zurückgegeben. Sie können diese Ausgabe durchsuchen, um spezielle Informationen zu installierten Paketen abzurufen.

Wenn Sie beispielsweise jedes Paket und seine Größe erhalten möchten:

pacman -Qi | grep -e "Name" -e "Installed Size"

Name           : a52dec
Installed Size : 244.00 KiB
Name           : aalib
Installed Size : 768.00 KiB

...

Während pacman -Qi Informationen zu installierten Paketen bereitstellt, fragt pacman-Si die Datenbank nach den zuletzt abgerufenen Informationen zu einem Paket ab.

pacman -Si linux

pacman -Ql listet alle mit einem Paket verbundenen Dateien auf.

pacman -Ql vi

vi /usr/
vi /usr/bin/
vi /usr/bin/edit
vi /usr/bin/ex
vi /usr/bin/vedit
vi /usr/bin/vi

...

Der Paketname in jeder Zeile kann die Verwendung der Ausgabe in einem Skript erschweren. pacman -Qlq (dh "pacman query list, quiet") gibt den Paketnamen nicht aus.

pacman -Qlq vi

/usr/
/usr/bin/
/usr/bin/edit
/usr/bin/ex
/usr/bin/vedit
/usr/bin/vi

...

Sie können pacman -Qlq | verwenden grep bin, um alle Dateien in diesem Paket zu finden, die sich in einem bin-Ordner befinden (und daher wahrscheinlich ausführbare Dateien sind). Dies ist praktisch, wenn sich der einem Paket zugeordnete Befehl vom Paketnamen unterscheidet.

pacman -Qql pacman | grep bin

Installieren

Die typische Methode zum Installieren oder Aktualisieren eines Standardpakets ist pacman -S.

sudo pacman -S <package>

Pakete haben oft ein ähnliches Muster in ihren Namen. Klammern können als Abkürzung verwendet werden.

sudo pacman -S lua-{sec,socket,zlib}

Manchmal möchten Sie möglicherweise nur ein Paket für Archivierungszwecke herunterladen, ohne es zu installieren. pacman -Sw lädt ein Paket in den Cache-Ordner herunter.

sudo pacman -Sw <package>

Wenn ein Paket heruntergeladen wurde oder wenn Sie die URL kennen, können Sie es direkt installieren.

sudo pacman -U <package_path>

Upgrades

Da sich pacman um die Idee dreht, ein Paket mit dem Remote-Repository zu synchronisieren, pacman -Swird ein Paket aktualisiert, wenn es bereits installiert ist.

Pacman kann Pakete auflisten, die nicht mehr aktuell sind.

pacman -Qu

Leider wird die Version des Pakets nicht im Repository angezeigt, sodass Sie nicht feststellen können, wie veraltet die einzelnen Pakete sind. Wenn dies für Sie wichtig ist, sollten Sie sich mit Paketmanagern von Drittanbietern befassen oder ein Skript schreiben, das die Paketversion von pacman -Qi und pacman-Si verknüpft.

Sie können die Version von Pacman-Qi oder Pacman-Si mit einem regulären Ausdruck abrufen.

pacman -Qi linux | grep "Version" | sed 's/^Version\s*:\s//'

3.8.4-1

Schreiben Sie dann ein Skript, das die Versionen nebeneinander anzeigt.

for i in $(pacman -Qqu)
do
  printf "$i: "
  printf "$(pacman -Qi "$i" | grep 'Version' | sed 's/^Version\s*:\s//') "
  echo   "$(pacman -Si "$i" | grep 'Version' | sed 's/^Version\s*:\s//')"
done

Pacman bietet die Möglichkeit, alle Pakete auf einmal zu aktualisieren. Dies wird jedoch nicht empfohlen, da Arch eine fortlaufende Release-Distribution ist. Wenn Probleme auftreten, kann es einige Zeit dauern, die Ursachen zu ermitteln.

sudo pacman -Syu

Downgrades

Arch Linux verwaltet offiziell keine veralteten Pakete. Stattdessen müssen Sie sich auf Ihren Paket-Cache und Bereiche wie den Arch Rollback-Computer verlassen. Zwischenspeicher

Jedes mit pacman heruntergeladene Paket wird in / var / cache / pacman / pkg gespeichert.

ls /var/cache/pacman/pkg | grep linux

linux-3.11.6-1-x86_64.pkg.tar.xz
linux-3.9.7-1-x86_64.pkg.tar.xz

...

Wenn Sie zu einem Paket in Ihrem Cache zurückkehren möchten, installieren Sie es einfach direkt.

pacman -U <path_to_cached_file>

Bogenrückrollmaschine

Die Arch Rollback Machine ist eine Sammlung von Schnappschüssen des offiziellen Arch Linux-Spiegels. Zum jetzigen Zeitpunkt sind es vier Monate. Der ARM wird derzeit unter http://seblu.net/a/arm gehostet , dies könnte sich jedoch in Zukunft ändern.

ARM-Pakete können mit pacman -U remote installiert werden.

pacman -U http://seblu.net/a/arm/2013/08/31/extra/os/x86_64/apache-2.2.25-1-x86_64.pkg.tar.xz

Es ist nicht gerade praktisch, im ARM nach älteren Paketen zu suchen. Glücklicherweise gibt es Tools, die dies einfacher machen:

downgrade
downgrader

Sie suchen nach älteren Versionen im Cache und im ARM. Ihre Verwendung ist das, was Sie erwarten würden.

downgrade <package>
downgrader <package>

Beide Tools sind in der AUR enthalten, daher können Sie sie am einfachsten mit einem Helfer wie yaourt installieren.

Hinweis: Der ARM ist ein inoffizielles Projekt und wurde in der Vergangenheit geschlossen. Es empfiehlt sich daher, den Cache nicht zu löschen, falls der ARM ausfällt oder die Position erneut wechselt. Wenn Sie Ihren eigenen ARM rollen möchten, scheint es auf github ein NodeJS-Projekt zu geben. Entfernung

Entfernen Sie ein Paket, sofern nichts davon abhängt. Lassen Sie die Abhängigkeiten installiert.

sudo pacman -R <package>

Entfernen Sie ein Paket, sofern nichts davon abhängt. Entfernen Sie die Abhängigkeiten, die für nichts anderes erforderlich sind.

sudo pacman -Rs <package>

Entfernen eines Pakets erzwingen. Dies ist der Befehl, mit dem Sie das Paket einfach von Ihrem System löschen und neu installieren können, wenn eine Neuinstallation allein nicht ausreicht.

sudo pacman -Rdd <package>
mjd2
quelle
So entfernen Sie ein Paket vollständig :aurman -Rsn <package>
mjd2
0

Als erstes müssen Sie das Paket von der AUR herunterladen. So führen Sie das aus: git clone http://aur.archlinux.org/package.gitObwohl es so aussieht, als würden Sie eine .gitDatei herunterladen , handelt es sich bei der Ausgabe um ein Verzeichnis.

cd packageum eine PKGBUILDDatei zu finden . Dies wird im nächsten Schritt verwendet.

Führen Sie abschließend diesen Befehl aus, um das soeben heruntergeladene Paket zu kompilieren und zu installieren. makepkg -Sri. Wenn Sie eine umfassende Erläuterung der Bedeutung der einzelnen Buchstaben wünschen, können Sie ausführen, makepkg -hwo sie alle erläutert werden.

Ashish
quelle
2
Willkommen bei Stack Exchange, Ashish. Können Sie Ihre Antwort etwas näher erläutern? Warum müssten die oben genannten Schritte ausgeführt werden, was bewirken die Anweisungen usw.?
Phil B.