Was ist der AUR in Arch Linux und sollten Sie ihn verwenden?


Arch Linux-Logo auf der ArchWiki-Website.
Jordan Gloor / How-To Geek

Das Arch Linux AUR-Repository enthält von der Community betriebene Software, deren Verwendung sicher ist, wenn Sie einige einfache Vorsichtsmaßnahmen treffen. Auch wenn Sie sich mit Shell-Scripting nicht auskennen, gibt es Indikatoren, anhand derer Sie beurteilen können, ob ein Paket sicher ist oder nicht.

Der 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 AUR (Arch-Benutzer-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 ausgeführt werden makepkg Werkzeug. Wenn makepkg Wenn es 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, können Sie eine PKGBUILD-Datei und makepkg arbeiten 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. Der pacman Das Tool wird automatisch aufgerufen, um die Software aus dem Paketarchiv zu installieren.

Auf die Gefahr hin, Verwirrung zu stiften, einige AUR-Pakete Tun Bereitstellung vorkompilierter 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 a Ventilsoftware Dampf Skript Ihr Homeverzeichnis wurde gelöscht wenn Sie das Steam-Verzeichnis zuvor an einen neuen Speicherort verschoben haben.

Noch schlimmer war der Vorfall im Jahr 2005, als ein verwaistes AUR-Paket von einem neuen Betreuer übernommen wurde, der es absichtlich hinzufügte Schadcode in die PKGBUILD-Datei einfügen. 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 zum Beispiel, unterstützt die AUR nicht offiziell obwohl es Arch-basiert ist.

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 mit zur AUR gehen und auf der Suche nach Ihrem Paket.

Die Suchleiste auf der AUR-Website

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.

Die AUR-Paketdetails für die Yay-Pakete, mit hervorgehobenen Stimmen und Beliebtheitszahlen

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.

Die AUR-Paketdetails für die Yay-Pakete, wobei das erste übermittelte und das letzte aktualisierte Datum hervorgehoben sind

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 auch die „Upstream-URL“ und vergewissern Sie sich, dass sie zu a führt gültige Webseite oder Code-Repository für das Paket oder Projekt. Wenn nicht, stimmt etwas nicht.

Die AUR-Paketdetails für die Yay-Pakete, wobei die Upstream-URL hervorgehoben ist

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 Möglichkeit, auf die AUR zuzugreifen, ist die Verwendung eines Befehlszeilen-„AUR-Helfers“ wie z yaySie können den AUR aber 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 mit dem Fortfahren zufrieden sind, führen Sie es aus makepkg manuell.

Es ist eine gute Idee, mindestens ein Paket manuell zu installieren, damit Sie die Funktionsweise des AUR-Helfers im Hintergrund kennen. Wir werden das verwenden Juhuu, 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 clone https://aur.archlinux.org/yay.git

Klonen der yay PKGBUILD-Datei aus ihrem Git-Repository

Wenn der Download abgeschlossen ist, wechseln Sie in das neue „yay“-Verzeichnis.

cd yay

Verzeichniswechsel in den Yay-Ordner.

Mal sehen, welche Dateien wir haben.

ls

Auflisten der abgerufenen Dateien mit 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 verwenden less um unsere einzelne Datei zu lesen.

less PKGBUILD

Starten Sie den Less-Datei-Viewer, um die yay PKGBUILD-Datei zu öffnen

Welche URLs verwendet die PKGBUILD-Datei?

Eine wohlgeformte PKGBUILD-Datei, die den Konventionen folgt, erstellt Variablen zur Aufnahme der URLs, die es verwendet. Dadurch erhalten wir oben in der Datei eine übersichtliche Liste der URLs, auf die PKGBUILD verweist. In diesem Fall gibt es nur einen.

Untersuchen der yay PKGBUILD-Datei mit dem Less-Datei-Viewer

Wir können sehen, dass es auf eine GitHub-Seite für verweist yay Projekt.

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 Die less Suchfunktion zum Durchsuchen der Datei nach Verwendungsmöglichkeiten von wget oder curl. 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. Wie lautet die URL, die die wget oder curl Befehle verweisen? 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, 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 das enthält rm oder mv Befehle, noch sollten sie auf irgendetwas im Verzeichnis „/dev“ verweisen müssen. Wenn der PKGBUILD direkt aufruft pacmanoder Erwähnungen systemctl, systemdoder eine andere wichtige Systemkomponente wie z grubbehandeln 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, knappe und undurchdringliche Syntax, sodass es schwer ist zu entschlüsseln, was sie tun wollen. Wenn Sie Leitungen sehen, die eine Umleitung oder einen Anruf verwenden sed oder awk behandeln Sie sie als verdächtig.

Kopieren Sie diese Zeilen und legen Sie sie in einem Online-Parser ab, z erklärtshell.com Ich werde sie auspacken, damit 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 kompiliert und erstellt A chroot Umfeld.

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



source-107

Leave a Reply