Seguro que todos conocemos los típicos archivos «EXE» o «MSI» de Windows. Estos son los ejecutables que nos permiten instalar programas en el equipo a través de un sencillo asistente. Sin embargo, cuando salimos del ecosistema de Microsoft la cosa cambia, y es que ya no se utilizan estos formatos de archivos, sino que podemos encontrarnos con otros diferentes que pueden llevarnos a confusión, como es el caso de los paquetes .DEB. ¿Qué son estos archivos, y por qué son tan importantes en Linux?
Seguro que la mayoría de vosotros ya sabéis que tanto en Windows como en Linux nos encontramos con una enorme cantidad de formatos de archivo. Estos se refieren a determinados tipos de contenidos, ficheros del propio sistema, o ejecutables, como es el caso que nos ocupa. En la mayoría de las ocasiones no es necesario que conozcamos todos estos formatos de los que os hablamos. Pero sí que nos puede ser de mucha utilidad saber diferenciar entre los más importantes y utilizados para así poder dominar más el propio sistema operativo.
Precisamente por todo ello en estos momentos os vamos a hablar de los .DEB, uno de los formatos precisamente más importantes y comunes en los sistemas de código abierto.
Qué es un archivo DEB
El nombre «DEB» viene de acortar el nombre de la primera distro que los introdujo y empezó a utilizar: Debian. Estos paquetes son, básicamente, los .EXE de las distribuciones Linux basadas en Debian, como ella misma, Ubuntu o Linux Mint, entre otras. Así, estos son archivos de almacenamiento (o paquetes) que contienen todos los archivos para poder instalar un programa en la distro, además de los scripts necesarios para llevar a cabo esta instalación y configuración del programa en cuestión.
Es muy fácil, rápido y cómodo instalar estos programas en nuestro ordenador, ya que no tenemos ni siquiera que aprendernos ni un solo comando. Sin embargo, este formato de archivos tiene algunas limitaciones. Por ejemplo, dentro de un paquete DEB es posible que no se encuentren todas las dependencias necesarias para que el programa pueda funcionar con normalidad. Por ello, si esto ocurre, tendremos que bajar e instalar a mano estas dependencias necesarias.
Dentro de uno de estos archivos podemos encontrar tres archivos:
- debian-binary, el que nos indica la versión del paquete que vamos a instalar. La última, actualmente, es la 2.0.
- control.tar.gz, donde encontraremos toda la meta-información del paquete.
- data.tar, data.tar.gz, data.tar.bz2 o data.tar.lzma, todos los archivos que tenemos que procesar e instalar en el sistema.
Para ver su contenido, podemos usar cualquier compresor de archivos para Linux. Incluso el propio que viene instalado de serie en las distros, como Ubuntu, nos permitirá ver el interior de estos ficheros. En este caso disponemos de una amplia variedad de programas para así poder llevar a cabo estas tareas que os comentamos de la manera más sencilla y asequible como sea posible. Todo dependerá de la distribución de Linux por la que nos hayamos decantado, además de por nuestras preferencias en cuanto a los programas que vamos a utilizar.
Además de los archivos que acabamos de ver, dentro de un fichero DEB podemos encontrar también otros elementos, especialmente dentro de la parte de contro. Por ejemplo, podemos encontrarnos con el md5sums, donde se encuentran las sumas de comprobación MD5 para garantizar que el archivo está íntegro y no se ha corrompido. También podemos encontrar conffiles, una lista con los archivos de configuración del paquete que, generalmente, no se sustituyen durante una instalación. También podemos encontrar varios scripts, como preinst , postinst , prerm y postrm, que se ejecutan antes de instalar o eliminar el programa, o el script config, responsable de la configuración del paquete.
Algunas de las distribuciones Linux que utilizan por defecto este formato de archivos para instalar programas son:
- Debian.
- Ubuntu (y sabores, como Kubuntu, Lubuntu, etc).
- Linux Mint.
La principal alternativa a este tipo de paquetes para instalar programas en Linux son los archivos RPM. Y, además, podemos convertir DEB en RPM, y viceversa, usando una herramienta llamada «alien», por lo que, aunque diferentes, son compatibles entre sí.
Como dato curioso, iOS, el sistema operativo de los iPhone, utiliza estos contenedores (aunque su estructura interna es diferente a la de los paquetes de Linux).
Cómo instalar un archivo DEB en Linux
Por lo general, la mayoría de las distros preparadas para usar archivos DEB vienen de serie con el manejador de paquetes DPKG. De ahí precisamente la importancia de estos formato de fichero en concreto. Este será el que nos permita instalar programas a través de estos paquetes usando el terminal. Sin embargo, hay muchas interfaces gráficas que nos van a permitir trabajar con ellos desde el escritorio, como es el caso de Synaptic, PackageKit, Gdebi, e incluso el clásico Ubuntu Software Center. Para instalar estos programas, simplemente ejecutaremos:
- sudo apt install gdebi
- sudo apt install synaptic
- sudo apt install packagekit
Como ya hemos explicado hay varias formas de instalar estos programas. La primera que vamos a ver es a través de DPKG, ya que, si nuestra distro es compatible con este formato, tendrá esta herramienta instalada por defecto sí o sí. Para ello, lo primero que debemos hacer es descargar el archivo DEB de la web que queramos (de un repositorio de GitHub, por ejemplo). Una vez que lo tenemos guardado en nuestro disco duro, abrimos un terminal y, usando el comando «CD», nos colocaremos en la carpeta donde lo tenemos guardado (por ejemplo, el escritorio o la carpeta de descargas). Una vez allí, lo que haremos será ejecutar los siguientes comandos.
A continuación, os mostraremos los que debéis utilizar en los diferentes modos de funcionamiento disponibles en la mayoría de las distros.
Para DPKG
En el caso de querer usar DPKG, ejecutaremos:
dpkg -i paquete.deb
Cuando acabe el proceso, el programa estará instalado ya en nuestro ordenador. Podemos comprobarlo, de forma parecida, usando también DPKG de la siguiente manera:
dpkg -l | grep 'paquete'
Para desinstalar un programa instalado a partir de su DEB original, podemos hacerlo ejecutando en el terminal el siguiente comando:
dpkg -r paquete.deb
Y, de igual forma, si además queremos eliminar el programa y todos los datos que ha guardado en el PC, debemos cambiar el parámetro «-r» del comando anterior por «-P», y así realizar una desinstalación totalmente completa.
Para APT
APT es el conocido comando que solemos usar para buscar, bajar e instalar programas en la mayoría de las distros Linux basadas en Debian. Esta herramienta, además de permitirnos buscar programas en las listas de repositorios añadidas al sistema, también nos va a permitir instalar archivos DEB locales que hayamos bajado de páginas web. Y, además, lo hará con una mayor tasa de éxito que DPKG, ya que nos permitirá buscar y satisfacer dependencias. Eso sí, por debajo del comando «APT» se ejecuta este mismo DPKG que acabamos de ver.
Para instalar estos programas con este gestor de paquetes de terminal, lo que debemos hacer es ejecutar el siguiente comando:
sudo apt install ./paquete.deb
Una vez instalado, el programa ya formará parte de nuestro sistema. En caso de querer desinstalarlo, esta vez no tendremos que saber dónde se guardaba el DEB original, sino que con conocer el nombre del paquete podemos borrarlo de la siguiente forma:
sudo apt remove
Y, si cambiamos «remove» por «purge» podremos borrar, también, todos los datos del programa que se han guardado en el sistema.
Con un gestor de paquetes
En caso de que tengamos alguno de los gestores de archivos compatibles con DEB instalados en el sistema (como el centro de software de Ubuntu), podremos instalar estos archivos simplemente haciendo doble clic sobre ellos. El gestor de archivos se encargará de todo lo demás, tanto de completar su instalación como de decirnos que nos falta alguna dependencia.
Cuando el gestor de paquetes termine sus tareas de instalación ya podremos encontrar el programa en el menú donde nos aparezca todo el software de nuestro Linux.
Cómo actualizar estos programas
Dependiendo del programa del que se trate, para actualizar los programas que hayamos instalado a través de estos paquetes tendremos que hacerlo de una forma u otra. Por ejemplo, algunas aplicaciones tienen actualizaciones automáticas, como es el caso de Google Chrome o Discord (dos ejemplos muy claros que se instalan desde paquetes DEB), por lo que no tendremos que hacer nada más que estar conectados a Internet para que, cuando se lance actualización, esta llegue automáticamente al PC.
Por otro lado, si estos programas no tienen actualizaciones automáticas, entonces no vamos a poder hacer mucho más. La única forma de poner al día los programas es bajar el nuevo paquete DEB cuando haya una nueva versión e instalarlo de nuevo en nuestro Linux. Generalmente la nueva versión sustituirá a la anterior, por lo que no deberíamos tener problemas ni versiones antiguas en el PC. Pero, como decimos, es un proceso que debemos realizar a mano. Y no olvidarnos de él si queremos tener nuestro ordenador con un buen mantenimiento básico.
Hay que tener en consideración que, en ciertas ocasiones tanto para instalar nuevas aplicaciones en el sistema, como para actualizarlas, podemos encontrar ligeras variaciones en algunos casos. Todo dependerá de la distribución de Linux con la que trabajemos o de los tipos de programas que nos disponemos a añadir al sistema operativo. Pero con todo y con ello ahora ya tenemos claro cuál es la importancia de este formato de ficheros en concreto del que os hemos hablado en estas líneas.
Dónde descargar archivos DEB
Si a través de los métodos que utilizamos habitualmente para descargar e instalar aplicaciones, no encontramos el que estamos buscando podemos recurrir a las diferentes páginas web que agrupan archivo .DEB además de otros formatos. Todas las plataformas que os mostramos a continuación nos permiten descargar el contenido de forma totalmente gratuita, aunque, en muy pocas ocasiones, podemos encontrarnos con algún que otro paquete que es de pago.
Webs oficiales
Por supuesto, el mejor sitio del que podemos bajar todo tipo de programas para Linux son las páginas web de los desarrolladores. La mayoría de los programas tienen una web donde no solo nos explican cómo funciona un programa en cuestión, sino también nos mantienen al día del desarrollo, sus versiones y nos permiten bajar las últimas versiones, hasta la fecha, de estos programas.
Búsqueda de paquetes de Debian
Desde la web de Debian, también podemos descargar un gran número de paquetes en este formato. Además, a diferencia de las dos opciones anteriores, la web y todo el contenido se encuentra en español, por lo que será más fácil encontrar lo que buscamos si nuestros conocimientos de inglés son básicos o prácticamente inexistentes. Podemos acceder a esta web de paquetes DEB a través del siguiente enlace.
RPM Seek
A pesar del nombre, desde RPM Seek podemos, además de descargar paquetes en formato RPM también encontramos paquetes en formato .DEB. Esta página web nos permite aplicar un gran número de filtros a las búsquedas, por lo que, rápidamente vamos a saber si la aplicación estamos buscando están disponible o no.
RPM PBone
Otra interesante página web que tenemos a nuestra disposición para descargar paquetes en formato .DEB y .RPM es RPM PBone Search, una web que incluye un sistema de búsquedas muy avanzado que nos permite delimitar las búsquedas al máximo que nos ayudan conocer cuáles son las dependencias que también nos puede hacer falta en caso de no tenerlas instaladas.
GitHub
Además de las webs anteriores, si el programa es de código abierto, y está alojado en GitHub, es posible que el propio desarrollador, cada vez que lanza una nueva versión, suba el .DEB directamente al apartado de descargas de esta web. Basta con entrar en la página del proyecto, y descargar desde allí el fichero DEB correspondiente a nuestra arquitectura para poder instalarlo con doble clic.
Además de GitHub, también podemos encontrar este tipo de archivos en otras webs de código abierto, como GitLab. El proceso es igual, es decir, tendremos que buscar el instalador en dicha página, bajarlo e instalarlo en el PC.
Descargar paquetes para versiones inestables o de prueba
Si accedemos a la página web que os comentamos anteriormente para la descarga de paquetes de software especialmente diseñados para Debian, nos encontramos con 3 posibilidades. Por un lado podemos hacernos con los paquetes de software estables para esta distro de Linux. Pero al mismo tiempo tenemos la opción de elegir paquetes del software para la versión inestable del sistema o para la versión de pruebas.
La principal desventaja que podemos encontrar si nos decantamos por estas dos últimas modalidades de software, el que se pueden presentar fallos en la ejecución de los archivos Deb de los que os hablamos en estas líneas. Pero al mismo tiempo tendremos la oportunidad de probar de primera mano aquellos programas que van a llegar a las próximas versiones de Linux que aún están por lanzarse para todo el mundo. Además, el software que aquí encontramos aún no está preparado para actualizarse, con los problemas funcionales y de seguridad que podemos encontrar por ello.
Abrir DEB en Windows
También se puede dar el caso de que nos lleguemos a preguntar si podemos abrir este formato de archivo en concreto en nuestro equipo basado en Windows. Pues bien, hay que tener en consideración que de forma predeterminada este sistema operativo no puede abrir estos ficheros que os comentamos aquí. Lo que sí podemos hacer es utilizar otros programas de terceros por ejemplo para ver su contenido o por si lo necesitamos en un momento determinado.
Por ejemplo, tenemos la posibilidad de utilizar la aplicación llamada Zipware que es totalmente gratuita. No tendremos más que instalar este programa en concreto en nuestro equipo para ponerlo en funcionamiento y cargar el correspondiente archivo .DEB para así ver su contenido. Desde la ventana de esta aplicación podremos ver los archivos y carpetas almacenados en el mismo y de igual modo tendremos la oportunidad de descargar todo ese contenido a nuestro disco duro, todo ello directamente desde Windows.
Cómo abrir archivos .deb en macOS
También podemos abrir archivos con extensión .deb en cualquier equipo gestionado por macOS. Para hacerlo, podemos utilizar diferentes comandos utilizando Terminal. Por un lado, podemos utilizar el comando «ar» tal y como os mostramos a continuación.
ar -x nombrearchivo.deb
Otra opción pasa por utilizar dpkg, aplicación que podemos instalar desde la línea de comandos utilizando brew: «brew install dpkg». Una vez instalado, para descomprimir el contenido de un archivo con extensión .deb en macOS, utilizaremos el siguiente comando.
dpkg -x nombrearchivo.deb /nombredirectorio
La aplicación Zipware, que permite a los usuarios de Windows descomprimir estos paquetes en formato .deb no está disponible para macOS, por lo que tenemos la posibilidad de acceder al interior de estos archivos utilizando una interfaz gráfica, más allá de utilizar el Finder para acceder a la carpeta donde se ha comprimido el archivo utilizar «ar» o «dpkg».
Alternativas a los archivos DEB en Linux
Aunque el formato DEB es el más utilizado dentro de Linux (ya que las distros más usadas es el que usan, al estar basadas en Debian), no es la única opción que podemos encontrar a la hora de instalar programas dentro de este sistema operativo.
La primera de las alternativas, y una de las que seguro que más nos encontramos es RPM. Estos paquetes son típicos de las distros basadas en Fedora y Red Hat, formato en el que estarán los programas compilados y distribuidos para estos sistemas. También podemos encontrar otro formato bastante frecuente, como .tar.gz. Estos programas, por normal general, no están compilados, por lo que lo que estaremos bajando es el código del programa, y tendremos que compilarlo nosotros mismos.
Además, hay otros dos tipos de paquete que, poco a poco, parece que van destronando a los DEB tanto en Debian como en Ubuntu. El primero de ellos es SNAP, un tipo de empaquetado de aplicaciones muy completo en cuyo interior podemos encontrar absolutamente todas las dependencias y todo lo necesario para que el programa pueda ejecutarse sin problemas. El problema es que este formato está demasiado controlado por Canonical, por lo que a la comunidad no le convence esta alternativa. Por otro lado, tenemos los paquetes Flatpak. Esta alternativa es similar, en cuanto a concepto y seguridad, a los paquetes SNAP, pero son mucho más libres. Se caracterizan por estar dentro de un sandbox (cosa que los DEB no lo están), y funcionan en cualquier distro que esté preparada para usar este tipo de empaquetado.
Además, también debemos recordar que los programas se pueden buscar, bajar, instalar y actualizar desde los repositorios de software. Aquí es donde entran en juego los gestores de paquetes, como APT, en el caso de Debian/Ubuntu, Pacman, en el caso de Arch, Yum, en las distros basadas en Fedora.