você está aqui: Home  → Arquivo de Mensagens

Achando os pacotes RPM que contém dependências não resolvidas

Colaboração: Rodrigo Senra

Data de Publicação: 21 de Outubro de 2004

As distribuições de linux baseadas em RedHat(Fedora,Mandrake,Conectiva) utilizam o formato RPM para gerência de pacotes. Ao se tentar instalar um determinado RPM. muitas vezes há uma recusa de instalação devido a uma dependência não resolvida.

O utilitário RPM avisa o nome do arquivo pendente, mas não avisa em que pacote RPM ele se encontra. O script Python abaixo auxilia a descoberta do RPM que contém um determinado arquivo, realizando uma busca exaustiva no diretório de pacotes rpm.

findrpm.py

  #!/usr/bin/env python
  
  # uso: findrpm.py <nome do arquivo> <diretório com pacotes .rpm>
  # respeite a indentação (alinhamento) abaixo
  
  import sys
  import glob
  import popen2
  import os.path
  files = glob.glob(os.path.join(sys.argv[2],'*.rpm'))
  print 'Procurando em %d pacotes'%(len(files))
  for file in files:
      print 'Processando %d\r'%files.index(file),
      sys.stdout.flush()
      outfd,infd = popen2.popen2('rpm -qlp %s'%(file))
      for line in outfd.readlines():
            if line.find(sys.argv[1])>=0:
                print '\n',sys.argv[1],' -> ',file
                break


Veja a relação completa dos artigos de Rodrigo Senra

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script