Alguma maneira de registrar software construído na fonte com o banco de dados rpm / yum?

3

Quando eu instalo um software a partir de seu pacote binário usando rpm ou yum, posso consultar posteriormente informações meta ( rpm -qi PACKAGE , rpm -ql PACKAGE , ...) e posso desinstalá-lo ( rpm -e PACKAGE ).

Mas com o software que eu construo e instalo de seus fontes, eu tenho que ficar pendurado no diretório de compilação para depois ser capaz de desinstalá-lo, já que remover o diretório de compilação tornaria impossível desinstalar o Programas! Mesmo se você pudesse manter o diretório de compilação para sempre, a busca por meta-informações também não seria fácil, a menos que você conheça as complexidades dos arquivos de criação.

Pergunta: Existe alguma maneira de, 'registrar' os binários sendo instalados (que geralmente é durante a etapa make install para a maioria dos pacotes de software) com o banco de dados rpm / yum, para permitir fácil desinstalação posterior e para consulta de meta-informação?

    
por Harry 21.05.2012 / 06:29

4 respostas

-1

Responda com base no comentário de Ulrich:

Ainda não experimentei checkinstall , mas a partir da descrição, parece que é exatamente isso que eu estava procurando.

Nota para Ulrich Dangel: Se você pode copiar e colar seu comentário como uma resposta, eu vou marcá-lo como final. Até então, esta é a resposta final. Obrigado.

    
por 23.05.2012 / 08:02
6

Uma opção para atingir seu objetivo é "rolar" seu próprio RPM. Não é uma tarefa trivial, mas uma vez que você entenda o processo, isso pode ser feito sem problemas em apenas algumas etapas (dependendo do nível de sofisticação necessário para o software). Eu tenho que instalar muito do software de origem para meus clientes, e acho que, quando possível, reservar tempo para criar um RPM é benéfico administrativamente durante a vida útil do software. Eu ainda controlo o processo de criação, eu apenas levo o esforço um passo adiante e coloco o software construído em um pacote RPM limpo.

Da minha experiência, os benefícios de instalar o software como um RPM incluem

  • Os usuários podem consultar o banco de dados RPM para descobrir informações sobre o software instalado
  • Eu posso facilmente enviar o pacote para várias máquinas por meio de um repositório yum personalizado
  • A instalação e remoção do software se torna simplista
  • posso aproveitar todos os benefícios de usar o gerenciador de pacotes RPM
  • Consigo manter versões diferentes do software "no arquivamento" mantendo os arquivos RPM e SRPM
  • posso compartilhar meus esforços de um RPM personalizado com uma comunidade mais ampla

O wiki do Projeto Fedora tem um bom tutorial explicando o processo e as etapas para criar um RPM personalizado. Este é um excelente ponto de partida e dá uma idéia do poder disponível ao personalizar seu próprio RPM.

    
por 21.05.2012 / 15:25
3

Tecnicamente, sim. Mas qualquer informação que você teria que reunir para preencher o rpmdb que você precisaria para o arquivo de especificação, de modo que, em geral, é mais produtivo gerar um arquivo de especificação com a finalidade de reutilização ou compartilhamento.

    
por 21.05.2012 / 07:10
1

Bons pacotes binários entregarão ou criarão um arquivo spec.

Excelentes pacotes binários fornecem arquivos spec que podem ser usados sem qualquer alteração para criar um SRPM: rpmbuild -bs file.spec

Então você pode fazer um rpm binário: rpmbuild -rebuild file.SRPM

    
por 22.05.2012 / 22:45