Como descubro em qual repositório um pacote foi instalado no CentOS?

4

Quando você usa yum info para encontrar detalhes de um pacote selecionado, ele lista o repositório como "instalado". Tudo bem, mas para pacotes instalados, eu quero saber de qual repositório ele está instalado, para que eu possa ter certeza de instalar quaisquer pacotes relacionados do mesmo repositório.

$: yum info mysql-server
Loaded plugins: fastestmirror
Installed Packages
Name       : mysql-server
Arch       : x86_64
Version    : 5.0.77
Release    : 4.el5_6.6
Size       : 22 M
Repo       : installed
Summary    : The MySQL server and related files.
URL        : http://www.mysql.com
License    : GPLv2 with exceptions
Description: MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
           : client/server implementation consisting of a server daemon (mysqld)
           : and many different client programs and libraries. This package contains
           : the MySQL server and some accompanying files and directories.

Como descubro de qual repositório esse pacote específico foi instalado?

    
por jorelli 12.08.2011 / 08:17

3 respostas

3

As versões modernas do YUM fornecem essas informações.

Por exemplo, no meu sistema Fedora 15 com o YUM 3.2.29:

# yum info mysql-server
Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit
Installed Packages
Name        : mysql-server
Arch        : x86_64
Version     : 5.5.14
Release     : 2.fc15
Size        : 42 M
Repo        : installed
From repo   : updates
Summary     : The MySQL server and related files
URL         : http://www.mysql.com
License     : GPLv2 with exceptions
Description : MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
            : client/server implementation consisting of a server daemon (mysqld)
            : and many different client programs and libraries. This package contains
            : the MySQL server and some accompanying files and directories.

Você pode ver se há uma versão mais recente do YUM que fornece essas informações para o seu sistema.

    
por 12.08.2011 / 09:26
2

Uma resposta atualizada - um pouco mais útil, para aqueles que foram tão infelizes quanto eu estava por acaso ...

Para o Fedora (e presumivelmente o Centos & RHEL), por exemplo:

dnf whatprovides postgresql-server

Usando metadados de blah blah blah

postgresql-server-9.3.9-1.fc21.x86_64: Os programas necessários para criar e executar um servidor PostgreSQL

Repo        : @System

postgresql-server-9.3.5-4.fc21.x86_64: Os programas necessários para criar e executar um servidor PostgreSQL

Repo        : fedora

postgresql-server-9.3.9-1.fc21.x86_64: Os programas necessários para criar e executar um servidor PostgreSQL

Repo        : updates

Como você pode ver, ele lista @System para o pacote que está instalado atualmente, bem como de quais repositórios e versões ele poderia possivelmente ser instalado. A parte importante aqui é o último item listado, os detalhes da versão e o nome do que corresponde exatamente ao que está instalado. Foi, portanto, instalado a partir do repositório de atualizações do fedora. Dnf, como o yum, também suporta a opção info, por exemplo:

dnf info postgresql-server

No entanto, no meu sistema, a saída dnf não exibe o campo From repo , ao contrário do comando yum, então YMMV.

    
por 21.12.2015 / 22:22
0

A melhor maneira de determinar isso é a partir da chave de assinatura de pacote para cada pacote. Não havia uma maneira simples de fazer isso, então alguém criou o programa Keychecker .

This little script grew from a conversation about how to effectively identify the repository of origin for an RPM installed on a system. The closest thing that the RPM database stores to this is the GPG key used to sign the package. This script looks at the keys used, and prints them either in a list format, or in csv (if invoked with the -m option). People liked it, so here it is released to a broader audience :)

Está disponível via EPEL. Ele irá mostrar todos os seus pacotes instalados, agrupados pela chave pela qual eles foram assinados. A descrição chave deixará claro de que é o repositório. Qualquer repositório respeitável estará assinando seus pacotes.

    
por 24.02.2016 / 05:08