Re-empacotando software comercial em pacotes RPM

3

A situação é esta - eu tenho um pequeno "cluster" do CentOS 5 (atualmente 7 máquinas, mas potencial para mais) que executa um pacote de software comercialmente distribuído essencialmente no formato tarball (na verdade é um arquivo zip com uma mistura de Binários do Windows / Linux e um script de shell de instalação sem potencial para automação).

Eu gostaria de re-empacotar isso de alguma forma em um pacote RPM (idealmente eu posso jogar em um repositório yum auto-hospedado) a fim de manter essas máquinas "cluster" atualizadas e consistentes. Eu poderia fazer 7 instalações manuais, mas há margem para erro. Pelo que entendi, precisarei realizar as seguintes tarefas:

  • adiciona um usuário não privilegiado ao sistema de destino para executar o daemon sem privilégios de root desnecessários
  • empacote os próprios arquivos binários a partir do local de instalação final em uma máquina de compilação separada (provavelmente em / opt / package por causa da sanidade). Nenhuma fonte está disponível.
  • adicione um furo de firewall para que os usuários finais possam se comunicar com os nós "cluster"
  • adiciona uma tarefa cron que pode iniciar o daemon no @reboot

Estou chegando com muitos bons recursos de empacotamento até agora, mas todos são baseados no método tradicional (ou seja, se eu fosse o fornecedor empacotando meus arquivos de origem), em vez de re-empacotar uma tonelada de arquivos binários de uma instância já instalada do aplicativo, que é a única opção disponível para mim. Alguém tem algum bom recurso que possa compartilhar para atingir esse objetivo? Obrigado!

    
por gac 12.09.2012 / 11:18

1 resposta

0

Basta pular o estágio %build em seu arquivo de especificação do RPM e copiar os binários do fornecedor para seus locais corretos no buildroot no estágio %install . Adicione seus trabalhos e usuários do cron em %post e remova-os em %preun (se não for uma atualização, os documentos que você já leu devem cobrir este caso).

    
por 12.09.2012 / 11:27