Cómo construir e instalar RPMs personalizados

Descripción general

Muchas dependencias de terceros en cPanel & WHM ahora se despachan como RPMs. Para poder personalizar estas dependencias en su servidor, usted debe crear el RPM personalizado y luego reinstalarlo.

note ¡Ojo!: Usted debe entrar al sistema por medio de SSH como el usuario root para instalar un RPM.

Antes de comenzar

Si usted aún no lo ha hecho, realice los siguientes pasos para asegurarse de que su sistema está listo para construir e instalar un RPM.

Active el devel target para cPanel & WHM

Ejecute los scripts update_local_rpm_versions y check_cpanel_rpms antes de que usted instale un RPM personalizado. Estos scripts se aseguran de que el devel target está activado y al día. El devel target instala las versiones devel de los RPM, que cPanel & WHM usa para compilar SRPMs localmente.

Ejecute los siguientes comandos:

1
2
/scripts/update_local_rpm_versions --edit target_settings.cpanel-devel installed
/scripts/check_cpanel_rpms --targets cpanel-devel --fix

Ojo:

Para reconstruir algunos de los RPM provistos por cPanel, usted tendrá que instalar RPMs adicionales que cPanel & WHM no incluye en las instalaciones predeterminadas. Estos RPMs adicionales contienen archivos que se necesitan solamente para reconstruir, pero no para ejecutar, los RPMs provistos por cPanel. 

 

Instale prerequisitos adicionales

Antes de que usted pueda construir e instalar un RPM personalizado, usted debe instalar todos los prerequisitos del RPM. Usted puede encontrar todos los prerequisitos del RPM en su archivo .spec, listado con el número de versión requerido.

  • Las líneas en el archivo .spec que comienzan con BuildRequires: indican que hay un prerequisito necesario para poder construir el RPM.
  • Las líneas en el archivo .spec que comienzan con Requires: indican que hay un prerequisito necesario para poder instalar el RPM.
  • Por ejemplo, BuildRequires: cpanel-mysql > 5.0.95= indica que el RPM requiere el RPM cpanel-mysql de la versión 5.0.95 o mayor de MySQL®.

Asegúrese de que todos los RPM requeridos por cPanel & WHM están instalados

Ejecute /scripts/sysup para asegurar que su servidor tiene instalados todos los RPMs necesarios.

  • Si todos los RPMs necesarios están instalados en su servidor, usted recibirá el mensaje All Needed RPMS are installed.
  • Si usted recibe un mensaje de error, corrija esos problemas de instalación primero para evitar errores adicionales cuando usted construya e instale su RPM personalizado.

Paso 1: Cree el archivo .rpmmacros

Use su editor de texto preferido para crear el archivo .rpmmacros en el directorio /root.

Añada el siguiente contenido al archivo:

1
%_topdir /root/rpmbuild # enable debug RPM package by commenting this out. %debug_package %{nil}

Paso 2: Cree los directorio necesarios para reconstruir el RPM

Usted debe crear los siguientes directorios si no están presentes en su servidor:

  • /root/rpmbuild/BUILD
  • /root/rpmbuild/SPECS
  • /root/rpmbuild/SOURCES
  • /root/rpmbuild/BUILDROOT
  • /root/rpmbuild/RPMS
  • /root/rpmbuild/SRPMS

Use el siguiente comando para crear estos directorios:

1
mkdir -p /root/rpmbuild/BUILD /root/rpmbuild/SPECS /root/rpmbuild/SOURCES /root/rpmbuild/BUILDROOT /root/rpmbuild/RPMS /root/rpmbuild/SRPMS  

Importante:

Los directorios BUILDSPECSSOURCESBUILDROOTRPMS y SRPMS deben nombrarse exactamente como se muestran aquí. Usted debe escribir en mayúsculas el nombre completo para cada uno de estos directorios. 

Paso 3: Instale el RPM fuente

Use el comando rpm para instalar el RPM fuente (SRPM).

  • El archivo .spec se instalará en el directorio /root/rpmbuild/SPECS/
  • El tarball fuente, los parches y otros archivos adicionales del RPM se instalarán en el directorio /root/rpmbuild/SOURCES/.

Ojo:

Usted puede encontrar el SRPM correcto para su versión de cPanel & WHM en nuestro servidor httpupdate (en inglés). Pulse en la versión de cPanel & WHM en su servidor, y luego pulse en el directorio src/ para ver una lista de todos los SRPMs disponibles para esa versión. 

Su comando se parecerá al siguiente:

Cuando se termine la instalación, usted verá un mensaje similar al siguiente:

1
Retrieving http://httpupdate.cpanel.net/RPM/11.36/src/cpanel-php53-5.3.17-2.cp1136.src.rpm 1:cpanel-php53 ########################################### [100%] 

Paso 4: Edite el archivo .spec

Use su editor de texto preferido para modificar el archivo .spec en el directorio /root/rpmbuild/SPECS/. Añada las opciones de configuración deseadas para su RPM.

  • Vea la sección Documentación relacionada a continuación para obtener recursos que le pueden ayudar a modificar el archivo.spec.

Ojo:

Si usted desea cambiar cualquiera de las fuentes despachadas con los SRPM, modifique los archivos que se instalaron en el directorio /root/rpmbuild/SOURCES/.

El siguiente ejemplo muestra una sección de un archivo .spec que ha sido modificado para incluir SOAP:

1
%configure --prefix=%{_prefix} \ --with-libdir=%{_lib} \ --verbose \ --enable-static \ --with-mcrypt=%{_3rdparty_prefix} \ --with-iconv --enable-mbstring \ --with-gd \ --enable-soap \ --enable-mbregex \ --with-imap-ssl --with-imap=%{_3rdparty_libdir}/imap/ \

Paso 5: Reconstruya el RPM

Ejecute el comando rpmbuild en el archivo .spec modificado para construir el nuevo RPM localmente. Su comando debe parecerse al siguiente:

1
rpmbuild -bb /root/rpmbuild/SPECS/php.spec 

Los RPM y cualesquier subpaquetes se escribirán en el directorio /root/rpmbuild/RPMS/.

Ojo:

Cuando usted ejecuta este comando, es posible que se reporten las dependencias. Si esto ocurre, instale estas dependencias con yum antes de continuar al Paso 6.

Paso 6: Ejecute el comando para actualizar su RPM con force

Navegue al directorio /root/rpmbuild/RPMS/. Ejecute el comando rpm para instalar su RPM nuevo personalizado.

Su comando se parecerá al siguiente:

1
rpm -Uvh cpanel-php53-5.3.17-2.cp1136.x86_64.rpm --force 

 AdvertenciaNo instale cpanel-php53-devel-5.3.17-2.cp1136.x86_64.rpm a menos que usted haya personalizado un RPM de PHP o PEAR. La instalación de este RPM en otras circunstancias puede dañar su instalación de PHP existente.

Paso 7: Prevenir actualizaciones accidentales

 Advertencia: Este paso es opcional, suspende las actualizaciones a este RPM y puede prevenir modernizaciones futuras de cPanel & WHM. Sin embargo, si usted no realiza este paso, cPanel & WHM puede sobrescribir su RPM personalizado durante su próxima actualización o modernización.

Para prevenir las actualizaciones accidentales, añada su RPM personalizado a la lista de los RPM locales en el script update_local_rpm_versions. Su comando se parecerá al siguiente:

1
/scripts/update_local_rpm_versions --add srpm_versions.cpanel-php53 5.3.17-2.cp1136

Para verificar que su RPM personalizado esté configurado correctamente, vea el archivo /var/cpanel/rpm.versions.d/local.versions

El contenido del archivo local.versions debe ser parecido al siguiente:

1
--- file_format:   version: 2 srpm_versions:   cpanel-php53: 5.3.17-2.cp1136 

Cómo regresar a la versión de cPanel & WHM de un RPM

Si en algún momento usted desea regresar a la versión de cPanel & WHM de un RPM:

  1. Use el siguiente comando para eliminar el RPM personalizado del archivo local.versions
    • 1
      /scripts/update_local_rpm_versions --del srpm_versions.cpanel-php53
  2. Ejecute /scripts/check_cpanel_rpms para instalar nuevamente la versión de cPanel & WHM del RPM.

Documentación relacionada

Ayudas para modificar el archivo .spec 

  • Maximum RPM — La "biblia de RPM" contiene amplia información sobre los RPMs para administradores de sistema y programadores de RPM (en inglés).
  • RPM, %config, and (noreplace) — Este documento detalla el uso de %config y (noreplace) en los archivos .spec (en inglés).
  • Packaging:ScriptletSnippets — La sección Syntax de este documento detalla cómo usar scriptlets en el archivo .spec del RPM.

 

Fuente: cPanel Knowledge
  • 0 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Related Articles

¿Cuál aplicación de Webmail debo escoger?

 Descripción general cPanel incluye tres aplicaciones de Webmail estándar: Horde, Roundcube y...

¿IMAP o POP3 para cuentas de correo?

Descripción general La diferencia fundamental entre IMAP y POP3 yace en cómo y por cuánto...

Asignar direcciones IP dedicadas a los subdominios

Descripción general Aunque nuestro software no proporciona una interfaz basada en un navegador...

Atajos de teclado en WHM

Descripción general Los usuarios pueden navegar el menú de la izquierda de WHM con su teclado....

Características para limitar el correo (Cómo prevenir el spam)

Descripción general Este documento se enfoca en cuatro características de Tweak Settings que...