Repology katalogisiert das Geschehen in den Paketquellen

Aus LinuxUser 07/2020

Repology katalogisiert das Geschehen in den Paketquellen

© Gennadi Jurastow, 123RF

Gut organisiert

Die Web-App Repology bietet stets aktuelle Informationen zu Software-Archiven, Versionen, Paketbetreuern und vieles mehr. Dabei geht sie weit über Linux hinaus.

Einen nicht unerheblichen Teil der Zeit, die wir an Computern verbringen, widmen wir der Suche nach Informationen oder Daten – sei es im Browser per Suchmaschine oder im Dateisystem mit Befehlen wie find und locate oder mit dafür ausgelegten grafischen Werkzeugen.

Zu den häufig genutzten Kommandos zählt auch whohas, das ermittelt, welche Distributionen ein Paket in welcher Version im Archiv führen. Das führt allerdings des Öfteren zu Frustration: Zum einen unterstützt Whohas nicht alle Distributionen, zum anderen lassen sich zum Zeitpunkt der Abfrage nicht immer alle Repositories der Distributionen erreichen.

120 Repositories

Auf der Suche nach Alternativen sind wir auf eine wahre Schatztruhe gestoßen, auf deren Deckel der unscheinbare Name Repology steht. Dabei handelt es sich um eine Web-App [1], die die Software-Pakete vieler Distributionen auflistet, wobei das System die Daten stündlich direkt aus deren Repositories abruft. Repology hält vielfältige Informationen zu den einzelnen Paketen vor und verknüpft sie miteinander. Derzeit erfasst das Tool mehr als 120 Repositories mit über 2,4 Millionen Paketen.

Das in Python realisierte Projekt wird auf Github gepflegt [2]. Neben den Archiven von Linux-Distributionen integriert Repology auch die Daten einiger BSD-Projekte. Darüber hinaus verfolgt Repology die Aktivitäten in Repositories wie DEB-Multimedia, RPM-Fusion, Chocolatey, F-Droid, Homebrew und vielen anderen. Um die Angaben zur Aktualität zuordnen zu können, sollten Sie die Farbcodes in der Dokumentation verinnerlichen, die sich auch am Fuß der entsprechenden Seiten finden. Sofern Sie stets nach den neuesten Versionen Ausschau halten, genügt es, die Farbe Grün im Auge zu behalten [3].

Kurz gesagt agiert Repology also als Suchmaschine für Pakete in Repositories von Linux-Distributionen und darüber hinaus. Da es zahlreiche Auswertungsmöglichkeiten bietet, liefert es Anwendern viele Einsichten und Vergleiche zu einzelnen Paketen. Auf diese Weise lässt sich beispielsweise herausfiltern, welche Distribution von der Aktualität, der Quantität der bereitgestellten Pakete oder anderen Kriterien optimal zu Ihnen passt.

Wir stellen Repology anhand eines Rundgangs vor, dem eine praktische Fragestellung zugrunde liegt. Wir wollten wissen, welche Distributionen Firefox möglichst zeitnah in aktuellen Versionen bereitstellen. Dabei steht im Hintergrund die Erkenntnis, dass Web-Anwendungen wegen ständig neuer Angriffsszenarien immer topaktuell sein sollten. Im Idealfall sollten nur ein bis zwei Tage vergehen, bis eine neue oder gepatchte Version von Firefox oder anderen Web-Anwendungen in den Paketquellen zur Verfügung steht.

Nützliche Daten

Die von Repology gesammelten Daten sind für Entwickler, Paketbetreuer und Endanwender gleichermaßen interessant. Während Entwickler unter anderem erfahren, welche Distributionen ihre Software anbieten, bleiben Paketbetreuer immer über neue Versionen der von ihnen gepackter Anwendungen im Bilde und sehen auf einen Blick, welche Betreuer dieselbe Software für andere Distributionen packen.

Der Endanwender weiß, wann neue Versionen einer Software verfügbar werden und kann gegebenenfalls den Paketbetreuer der eigenen Distribution darüber informieren. Ansonsten ist das Stöbern auf Repology ein äußert kurzweiliger Zeitvertreib.

Bevor wir unsere Reise starten, sei zum besseren Verständnis gesagt, dass Repology alles, was in unserem Fall mit Firefox zu tun hat, als Projekt bezeichnet. Die Hauptleiste der Web-App unterteilt die Webseite in sechs Reiter. Links sind das Projects, Maintainers, Repositories und Tools. Am rechten Rand finden Sie News und Docs.

Firefox im Detail

Wir beginnen in Projects und geben firefox in die Suchleiste ein. Über Advanced verfeinern wir die Suche, indem wir beispielsweise in speziellen Repositories nach dem Paket oder den Firefox-Paketen eines bestimmten Betreuers suchen. Wir belassen es allerdings bei der einfachen Suche und wählen aus den angezeigten Projekten den Browser aus, der sich unter firefox* findet (Abbildung 1).

Abbildung 1: Repology betrachtet Firefox als Projekt. Das schließt alle Pakete ein, die Firefox im Namen tragen. Uns interessiert der unterste Eintrag, der für den Webbrowser steht.

Abbildung 1: Repology betrachtet Firefox als Projekt. Das schließt alle Pakete ein, die Firefox im Namen tragen. Uns interessiert der unterste Eintrag, der für den Webbrowser steht.

Die mit Spr überschriebene Spalte hinter dem Projektnamen steht für Spread und gibt an, in wie vielen Repository-Familien sich das Projekt findet. Dabei würden beispielsweise Debian “Stable”, “Testing”, “Unstable”, “Oldstable” und “Experimental” als eine Familie gezählt. Klicken wir nun auf firefox*, so öffnet sich die Ansicht der Repositories, die Firefox bereitstellen (Abbildung 2).

Abbildung 2: Die verschiedenen Zweige von Debian bieten unterschiedliche Versionen des Webbrowsers an. Die rot beschilderten Versionen sind veraltet; das gilt zwar auch für die gelben, doch diese werden aus Kompatibilitätsgründen noch gepflegt.

Abbildung 2: Die verschiedenen Zweige von Debian bieten unterschiedliche Versionen des Webbrowsers an. Die rot beschilderten Versionen sind veraltet; das gilt zwar auch für die gelben, doch diese werden aus Kompatibilitätsgründen noch gepflegt.

Viele Füchse

Zunächst sehen wir oben links, dass es 2676 Pakete unter dem Namen Firefox gibt. Das schließt Firefox, Firefox-ESR, Firefox-Developer und alle anderen Varianten in allen vertretenen Versionen ein. Ist das Paket bei einer Distribution kategorisiert, gibt Repology das in der Sparte Category an. Ganz rechts unter Maintainer(s) stehen der oder die Paketbetreuer. Scrollen Sie ganz nach unten – bei Firefox zugegebenermaßen ein langer Weg – so finden sich dort die Archive, die derzeit keine Firefox-Pakete anbieten.

Aktuelles Grün

Interessieren Sie sich hingegen für die Aktualität, müssen Sie auf die Farbe Grün achten. Mit der schmückt sich zum Testzeitpunkt ausschließlich die aktuellste Version Firefox 76.0.1. Selbst die nur vier Tage früher veröffentlichte Hauptversion Firefox 76 erscheint bereits in Rot und gilt also als veraltet. Noch aktueller dagegen ist die in Türkis angezeigte Beta-Version 77.0b3.

Es kann auch vorkommen, dass eine eigentlich veraltete Version nicht in Rot erscheint, sondern mit dem gelben Label legacy. Das bedeutet, dass diese Version aus Kompatibilitätsgründen weiterhin geführt wird (Abbildung 3).

Abbildung 3: Am Beispiel von Python lässt sich gut erkennen, dass die veraltete Version Python 2 uns aus Kompatibilitätsgründen in einigen Distributionen noch eine Weile begleitet, während andere sie bereits radikal entfernt haben.

Abbildung 3: Am Beispiel von Python lässt sich gut erkennen, dass die veraltete Version Python 2 uns aus Kompatibilitätsgründen in einigen Distributionen noch eine Weile begleitet, während andere sie bereits radikal entfernt haben.

Immer tiefer?

Neben den Versionen, die derzeit über die Distributionen zur Verfügung stehen, bietet diese Ansicht in der Leiste oben die Kategorien Packages, Information, History, Related, Badges und Report. Sie vermitteln jeweils eine andere Ansicht der Informationen für das vorgegebene Paket.

Ein Klick auf Packages eröffnet eine Fülle an zusätzlichen Informationen der verschiedenen Firefox-Pakete pro Version und Distribution, was Vergleiche zwischen den Paketen verschiedener Distributionen ermöglicht (Abbildung 4).

Abbildung 4: In der Kategorie <span class="ui-element">Packages</span> bietet Repology detaillierte Informationen zu Firefox-Versionen pro Distribution. Das reicht von Angaben zu Homepage und Paketbetreuer bis hin zu Links zum Build-Skript.

Abbildung 4: In der Kategorie Packages bietet Repology detaillierte Informationen zu Firefox-Versionen pro Distribution. Das reicht von Angaben zu Homepage und Paketbetreuer bis hin zu Links zum Build-Skript.

Gibt es einen offiziellen Maintainer für ein Paket, so verrät ein Klick, für welche anderen Distributionen er dieses Paket eventuell betreut. Unter Package related links finden sich weitere Informationen, wie etwa die Github-Präsenz, Paketinformationen zu Abhängigkeiten und Lizenzen oder welcher Betreuer das Paket signiert hat.

Im Gegensatz zu den ersten beiden Reitern, die paketzentriert sind, listet Information Daten aus allen Paketen auf und gruppiert sie nach Typ – beispielsweise Versionen aus allen bekannten Paketen, Zusammenfassungen aus allen bekannten Paketen oder Links für alle bekannten Pakete.

Wer war fleißig?

Der noch experimentelle Reiter History fällt praktisch selbsterklärend aus. Er listet chronologisch alle Aktionen in Bezug auf Firefox (Abbildung 5). Diese Ansicht lässt sich, wie einige andere auch, auf enable autorefresh setzen, wodurch die Seite die Inhalte automatisch aktualisiert.

Im Reiter Related führt Repology Verbindungen von Firefox zu anderen Projekten auf. Verwandte Projekte identifiziert das Tool dabei anhand rekursiv übereinstimmende URLs der Paket-Homepage.

Abbildung 5: Der Reiter <span class="ui-element">History</span> bietet chronologisch und st&uuml;ndlich aktualisierte Informationen zu &Auml;nderungen an dem betrachteten Paket &uuml;ber alle beobachteten Repositories hinweg.

Abbildung 5: Der Reiter History bietet chronologisch und stündlich aktualisierte Informationen zu Änderungen an dem betrachteten Paket über alle beobachteten Repositories hinweg.

Hinter der Kategorie Badges verbergen sich Codeschnipsel, um verschiedene Ansichten mit unterschiedlicher Informationstiefe auf anderen Webseiten als grafisch aufbereitete Tabelle (neudeutsch: Badge) einzubinden.

Unter Report melden Sie Fehler bei der Darstellung des jeweiligen Projekts, die bei der Fülle der quer-referenzierten Informationen unvermeidlich sind, an das Repology-Team.

Wer packt Firefox?

In der Hauptkategorie Maintainers sehen Sie, wer Firefox für welche Distribution zu Paketen schnürt. Für eine erfolgreiche Suche brauchen Sie die E-Mail-Adresse oder den Nickname des Betreuers, die Sie mit etwas Glück der Ansicht Versions entnehmen.

Wir wollten einmal sehen, was Mike Hommey so treibt, seines Zeichens Mozilla-Entwickler und Debian-Paketbetreuer für Firefox. Nach der Eingabe seiner Debian-E-Mail-Adresse öffnet sich nach einem Klick auf den Link die Seite, die Hommeys Aktivitäten bezüglich der Firefox-Paketierung zeigt.

Dabei gibt es Informationen über Distributionen, die seine Firefox-Pakete nutzen, die Anzahl der jeweiligen Pakete sowie deren Aktualität. Ein Klick auf die jeweiligen Distributionen, die er bedient, verlinkt direkt zur Distributionsseite innerhalb Repology mit weiteren allgemeinen Informationen (Abbildung 6).

Abbildung 6: Die Maintainer-Ansicht zeigt, wo die Pakete von Firefox-Maintainer Mike Hommey &uuml;berall zum Einsatz kommen.

Abbildung 6: Die Maintainer-Ansicht zeigt, wo die Pakete von Firefox-Maintainer Mike Hommey überall zum Einsatz kommen.

Statistik und Diagramme

In der Hauptkategorie Repositories verlassen wir dann das Paket Firefox und sehen uns weitere allgemeine Informationen an. Sie unterteilen sich in die Unterkategorien Statistics, Packages, Graphs, Updates und Fields.

Unter Statistics finden Sie Angaben zur Paketanzahl, der Aktualität sowie der Anzahl der Maintainer, unterteilt nach Distributionen und deren letzten Veröffentlichungen. Insgesamt kennt Repology 187 973 Projekte mit insgesamt 2 421 510 individuellen Paketen.

Der Reiter Packages detailliert die Informationen über Pakete in den einzelnen Distributionen. Die Kürzel über den Spalten enthüllen deren Bedeutung, sobald man mit dem Mauszeiger darüberfährt.

Graphs wertet die Informationen in Diagrammen aus, während Updates anzeigt, wann eine Distribution zuletzt eine Aktualisierung von Paketen vorgenommen hat (Abbildung 7). Unter Fields offenbart Repology, welche Informationen die Distributionen für ihre Pakete angeben. Das reicht von einer Zusammenfassung der Software über deren Maintainer bis zu Webseite und Lizenz.

Abbildung 7: In der Ansicht <span class="ui-element">Updates</span> l&auml;sst sich ablesen, wann zuletzt Aktivit&auml;t in den beobachteten Repositories stattgefunden hat. Dabei werden unter anderem sowohl erfolgreiche als auch gescheiterte Build-Prozesse angezeigt.

Abbildung 7: In der Ansicht Updates lässt sich ablesen, wann zuletzt Aktivität in den beobachteten Repositories stattgefunden hat. Dabei werden unter anderem sowohl erfolgreiche als auch gescheiterte Build-Prozesse angezeigt.

Hinter der letzten Hauptkategorie Tools verbirgt sich ein weiteres Werkzeug, um Repology mit anderen Webseiten zu verbinden, sowie eine Liste von Trending and declining projects. Dazu zählen Anwendungen, die im vergangenen Monat entweder in vielen Repositories hinzukamen oder entfielen. Das ist praktisch, wenn Sie auf der Suche nach interessanten Projekten sind, die gerade Fahrt aufnehmen.

Fazit

Interessieren Sie sich über die reine Anwendung von Linux hinaus ein wenig für das Drumherum und möchten einmal einen Blick über den Tellerrand der eigenen Distribution werfen? Dann finden Sie auf Repology ein Füllhorn von stündlich aktualisierten Details, die alle untereinander verknüpft sind und so die Suche nach Informationen oder einfach nur das kurzweilige Schnuppern in dem riesigen Datenbestand erleichtern. Falls Sie sich obendrein für die Regeln interessieren, mit denen Repology diese Daten erfasst, werden sie auf Github [4] fündig. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 07/2020 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben