Wie listet man installierte Pakete aus einem bestimmten Repo mit Yum auf?

Veröffentlicht 8. September 2024

Problem: Pakete aus einem bestimmten Repo auflisten

Es kann schwierig sein, Pakete zu identifizieren, die aus einem bestimmten Repository in einem Linux-System installiert wurden. Diese Aufgabe ist nützlich bei der Verwaltung von Software-Quellen oder der Behebung von paketbezogenen Problemen. Yum, ein Paketverwaltungstool, bietet eine Möglichkeit, dies zu tun, aber der Befehl ist auf den ersten Blick möglicherweise nicht klar.

Lösung: Verwendung von Yum mit Repository-Namen

Wie man repo-spezifische Pakete auflistet

Um Pakete aus einem bestimmten Repository aufzulisten, verwenden Sie diesen Befehl:

yum list installed | grep reponame

Dieser Befehl kombiniert zwei Operationen:

  1. yum list installed: Listet alle installierten Pakete auf Ihrem System auf.
  2. grep reponame: Filtert die Ausgabe, um nur Zeilen mit dem Repository-Namen anzuzeigen.

Das Symbol | (Pipe) verbindet diese beiden Befehle, indem es die Ausgabe des ersten Befehls als Eingabe für den zweiten weiterleitet.

So verwenden Sie diesen Befehl:

  1. Öffnen Sie ein Terminal auf Ihrem Linux-System.
  2. Ersetzen Sie reponame durch den Namen des Repositories, das Sie überprüfen möchten.
  3. Führen Sie den Befehl aus und überprüfen Sie die Ausgabe.

Diese Methode funktioniert, weil Yum den Repository-Namen bei der Auflistung installierter Pakete einschließt. Durch die Verwendung von grep zum Filtern nach dem Repository-Namen können Sie alle Pakete aus dieser Quelle identifizieren.

Beachten Sie, dass der Repository-Name in der Ausgabe möglicherweise abgekürzt oder leicht anders ist als erwartet. Möglicherweise müssen Sie einige Variationen ausprobieren, um den korrekten Namen für die Verwendung mit grep zu finden.

Tipp: Den korrekten Repository-Namen finden

Wenn Sie sich über den genauen Repository-Namen nicht sicher sind, können Sie den Befehl yum repolist verwenden, um eine Liste aller aktivierten Repositories auf Ihrem System zu sehen. Dies zeigt Ihnen die Repository-IDs, die Sie dann in Ihrem grep-Befehl verwenden können.

Praktisches Beispiel: Auflisten von Paketen aus einem bestimmten Repository

Beispielausgabe und Interpretation

Hier ist ein Beispiel mit dem 'remi'-Repository, das aktualisierte Versionen von PHP und verwandten Paketen bereitstellt:

yum list installed | grep remi
ImageMagick2.x86_64                       6.6.5.10-1.el5.remi          installed
memcache.x86_64                           1.4.5-2.el5.remi             installed
mysql.x86_64                              5.1.54-1.el5.remi            installed
mysql-devel.x86_64                        5.1.54-1.el5.remi            installed
mysql-libs.x86_64                         5.1.54-1.el5.remi            installed
mysql-server.x86_64                       5.1.54-1.el5.remi            installed
php.x86_64                                5.3.5-1.el5.remi             installed
php-cli.x86_64                            5.3.5-1.el5.remi             installed
php-common.x86_64                         5.3.5-1.el5.remi             installed

Diese Ausgabe zeigt:

  1. Paketname: Die erste Spalte listet den Paketnamen und die Architektur auf (z.B. ImageMagick2.x86_64).

  2. Version: Die zweite Spalte zeigt die Versionsnummer des installierten Pakets (z.B. 6.6.5.10-1).

  3. Repository: Die dritte Spalte gibt das Repository an, aus dem das Paket installiert wurde. Hier zeigen alle Pakete 'el5.remi', was bestätigt, dass sie aus dem remi-Repository stammen.

  4. Status: Die letzte Spalte zeigt den Paketstatus an, der für alle diese Pakete 'installed' ist.

Dieses Beispiel listet PHP-bezogene Pakete, MySQL und andere Tools aus dem remi-Repository auf. Es zeigt, welche Software-Komponenten aus dieser Quelle installiert wurden, was bei der Systemadministration und Fehlerbehebung helfen kann.

Tipp: Filteroptionen

Sie können den grep-Befehl modifizieren, um nach bestimmten Paketen zu filtern. Um beispielsweise nur PHP-bezogene Pakete aus dem remi-Repository aufzulisten, können Sie Folgendes verwenden:

yum list installed | grep remi | grep php

Dies zeigt nur die PHP-Pakete, die aus dem remi-Repository installiert wurden, und erleichtert so die Konzentration auf bestimmte Software-Komponenten.

Alternative Methoden zur Paketauflistung

Verwendung von Yum-Utils für die Paketverwaltung

Yum-utils ist eine Sammlung von Tools, die die Funktionen von Yum erweitern. Dieses Paket bietet Ihnen weitere Optionen zur Verwaltung von Paketen, einschließlich Möglichkeiten, Pakete aus bestimmten Repositories aufzulisten.

Um yum-utils zu verwenden, installieren Sie es mit diesem Befehl:

sudo yum install yum-utils

Nach der Installation können Sie diese Befehle für die repo-spezifische Paketauflistung verwenden:

  1. repoquery: Mit diesem Tool können Sie Paketinformationen aus Repositories abfragen. Um alle Pakete aus einem bestimmten Repo aufzulisten, verwenden Sie:

    repoquery --repoid=repo_name --all

    Ersetzen Sie 'repo_name' durch die ID des Repositories, das Sie auflisten möchten.

  2. yum-config-manager: Dieses Tool hilft bei der Verwaltung der Yum-Konfiguration. Es kann Repository-Informationen anzeigen:

    yum-config-manager --dump repo_name

    Dieser Befehl zeigt alle Konfigurationsdetails für das angegebene Repository an.

  3. package-cleanup: Obwohl es hauptsächlich zum Aufräumen alter Pakete verwendet wird, kann es auch doppelte Pakete auflisten:

    package-cleanup --dupes

    Dies hilft bei der Identifizierung von Paketen, die möglicherweise aus mehreren Repositories installiert wurden.

Diese Tools aus yum-utils liefern weitere Informationen über Pakete und Repositories und ermöglichen eine präzise Paketverwaltung und Fehlerbehebung.

Tipp: Befehle kombinieren

Sie können repoquery mit grep für spezifische Ergebnisse kombinieren. Zum Beispiel:

repoquery --repoid=repo_name --all | grep package_name

Dies listet alle Versionen eines bestimmten Pakets auf, die im Repository verfügbar sind.