PDF de programación - CheckInstall

Imágen de pdf CheckInstall

CheckInstallgráfica de visualizaciones

Actualizado el 23 de Julio del 2017 (Publicado el 17 de Julio del 2017)
567 visualizaciones desde el 17 de Julio del 2017
388,9 KB
8 paginas
Creado hace 18a (26/09/2005)
LinuxFocus article number 360
http://linuxfocus.org

CheckInstall

Resumen:

Checkinstall es una aplicación para construir automáticamente paquetes
RPM/Debian o Slackware desde paquetes fuente tar.gz. Esto permite realizar una
instalación y desinstalación "limpia" de la mayoría de los paquetes de código fuente
tar.gz.

_________________ _________________ _________________

por Mario M. Knopf
(homepage)

Sobre el autor:

Mario disfruta
trabajando con Linux,
redes y asuntos
relacionados con la
seguridad.

Traducido al español
por:
guadapeich (homepage)

Introducción

Frecuentemente sucede que el programa que deseas probar está sólo disponible como código fuente tar.gz (no
hay paquete disponible rpm o Debian). En ese caso bajas el paquete fuente, lo desempaquetas y lo compilas
manualmente. So far, so good. Sin embargo, ¿qué sucede si quieres borrar el programa?.

El Makefile en pocas ocasiones contiene una rutina apropiada para desinstalar el programa. De echo hay la
posibilidad de instalar el programa en un directorio temporal y copiar aparte todos los archivos que fueron
creados o modificados por la instalación para una posterior desinstalación. Pero este procedimiento es muy
largo y penoso si los programas son frecuentemente compilados desde las fuentes. La herramienta
CheckInstall [1] escrita por Felipe Eduardo Sánchez Díaz Durán resuelve este problema.

Como regla, compilas e instalas un programa compatible con GNU Autoconf con la conocida secuencia de
órdenes
./configure && make && make install.
El script configure intenta suponer los valores correctos para distintas variables dependientes del sistema, los
cuales son usados después durante la compilación. Comprueba si todos los requisitos para la compilación se
cumplen y usa esos valores para crear un Makefile en cada directorio del paquete. Además el script configure
genera archivos adicionales. Resumiendo estos son:





uno o más Makefile(s) en cada directorio/subdirectorio
un script denominado config.status
un archivo de texto config.log

1/8




otro script normalmente denominado config.cache (opcional)
varios archivos cabeceras de C (*.h) con definiciones para sistemas específicos (opcional)

Después de que el script configure ha terminado correctamente, tecleas make para compilar el paquete. Esto
genera los binarios ejecutables. Existe la posiblidad de correr inmediatamente después de make algún test con
make check. Pero este es un paso opcional, porque el paquete debe estar configurado para hacerlo. Si make ha
realizado su trabajo, puedes instalar el programa compilado con la orden make install − por razones obvias,
necesitas ser un usuario con "privilegios" para este paso. Después de que el programa fue instalado con éxito,
puedes borrar el programa binario y los archivos objeto desde el directorios del código fuente tecleando make
clean. Si prefieres borrar también los archivos creados por configure, entonces teclea make distclean. Sin
embargo, los dos últimos pasos citados son, como make check, opcionales y normalmente usados por el
desarollador durante el desarrollo y prueba del paquete. Pueden ser utilizados por el usuario para liberar
espacio de disco o para mantener limpia la estructura de directorios. Además make distclean hace posible
compilar el paquete para un tipo de ordenador distinto.

Información detallada sobre GNU Autoconf puede encontrarse en el manual en línea en [2]. Además de una
introducción básica, puedes aprender más sobre GNU Build System, haciendo tus propios scripts configure,
programando en M4 y creando tus propios macros, scripts ejecutables, etcetera.

CheckInstall

Como se ha mencionado, la secuencia de órdenes para hacer un programa compatible GNU Autoconf desde
sus fuentes es:

./configure && make && make install

En este punto es el momento de usarCheckInstall. Este sustituye make install con su propia orden
checkinstall. Las otras dos instrucciones permanecen sin ser afectadas y son usadas normalmente como antes.
Así la nueva secuencia de órdenes con CheckInstall ahora es:

./configure && make && checkinstall

Sin embargo, la orden checkinstall no obstante comienza make install por defecto y sigue todas las escrituras
que son hechos por la instalación. Para este propósito CheckInstall usa el programa Installwatch [3], que fué
originalmente escrito por Pancrazio de Mauro. Después de que make install fué completado con éxito,
CheckInstall genera un paquete Slackware−, Debian− o RPM y lo instala con el gestor de paquetes por
defecto de la distribución y deja una copia del paquete en el directorio fuente actual o en el directorio normal
de almacenamiento. Además, es posible cambiar el directorio normal de almacenamiento con la variable
PAK_DIR dentro del archivo de configuración. La copia guardada puede ser instalada, de echo bajo
consideración de posibles dependencias de paquetes, en otras máquinas en la red sin compilar el paquete
fuente cada vez.

CheckInstall no sólo hace uso de make install, también coopera con otras instrucciones de instalación. Si el
script de instalación es por ejemplo: setup.sh la orden es:

./configure && make && checkinstall setup.sh

También es posible comenzar CheckInstall con varias opciones. La siguiente orden muestra una completa lista
de todas las opciones disponibles que son divididas en las secciones Install options, Scripting options, Info
display options, Package tuning options, Cleanup options and About CheckInstall:

2/8

# checkinstall −h

Si CheckInstall es iniciado con una de esas opciones, sobreescribirá los valores incluidos en el archivo de
configuración checkinstallrc.

Pero también CheckInstall tiene limitaciones. No puede manejar programas enlazados estáticamente, porque
Installwatch no es capaz de ver los archivos modificados durante el proceso de instalación. En general hay dos
tipos de librerías: librerías enlazadas estática o dinámicamente. Estas librerías están integradas en el programa
por una directiva include. Progamas enlazados estáticamente ya tienen todas las funciones de las librerias
necesarias y no deben cargarlas en la RAM al correr. Además son independientes de las librerías actualmente
instaladas en el sistema destino, porque un Linker tiene incluido la librería dentro del programa cuando se
compila.

Instalación.

CheckInstall es ya desde hace bastante tiempo parte de la lista de programas de las grandes distribuciones y
puede ser instalado con su respectivo sistema manejador de paquetes. Si este no es el caso, tu puedes bajar
tar−balls satisfactorios o paquetes fuente para varias distribuciones desde la página del proyecto en [4].

La instalación de CheckInstall es bastante simple y corre en pocos pasos − pero para una instalación
afortunada de CheckInstall tu necesitarás paradojicamente CheckInstall. Después de la orden obligatoria make
install escribe checkinstall, lo que crea un paquete binario apropiado desde el programa compilado. Ahora tu
puedes instalar este paquete con tú gestor de paquetes y también es posible desinstalar el paquete
limpiamente. Pero antes de que CheckInstall cree el paquete, debes constestar una pregunta sobre el gestor de
paquetes usado y comprobar la información suministrada para su corrección. Esto aparece en la cabecera del
paquete después.

El procedimiento para instalar la nueva versión de prueba checkinstall−1.6.0beta4.tgz se muestra en el
siguiente bloque de código. Instalará CheckInstall, Installwatch y makepak, una versión modificada de
makepkg. Si estás interesado en los cambios de la nueva version, mira en Release Notes [5] y/o en el
Changelog [6].

$ tar xzf checkinstall−1.6.0beta4.tgz
$ cd checkinstall−1.6.0beta4
checkinstall−1.6.0beta4 $ make
[...]
checkinstall−1.6.0beta4 $ su
Password:
checkinstall−1.6.0beta4 # make install
[...]
checkinstall−1.6.0beta4 # checkinstall

checkinstall 1.6.0beta4, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.

Please choose the packaging method you want to use.
Slackware [S], RPM [R] or Debian [D]? R

*************************************
*** RPM package creation selected ***
*************************************

This package will be built according to these values:

3/8

1 − Summary: [ CheckInstall installations tracker, version 1.6.0beta4 ]
2 − Name: [ checkinstall ]
3 − Version: [ 1.6.0beta4 ]
4 − Release: [ 1 ]
5 − License: [ GPL ]
6 − Group: [ Applications/System ]
7 − Architecture: [ i386 ]
8 − Source location: [ checkinstall−1.6.0beta4 ]
9 − Alternate source location: [ ]
10 − Provides: [ checkinstall ]
11 − Requires: [ ]

Enter a number to change any of them or press ENTER to continue:

Installing with make install...

========================= Installation results =========================
[...]

========================= Installation successful ======================

Copying documentation directory...
./
./NLS_SUPPORT
./README
./FAQ
./TODO
./CREDITS
./INSTALL
./Changelog
./BUGS
./installwatch−0.7.0beta4/
./installwatch−0.7.0beta4/README
./installwatch−0.7.0beta4/TODO
./installwatch−0.7.0beta4/VERSION
./installwatch−0.7.0beta4/INSTALL
./installwatch−0.7.0beta4/CHANGELOG
./installwatch−0.7.0beta4/BUGS
./installwatch−0.7.0beta4/COPYING
./RELNOTES
./COPYING

Copying files to the temporary directory...OK

Striping ELF binaries and libraries...OK

Compressing man pages...OK

Building file list...OK

Building RPM package...OK

NOTE: The package will not be installed

Erasing temporary files...OK

Writing backup package...OK

Deleting temp dir...OK

****************************************************************

4/8

Done. The new package has been saved to

/usr/src/redhat/RPMS/i386/checkinstall−1.6.0beta4−1.i386.rpm
You can install it in your system anytime using:

rpm −i checkinstall−1.6.0beta4−1.i386.rpm

****************************************************************

checkinstall−1.6.0beta4 # cd /usr/src/redhat/RPMS/i386/
i386 # rpm −i checkinstall−1.6.0beta4−1.i386.rpm
i386 #
  • Links de descarga
http://lwp-l.com/pdf5465

Comentarios de: CheckInstall (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad