Como Listar Pacotes Instalados de um Repositório Específico Usando o Yum?

Publicado 8 de setembro de 2024

Problema: Listando Pacotes de um Repositório Específico

Identificar pacotes instalados de um repositório específico em um sistema Linux pode ser difícil. Esta tarefa é útil ao gerenciar fontes de software ou corrigir problemas relacionados a pacotes. O Yum, uma ferramenta de gerenciamento de pacotes, oferece uma maneira de fazer isso, mas o comando pode não ser claro à primeira vista.

Solução: Usando o Yum com o Nome do Repositório

Como Listar Pacotes Específicos de um Repositório

Para listar pacotes de um repositório específico, use este comando:

yum list installed | grep nomerepo

Este comando combina duas operações:

  1. yum list installed: Lista todos os pacotes instalados em seu sistema.
  2. grep nomerepo: Filtra a saída para mostrar apenas linhas com o nome do repositório.

O símbolo | (pipe) conecta esses dois comandos, passando a saída do primeiro comando como entrada para o segundo.

Para usar este comando:

  1. Abra um terminal em seu sistema Linux.
  2. Substitua nomerepo pelo nome do repositório que você deseja verificar.
  3. Execute o comando e revise a saída.

Este método funciona porque o yum inclui o nome do repositório ao listar pacotes instalados. Ao usar o grep para filtrar pelo nome do repositório, você pode identificar todos os pacotes dessa fonte.

Note que o nome do repositório na saída pode estar abreviado ou ligeiramente diferente do que você espera. Pode ser necessário tentar algumas variações para encontrar o nome correto a ser usado com o grep.

Dica: Encontrando o Nome Correto do Repositório

Se você não tem certeza sobre o nome exato do repositório, pode usar o comando yum repolist para ver uma lista de todos os repositórios habilitados em seu sistema. Isso mostrará os IDs dos repositórios, que você pode então usar em seu comando grep.

Exemplo Prático: Listando Pacotes de um Repositório Específico

Exemplo de Saída e Interpretação

Aqui está um exemplo usando o repositório 'remi', que fornece versões atualizadas do PHP e pacotes relacionados:

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

Esta saída mostra:

  1. Nome do Pacote: A primeira coluna lista o nome do pacote e a arquitetura (por exemplo, ImageMagick2.x86_64).

  2. Versão: A segunda coluna mostra o número da versão do pacote instalado (por exemplo, 6.6.5.10-1).

  3. Repositório: A terceira coluna indica o repositório de onde o pacote foi instalado. Aqui, todos os pacotes mostram 'el5.remi', confirmando que são do repositório remi.

  4. Status: A última coluna exibe o status do pacote, que é 'installed' para todos esses pacotes.

Este exemplo lista pacotes relacionados ao PHP, MySQL e outras ferramentas do repositório remi. Ele mostra quais componentes de software foram instalados a partir dessa fonte, o que pode ajudar na administração do sistema e na solução de problemas.

Dica: Opções de Filtragem

Você pode modificar o comando grep para filtrar pacotes específicos. Por exemplo, para listar apenas pacotes relacionados ao PHP do repositório remi, você pode usar:

yum list installed | grep remi | grep php

Isso mostrará apenas os pacotes PHP instalados do repositório remi, facilitando o foco em componentes de software específicos.

Métodos Alternativos para Listagem de Pacotes

Usando Yum-Utils para Gerenciamento de Pacotes

Yum-utils é um conjunto de ferramentas que adiciona funções ao Yum. Este pacote oferece mais opções para gerenciar pacotes, incluindo maneiras de listar pacotes de repositórios específicos.

Para usar o yum-utils, instale-o com este comando:

sudo yum install yum-utils

Após a instalação, você pode usar estes comandos para listagem de pacotes específicos de repositórios:

  1. repoquery: Esta ferramenta permite consultar informações de pacotes de repositórios. Para listar todos os pacotes de um repositório específico, use:

    repoquery --repoid=nome_repo --all

    Substitua 'nome_repo' pelo ID do repositório que você deseja.

  2. yum-config-manager: Esta ferramenta ajuda a gerenciar a configuração do Yum. Ela pode mostrar informações do repositório:

    yum-config-manager --dump nome_repo

    Este comando mostra todos os detalhes de configuração para o repositório especificado.

  3. package-cleanup: Embora seja usado principalmente para limpar pacotes antigos, também pode listar pacotes duplicados:

    package-cleanup --dupes

    Isso ajuda a identificar pacotes que podem estar instalados de múltiplos repositórios.

Essas ferramentas do yum-utils fornecem mais informações sobre pacotes e repositórios, permitindo um gerenciamento de pacotes e solução de problemas mais precisos.

Dica: Combinando Comandos

Você pode combinar repoquery com grep para resultados específicos. Por exemplo:

repoquery --repoid=nome_repo --all | grep nome_pacote

Isso listará todas as versões de um pacote específico disponíveis no repositório.