Cómo crear RPM para su propio script en CentOS/Redhat

Cómo crear RPM para su propio script en CentOS/Redhat

RPM (Redhat Package Manager) es un sistema de gestión de paquetes para sistemas basados ​​en RHEL. Es posible que haya visto que todos los paquetes en los sistemas basados ​​en Redhat tienen extensión .rpm. Este tutorial lo ayudará a crear RPM para su propio script

Había creado un script para tomar una copia de seguridad de la base de datos, hoy he creado un archivo RPM de ese script, este es mi primer RPM creado. A continuación se muestran los pasos que sigo para hacerlo.

Paso 1 - Instale los paquetes requeridos

En primer lugar, debe instalar los paquetes requeridos en su sistema para crear archivos RPM.

$ yum instalación rpm-build rpmdevtools 

Paso 2: crear estructura de directorio

Vaya al directorio de inicio de los usuarios y cree la estructura de directorio requerida utilizando el siguiente comando.

$ rpmdev-setuptree 

El comando de arriba creará una estructura de directorio como a continuación.

$ LS -L RPMBUILD DRWXR-XR-X 2 raíz raíz 6 oct 25 de octubre 03:09 Build DRWXR-XR-X 2 Root Root 6 oct 25 de octubre 03:09 RPMS DRWXR-XR-X 2 Root Root 6 Oct 25 03:09 Fuentes DRWXR-XR-X 2 Raíz Root 6 oct 25 de octubre 03:09 Especificaciones DRWXR-XR-X 2 Raíz Raíz 6 Oct 25 03:09 SRPMS 

En caso rpmdev-setuptree El comando no pudo crear estructura, puede crearla manualmente

$ mkdir -p ~/rpmbuild/build, rpms, fuentes, especificaciones, SRPMS, TMP 

Paso 3: crear un archivo rpmmacro

Ahora crea ~/.archivo rpmmacros, con los siguientes contenidos. Cambiar los valores de los nombres resaltados rojos

~/.rpmmacros

%Packager Your_name %_TopDir %(echo $ home)/rpmBuild %_Smp_MFlags %(\ [-z "$ rpm_build_ncpus"] \\\ && rpm_build_ncpus = "'/us/bin/nproc 2>/dev/null || \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\ \\ \\\\\\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \A \\ \/usr/bin/getConf _nprocessors_onln '"; \\\ if [" $ rpm_build_ncpus "-gt 16]; luego \\\ echo" -j16 "; \\\ elif [" $ rpm_build_ncpus "-gt 3]; luego \\\ echo "-j $ rpm_build_ncpus"; \\\ \\\ echo "-j3"; \\\ fi) %__ arch_install_post \ [" %buildarch" = "noarch] || Qa_check_rpaths = 1; \ case "$ qa_check_rpaths:-" en [1yy]*)/usr/lib/rpm/check-rpaths ;; ESAC \/usr/lib/rpm/check-buildroot 

Paso 4 - Copiar archivos en el directorio de fuentes

Copie todos sus archivos y scripts carpeta dentro ~/rpmbuild/fuentes directorio, que necesitamos agregar en el archivo RPM. Para este tutorial, he usado todos los archivos creados en nuestro tutorial Advance Bash Script para MySQL.

$ cd ~/rpmbuild/fuentes $ ls -l mydumpadmin-1 -rw-r-r-- 1 raíz 125 oct 25 de octubre 03:54 credenciales.txt -rw-r-r-- 1 raíz raíz 4693 25 de octubre 03:54 mysql-dump.sh -rw-r-r-- 1 raíz raíz 1008 25 de octubre 03:54 Readme.MD -RW-R-R-- 1 raíz raíz 3445 25 de octubre 03:54 Configuración.confusión 

Crea un tarball de tu código.

$ tar czf mydumpadmin-1.0.alquitrán.gz mydumpadmin-1 

Paso 5 - Crear archivo de especificaciones

Crear un archivo de especificaciones ~/rpmbuild/especs/mydumpadmin.Especificaciones Usando a continuación contenido.

~/rpmbuild/especs/mydumpadmin.Especificaciones

Nombre: MyDumpadmin Versión: 1 Release: 0 Resumen: Un script de Bash Advance para MySQL Base de datos Grupo: Tecadmin Buildarch: Noarch Licencia: GPL URL: https: // github.com/tecrahul/mydumpadmin.Git Source0: MyDumpadmin-1.0.alquitrán.Gz %Descripción Escriba algunos descripción sobre su paquete aquí %Prep %Setup -Q %Build %Install Install -M 0755 -D $ RPM_BUILD_ROOT/ETC/MYDUMPADmin Install -M 0600 Credenciales.txt $ rpm_build_root/etc/mydumpadmin/credenciales.txt instalación -m 0755 mysql -dump.sh $ rpm_build_root/etc/mydumpadmin/mysql-dump.sh instalación -m 0644 Readme.md $ rpm_build_root/etc/mydumpadmin/readme.MD Install -M 0644 Configuración.conf $ rpm_build_root/etc/mydumpadmin/settings.Conf %archivos/etc/mydumpadmin/etc/mydumpadmin/credenciales.txt/etc/mydumpadmin/mysql-dump.sh/etc/mydumpadmin/readme.MD/etc/mydumpadmin/configuración.Conf %ChangeLog * Tue 24 de octubre de 2017 Rahul Kumar 1.0.0 - Liberación inicial de RPM 

Cambiar el nombre del paquete, la ruta del script, el nombre del archivo, la descripción, etc., según sus requisitos.

Paso 6 - Construir RPM

Después de completar los pasos anteriores, creemos sus RPM ejecutando el siguiente comando.

$ cd ~/rpmbuild $ rpmbuild -ba especificaciones/mydumpadmin.Especificaciones 

Después de la construcción exitosa, se creará un archivo RPM como ~/rpmbuild/rpms/noarch/mydumpadmin-1-0.noarch.rpm

Instale sus RPM usando el siguiente comando. Después de la comprobación de instalación, los archivos se instalan correctamente como ubicación definida.

$ RPM -IVH MyDumpadmin-1-0.noarch.rpm 

Gracias por usar este artículo. Espero que los pasos anteriores te ayuden a crear tus propias RPM.