Formato de instalación de los programas
La gestiónde los paquetes de instalación de software en Linux, como en otros sistemas operativos, es más complejo pero infinitamente más cómodo que en Windows. Son precisamente las diferencias en la gestión de los programas instalables lo que distingue más las distribuciones.
Cuando queremos instalar un programa en Windows lo hacemos de los maneras. La más común es que el programa venga en unos discos de instalación que hemos comprado o copiado (legal o ilegalmente). El uso de este sistema completamente obsoleto se mantiene por la necesidad de equiparar un programa a cualquier producto comercial, es importante que exista algo tangible cuando se vende. El otro modo es ir a la página web donde se pueda descargar y conseguir un instalador. En ambos casos se considera que la instalación ha sido manual. Si el programa necesita librerías o otros programas de los que no disponemos también tendremos que instalarlos manualmente.
Este sistema es inservible en una distribución de Linux. Hemos explicado que la integración de los elementos del sistema operativo en Linux es mucho mayor; esto entra en conflicto con el concepto de instalar todo el programa con sus librerías en un único directorio, en el caso de Windows “Archivos de Programa”. En Linux el sistema operativo y los programas son en realidad la misma cosa con lo que la organización interna de todo el sistema estará reflejada en el paquete instalador.
Esto introduce una complicación que parece la madre de todos los problemas. Si la organización interna depende de la distribución de Linux que estamos utilizando tendrá que existir un paquete de instalación para cada una de ellas. Para instalar el navegador Firefox no es suficiente con descargar la versión para Linux sino que tenemos que buscar la específica para nuestra instalación. Podemos estar usando SuSE, Red Hat (Fedora), Debian, Ubuntu, Gentoo, Mepis... Cada una con una colección de paquetes distinta.
Ahora podemos estar pensando que todo esto es un lío y que queremos volver a la filosofía de “instalar en cuatro clicks”. Toda esta complicación es invisible al usuario gracias a los programas de gestión de paquetes y los repositorios.
La gestión de paquetes de instalación
La solución al problema de la instalación de paquetes en Linux se soluciona gracias a los programas de gestión e instalación de paquetes. Cada distribución tiene el suyo adaptado a sus características. Pongamos por ejemplo la distribución Debian, una de las primeras en tener gestión automática de paquetes.
Si queremos instalar un programa en Debian no tenemoos que descargar nada de ninguna página web, tenemos que hacerlo todo desde el programa de gestión APT. Este programa tiene las siguientes partes:
-
Un programa instalador que interpreta la información que icluyen los paquetes, los descomprime, los instala y los configura.
-
Una base de datos de los programas instalados y los disponibles
-
Una lista de servidores con repositorios que a su vez contienen los paquetes instalables
-
Puede tener o no interfaz gráfica
El último punto es el más significativo. La mayoría de los usuarios experimentados prefieren utilizar las herramientas de gestión de paquetes por consola en vez de utilizar las interfaces gráficas disponibles porque es más rápido y cómodo. Como ya sabemos algo del trabajo mediante terminales vamos a analizar un ejemplo:
Supongamos que necesitamos el navegador Firefox y no se encuentra en nuestro sistema. Además sabemos que la distribucion de Linux que usamos es Debian y que se la instalación de paquetes se lleva mediante el programa APT. Instalar Firefox es tan sencillo como abrir una consola con privilegios de superusuario y teclear:
bash$~/>apt-get install mozilla-firefox
Entonces el programa APT comprobará las dependencias del programa Firefox comprobará si se encuentran en nuestro sistema. Crea una lista de paquetes a instalar y los descarga de los servidores que conoce. Luego el instalador los descomprime, los instala y los configura. Acabamos de instalar en una única línea de comandos lo que nos hubiera costado un buen rato de usar un sistema manual.
Esto no significa que esta sea la única manera de instalar programas en Linux. Las interfaces gráficas cumplen su misión a la perfección. Podemos utilizar los programas de gestión de paquetes con toda su potencia (que no es poca) gracias a interfaces como Kpackage, Synaptic, YAST...
El aspecto de Synaptic es el de la captura siguiente:

Los interfaces suelen estar bien diseñados y son fáciles de usar.
La máxima expresión de la gestión de paquetes.
Como ya hemos reiterado varias veces, muchos de los programas presentes en una distribución Linux son de código abierto. Los proyectos más pequeños en los que los desarrolladores no tienen tiempo para crear los paquetes con los ejecutables sólo distribuyen el código fuente y la tarea de compilar y empaquetar recae en terceras personas.
Esto impide que la distribución tenga el último grito en software porque siempre hay que esperar que alguien cree un paquete con los programas y lo suba al repositorio.Este problema se soluciona diseñando una distribución que no dependa de los paquetes de instalación sino del código fuente. La misión sería descargar el código fuente y que un archivo de configuración le diga al sistema cómo debe compilar, instalar y configurar el programa.
Hace unos años la solución era aún peor que el problema. Con los ordenadores de hace un lustro compilar un sistema completo podía llevar semanas. Pero a medida que los ordenadores ganaban potencia (las leyes de Moora han sido válidas hasta ahora) una distribución basada en código fuente se volvía viable. El ganador absoluto de esta apuesta fue Gentoo.
Gentoo nació de la voluntad de algunos desarrolladores de crear una distribución infinitamente configurable donde el usuario tuviera las riendas de absolutamente todo. La única posibilidad que existía era construir el sistema completamente a mano (LFS, Linux From Scratch o Linux Desde Cero) terriblemente laborioso y una pesadilla actualizarlo. En un principio el proyecto tenía los defectos de cualquier distribución que acaba de nacer de cero; no sólo era nueva la distribución sino también el concepto que la regía. El corazó de la distribución es su gestor de paquetes, una herramienta/maravilla de la tecnología llamado PORTAGE. Esta utilidad otorga a los expertos el compromiso perfecto entre la libertad de configurar absolutamente todo y la actualización automática de cualquier programa. La capacidad de configuración no se aplica sólo a qué programas instalamos sino también a cómo los compilamos. Windows está compilado para soportar cualquier microprocesador Intel, desde el Pentium II al Pentium 4 Prescott. Con Gentoo podemos optimizar el sistema para que utilice estrictamente las posibilidades de los procesadores más modernos. Es un sistema operativo para un ordenador en concreto y para ningún otro.
Gentoo es, y probablemente lo será siempre, una distribución orientada a usuarios expertos de Linux pero es sin duda la mejor plataforma para aprender cómo funciona un sistema operativo. Una vez un usuario tiene experiecia con Gentoo es capaz de reparar casi cualquier sistema Linux sin demasiada dificultad. También aprenderá a tener paciencia porque podemos tardar un par de días en instalar un sistema completo.