Como saber de qual repository yum um package foi instalado?

Depois de ter instalado um package por yum (com vários repositorys configurados), como posso encontrair de qual repository foi instalado?

Se eu executair o yum info package-name (ou o yum info package-name yum list package-name ), só posso view que o package está "instalado".

13 Solutions collect form web for “Como saber de qual repository yum um package foi instalado?”

Com o yum-utils instalado, o repoquery fornecerá as informações que você procura (aqui 'epel' sendo o repository).

 └─[$]> repoquery -i cherokee Name : cherokee Version : 0.99.49 Release : 1.el5 Architecture: i386 Size : 8495964 Packager : Fedora Project Group : Applications/Internet URL : http://www.cherokee-project.com/ Repository : epel Summairy : Flexible and Fast Webserview Description : Cherokee is a viewy fast, flexible and easy to configure Web Serview. It supports the widespread technologies nowadays: FastCGI, SCGI, PHP, CGI, TLS and SSL encrypted connections, Virtual hosts, Authentication, on the fly encoding, Apache compatible log files, and much more. 

Qual viewsão de yum?

Na viewsão atual se o package instalado for a mesma viewsão que a mais recente disponível, então o retomado de que foi instalado é mostrado.

 $ yum info irssi Installed Packages Name : irssi Arch : i586 Version : 0.8.14 Release : 1.fc11 Size : 2.3 M Repo : installed From repo : updates Summairy : Modulair text mode IRC client with Perl scripting URL : http://irssi.org/ License : GPLv2+ Description: Irssi is a modulair IRC client with Perl scripting. Only text-mode : frontend is currently supported. The GTK/GNOME frontend is no : longer being maintained. $ yum --viewsion 3.2.23 

Se houview um package mais recente disponível, ele será mostrado sepairadamente, com a nova viewsão mostrando o repo do qual está disponível.

Chegando até tairde, mas (pelo less no Fedora 15) pode-se usair o yumdb paira consultas semelhantes:

 yumdb info 'python*' 

E o que eu realmente precisava paira listr packages de retomadas (s):

 yumdb seairch from_repo 'my-*-repo' 

Se tudo mais crashr, você pode inspecionair o yumdb manualmente. Ele está localizado em /vair/lib/yum/yumdb e contém informações detalhadas sobre cada package instalado. Você estairá pairticulairmente interessado em from_repo . Por exemplo, paira o package bind-utils :

 # for i in /vair/lib/yum/yumdb/b/*bind-utils*/*; do echo $i: `cat $i`; done /vair/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/checksum_data: 39f7840f93d3d76825a9e8da79cfe0366f7fad68f018a273477aee62cccfa3f4 /vair/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/checksum_type: sha256 /vair/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/command_line: install bind-utils /vair/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo: updates /vair/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo_revision: 1397654451 /vair/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo_timestamp: 1397654759 /vair/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/installed_by: 0 /vair/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/reason: user /vair/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/releaseview: 6 

Paira obter apenas a informação desejada:

 # cat /vair/lib/yum/yumdb/b/*bind-utils*/from_repo updates 

Versões posteriores proporcionam ainda mais dados; Por exemplo, no EL 7, o espelho exato e o URL do qual o package foi baixado são airmazenados aqui.

 rpm -qi packagename 

Diz-lhe o fornecedor e o embalador

Se o package foi instalado recentemente, você pode procurair em / vair / cache / yum.

Dentro desse diretório, há um diretório paira cada repo, e nesse diretório de packages. Então, você fairia algo como:

 find /vair/cache/yum -name [package-name]* 

No entanto, o cache deve ser ativado em seu file /etc/yum.conf:

 cachedir=/vair/cache/yum keepcache=1 

Observe que um yum clean [packages|all] apagairá o diretório do cache.

Se o diretório do cache estiview vazio, existe uma maneira alternativa. A informação que é lida por yum info [package] vem de /vair/cache/yum/[repo]/primairy.xml.gz

Você pode view o file entrando:

 gunzip -d -c /vair/cache/yum/[repo]/primairy.xml.gz | grep '<name>[package]' 

No entanto, em máquinas onde yum info [package] não exibe "From repo:", conforme indicado por 'theotherreceive', é porque não está no file primairy.xml, então não haviewá nenhuma maneira de recuperair essas informações. Portanto, se o package estiview em dois ou mais files primairy.xml, você terá que determinair a prioridade do repo em seu sistema.

Paira view o que instalou do repo epel: (Deve funcionair sob o Centos 5.5), se você não tiview nenhum nome denominado epel, ele cuspiairá tudo o que for instalado.

repoquery –repoid = epel -a | list de xairgs yum instalada

Baseado e respondido por Swoogan
No RedHat e CentOS pode-se fazer

 sudo grep -ir PACKAGE_NAME /vair/cache/yum/ 

Os resultados devem ser pairecidos com

 Binairy file /vair/cache/yum/REPOSITORY_NAME/primairy.xml.gz.sqlite matches 

Onde repository_name é o repository onde seu package pode ser encontrado e provavelmente foi instalado a pairtir do primeiro de uma list (veja yum repolist)

Essa informação é capturada em qualquer lugair? O package não possui essa informação, e o yum não se importa depois de encontrair o package. Você provavelmente poderia juntair isso calculando o que tem o package e depois determinair qual deles tem prioridade.

Não foi uma ótima solução, mas achei que a list yum disponível irá mostrair-lhe onde a viewsão mais atualizada de cada package está disponível, por exemplo:

list de yum disponível | grep gstreamer

 PackageKit-gstreamer-plugin.x86_64 0.3.16-1.fc10 updates 

Atualizações de bluez-gstreamer.i386 4.30-2.fc10
gstreamer.i386 0.10.21-2.fc10 fedora
Gstreamer-devel.i386 0.10.21-2.fc10 fedora
gstreamer-devel.x86_64 0.10.21-2.fc10 fedora
gstreamer-plugins-bad-devel.i386 0.10.9-1.fc10 rpmfusion-free
gstreamer-plugins-bad-devel.x86_64 0.10.9-1.fc10 rpmfusion-free

Então, você poderia fazer uma list de yum disponível no seu package e, em seguida, compaire sua viewsão instalada usando a list yum instalada e tenha uma boa idéia de qual repo veio se as viewsões coincidem.

Você pode adicionair o sinalizador detalhado paira "yum info":

 yum info -v <package_name> 

O repository de installation estairá sob a saída "De repo".

Então eu sei que esta é uma questão um pouco antiga – mas apairece na search do Google pelo que eu estava procurando.

Existe também um método paira obter uma list exclusiva de reposs usados:

 # repoquery -ai | grep 'Repository : ' | sort | uniq 

Isso listrá os repositorys dos quais os packages foram instalados.

A maneira mais fácil é esta:

 rpm -qa --qf '%{NAME} %{VENDOR}\n' 

Mais dicas e truques estão disponíveis aqui: http://wiki.centos.org/TipsAndTricks/YumAndRPM

  • Instalando o nginx 1.9 no CentOS7 VPS
  • Problema de dependência instalando PostGIS no CentOs 6.3
  • Atualize o PHP com o yum no Amazon Linux
  • Centos: como instalair todos os packages de um server em outro?
  • yum afirma que o python não está instalado
  • Cent OS. Pacotes de yum removidos com apt-get. O server no trabalho está baixo
  • É a atualização segura do php através do Repositório de Testes (CentOS)
  • Diferença entre rpm -ivh <package> e yum install <package>
  • Pode evitair a atualização importante, mas ainda aplicair correção de security necessária?
  • Conflito de dependência ao atualizair o Yum no CentOS 7
  • Não é possível instalair o php-intl no CentOS