Was ist der AUR in Arch Linux und sollten Sie ihn verwenden?
Veröffentlicht: 2023-06-23Der AUR ist eines der Kronjuwelen von Arch Linux und stellt Tausende zusätzlicher Softwarepakete bereit. Aber ist die Verwendung dieses benutzergesteuerten Repositorys sicher oder sollten Sie es vermeiden?
Was ist die AUR?
Die Gefahren der Verwendung des AUR
AUR-Sicherheit: Überprüfen Sie die Paketdetails und den Ruf
Überprüfen Sie den Inhalt von PKGBUILD und anderen Dateien
Sie können anderen AUR-Benutzern helfen
Was ist die AUR?
Das AUR (Arch User Repository) ist ein von der Community betriebenes Software-Repository, das Arch Linux-Benutzern mehr als 85.000 Softwarepakete zur Verfügung stellt. Im Gegensatz zu anderen Arch-Repositorys wie den Core-, Extra- und Multilib-Repositorys hostet das AUR keine einbaufertigen Pakete. Tatsächlich hostet es überhaupt keine Binärdateien oder Softwarepakete.
Der AUR hostet Paket-Build-Dateien, sogenannte PKGBUILDs. Dabei handelt es sich um Shell-Skripte, die vom Arch- makepkg
Tool ausgeführt werden. Wenn makepkg
ausgeführt wird, sucht es nach einer Datei namens „PKGBUILD“. Wenn es eines findet, öffnet es es und folgt den darin enthaltenen Anweisungen, um ein Softwarepaketarchiv auf Ihrem Computer zu erstellen. Wenn Sie mit dem Kompilieren auf der Befehlszeile vertraut sind, funktionieren eine PKGBUILD-Datei und makepkg
auf ähnliche Weise zusammen wie ein MAKEFILE und das make
-Dienstprogramm.
Die PKGBUILD-Anweisungen laden Quellcodedateien und andere Dateien herunter, die zum Erstellen des Paketarchivs erforderlich sind. Das pacman
Tool wird automatisch aufgerufen, um die Software aus dem Paketarchiv zu installieren.
Auf die Gefahr hin, Verwirrung zu stiften, liefern einige AUR-Pakete vorkompilierte Binärdateien. Diese Binärdateien werden jedoch nicht im AUR gehostet, sondern an anderer Stelle im Internet gespeichert. Der AUR-Eintrag für diese Pakete enthält nur eine PKGBUILD-Datei, die die vorkompilierte Binärdatei auf Ihren Computer herunterlädt.
Mit der AUR kann jeder ein PKGBUILD für eine Software erstellen, die er anderen Arch-Benutzern zur Verfügung stellen möchte. Dies können Open- oder Closed-Source-Pakete oder sogar kommerzielle Software sein. AUR-Pakete, die genügend Benutzerstimmen erhalten, können in ein reguläres Arch-Repository namens Community-Repository hochgestuft werden.
Das Problem mit der AUR wird deutlich, wenn man es auf das Wesentliche reduziert. Es handelt sich um eine Sammlung von Skripten von zufälligen Benutzern aus dem Internet. Und sie möchten, dass Sie sie auf Ihrem Computer ausführen.
Um die Risiken zu mindern, werden hochgeladene Skripte von qualifizierten, angesehenen Freiwilligen, sogenannten vertrauenswürdigen Benutzern, überprüft. Die vertrauenswürdigen Benutzer prüfen und testen die PKGBUILDS und entfernen alle gefährlichen Fehler oder böswilligen Absichten.
VERWANDT: So aktualisieren Sie Arch Linux
Die Gefahren der Verwendung des AUR
Es kommt sehr selten vor, aber manchmal rutschen Dinge durch das Netz, trotz der Sorgfalt der vertrauenswürdigen Benutzer. Im Jahr 2015 löschte ein Steam-Skript von Valve Software Ihr Home-Verzeichnis, wenn Sie das Steam-Verzeichnis zuvor an einen neuen Speicherort verschoben hatten.
Noch schlimmer war der Vorfall im Jahr 2005, als ein verwaistes AUR-Paket von einem neuen Betreuer übernommen wurde, der der PKGBUILD-Datei absichtlich Schadcode hinzufügte. Diese Beispiele sind alt und ungewöhnlich, aber die gleichen Dinge könnten noch einmal passieren.
Wenn Sie über ausreichende Kenntnisse verfügen, können Sie den Inhalt der PKGBUILD-Datei natürlich auch selbst überprüfen. Diese Transparenz ist eine der Stärken des AUR, es sind jedoch ausreichende Skriptkenntnisse erforderlich, um davon zu profitieren. Und das betrifft nur die PKGBUILD-Datei selbst. Wenn es eine Menge Anwendungsquellcode einbezieht, sollte dies theoretisch ebenfalls überprüft werden.
Weitere Gefahren bei der Verwendung des AUR sind verteilungsbedingt. Nicht alle Arch-basierten Distributionen sind Arch-ähnlich genug, damit die AUR einwandfrei funktioniert. Die AUR geht davon aus, dass die Installation auf echtem Arch Linux erfolgt, und zwar auf einer vollständig gepatchten und aktualisierten Version. Manjaro beispielsweise unterstützt AUR nicht offiziell, obwohl es auf Arch basiert.
Aber was können Sie angesichts der Tatsache, dass Ihre Distribution AUR unterstützt, tun, um sicherzustellen, dass Sie es so sicher wie möglich verwenden, unabhängig davon, ob Sie Quellcode und Shell-Skripte verstehen oder nicht?
AUR-Sicherheit: Überprüfen Sie die Paketdetails und den Ruf
Auch ohne Codeüberprüfungen können Sie Schritte unternehmen, die Ihnen bei der Entscheidung helfen, ob Sie einem AUR-Paket vertrauen können.
Finden Sie Ihr Paket auf der AUR
Für jedes Paket gibt es eine Seite im AUR. Die Webseite des Pakets beschreibt das Paket, welche Abhängigkeiten es hat, welche Pakete davon abhängen und weitere nützliche Informationen. Beginnen Sie Ihre Untersuchung, indem Sie zum AUR gehen und nach Ihrem Paket suchen.
Welchen Ruf hat es?
Benutzer können für Pakete stimmen, außerdem gibt es für jedes Paket einen Beliebtheitswert. Je mehr Stimmen und je höher die Popularität, desto besser. Dies bedeutet, dass das Paket bekannt und weit verbreitet ist. Mit anderen Worten: Es handelt sich um ein seriöses Paket.
Der Ruf des Pakets ist ein guter Hinweis auf seine Vertrauenswürdigkeit. Je mehr Menschen es nutzen und dafür stimmen, desto wohler fühlen Sie sich bei der Nutzung.
Überprüfen Sie die Aktivitätsdaten
Im Abschnitt „Paketdetails“ sehen Sie die Stimmen, den Beliebtheitswert und zwei Daten. Zum einen, als die Pakete zum ersten Mal in die AUR eingeführt wurden, und zum anderen, als das Paket zuletzt aktualisiert wurde.
Das Datum „Letzte Aktualisierung“ gibt Aufschluss darüber, ob das Paket aktiv gepflegt wird. Pakete, die längere Zeit inaktiv waren, sollten mit Vorsicht behandelt werden.
Ist die Upstream-URL ein gültiger Standort?
Überprüfen Sie außerdem die „Upstream-URL“ und vergewissern Sie sich, dass sie zu einer gültigen Webseite oder einem gültigen Code-Repository für das Paket oder Projekt führt. Wenn nicht, stimmt etwas nicht.
Lesen Sie die Benutzerkommentare
Am Fuß jeder AUR-Seite befinden sich Benutzerkommentare. Diese können sich über viele Seiten erstrecken. Sehen Sie, was andere Benutzer über das Paket sagen und welche Fragen sie stellen. Sehen Sie sich auch an, welche Lösungen für die aufgeworfenen Probleme angeboten werden. Gibt es aktuelle Kommentare? Hat dieses Paket noch eine aktive Benutzerbasis?
Registrieren und teilnehmen
Wenn Sie sich bei AUR registrieren und ein kostenloses Konto erstellen, können Sie Kommentare hinterlassen und Fragen stellen. Nutzen Sie auch andere Ressourcen wie Foren und Subreddits, um nach dem Paket zu fragen.
Auch wenn Sie sich mit Shell-Skripten nicht auskennen, können Sie dennoch ein paar Dinge überprüfen.
Überprüfen Sie den Inhalt von PKGBUILD und anderen Dateien
Eine übliche Methode für den Zugriff auf die AUR ist die Verwendung eines Befehlszeilen-„AUR-Helfers“ wie „ yay
“. Sie können die AUR jedoch auch praktisch und manuell verwenden.
Gute AUR-Helfer bieten Ihnen die Möglichkeit, die PKGBUILD-Datei zu überprüfen und die Installation anzuhalten, wenn Sie nicht fortfahren möchten. Im manuellen Prozess suchen Sie im AUR nach dem Paket, laden die PKGBUILD-Datei herunter und überprüfen sie, bevor Sie sie verwenden. Wenn Sie nach der Durchsicht fortfahren möchten, führen Sie makepkg
manuell aus.
Es ist eine gute Idee, mindestens ein Paket manuell zu installieren, damit Sie die Funktionsweise des AUR-Helfers im Hintergrund kennen. Wir verwenden den Yay AUR-Helfer als Beispiel.
Das Paket wurde erstmals im Jahr 2016 eingereicht und zuletzt im Mai 2023 aktualisiert. Zum Zeitpunkt des Verfassens dieses Artikels handelt es sich um ein sehr aktuelles Update. Bemerkenswert ist auch, dass der ursprüngliche Einreicher, der aktuelle Betreuer und die letzte Person, die die Software verpackt, alle dieselbe Person sind. Diese Kontinuität ist ein gutes Zeichen.
Klicken Sie im Abschnitt „Paketdetails“ auf den URL-Link „Git Clone URL“, um ihn in die Zwischenablage zu kopieren.
Geben Sie in einem Terminalfenster „git clone“ ein, ein Leerzeichen, und drücken Sie dann Umschalt+Strg+V, um die URL in die Befehlszeile einzufügen. Drücken Sie „Enter“, um den Download zu starten.
Git-Klon https://aur.archlinux.org/yay.git
Wenn der Download abgeschlossen ist, wechseln Sie in das neue „yay“-Verzeichnis.
CD juhuu
Mal sehen, welche Dateien wir haben.
ls
Es gibt eine einzige Datei, die PKGBUILD-Datei. Oft gibt es ein oder zwei zusätzliche Hilfsdateien. Schauen Sie sich auch diese an. Wir werden less
verwenden, um unsere einzelne Datei zu lesen.
weniger PKGBUILD
Welche URLs verwendet die PKGBUILD-Datei?
Eine wohlgeformte PKGBUILD-Datei, die den Konventionen folgt, erstellt Variablen, um die von ihr verwendeten URLs zu speichern. Dadurch erhalten wir oben in der Datei eine übersichtliche Liste der URLs, auf die PKGBUILD verweist. In diesem Fall gibt es nur einen.
Wir können sehen, dass es auf eine GitHub-Seite für das yay
Projekt verweist.
Die GitHub-Seite gehört einem Benutzer mit demselben Namen wie der Betreuer, der auf der AUR-Seite für dieses Paket aufgeführt wurde. Dies sind zwei gute Anzeichen dafür, dass es sich um ein sicheres Paket handelt.
Aber wir machen weiter und schauen etwas tiefer.
Suchen Sie nach Download-Befehlen
Verwenden Sie die Funktion less
Suche“, um die Datei nach Verwendungsmöglichkeiten von wget
“ oder curl
zu durchsuchen. Beide Tools können zum Abrufen von Remote-Dateien verwendet werden. Ein gut erzogener PKGBUILD sollte eine solche Aktivität nicht benötigen.
Wenn Sie Vorkommnisse feststellen, betrachten Sie diese als Warnsignal und installieren Sie das Paket erst, wenn Sie sicher sind, dass es harmlos ist. Auf welche URL verweisen die Befehle wget
oder curl
? Sehen sie seriös aus und haben sie etwas mit dem Paket zu tun?
Wenn Sie von einer vertrauenswürdigen Quelle die Bestätigung erhalten können, dass PKGBUILD vertrauenswürdig ist und es nur in einer Weise geschrieben ist, die nicht den Konventionen entspricht, können Sie es trotzdem installieren.
Suchen Sie nach rm, mv und anderen gefährlichen Befehlen
Ebenso ist es nicht erforderlich, dass eine PKGBUILD-Datei die Befehle rm
oder mv
enthält, und sie sollten auch nicht auf irgendetwas im Verzeichnis „/dev“ verweisen. Wenn PKGBUILD pacman
direkt aufruft oder systemctl
, systemd
oder eine andere wichtige Systemkomponente wie grub
erwähnt, behandeln Sie die PKGBUILD-Datei als gefährlich und führen Sie sie nicht aus.
Sie können die Schritte, die wir bisher verwendet haben, auch dann ausführen, wenn Sie keine Shell-Skripte lesen können. Wenn Sie sich mit Shell-Skripten auskennen, können Sie den tatsächlichen Code im PKGBUILD überprüfen.
Seien Sie vorsichtig bei verschleiertem Code
Menschen, die bösartigen Code schreiben, versuchen oft, seine Absichten zu verbergen, indem sie ihn verschleiern. Sie verwenden eine minimalistische, prägnante und undurchdringliche Syntax, sodass es schwierig ist, zu entschlüsseln, was sie tun wollen. Wenn Sie Leitungen sehen, die eine Umleitung verwenden oder sed
oder awk
aufrufen, behandeln Sie diese als verdächtig.
Wenn Sie diese Zeilen kopieren und in einen Online-Parser wie EXPLAINShell.com einfügen, werden sie entpackt, sodass Sie sehen können, was sie tatsächlich tun. Wenn Sie mit einem dichten Durcheinander aus Klammern, Semikolons und kaufmännischen Und-Zeichen konfrontiert werden, lohnt es sich, einen Online-Parser zu verwenden, um noch einmal zu überprüfen, ob Sie richtig interpretiert haben, was die Zeile bewirken soll. Aber im Allgemeinen ist schwer lesbarer Code ein Warnzeichen.
Ihr Zuhause sollte Ihr Schloss sein
PKGBUILD-Kompilierungen und Builds finden in einer chroot
Umgebung statt.
Hierbei handelt es sich um isolierte Mini-Dateisysteme, mit denen Entwickler Sandbox-Prozesse durchführen können, indem sie ihren Zugriff auf den Rest des Dateisystems Ihres Computers und den Zugriff auf andere Systembefehle einschränken.
Wenn PKGBUILD Ihr Home-Verzeichnis direkt manipuliert, betrachten Sie dies als Warnhinweis. Stellen Sie sicher, dass Sie vollständig verstehen, was es tut, bevor Sie sich entscheiden, es auszuführen.
Sie können anderen AUR-Benutzern helfen
Bei äußerst beliebten Paketen sind Sie mit hoher Wahrscheinlichkeit auf der sicheren Seite. Aufgrund der hohen Benutzerzahl werden Probleme schneller erkannt und schneller gemeldet. Sie können Ihren Teil dazu beitragen, indem Sie alle gefundenen Probleme melden und gute Pakete positiv bewerten, um deren Ruf zu verbessern.
Wenn Sie feststellen, dass ein Problem mit einem Paket vorliegt, das Sie dazu veranlasst, es nicht zu installieren, befinden Sie sich möglicherweise in einer Zwickmühle, weil Sie dieses Paket benötigt haben. Eine Möglichkeit besteht darin, in Foren nach Vorschlägen für andere Pakete zu fragen, die diesen speziellen Bedarf erfüllen können.
Linux bietet normalerweise viele Möglichkeiten, eine bestimmte Katze zu häuten.
VERWANDT: So installieren Sie Arch Linux über eine GUI