Cree rápidamente paquetes de RPM de software personalizados. Raiders en Linux

  

Para administrar el software en sistemas Linux, varias versiones de Linux utilizan paquetes. La ventaja del paquete es que el sistema realiza un seguimiento de esos archivos de instalación durante el proceso de instalación, lo que facilita la administración en el futuro. Es una buena idea incluir el software personalizado en un paquete RPM antes de agregarlo a su servidor Linux. En este artículo, aprenderá cómo crear su propio paquete RPM.

RPM es el formato de paquete predeterminado para Red Hat Enterprise Linux y SUSE Linux Enterprise Server y sus derivados. Si desea instalar software personalizado en varios servidores Linux, es útil crear un paquete RPM. Coloque este paquete RPM en la base de datos, y será más conveniente para todos los servidores que pueden conectarse a esta base de datos para actualizar el software más adelante.

El paquete RPM contiene dos archivos: un script de shell y un archivo README. El archivo README describe cómo usar el script de shell. Si puede crear un paquete con dos archivos, también puede crear un paquete más grande.

El proceso de crear un paquete RPM simple

Tenga en cuenta que existe una clara distinción entre las cuentas de usuario para tareas específicas. Si se produce un error, use una cuenta de usuario normal. Si usa la cuenta de usuario root, puede borrar accidentalmente muchos archivos en el disco. Siga el procedimiento a continuación para crear su propio paquete RPM:

1. Cree una estructura de directorio que contenga los archivos necesarios para el paquete RPM. El nombre de esta estructura suele tener el nombre del paquete RPM, incluido su número de versión. No importa dónde esté ubicado este directorio. En este ejemplo, está en el directorio de inicio de la cuenta de usuario actual. Llamamos a este directorio test-1.0. El siguiente comando le dice cómo crear y nombrar este directorio, cómo colocar los archivos necesarios en él:

$ mkdir ~ /test-1.0

$ cd ~ /test-1.0

$ echo echo es una prueba > test.sh

$ chmod + x test.sh

$ echo solo inicie La secuencia de comandos > README

2. Ahora, todos los archivos necesarios para el paquete RPM están aquí. El siguiente paso es crear un archivo RPM. Archivo tar.gz. Este directorio también facilita la creación de archivos comprimidos. Eso El archivo tar.gz debe ubicarse en un directorio llamado rpmbuild /SOURCES - esta carpeta generalmente se encuentra en el directorio de inicio del usuario actual. Todavía necesitas uno. El archivo de especificaciones, que contiene especificaciones para todos los paquetes RPM. Eso El archivo de especificaciones es el componente principal del paquete RPM, que incluye instrucciones para todos los archivos. Los archivos en el paquete RPM se instalan de acuerdo con estas instrucciones. Eso El archivo de especificaciones debe colocarse en un directorio SPECS.

El primer comando cd garantiza que el directorio rpmbuild se encuentre en el directorio de inicio del usuario actual. Ejecute el siguiente comando como usuario normal:

$ cd

$ mkdir -p ~ /rpmbuild /SOURCES

$ mkdir -p ~ /rpmbuild /SPECS

$ tar -cvzf ~ /rpmbuild /SOURCES /test-1.0.tar.gz test-1.0

3. Ahora todos los archivos están ahí, por favor cree un archivo de descripción como un usuario normal. El comando Rpmbuild encontrará todas las instrucciones necesarias para crear el archivo. En las versiones recientes de Red Hat y derivadas, es fácil crear un archivo de descripción: simplemente use el editor vim para crear un archivo con todo el contenido, con la extensión establecida. Spec puede ser. La siguiente es la apariencia del archivo en el paquete test-1.0rpm (donde los cambios de la plantilla se han marcado en negrita):

Nombre: prueba prueba

Versión Versión: 1.0

Release Release: 1% {? Dist}

Resumen: Un paquete de prueba un paquete de prueba

Categoría de grupo: Paquetes de prueba Paquete de prueba

Licencia Licencia: GPL

URL: http://test.example.com

Source0:% {name} -% {version} .tar.gz

BuildRoot:% (mktemp - Ud% {_ tmppath} /% {name} -% {version} -% {release} -XXXXXX)

BuildRequires: /bin /rm, /bin /mkdir, /bin /cp

Requiere: /bin /bash, /bin /date

% description

Demostración para implementar un solo paquete

% prerp

% setup –q

% build

#configure

#make% {? _smp_mflags}

% install

rm -rf $ RPM_BUILD_ROOT

#make install DESTDIR = $ RPM_BUILD_ROOT

mkdir -p $ RPM_BUILD_ROOT /usr /local /bin

Cp myscript $ RPM_BUILD_ROOT /usr /local /bin

% clean

rm -rf $ RPM_BUILD_ROOT

% archivos

% defattr (-root, root , -)

#% doc

% attr (0755, root, root) /usr /local /bin /myscript

% changelog

* Hoy

- Creación de RPM iniciales

Hay algunas cosas que debe recordar. Todas las entradas con el prefijo% son macros internas. Algunas de estas macros se han deshabilitado para una demostración simple. Las más importantes de estas entradas son% configure y% make macros, que deben ir precedidas de su # y% removido para deshabilitar estas macros.

La macro inicial es muy clara y no requiere ninguna explicación. La macro más importante es la definición de Source0. Se define como% {nombre} -% {versión} .tar.gz y debe ser exactamente el mismo que el nombre de la bola de alquitrán que creó anteriormente.

Otro elemento es BUILD_ROOT. Este es un entorno generado automáticamente, el comando rpmbuild usará este entorno para realizar su propio trabajo. Recuerda que BUILD_ROOT está desapareciendo automáticamente. Esta es la razón por la cual el usuario raíz no se usa al crear un paquete RPM. La sección% build también se puede usar para trabajos como la compilación de software.

En la sección% de instalación, se copió el script que creó anteriormente. En este caso, solo necesita un comando cp simple, pero para paquetes más complejos, estas tareas serán muy complicadas.

La última parte del archivo de especificaciones es la macro% attr, que establece el modo de permiso en 0755 y hace que el usuario root y root sean el maestro del archivo de instalación.

Ahora. Una vez que se crea el archivo de especificaciones, es hora de completar el trabajo final. Utilice el usuario root para instalar el comando rpmbuild. En Red Hat, use yum install rpm-build para hacer el trabajo. A continuación, asegúrese de que todos los archivos estén en el lugar correcto. El archivo tar debe estar ubicado en el directorio ~ /rpmbuild /SOURCES de la cuenta de usuario actual que creó el paquete. El archivo demo.spec debe estar ubicado en el directorio ~ /rpmbuild /SPECS. Ahora puede crear un paquete con el comando rpmbuild -ba test.spec. Esto creará su archivo RPM en el directorio ~ /rpmbuild /RPMS.

Autor: Sander van Vugt Traductor: Dan

Copyright © Conocimiento de Windows All Rights Reserved