Tipos de instalación de programas en Linux
Cada cierto tiempo la blogósfera linuxera es sacudida por una polémica absurda e inútil. En lugar de sumarme a ella prefiero dar toda la información posible para que el lector saque sus propias conclusiones, es por eso por lo que vamos a hablar de las formas de las diferentes formas de instalación de programas en Ubuntu.
Esas polémicas suelen tener una coreografía tan aburrida como repetida. Algún más o menos ignoto miembro de un proyecto o empresa hace un comentario a título personal sobre algún otro proyecto. Cómo ese comentario coincide con los prejuicios de otras personas estás lo difunden por toda la red. Casi nadie se molesta en recurrir a la fuente original y, lo que fue une expresión de una preferencia personal se transforma en una verdad técnica inapelable.
Recuerdo el caso de Automatix. Era un script que permitía instalar fácilmente controladores, codecs multimedia y software privativo en Ubuntu. Un desarrollador de Red Hat comentó que la descripción de programas no cumplía con las especificaciones de Debian, pero para cuando la noticia llegó a los foros y blogs era Red Hat diciendo que Automatix era malo.
La realidad es que toda tecnología tiene sus ventajas y desventajas y es el usuario quien tiene que tomar sus propias decisiones sin ser influenciado por ls prejuicios de los demás.
Tipos de instalación de programas en Ubuntu
Empecemos por aclarar que la mayor parte de las veces en Linux no se instalan programas sino paquetes. Los paquetes contienen:
- El programa ejecutable (El equivalente al .exe en Windows.
- El archivo de configuración.
- La lista de dependencias
En el archivo de configuración figura el nombre del programa, el número de versión, la descripción del paquete y la identificación del repositorio
La lista de dependencia indica qué otros programas necesitan ser instalados para que el programa que vamos a instalar funcione. Detengámonos un poco en esta idea.
Programas con diferentes objetivos pueden realizar funciones similares. El procesador de textos Writer, el navegador Firefox y el editor de imágenes El Gimp permiten imprimir contenidos. Si cada uno de ellos tuvieran que implementar su propia rutina de impresión, su tamaño en disco aumentaría, por no hablar del tiempo de desarrollo. Lo mismo para el resto de las funciones comunes.
Es por eso que para imprimir todos usan las bibliotecas de impresión del sistema operativo.
Clasificación de los tipos de instalación
Podemos clasificar los tipos de instalación por:
- La forma de instalación.
- El manejo de dependencias.
La forma de instalación
En este apartado tenemos dos tipos
Instalación manual
Es el más parecido a cuando en Windows descargábamos un programa y hacíamos doble clic sobre él para que se iniciara el instalador. No se actualizará en forma automática y es posible que tengamos que corregir problemas de dependencia.
Una variante de la instalación manual es la compilación. Esto conste en transformar el código del programa en un lenguaje que el ordenador sea capaz de comprender. Necesitamos el código del programa y un archivo con las instrucciones de compilación.
Es un proceso lento y es posible que haya que repetirlo varias veces dado que cuando se encuentra una dependencia faltante se detiene hasta que esta se instala.
Instalación mediante gestores de paquetes
Los gestores de paquetes son aplicaciones que desde la terminal o interfaz gráfica automatizan la tarea de descargar, instalar, desinstalar y configurar programas. Lo hacen conectándose a un tipo de servidores conocidos como repositorios. Vamos a hablar más de los repositorios en el próximo artículo.
Clasificación por manejo de dependencias
Paquetes comunes
Este tipo de paquetes son los que describimos al principio. Necesitan para su funcionamiento que las dependencias estén instaladas. En caso de que no la estén, el gestor de paquetes suele encargarse de conseguirlas. Estos paquetes se actualizan (En caso de tener que hacerlo) por el procedimiento de actualización normal de Ubuntu. Cualquier modificación del sistema operativo puede afectarlos
Paquetes autocontenidos
Los paquetes autocontenidos incluyen todas las dependencias necesarias para su funcionamiento y no interactúan con el sistema operativo salvo que se les indique expresamente. Se actualizan de manera separada y no se ven afectados por modificaciones en Ubuntu.