Instalar programas Debian

Instalar programas en Linux Debian

Comparto una pequeña parte de los apuntes del curso de Linux que trata sobre la instalación de programas (paquetes de software) en sistemas operativos Debian y sus derivados (Ubuntu, mint, MX Linux, etc.). Se verá el uso de las herramientas apt, dpkg y otras como Dselect, Aptitude y Synaptic.

Linux LPIC-1. Examen 101

Apuntes no oficiales

Linux LPIC-1 Examen 101. Apuntes no oficiales por Marcelo Horacio Fortino. Versión 1.1. Agosto 2021.

Esta obra está sujeta a la licencia Reconocimiento-CompartirIgual 4.0 Internacional de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/.
Puede hallar permisos más allá de los concedidos con esta licencia en https://fortinux.com. Sugerencias y comentarios a info@fortinux.com

Todas las marcas son propiedad de sus respectivos dueños. Linux® es una marca registrada de Linus Torvalds. Ubuntu® es una marca registrada de Canonical Limited. Google® es una marca registrada de Google Inc.

Versión Autor/es Fecha Observaciones
1.0 Marcelo Horacio Fortino 2019/Agosto Curso LPIC 101
1.1 Marcelo Horacio Fortino 2021/Agosto Convertido a markdown – ipynb

Esta obra se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso sin la garantía MERCANTIL implícita o sin garantizar la CONVENIENCIA PARA UN PROPÓSITO PARTICULAR. El autor no asume ninguna responsabilidad si el lector hace un mal uso de la mismo.

Sugerencias y comentarios a info@fortinux.com.

Estos apuntes didácticos se basan en:

Bibliografía

Tema 102: Instalación de Linux y gestión de paquetes

102.4 Gestión de paquetes Debian

  • Importancia: 3
  • Descripción: El candidato debe ser capaz de llevar a cabo la gestión de paquetes usando las herramientas de Debian.
  • Áreas de conocimiento clave:
  • Instalar, actualizar y desinstalar paquetes binarios de Debian.
  • Encontrar paquetes que contengan archivos o librerías específicos (estén o no instalados).
  • Obtener información del paquete como la versión, contenido, dependencias, integridad del paquete y estado de la instalación (tanto si el paquete está instalado como si no lo está).
  • Conocimientos de apt.
  • Lista parcial de los archivos, términos y utilidades utilizados:
  • /etc/apt/sources.list
  • dpkg
  • dpkg-reconfigure
  • apt-get
  • apt-cache

Sistema de gestión de paquetes

  • Un sistema operativo Linux o distribución es una colección de software que contiene entre otras cosas:
  • El Linux kernel,
  • Bibliotecas compartidas usadas por varios programas,
  • Shells utilizadas para interpretar los comandos,
  • Interfaz gráfica (X Window System GUI),
  • Aplicaciones varias.
  • Hay dos herramientas principales de administración de paquetes de Linux: RPM y Debian dpkg.
  • Éstas mantienen información sobre los paquetes de software que están instalados en el ordenador, una base de datos de archivos instalados, dependencias o los requisitos de los paquetes entre sí, y sumas de comprobación o verificación de la validez del software.
  • Por otra parte permiten instalar, actualizar y desinstalar aplicaciones de forma fácil.
  • Tanto el sistema de paquetes RPM como Debian dpkg además proporcionan herramientas para ayudar a crear paquetes binarios a partir del código fuente.
  • Los paquetes Debian son incompatibles con los paquetes RPM pero se puede instalar la aplicación alien para convertir un paquete RPM en un .deb.
sudo apt-get install alien
  • Convertir el paquete a .deb:
sudo alien package-name.tar.gz
  • Convertir el paquete a .rpm:
sudo alien -d package-name.rpm
  • Convertir el paquete package.rpm en un package.deb para luego instalarlo:
alien -i package-name.rpm
  • Para evitar que alien cambie el número de versión del paquete se usa:
alien -k rpm-package-file.rpm

Repositorios Debian

  • Los sistemas basados en Debian incluyen un fichero, /etc/apt/sources.list, que especifica los lugares o repositorios (fuentes) desde donde se pueden descargar los paquetes.
  • No se deben agregar repositorios a /etc/apt/sources.list a menos que sean confiables.
  • Un generador de listas de fuentes para Debian: https://debgen.simplylinux.ch/
  • Por ejemplo, para agregar un repositorio a /etc/apt/sources.list.d/ usando add-apt-repository:
sudo apt-key adv --recv-keys --keyserver keys.gnupg.net  74A941BA219EC810
sudo add-apt-repository "deb http://deb.torproject.org/torproject.org $(lsb_release -s -c) main"
sudo add-apt-repository ppa:gnome-terminator

Distribuciones Debian y convenciones

  • Distribuciones derivadas de Debian: Ubuntu Mate, Kubuntu, Lubuntu, Ubuntu Studio, Ubuntu Kylin, MX Linux, AntiX, Mint, Kali, Parrot, etc.
  • Convenciones para los nombres: Un fichero que finaliza en i386.deb indica que es un binario x86, powerpc.deb es un binario PowerPC, y all.deb indica que es un paquete CPU-independiente, como pueden ser la documentación de una aplicación o ciertos scripts.

DPKG

  • El fichero de configuración principal de dpkg es /etc/dpkg/dpkg.cfg o ~/.dpkg.cfg.
  • Para instalar un paquete en Debian (.deb) se usa el comando dpkg.
  • Instalar un paquete:
sudo dpkg -i # o en su defecto --install 
sudo dpkg -i /ruta/al/fichero/deb
sudo apt-get install -f
  • Re-configurar un paquete ya instalado:
sudo dpkg --configure  
sudo dpkg-reconfigure tzdata
  • Remover un paquete dejando los ficheros de configuración intactos:
sudo dpkg -r # o en su defecto --remove
  • Remover un paquete incluyendo los ficheros de configuración:
sudo dpkg -P # o en su defecto --purge
  • Mostrar información sobre un paquete instalado (apt-cache show):
sudo dpkg -p # o en su defecto --print-avail
  • Mostrar información sobre un paquete desinstalado:
sudo dpkg -I # o en su defecto --info
  • Listar todos los paquetes:
dpkg --get-selections

dpkg ubuntu

  • Listar todos los paquetes cuyos nombres coinciden con el patrón:
sudo dpkg -l patrón # o en su defecto --list patrón
  • Listar todos los ficheros instalados asociados con un paquete:
sudo dpkg -L # o en su defecto --listfiles paquete
  • Localizar el paquete(s) que es propietario del/los fichero(s) especificados en un patrón:
sudo dpkg -S patrón # o en su defecto --search  patrón
  • Buscar por paquetes parcialmente instalados.
  • Este comando sugiere que hacer con ellos y si no encuentra errores no muestra nada:
sudo dpkg -C # o en su defecto --audit

APT

  • Los sistemas basados en Debian también tienen apt-get y dselect para manejar la instalación y eliminación de paquetes.
  • Para APT (Advanced Packaging Tool), el archivo de configuración principal es /etc/apt/sources.list.
  • La configuración de APT proporcionada por los paquetes se instala como archivos separados en /etc/apt/apt.conf.d/ para que pueda agregarse y actualizarse independientemente de cualquier cambio local que realice en el archivo de configuración principal que controla las opciones de APT y dselect.
  • Se puede usar en las nuevas versiones de Linux simplemente apt como comando, en las antiguas es necesario usar apt-get. La sintaxis es similar a dpkg:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install
sudo apt-get remove
sudo apt-get purge
  • Mostrar la base de datos de paquetes para verificar los paquetes instalados quebrados y/o inconsistencias:
sudo apt-get check
  • Para reparar dependencias rotas se usa sudo apt install -f, y para buscar ficheros dentro de los paquetes sudo apt-file.
  • Clean realiza tareas de limpieza para ayudar a borrar la información sobre los archivos recuperados de la base de datos del paquete Debian:
sudo apt-get clean
  • Similar a clean, pero elimina información de paquetes que no pueden ser más descargados:
sudo apt-get autoclean 
sudo apt-get autoremove
  • Las opciones más usadas de apt-get:

-d o en su defecto –download-only
-f o en su defecto –fix-broken
-m , –ignore-missing, o en su defecto –fix-missing
-s , –simulate , –just-print , –dry-run , –recon, o en su defecto –no-act
-y , –yes , o en su defecto –assume-yes (source command)
-b , –compile, o en su defecto –build (install command)

  • Easter egg:
sudo apt-get moo

Apt-cache

  • La suite de herramientas APT incluye apt-cache, el cual provee información sobre la base de datos de paquetes Debian.
  • Buscar paquetes:
apt-cache search nano
  • Mostrar información sobre un paquete:
apt-cache showpkg nano
  • Mostrar estadísticas del paquete:
apt-cache stats
  • Encontrar dependencias no satisfechas:
apt-cache unmet nano
  • Mostrar dependencias:
apt-cache depends nano
  • Localizar todos los paquetes con ese nombre:
apt-cache pkgnames nano

Dselect, Aptitude, Synaptic

  • El programa dselect es un navegador de paquetes de alto nivel actualmente poco utilizado.
  • Se puede instalar con:
sudo apt install dselect
  • Se ejecuta con:
sudo dselect
  • Otro gestor de paquetes basado en texto de Debian es aptitude.
  • Aptitude combina las características interactivas de dselect con las opciones de línea de comandos de apt-get. De los tres programas actualmente APT es el más utilizado.
  • Algunos ejemplos del uso de este gestor de paquetes:
sudo aptitude search package
sudo aptitude update
sudo aptitude install package
sudo aptitude help
sudo aptitude -v moo
  • Una herramienta similar para la gestión de paquetes es Synaptic, la interfaz gráfica (GUI) de APT.
  • No se puede ejecutar desde la línea de comandos a menos que se tenga un entorno de ventanas para poder trabajar con la aplicación.
  • Debian mantiene una colección de paquetes en el sitio web https://www.debian.org/distrib/packages.

Imagen de portada: Element5 Digital en Pexels https://www.pexels.com/es-es/foto/libros-surtidos-en-el-estante-1370295/

Si buscas un formador para realizar este curso u otra actividad formativa (webinar, workshops, bootcamps, etc.) en tu organización, me puedes ubicar a través de la página de contacto. Muchas gracias.

Si te ha gustado el artículo puedes ayudarme haciendo una donación con criptomonedas. Gracias!!!