jueves, 29 de abril de 2021

Gestión de paquetes (apt-get, apt, aptitude...)

Hace muchísimo que dejé de lado los instaladores gráficos, como son los ‘Centros de Software’, las ‘App-Stores’ y similar. Bueno, por matizarlo, la verdad es que alguna vez todavía uso Synaptic, que es la interface gráfica, en GTK+, de APT. Pero normalmente instalo siempre desde consola que, en general es la forma más sencilla y rápida de hacerlo… máxime cuando queremos instalar varios paquetes. Pero, por centrar, una vez más, las ideas, echemos un vistazo global al tema...

El comando ‘primigenio’, para gestionar (y en su caso, instalar) por consola paquetes *deb, de la gran familia Debian es el viejo ‘dpkg’.
DPKG tiene un gran potencial, pero la desventaja de que no gestiona bien las dependencias, y, tras la típica orden, desde consola de root,
# dpkg -i paquete.deb
nos puede generar un aviso de mala instalación, por dependencias incumplidas, que hay que tratar de solventar con un
# apt-get -f install paquete.deb
que complemente la orden de instalación anterior.
Asi que, por eso, yo solo utilizo dpkg (que, como dije, es muy potente) para las órdenes de configurar y reconfigurar paquetes…
sudo dpkg --configure nombre_paquete
sudo dpkg-reconfigure nombre_paquete

(Por cierto que, si hubiese problemas con ‘sudo’, leo que, desde Debian 10, para entrar en terminal de root hay que hacerlo con la orden (desde consola de usuario)
su -
(y contraseña)

Y, por lo dicho, para instalar paquetes deb (ya descargados al PC) suelo utilizar Gdebi.
GDebi es una muy conocida interface gráfica escrita en GTK+ para entornos Gnome, que ya viene instalada por defecto en la distro, y que resuelve dependencias. Por cierto, ya advertí (no se si será un ‘bug’) que últimamente solo me funciona bien NO abriendo el paquete deb con Gdebi SINO abriendo (ejecutando) Gdebi y cargando (Archivo-Abrir...) el paquete.

Y para todo lo demás, utilizo APT, APT-GET y, habitualmente APTITUDE.
Debo decir que, por lo que veo, y leo, me da la impresión de que APTITUDE es la herramienta más completa, y la que ofrece más alternativas en las instalaciones ‘algo conflictivas’ y por eso en mi Blog es la referencia habitual (aunque hasta ahora, por si no se instala automáticamente, haya que instalar el paquete con un ‘sudo apt install aptitude’ previo)
Pero últimamente ha aparecido APT, con bastante fuerza, mientras que APT-GET cada vez está más en desuso. Y, verdaderamente, teclear sudo apt es más cómodo que teclear sudo aptitude así que, para cosas sencillas, muchas veces uso 'apt'
Hombre, el que quiera investigar las diferencias entre estas tres herramientas que haga las pruebas pertinentes. Yo voy a poner aquí las distintas órdenes, por consola, con los tres comandos, matizando que…
Hay ordenes similares. Son las más típicas...
para instalar...
sudo apt (o apt-get, o aptitude) install nombre_paquete/s
para desinstalar...
sudo apt (o apt-get, o aptitude) remove nombre_paquete/s
Y, aun mejor, para desinstalar, eliminando un paquete, y su configuración...
sudo apt (o apt-get, o aptitude) purge nombre_paquete/s
y para eliminar dependencias innecesarias...
sudo apt (o apt-get, o aptitude) autoremove nombre_paquete/s

Pero hay otras en que cambia la sintaxis, como por ejemplo…
para actualizar paquetes (sin eliminar ni reinstalar cosas raras) donde
sudo apt (o apt-get) upgrade
instala lo instalable e indica qué paquetes quedan retenidos, mientras que...
sudo aptitude safe-upgrade
simplemente instala lo que puede instalar.

Y, a partir de aquí apt y aptitude van un poco de la mano, mientras que apt-get se desvía un poco… o no llega a eso. Por ejemplo...
para actualizar paquetes, eliminando o reinstalando, si es necesario se emplea...
sudo apt-get dist-upgrade
sudo apt (o aptitude) full-upgrade

para mostrar la información sobre un paquete...
apt (o aptitude) show nombre_paquete
para ver estado de un paquete y versión candidato...
apt (o aptitude) policy nombre_paquete
e incluso apt ofrece singularmente algunas cosas, como...
apt policy
apt list  (o apt list > list.txt)
sudo apt edit-sources
mientras que aptitude, por su parte, va por otros caminos y ofrece, en su ‘man aptitude’, muchísimas más opciones, que no es el caso (para un newbie como yo) ponerse a estudiarlas en profundidad..


Así que, aparte de comparar las opciones clásicas con apt, apt-get o aptitude (que puede tener su encanto) el que quiera profundizar en el tema, aquí (y en los correspondientes ‘man apt’, ‘man aptitude’ y/o ‘man apt-get’) tiene material para abrir un capítulo de análisis y reflexión.
Yo... es que soy muy vago...

No hay comentarios:

Publicar un comentario