¿Cómo construir el paquete rpm correctamente?

0

Estoy tratando de instalar la nueva versión de ganglia , que proporciona a tar.gz. Mi procedimiento fue descomprimir el tar.gzarchivo, ingresar en la carpeta y luego hacer rpmbuild -ba ganglia.spec, aparece un mensaje de advertencia que dice sobre las bibliotecas de dependencias que faltan, luego las instalo a través de yum, luego devuelve el archivo rpmbuild, lo que genera algunos .rpmarchivos cuando /usr/src/RPM/hice esto en un centOS 5 y centOS 6. Luego instálelo en algunos servidores.

Me pregunto si lo que estoy haciendo es correcto. (Leí algunos tutoriales solo en Internet) Un amigo mío dijo que esto está mal, que esto .rpmque genero es como compiley funcionará solo para servidores con exactamente hardware, ¿es correcto?

¿Cuál es la forma correcta de construir un .rpmpaquete a partir de un .tar.gzarchivo?

Valter Silva
fuente

Respuestas:

5

Esa es la forma correcta. Es responsabilidad de las personas que liberan el .tar.gz tener el archivo de especificaciones de rpm adecuado, si está destinado a ser construido como un rpm. Y así es como construyes las rpm desde el archivo de especificaciones.

Los archivos rpm que genera de esa manera se pueden instalar en todos los servidores coincidentes, siempre que no haya hecho deliberadamente cosas que impidan que funcionen (como instalar versiones extrañas de las "dependencias", pero si ha instalado paquetes solo desde los repositorios base de centos , los paquetes serán buenos). Pero "emparejar" aquí significa tanto la versión centos / rhel como la arquitectura. La arquitectura generalmente significa solo x86 de 32 o 64 bits, pero también hay arquitecturas de brazo, powerpc y otras. Por ejemplo, el proyecto Fedora admite estas arquitecturas: https://fedoraproject.org/wiki/Architectures .

De todos modos, algunos rpms (específicos de la arquitectura) pueden instalarse en una determinada arquitectura porque contienen código compilado. Otras rpm pueden ser "noarch", lo que significa que las rpm generadas pueden instalarse en cualquier arquitectura. Este tipo de rpms no tiene binarios compilados, solo datos o programas de lenguaje interpretados (shell, perl, python, etc.).

Viljo Viitanen
fuente