Guía de paquetes de instalación en Linux

Instalar aplicaciones en Linux en principio era extremadamente complejo, requería de habilidades que no se encuentran en el usuario común de ningún OS, mínimo se debían tener conocimientos de programación, instalar librerías y enlazarlas, compilar archivos binarios etc. Es por ello que surge lo que conocemos como paquetes, para simplificar todos estos procedimientos en tareas que se ejecutan de forma automática. Veamos la Guía de paquetes de instalación en Linux.

¿Qué es un paquete en Linux?

Un paquete es un conjunto de archivos necesarios para realizar la instalación de una aplicación en nuestro sistema. Están formados por lo general por archivos ejecutables, archivos de configuración, información sobre el uso e instalación de la aplicación y listado de dependencias necesarias para su correcto funcionamiento en la distribución donde va a ejecutarse. Existen dos grandes grupos, los paquetes binarios y los de código fuente.

Paquetes binarios

El código fuente de una aplicación simplemente no puede empaquetarse en un archivo y llamarlo paquete, no funciona así. Estas líneas de código necesitar convertirse a lenguaje que una máquina puede entender y ejecutar. Para ello se compila el código fuente que junto a otros archivos de configuración forman el llamado paquete binario que contiene todo lo necesario para la instalación.

Paquetes de código fuente

Estos contienen el código fuente del programa, estos vienen con los archivos necesarios para compilar e instalar el programa manualmente por el usuario. Por lo general vienen en archivos formato .tar.gz o tar.bz2. Los pasos para ejecutar el proceso de compilación normalmente se encuentran en los ficheros README o INSTALL.

¿Por qué paquetes?

Debido a la diversidad en la familia Linux con un sin fin de distribuciones con software diferentes incluidos los kernels, a los desarrolladores de aplicaciones les es imposible garantizar que su aplicación se instale y ejecute correctamente en una distribución específica. Para resolver este problema los paquetes de instalación incluyen un manifiesto de dependencias que deben existir en el entorno donde se va a instalar y ejecutar para su correcto funcionamiento.

¿Cómo uso los paquetes?

Los paquetes de instalación se administran de diversas maneras. Cualquier usuario puede descargar un paquete .deb abrir un terminal en la ubicación del archivo e instalarlo con el comando:

sudo dpkg -i <nombre del paquete>

Hay formas más automatizadas de realizar mediante interfaces de los distintos gestores de paquetes que existen para las diferentes distribuciones Linux este proceso de instalación y más aún, como la desinstalación y actualización de mejoras con nuevas versiones de la misma aplicación siendo buscadas y descargadas de los repositorios específicos de su distribución. Básicamente independientemente del gestor de paquetes que se esté utilizando el proceso es el mismo, ya sea por una terminal ejecutando los comandos o por una interfaz GUI en una aplicación como Synaptic.

Los gestores de paquetes más conocidos por la popularidad de las distribuciones Linux donde operan son:

  • DPKG: Gestor de paquetes base para distribuciones basadas en Debian.
    • Apt: Un front-end para el sistema DPKG, que se encuentra en distribuciones basadas en Debian, como Ubuntu, Linux Mint y Elementary OS.
    • Apt-get: Un front-end más rico en características para el sistema DPKG, que se encuentra en distribuciones basadas en Debian.
  • RPM: El administrador de paquetes base que se encuentra en distribuciones basadas en Red Hat, como Red Hat Enterprise Linux, CentOS y Fedora.
    • Yum: Un front-end para el sistema RPM, que se encuentra en distribuciones basadas en Red Hat.
    • Dnf: Un front-end más rico en características para el sistema RPM.
  • ZYpp: Se encuentra en SUSE y OpenSUSE.
  • Pacman: Administrador de paquetes para distribuciones basadas en Arch Linux.

Métodos para instalar aplicaciones en Linux

¿Existen alternativas al uso de paquetes tradicionales?

Guía de paquetes de instalación en Linux
Créditos de Imagen: Snap

A pesar de que los paquetes de instalación tradicionales siguen siendo el método más común de distribuir software en Linux en los últimos años han surgido dos nuevas tecnologías que se disputan el título una a la otra ser el futuro de la gestión de software en Linux independientemente del factor de la distribución que se esté usando, Snap y Flatpak. Ambas surgen ante la necesidad de simplificar aún más el proceso de instalación de software en Linux y evitar fundamentalmente los muy comunes problemas con las dependencias, que todo funcione independientemente de la distribución Linux.

Flatpak proporciona un entorno de aislamiento de procesos denominado Bubblewrap, en el que los usuarios ejecutan aplicaciones aisladas del resto del sistema​. Descarga dependencias en cada paquete generando descargas inmensas y consumiendo mucho espacio de almacenamiento, de esta forma nunca existe el problema de que la instalación de la aplicación falla por falta de alguna dependencia. Está diseñado para ejecutarse dentro de una sesión de escritorio, y no resulta ser una buena combinación para un servidor.

Snap por su parte trata a los programas como objetos aislados que se ejecutan en su propio espacio protegido, tipo contenedor, por lo que no son dependientes de las dependencias del sistema donde se ejecutan, una filosofía similar a su rival Flatpak con la notable diferencia que lo que hace es preinstalar dependencias comunes que aligeran los archivos a descargar y consume mucho menos espacio.


Artículos relacionados que te podrían resultar interesantes


Deja un comentario