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:
- LPI Learning Materials. LPIC-1 Exam 101 Version 5.0. 2021
https://learning.lpi.org/en/learning-materials/101-500/, - La bibliografía presentada en este documento, y
- Documentación propia recogida a lo largo de los años de diversas fuentes.
Bibliografía
- LPI Learning Materials. LPIC-1 Exam 101 Version 5.0. 2021
Recuperado de https://learning.lpi.org/en/learning-materials/101-500/ - Erker, T., Lingnau, A. Introduction to Linux for Users and Administrators. Tuxacademy. (2015).
Recuperado de https://www.tuxcademy.org/download/en/grd1/grd1-en-manual.pdf - Erker, T., Lingnau, A. Linux Administration I System and Users. Tuxacademy. (2015).
Recuperado de https://www.tuxcademy.org/download/en/adm1/adm1-en-manual.pdf
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
- 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!!!