Show romanization ¿Cómo crear o construir de paquetes RPM

Show romanization ¿Cómo crear o construir de paquetes RPM

Introducción —

Herramienta * “rpmbuild” se utiliza para construir los dos …

1) paquete binario ~ utilizado para instalar el software y el apoyo a las secuencias de comandos. Contiene los archivos que componen la aplicación, junto con cualquier información adicional necesaria para instalar y borrar.
Source Package 2) ~ contiene el archivo original comprimido tar de código fuente, los parches y la especificación de archivo.

* ¿Cuál es el gestor de paquetes RPM y RPM?

El Administrador de paquetes (RPM) es una potente línea de comandos del sistema de gestión de paquetes capaz de instalar, desinstalar, verificar, consultar y actualizar los paquetes de software.

Paquete RPM se compone de un archivo de archivos y de meta-datos utilizado para instalar y borrar los archivos. El meta-datos incluyen scripts de ayuda, los atributos de archivo, e información descriptiva sobre el paquete.

* Para construir el paquete RPM, tiene que especificar tres cosas ~

1) Fuente de aplicación – En cualquier caso, no debería modificar las fuentes utilizadas en el proceso de construcción de paquetes.

2) Patches – RPM le da la capacidad para aplicar los parches de forma automática a ellos. El parche soluciona un problema específico para el sistema de destino. Esto podría incluir cambios en archivos make para instalar la aplicación en los directorios adecuados, o la resolución de los conflictos de la plataforma. Parches de crear el entorno necesario para la compilación adecuada.

3) Especificación de archivo – La especificación de archivo se encuentra en el corazón del proceso de construcción de paquetes RPM. Que contiene la información requerida por RPM para construir el paquete, así como instrucciones que le dicen RPM cómo construirla. El archivo de especificación también dicta exactamente qué archivos son una parte del paquete, y donde deben estar instalados.

** Especificación de archivo ~ está dividido en 8 secciones como se muestra a continuación

a) Preámbulo ~ contiene información que se mostrará cuando los usuarios solicitan información sobre el paquete. Ello deberá incluir una descripción de la función del paquete, el número de versión del software, etc

b) Preparación ~ donde el trabajo real de construcción de un paquete de aperturas. Como su nombre lo indica, esta sección es donde se realizan los preparativos necesarios antes de la construcción real del software. En general, si algo hay que hacer a las fuentes antes de construir el software, tiene que suceder en la sección de preparación. El contenido de esta sección es un script de shell corriente. Sin embargo, RPM prevé dos macros para hacer la vida más fácil. Una macro se puede descomprimir un archivo tar comprimido y cd en el directorio de origen. La macro se aplica con facilidad otros parches a las fuentes sin envasar.

c) Construcción ~ Esta sección consta de un script de shell. Se utiliza para realizar cualquier comandos son realmente necesarios para compilar los fuentes, como hacer un solo comando, o ser más compleja si el proceso de construcción así lo requiere. No hay macros disponibles en esta sección.

d) Instalar ~ Esta sección también contiene un script de shell, la instalación de la sección se utiliza para realizar los comandos necesarios para instalar los programas informáticos.

e) Instalación y desinstalación ~ Se trata de secuencias de comandos que se ejecutará, en el sistema del usuario, cuando el paquete es realmente instalados o eliminados. RPM se puede ejecutar un script de pre / post-instalación / desinstalación de paquetes.

f) Verificar Script ~ script que se ejecuta en el sistema del usuario. Que se ejecuta al RPM verifica la correcta instalación del paquete.

g) Sección de Limpieza ~ script que puede limpiar las cosas después de la construcción. Este script se usa raramente, ya que RPM normalmente hace un buen trabajo de limpieza en la mayoría de los entornos de compilación.

h) Lista de archivos ~ consiste en una lista de archivos que componen el paquete. Además, un número de macros se pueden utilizar para controlar los atributos de archivo cuando se instale, así como para denotar que los archivos son la documentación, y que contienen información de configuración. La lista de archivos es muy importante.

*** Requisito de RPM para construir el medio ambiente ~

A] RPM requiere de un conjunto de guías para realizar la construcción. Mientras que los lugares en los directorios y los nombres se pueden cambiar. Diseño predeterminado se muestra a continuación —

root @ arunsb: ~ # ls-l / usr / src / redhat /

drwxr-xr-x 2 root root 4096 25 de agosto 2007 FUENTES => Contiene las fuentes originales, revisiones, y archivos de icono
drwxr-xr-x 2 root root 4096 25 de agosto 2007 ESPECIFICACIONES => Contiene los archivos de especificación de
drwxr-xr-x 2 root root 4096 25 de agosto 2007 BUILD => Directorio en el que se desempaquetar las fuentes, y software se construye
drwxr-xr-x 8 root root 4096 28 de mayo 2008 RPMS => contiene el paquete binario de los archivos creados por el proceso de construcción
drwxr-xr-x 2 root root 4096 25 de agosto 2007 SRPMS => contiene el paquete de archivos de código fuente creado por el proceso de construcción

root @ arunsb: ~ #

B] necesidad de exportar pocas variables globales que se utilizan por RPM —

root@arunsb:~# export  RPM_BUILD_DIR=/usr/src/redhat/BUILD/
root@arunsb:~# export  RPM_SOURCE_DIR=/usr/src/redhat/SOURCES/

Paso 1] Crear Specification (especificación) del archivo ~

root@arunsb:~# head -n 50  /usr/src/redhat/SPECS/openlsm.spec
# Authority: Arun Bagul

#RPM_BUILD_DIR    /usr/src/redhat/BUILD/
#RPM_SOURCE_DIR    /usr/src/redhat/SOURCES/

%define MY_PREFIX    /usr/local/openlsm/

## Preamble Section-
Name: openlsm
Version: 0.99
Vendor: IndianGNU.org & openlsm
Release: r45
Group: System Environment/Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Summary: openlsm Admin Server
License: GPL

%description
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.

## Preparation Section-
%prep

rm -rf ${RPM_BUILD_DIR}/openlsm-0.99-r45/
tar xvfz ${RPM_SOURCE_DIR}/openlsm-0.99-r45.tar.gz -C ${RPM_BUILD_DIR}

## Build Section-
%build

cd ./openlsm-0.99-r45/
./configure –prefix=/usr/local/openlsm –with-mysql=/usr/bin/mysql_config –enable-internal-pcre –with-geoip=/usr –with-ldap=/usr –enable-trace
make

## Install Section-
%install

cd ./openlsm-0.99-r45/
make install

## Files Section-
%files

/usr/local/openlsm
/usr/local/openlsm/etc/openlsm/openlsm.conf
/usr/local/openlsm/etc/openlsm/openlsm.conf.perf_sample
/usr/local/openlsm/etc/openlsm/ssl/
/usr/local/openlsm/bin/openlsm-config
….
…..
….. list of files installed by pkg
root@arunsb:~#

* ¿Cómo se crea la lista de archivos?

Creación de la lista de archivos es un proceso manual. Lo que hice es que me tomó la lista de archivos del directorio de manual de mi prefijo instalado con comando find como se muestra a continuación …

root@arunsb:~# find /usr/local/openlsm/ -type f -or  -type d

Paso 2] A partir de la Construcción ~

root@arunsb:~# cd /usr/src/redhat/SPECS
root@arunsb:/usr/src/redhat/SPECS# ls -l  openlsm.spec
-rw-r–r– 1 root root 12938 Dec  2 17:21 openlsm.spec
root@arunsb:/usr/src/redhat/SPECS#

root@arunsb:/usr/src/redhat/SPECS# rpmbuild   -ba  openlsm.spec

….
… ..

Comprobación de archivo sin envasar (s): / usr / lib / rpm / check-archivos de buildroot% ()
Escribió: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Escribió: / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS # echo $?
0

root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
-rw-r-r-1 root root 3206 2 de diciembre 17:50 / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
-rw-r-r-1 root root 3052868 2 de diciembre 17:50 / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS #

* Fuente y el paquete binario creado!!

** Vamos a ver lo que sucedió en “/ usr / src / redhat / directorio”

root @ arunsb: / usr / src / redhat # pwd
/ usr / src / redhat
root @ arunsb: / usr / src / redhat # ls
CONSTRUIR RPMS FUENTES SPECS SRPMS
root @ arunsb: / usr / src / redhat # ls BUILD /
openlsm-0.99-r45 <== Origen extraídos aquí como parte de las instrucciones de construcción de la especificación de archivo, es decir “openlsm.spec”
root @ arunsb: / usr / src / redhat # ls FUENTES /
openlsm-0.99-r45.tar.gz <== openlsm original “-0.99-r45.tar.gz” fuente de los archivos copiados por mí
root @ arunsb: / usr / src / redhat # ls RPMS /
athlon i386 i486 i586 i686 noarch
root @ arunsb: / usr / src / redhat RPMS/i386 # ls /
openlsm-0.99-r45.i386.rpm <== paquete RPM binario creado!
root @ arunsb: / usr / src / redhat SRPMS # ls /
openlsm-0.99-r45.src.rpm <== paquete RPM creado!
root @ arunsb: / usr / src / redhat #

Paso 3] Ahora instale el paquete y probarla ~

root @ arunsb: / usr / src / redhat RPMS/i386/openlsm-0.99-r45.i386.rpm # cp / home / arunsb /

root @ arunsb: / usr / src / redhat # cd / home / arunsb /
root @ arunsb: ~ # ls
openlsm-0.99-r45.i386.rpm
root @ arunsb: ~ # rpm-ivh openlsm-0.99-r45.i386.rpm
Preparing … ########################################### [100%]
1: ########################################### openlsm [100%]
root @ arunsb: ~ # ls / usr / local / openlsm /
etc contrib bin incluyen lib scripts sbin var compartir
root @ arunsb: ~ #

** Desde el servidor openlsm ~

root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm arranque redhat
* A partir servidor de administración openlsm: openlsm
. [OK]
root @ arunsb: ~ #
root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm estatuto de RedHat
openlsm (pid 21607) está corriendo …
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-q openlsm-0.99-R45
openlsm-0.99-R45
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-ql openlsm-0.99-R45
..

root @ arunsb: ~ # rpm-openlsm QIV-0.99-R45
Nombre: Movimientos openlsm: (no trasladable)
Versión: 0.99 Distribuidor: IndianGNU.org & openlsm
Versión: R45 Build Date: Wed 02 de diciembre 2009 05:50:54 PM EST
Fecha de instalación: Miércoles 02 de diciembre 2009 06:06:23 PM EST Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Grupo: System Environment / Daemons Source RPM: openlsm-0.99-r45.src.rpm
Tamaño: 14877918 Licencia: GPL
Firma: (ninguno)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Resumen: openlsm Server Admin
Descripción:
openlsm Admin Server es libre y Web de código abierto para el panel de control basado en Linux, los sistemas Unix.
root @ arunsb: ~ #

** NOTA ~ Este artículo no contiene información sobre cómo definir micros, cómo copiar documentos, páginas de manual por defecto la ubicación, cómo establecer la propiedad etc Permiso y voy a cubrir estos temas en el próximo artículo sobre RPM.

** Por favor, consulte el artículo de Inglés ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Recuerdos,
Arun Bagul

Similar Posts:

Leave a Reply

Your email address will not be published. Required fields are marked *