De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

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

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


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