Como construir o pacote rpm corretamente?

0

Estou tentando instalar a nova versão do gânglio , que fornece tar.gz . Meu procedimento foi descompactar o arquivo tar.gz , entrar na pasta e então fazer rpmbuild -ba ganglia.spec , uma mensagem de aviso é dada dizendo sobre as bibliotecas de dependências faltando, então eu instalei elas via yum , então retorna rpmbuild , que gera alguns .rpm arquivos em /usr/src/RPM/ eu fiz isso em um centOS 5 e centOS 6. Em seguida, instalá-lo em alguns servidores.

Eu me pergunto se o que estou fazendo está correto? (Eu li alguns tutoriais apenas pela internet) Um amigo meu disse que isso está errado, que esse .rpm que eu gero é como compile e vai funcionar apenas para servidores com exatamente hardware, né?

Qual é a maneira correta de criar um pacote .rpm do arquivo .tar.gz ?

    
por Valter Silva 03.07.2013 / 14:53

1 resposta

5

Essa é a maneira correta. É responsabilidade das pessoas liberarem o .tar.gz para ter o arquivo de especificação de rpm apropriado, se ele for construído como um rpm. E é assim que você constrói o rpm a partir do arquivo de especificações.

Os arquivos rpm gerados dessa forma podem ser instalados em todos os servidores correspondentes, desde que você não tenha deliberadamente feito coisas que os impedissem de funcionar (como instalar versões estranhas das "dependências", mas se você tiver instalado pacotes somente a partir do repositórios base centos, os pacotes serão bons). Mas "correspondência" aqui significa a arquitetura e a versão centos / rhel. Arquitetura normalmente significa apenas x86 de 32 bits ou 64 bits, mas também há arquiteturas de braço, powerpc e outras. Por exemplo, o projeto Fedora suporta estas arquiteturas: link .

De qualquer forma, alguns rpms (específicos da arquitetura) podem ser instalados em uma determinada arquitetura, porque eles contêm código compilado. Outros rpms podem ser "noarch", o que significa que o rpm gerado pode ser instalado em qualquer arquitetura. Esse tipo de rpms não tem binários compilados neles, apenas dados ou programas de linguagem interpretados (shell, perl, python, etc).

    
por 03.07.2013 / 15:37