Distribución de paquetes

Los sistemas GNU/Linux usan un repositorio para distribuir paquetes de software.

  • deb formato de empaquetado usado por Debian y sus descendientes.
    • Ubuntu, Linux Mint, KUbuntu
  • rpm formato de empaquetado usado por Red Hat, Suse, …
    • Red Hat Enterprise Linux, CentOS, Fedora
    • Suse Enterprise Linux, OpenSUSE

Distribución de paquetes (2)

Paquetes universales: se pueden instalar en cualquier distribución de GNU/Linux

  • Snap
  • Flatpak

Paquetes o programas portables: no necesitan instalación

  • AppImage

Distribución de paquetes en Debian

Advanced Packaging Tool (APT) es un sistema de administración de paquetes para Debian

  • Se basa en la herramienta dpkg (package manager for Debian)
  • Es usado por otras distribuciones de GNU/Linux derivadas de Debian como Ubuntu.
    • Los binaros para Debian no son necesariamente compatibles con los sistemas derivados de este.

Buscar un paquete

apt-cache search regex - Busca los paquetes según un témino o expresión regular.

Usar el témino jdk, para buscar el paquete (instalador) del Java Development Kit.

apt-cache search jdk

Los primeros resultados son los siguientes

default-jdk - Standard Java or Java compatible Development Kit
default-jdk-doc - Standard Java or Java compatible Development Kit (documentation)
default-jdk-headless - Standard Java or Java compatible Development Kit (headless)
gcj-5-jdk - GCJ and Classpath development tools for Java(TM)
...

Dependencias de un paquete

apt-cache show package-name(s) - Muestra información sobre los paquetes:

  • dependencias, version, tamaño, …

Para mostrar información sobre el paquete default-jdk

apt-cache show default-jdk

Paquete default-jdk

apt-cache show default-jdk
Package: default-jdk
Priority: optional
Section: devel
Installed-Size: 6
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Architecture: amd64
Source: java-common (0.56ubuntu2)
Version: 2:1.8-56ubuntu2
Provides: java-sdk, java2-sdk, java5-sdk, java6-sdk, java7-sdk, java8-sdk
Depends: default-jre (= 2:1.8-56ubuntu2), 
         default-jdk-headless (= 2:1.8-56ubuntu2), 
         openjdk-8-jdk
Filename: pool/main/j/java-common/default-jdk_1.8-56ubuntu2_amd64.deb
Size: 968

Instalar un paquete

apt-get install package-name(s) - Instala los paquetes especificados y sus dependencias

Para instalar el comando mc

sudo apt-get install mc

Eliminar un paquete

apt-get remove package-name(s): Eliminar el paquete especificado pero no elimina sus dependencias

Para eliminar el comando mc

sudo apt-get remove mc

Eliminar paquetes huérfanos

apt-get autoremove - Elimina cualquiera dependencia o paquete huérfano: aquellos que permanecen instalados pero no son necesarios.

Para desintalar los paquetes huérfanos instalados

sudo apt-get autoremove

Eliminar un paquete completamente

apt-get purge package-name(s) - Combina la función de remove y clean, también elimina los archivos de configuración.

Para desintalar el comando mc, sus dependencias y sus archivos de configuración

sudo apt-purge mc

Solo se eliminan las dependencias de mc que no son dependencias de ningún otro paquete instalado.

Configurar los repositorios

En el archivo /etc/apt/sources.list se guarda la configuración de los repositorios principales del sistema.

deb http://cu.archive.ubuntu.com/ubuntu/ bionic main restricted
deb-src http://cu.archive.ubuntu.com/ubuntu/ bionic main restricted

En el directorio /etc/apt/sources.list.d se guarda la configuración de otros repositorios adicionales.

/etc/apt/sources.list.d/
├── mendeley.list
└── vscode.list

Agregar el repositorio de VirtualBox

Crear el archivo virtualbox.list en el directorio
/etc/apt/sources.list.d/

Guardar la línea siguiente en virtualbox.list

deb https://download.virtualbox.org/virtualbox/debian bionic contrib

Actualizar la base de datos de APT

sudo apt-get update

Actualizar los paquetes del sistema

apt-get upgrade - Actualiza los paquetes del sistema que tengan actualizaciones disponibles.

Para actualizar los paquetes del sistema

sudo apt-get update
sudo apt-get upgrade

Bibliografía