Jueves 19/01/2023

ETIQUETA | Software

paquetes_deb

En realidad "apt" y "dpkg" son la misma cosa. De hecho "apt" utiliza a "dpkg" como "back-end" cuando realizamos una instalación. Podriamos definir a "apt" como una interfaz más amigable y completa que "dpkg".

Instalar paquetes locales (descargados previamente de internet) con "apt" en lugar de con "dpkg" tiene la ventaja de que "apt" busca y resuelve las dependencias faltantes.

En el siguiente cuadro te relaciono las cuatro principales funciones de "apt" y "dpkg" con sus diferencias y similitudes.

Función     apt       dpkg  
  1.- Instala paquetes remotos   Si No
  2.- Instala paquetes locales Si Si
  3.- Resuelve dependencias Si No
  4.- Lista paquetes Instalados Si Si

Si el paquete que queremos instalar se encuentra ya descargado en nuestro ordenador, solemos instalarlo con "dpkg" (al menos es mi costumbre), cuando sería más lógico hacerlo con "apt" para satisfacer las dependencias con una sola orden.

A modo de ejemplo voy a realizar la instalación del lector de libros foliate, que no se encuentra en los repositorios de Raspberry Pi OS, descargándolo de su página de githuh e instalándolo con ambos métodos:

Haciendo la instalación con "apt"

Lo descargamos con:

wget https://github.com/johnfactotum/foliate/releases/download/2.6.4/com.github.johnfactotum.foliate_2.6.4_all.deb -O foliate.deb

A la descarga con "wget" le hemos añadido al final "-O foliate.deb" para renombrarlo con un nombre más corto y posteriormente pasamos a instalarlo con "apt"

sudo apt install ./foliate.deb

El ./ (punto barra) que precede al nombre del archivo es la ruta relativa que le indica a "apt" que el archivo a instalar se encuentra en el directorio de trabajo actual.

Con esto quedaría instalado con sus dependencias necesarias.

Haciendo la instalación con "dpkg"

En caso de que hubieramos hecho la instalación con "dpkg" hubieramos necesitado los cuatro pasos siguientes:

wget https://github.com/johnfactotum/foliate/releases/download/2.6.4/com.github.johnfactotum.foliate_2.6.4_all.deb -O foliate.deb
sudo dpkg -i foliate.deb
sudo apt install -f
sudo dpkg -i foliate.deb

El tercer paso "sudo apt install -f" instalaría las dependencias faltantes y luego tendríamos que volver a ejecutar "sudo dpkg -i foliate.deb"

Más sobre el uso de "apt" y "dpkg" en este enlace: Apt vs Dpkg

Espero que este pequeño "tip" sea de utilidad.

Salud(os).


§