Hoe lijst je geïnstalleerde pakketten van een specifieke repo op met Yum?

Gepubliceerd 15 juli 2024

Probleem: Pakketten Van Een Specifieke Repo Weergeven

Het identificeren van pakketten die geïnstalleerd zijn vanuit een specifieke repository in een Linux-systeem kan moeilijk zijn. Deze taak is nuttig bij het beheren van softwarebronnen of het oplossen van pakketgerelateerde problemen. Yum, een pakketbeheertool, biedt een manier om dit te doen, maar de opdracht is mogelijk niet meteen duidelijk.

Oplossing: Yum Gebruiken Met Repositorynaam

Hoe Repo-Specifieke Pakketten Weer Te Geven

Om pakketten van een specifieke repository weer te geven, gebruik je deze opdracht:

yum list installed | grep reponame

Deze opdracht combineert twee bewerkingen:

  1. yum list installed: Geeft een lijst van alle geïnstalleerde pakketten op je systeem.
  2. grep reponame: Filtert de uitvoer om alleen regels met de repositorynaam te tonen.

Het | symbool (pipe) verbindt deze twee opdrachten en geeft de uitvoer van de eerste opdracht door als invoer voor de tweede.

Om deze opdracht te gebruiken:

  1. Open een terminal op je Linux-systeem.
  2. Vervang reponame met de naam van de repository die je wilt controleren.
  3. Voer de opdracht uit en bekijk de uitvoer.

Deze methode werkt omdat yum de repositorynaam opneemt bij het weergeven van geïnstalleerde pakketten. Door grep te gebruiken om te filteren op de repositorynaam, kun je alle pakketten van die bron identificeren.

Merk op dat de repositorynaam in de uitvoer mogelijk afgekort of enigszins anders is dan je verwacht. Je moet mogelijk een paar varianten proberen om de juiste naam te vinden voor gebruik met grep.

Tip: De Juiste Repositorynaam Vinden

Als je onzeker bent over de exacte repositorynaam, kun je de opdracht yum repolist gebruiken om een lijst te zien van alle ingeschakelde repositories op je systeem. Dit toont je de repository-ID's, die je vervolgens kunt gebruiken in je grep-opdracht.

Praktisch Voorbeeld: Pakketten Van Een Specifieke Repository Weergeven

Voorbeelduitvoer en Interpretatie

Hier is een voorbeeld met de 'remi' repository, die bijgewerkte versies van PHP en gerelateerde pakketten biedt:

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

Deze uitvoer toont:

  1. Pakketnaam: De eerste kolom geeft de pakketnaam en architectuur weer (bijv. ImageMagick2.x86_64).

  2. Versie: De tweede kolom toont het versienummer van het geïnstalleerde pakket (bijv. 6.6.5.10-1).

  3. Repository: De derde kolom geeft de repository aan waar het pakket vandaan is geïnstalleerd. Hier tonen alle pakketten 'el5.remi', wat bevestigt dat ze van de remi repository zijn.

  4. Status: De laatste kolom geeft de pakketstatus weer, die 'installed' is voor al deze pakketten.

Dit voorbeeld geeft een lijst van PHP-gerelateerde pakketten, MySQL en andere tools van de remi repository. Het laat zien welke softwarecomponenten zijn geïnstalleerd vanuit deze bron, wat kan helpen bij systeembeheer en probleemoplossing.

Tip: Filteropties

Je kunt de grep-opdracht aanpassen om te filteren op specifieke pakketten. Om bijvoorbeeld alleen PHP-gerelateerde pakketten van de remi repository weer te geven, kun je gebruiken:

yum list installed | grep remi | grep php

Dit toont alleen de PHP-pakketten die geïnstalleerd zijn vanuit de remi repository, waardoor het gemakkelijker wordt om je te concentreren op specifieke softwarecomponenten.

Alternatieve Methoden Voor Pakketweergave

Yum-Utils Gebruiken Voor Pakketbeheer

Yum-utils is een set hulpmiddelen die de functies van Yum aanvult. Dit pakket geeft je meer opties om pakketten te beheren, inclusief manieren om pakketten van specifieke repositories weer te geven.

Om yum-utils te gebruiken, installeer je het met deze opdracht:

sudo yum install yum-utils

Na installatie kun je deze opdrachten gebruiken voor repo-specifieke pakketweergave:

  1. repoquery: Deze tool laat je pakketinformatie opvragen uit repositories. Om alle pakketten van een specifieke repo weer te geven, gebruik je:

    repoquery --repoid=repo_name --all

    Vervang 'repo_name' met de ID van de repository die je wilt.

  2. yum-config-manager: Deze tool helpt bij het beheren van de Yum-configuratie. Het kan repository-informatie tonen:

    yum-config-manager --dump repo_name

    Deze opdracht toont alle configuratiegegevens voor de gespecificeerde repository.

  3. package-cleanup: Hoewel het voornamelijk wordt gebruikt voor het opruimen van oude pakketten, kan het ook dubbele pakketten weergeven:

    package-cleanup --dupes

    Dit helpt bij het identificeren van pakketten die mogelijk vanuit meerdere repositories zijn geïnstalleerd.

Deze tools van yum-utils bieden meer informatie over pakketten en repositories, waardoor nauwkeurig pakketbeheer en probleemoplossing mogelijk is.

Tip: Opdrachten Combineren

Je kunt repoquery combineren met grep voor specifieke resultaten. Bijvoorbeeld:

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

Dit geeft een lijst van alle versies van een specifiek pakket die beschikbaar zijn in de repository.