sábado, 26 de enero de 2013

Gestores de Paquetes: Los paquetes DEB

Una de las mayores ventajas de GNU/Linux es su capacidad de configuración y personalización. Esto ha posibilitado la gran variedad de distribuciones que tenemos hoy día. En general todas las distribuciones manejan uno de estos tipos de paquetes para instalar aplicaciones.
  • RPM (Red Hat Package Manager)
  • DEB (Debian Package
  • TGZ, usado por Slackware y muchas otras.

En la mayoría de los casos es casi imposible encontrar paquetes DEB de algunas aplicaciones. La conversión al formato DEB con la herramienta alien es literalmente la única opción viable. Pero desde el auge en el desarrollo de Ubuntu los paquetes DEB son muy comunes. Veamos cómo un paquete DEB está estructurado.

Los paquetes DEB son archivos comprimidos con el comando ar. Este comando lo podemos utilizar independientemente, es decir, que podemos descomprimir los paquetes DEB con el comando ar y también con otras utilidades de compresión/descompresión disponibles en Linux con soporte para este formato.

Así que con un paquete a mano que hayamos descargado o copiado desde el caché de APT /var/cache/apt/archives/, lo descomprimimos para ver de qué partes consiste:
  • Un fichero llamado debian-binary
  • Un fichero TAR llamado control.tar.gz, el cual contiene datos acerca del paquete, como sus dependencias por ejemplo.
  • Un archivo TAR llamado data.tar.gz, el cual contiene todos los ficheros, incluyendo el ejecutable, documentación, etc.
 
El fichero debian-binary
Es el más simple de los tres. Su contenido es el texto “2.0″ y un retorno. Esto le dice al administrador de paquetes qué versión de paquete DEB es.
 
El fichero control.tar.gz
Este comprimido contiene uno o más ficheros dentro:
  • El fichero “control”, el cual contiene información acerca del paquete, dependencias y quién lo mantiene.
  • Los ficheros opcionales “preinst” y “postinst”, los cuales son shell scripts a ser ejecutados antes y después de la instalación respectivamente.
  • Los ficheros opcionales “prerm” y “postrm”, los cuales también son shell scripts a ser ejecutados antes y después de la desinstalación respectivamente.

Podemos usar estos para hacer alguna configuración antes y después del paquetes ser instalado, como por ejemplo, si nuestro paquete requiere un puerto para funcionar, llamamos a ufw desde el script “postrm” y hacer la regla de lugar.
 
El fichero “data.tar.gz”
Es el fichero más importante, ya que es necesario que se cree una estructura de directorio para los ficheros del paquete DEB. Es bueno conocer un poco primero sobre la estructura jerárquica del sistema de archivos para entender lo que veremos a continuación. Para los paquetes binarios los directorios más importantes son:
  • /etc: Todos los ficheros de configuración son almacenados aquí.
  • /usr/bin: Los ejecutables son almacenados en este directorio.
  • /usr/lib: Aquí van las librerías compartidas que usaremos para el programa en un directorio con el nombre del programa.
  • /usr/share/doc: Cualquier documentación acerca del programa como los README o documentación en HTML/PDF va aquí en un directorio con el nombre del programa.
  • /usr/share/icons: Para programas con interfaz de usuario, si tiene algún ícono, va aquí. 
 


Artículos relacionados



Widget by Hoctro | Jack Book

0 comments:

Publicar un comentario en la entrada