GESTIÓN DE PAQUETES SOFTWARE En los sistemas de GNU/Linux el software se agrupa en paquetes. Un paquete es un conjunto de ficheros necesarios para el funcionamiento de una aplicación. Estos ficheros pueden ser ejecutables, librerías, documentación, datos de configuración, ejemplos, etc. Todos estos archivos se encuentran empaquetados en un fichero para facilitar la distribución y el proceso de instalación. El software para GNU/Linux podemos encontrarlo tanto en formato binario (código ejecutable) o en código fuente, en cuyo caso deberemos compilarlo previamente. Si no disponemos del paquete lo habitual es descargando de la red desde la página oficial de la distribución www.mandrake.com, www.fedora.com, www.suse.com, desde un portal de descargas de software como www.rpmfind.net. o desde un portal con imágenes de paquetes o distribuciones como de que ofrece el portal de la red Iris de CSIC: http://www.rediris.es/si/ftp/ftp_index.es.html También podemos descargarnos desde el portal oficial de la aplicación como www.apache.org, o de http://sourceforge.net, donde se alberga miles de proyecto de software libre, este caso lo normal es obtener una versión en código fuente que deberemos compilar. Normalmente para la instalación de un paquete serán necesarios seguir los siguientes pasos: 1) Previo (preinstalación): comprobar que existe el software necesario (y con las versiones correctas) para su funcionamiento (dependencias), ya sean bibliotecas de sistema u otras aplicaciones que sean usadas por el software. 2) Descomprimir el contenido del paquete, copiando los ficheros a sus localizaciones definitivas, ya sean absolutas (tendrán una posición fija) o si se permite reubicarlas a otros directorios. 3) Postinstalación: retocar los ficheros necesarios, configurar posibles parámetros del software, adecuarlo al sistema. Existe distintos formatos de paquetes software, los más habituales en GNU/Linux son los formatos: • TGZ (El formato más antiguo, común en los sistemas UNIX) • DEB (Desarrollado por Debian) • RPM (Formato original de Redhat y utilizado por otras muchas como Mandrake o Suse) Paquetes TGZ Es un formato pensado para empaquetar ficheros mediante la herramienta tar, (comúnmente utilizada para realizar copias de seguridad). Es muy común en aplicaciones que funcionan tanto en sistemas UNIX, como GNU/Linux. Lo más habitual es encontrar paquetes en código fuente. Proceso de instalación: Descompresión: $ tar xvfz paquete.tar.gz Si está compilado tendrá su propio instalador o en el caso más sencillo bastará con copiar los archivos en algún directorio de comandos: /bin, /usr/bin, etc. Si el paquete está en código fuente la compilación e instalación se realiza mediante la herramienta make, siguiendo las siguiente secuencia de pasos (leer la información los ficheros README.txt o similar) $ ./configure Es un script que configura la compilación para nuestro propio sistema y verifica si tenemos las herramientas y librerías necesarias para realizar la compilación. $ make Realiza la propia compilación de la aplicación $ make install Realiza la instalación de los archivos compilador en los directorios de aplicaciones, normalmente este último comando debe ser ejecutado como superusuario. Paquetes RPM El sistema de paquetes RPM creado por Red Hat están diseñados especialmente para la distribución de software ya que incluye la gestión de dependencias, facilitando el control y la configuración del software. Además, el sistema guarda una pequeña base de datos con los paquetes ya instalados, que puede consultarse y que se va actualizando automáticamente. El nombre del archivo rpm sigue la siguiente convención: Paquete-versión-revisión-arquitectura.rpm Ej.- apache-2.3.0-23-i686.rpm Si el paquete son solamente documentos normalmente se el campo arquitectura tiene el valor noarch. Ej.- man-pages-1.53-2-noarch.rpm Los paquetes rpm también pueden distribuir código fuente en cuyo caso en vez de la arquitectura se indica con el sufijo src. Ej.- apache-2.3.0-23-src.rpm La gestión de los paquetes se realiza mediante el comando rpm (en modo superusuario) Ejemplos básicos: rpm –i archivo.rpm rpm –U archivo.rpm rpm – V paquete rpm –q paquete rpm –qi paquete rpm –ql paquete rpm –qpil archivo.rpm rpm –e paquete --- Instala el paquete --- Actualiza borrando la versión antigua --- Verifica si el paquete está correcto --- Indique si está instalado --- Da una descripción de una paquete instalado --- Indica que ficheros lo forman un paquete instalado --- Informa sobre una archivo rpm --- Borra y desinstala un paquete Parámetro archivo.rpm, puede ser un fichero local de nuestro sistema o una fichero al que se accede vía protocolos ftp o http. Paquetes DEB Es el sistema de gestión de paquetes desarrollado por Debian, para muchos expertos es el más completo. Permite definir distintas fuentes de software: CD, ftp, páginas oficiales desde donde descargar nuevos paquetes y actualizaciones. La herramienta más utilizada para el manejo de los paquetes .dep es mediante las órdenes apt-xxx, cuyo fichero de configuración se encuentra en /etc/apt/sources.lst. En él se definen las fuentes donde buscar nuevos paquetes o versiones. Ejemplos básicos: Instalación Borrado Actualización Búsqueda de información Descripción del paquete apt-get install paquete apt-get remove paquete apt-get update paquete apt-cache search paquete apt-cache show paquete Herramientas de administración de software La mayor parte de las distribuciones incluyen sus propias herramientas de administración para facilitar la gestión de software que están basadas en los anteriores comandos. Fig 2. Gestor de paquetes RPM en Mandrake 9.2