![Cómo agregar texto a archivos PDF con el navegador Microsoft Edge](/f/ee8846d435b8b7b3a710d8927b362b4b.jpg?width=100&height=100)
RPM (un acrónimo recursivo de Administrador de paquetes RPM) es un software gratuito y de código abierto sistema de gestión de paquetes para Linux. Aunque fue creado originalmente para su uso en Red Hat Linux, ahora se usa en muchas distribuciones de Linux como CentOS, Fedora, y OpenSuse. Es importante destacar que el nombre RPM se refiere al programa administrador de paquetes y al .rpm
es un formato de archivo.
En este artículo, explicaremos cómo escribir archivos RPM, mostrando cómo crear fácilmente una fuente simple y paquetes de software binarios, por ejemplo, GNU "Hola mundo" Paquete de RPM en Fedora Linux distribución. Suponemos que tiene un conocimiento básico de los paquetes RPM prefabricados y del proceso de creación de software de código abierto gratuito.
Comencemos por configurar el entorno de desarrollo en Fedora Linux ejecutando el siguiente comando para instalar las herramientas necesarias para crear RPM.
$ sudo dnf instala fedora-packager @ development-tools.
A continuación, agregue su cuenta sin privilegios al "burlarse de"Agrupe de la siguiente manera (reemplace tecmint con su nombre de usuario real). Esto le permitirá probar el procedimiento de construcción en un chroot limpio.
$ sudo usermod -a -G simulacro de tecmint.
Ahora, cree una compilación de RPM en su ~ / rpmbuild
directorio y verifique la compilación usando los siguientes comandos. Mostrará una lista de subdirectorios, que contiene el código fuente del proyecto, los archivos de configuración RPM y los paquetes binarios.
$ rpmdev-setuptree. $ árbol ~ / rpmbuild /
Esto es para lo que está destinado cada directorio:
En este paso, debe descargar el código fuente (también conocido como "río arriba"Fuente) del proyecto Hello World que estamos empaquetando, en el ~ / rpmbuild / FUENTE directorio con lo siguiente comando wget.
$ cd ~ / rpmbuild / SOURCES. $ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz -P ~ / rpmbuild / FUENTES.
A continuación, configuremos el paquete RPM usando un .Especificaciones
archivo (vamos a nombrarlo hello.spec
en este caso) en el ~ / rpmbuild / SPECS directorio, usando el rpmdev-newspec programa.
$ cd ~ / rpmbuild / SPECS. $ rpmdev-newspec hola. $ ls.
Entonces abre el hello.spec
archivo usando su editor favorito.
$ vim hola.spec.
La plantilla predeterminada debería verse así:
Nombre: hola. Versión: Release: 1% {? Dist} Resumen: Licencia: URL: Source0: BuildRequires: Requiere:% description% prep. % autosetup% build. % configure. % make_build% install. rm -rf $ RPM_BUILD_ROOT. % make_install% archivos. % licencia agregar-archivo-licencia-aquí. % doc add-docs-here% registro de cambios. * Mar 28 de mayo de 2019 Aaron Kili.
Expliquemos brevemente los parámetros predeterminados en un .Especificaciones
expediente:
rpm --changelog -q
.Ahora edita tu .Especificaciones
archivo y realice los cambios como se muestra.
Nombre: hola. Versión: 2.10.0 Lanzamiento: 1% {? Dist} Resumen: El programa "Hello World" de GNU Licencia: GPLv3 + URL: http://ftp.gnu.org/gnu/%{name} Fuente0: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz BuildRequires: gettext Requiere (publicación): info. Requiere (preun): info% description El paquete de programa "Hello World"% prep. % autosetup% build. % configure. hacer que% {make_build}% se instale. % make_install. % find_lang% {nombre} rm -f% {buildroot} /% {_ infodir} / dir% post. / sbin / install-info% {_ infodir} /% {name} .info% {_ infodir} / dir ||:% preun. si [$ 1 = 0]; luego. / sbin / install-info --delete% {_ infodir} /% {name} .info% {_ infodir} / dir ||: fi% files -f% {name} .lang. % {_ mandir} /man1/hello.1.* % {_ infodir} /hello.info.* % {_ bindir} / hello% doc AUTORES ChangeLog NOTICIAS LÉAME GRACIAS TODO. % registro de cambios COPYING% license. * Mar 28 de mayo de 2019 Aaron Kili.
Notará que hemos utilizado algunos parámetros nuevos en el archivo anterior que no se han explicado. Estos se llaman macros, utilizado para crear invocaciones del sistema definidas por RPM para establecer rutas de instalación de paquetes. Por lo tanto, generalmente es preferible no codificar estas rutas en archivos de especificaciones, sino utilizar las mismas macros para mantener la coherencia.
Las siguientes son macros de directorio y compilación de RPM junto con sus definiciones y valores predeterminados:
Tenga en cuenta que puede encontrar los valores para estos macros en el /usr/lib/rpm/platform/*/macros o referirse a Pautas de empaquetado: Macros RPM.
Para compilar los paquetes fuente, binarios y de depuración, ejecute el siguiente comando rpmbuild.
$ rpmbuild -ba hello.spec.
Después del proceso de compilación, los RPM de origen y los RPM binarios se crearán en el ../SRPMS/
y ../RPMS/
directorios respectivamente. Puede utilizar el programa rpmlint para comprobar y asegurarse de que el archivo de especificaciones y los archivos RPM creados se ajustan a las reglas de diseño de RPM:
$ rpmlint hello.spec ../SRPMS/hello* ../RPMS/*/hello*
Si hay algún error como se muestra en la captura de pantalla anterior, corríjalo antes de continuar.
Por último, pero no menos importante, utilice programa simulado para comprobar que la compilación del paquete se realizará correctamente en el entorno de compilación restringido de Fedora.
$ simulacro --verbose ../SRPMS/hello-2.10-1.fc29.src.rpm.
Para obtener más información, consulte la documentación de Fedora: Creación de paquetes RPM.
¡Eso es todo! En este artículo, hemos explicado cómo mejorar su sistema Fedora para crear una fuente simple y un paquete de software binario. También mostramos cómo crear un paquete GUN Hello Word RPM. Utilice el formulario de comentarios a continuación para comunicarse con nosotros si tiene preguntas o comentarios.