lunes, 29 de mayo de 2023

Nala: nueva interfaz para apt

¿Qué es Nala?

Nala es una nueva interfaz para el gestor de paquetes APT (libapt-pkg), usando la API (python-apt). Diseñada para hacer mas legible, de forma rápida y fácil la gestión de paquetes. Por defecto incluye la salida en colores, en secciones, y en idioma español.

Nala incluye las siguientes novedades:

- Descargas de paquetes en paralelos.
- Opción de seleccionar el repositorio más rápidos.
- Historial de gestión de paquetes.





Comandos básicos para usar nala

autopurge = Purgar automáticamente paquetes que ya no se necesitan.
autoremove = Desinstalar automáticamente paquetes que ya no se necesitan.
clean = Borrar los archivos locales de los paquetes descargados.
fetch = Obtener los servidores espejo más rápidos para acelerar las descargas.
history = Mostrar el historial de transacciones.
install = Instalar paquetes.
list = Listar paquetes basándose en el nombre de los paquetes.
purge = Purgar paquetes.
remove = Desinstalar paquetes.
search = Buscar en los nombres y descripciones de los paquetes.
show = Mostrar los detalles del paquete.
update = Actualizar la lista de paquetes.
upgrade = Actualizar la lista de paquetes y el sistema.

Nota importante: Cuando usamos nala para instalar y/o actualizar uno o varios paquetes, tenemos que saber que: por defecto nala viene configurado con el parámetro -autoremove es decir. que nala va a eliminar automáticamente cualquier paquete que ya no sea necesario para el sistema, como kernel antiguos, librerías huérfanas, etc. Podemos cambiar estas y otras opciones que viene por defecto, editando el archivo de configuración (lo vemos al final de este manual)




Parámetros opcionales de Nala

Para ver la totalidad de parámetros que soportan cada comando de nala, escribimos:

nala nombre_del_comando --help o nala nombre_del_comando -h

y nos mostrará todos los parámetros que soporta dicho comando.

Lista de algunos parámetros que se pueden usar.

--assume-yes o -y = responde: si (yes) a todas las solicitudes y permite que el comando se ejecute de forma no interactiva.
--assume-no o -n = responde: no a todas las solicitudes y permite que el comando se ejecute de forma no interactiva.
--debugy --verbose o -v = proporcionar información adicional relacionada con la depuración.
--download-only o -d = se descargan los paquetes, pero que no los descomprima ni los instale.
--help o -h = muestra la sección de ayuda.
--no-autoremove = deshabilita la eliminación automática de paquetes.
--no-update = omita la actualización de los paquetes.
--update = actualiza la lista de paquetes.
--version = muestra la versión de Nala.








Instalar Nala

Como siempre hacemos en este blog, y con la ayuda del programa synaptic o de apt, instalamos el siguiente paquete: nala

apt install nala





- Descargas de paquetes en paralelos.

Una de las limitaciones de la interfaz de apt, es que solo se puede descargar un paquete a la vez. Nala por defecto puede descargar hasta tres paquetes simultáneamente por cada repositorio. Esto mejora la velocidad de descarga de paquetes, especialmente cuando es una instalación o actualización de muchos paquetes.

Nala monitorea continuamente el estado de los repositorio. Si un repositorio falla, se busca automáticamente en el siguiente repositorio que funcione.


- Opción de seleccionar el repositorio más rápidos.

Elegir un buen repositorio depende de algunos factores, que nosotros no podemos controlar, como son: latencia, distancia al servidor, ancho de banda de la conexión, numero de usuarios conectados, etc..). Con Nala podemos seleccionar los más rápidos (según los factores, en un momento dado), ya que un repositorio, ahora puede ser rápido, y dentro de media hora puede ser el mas lento según los factores que hemos indicado antes.

Nota: Este apartado depende de cada usuario, de la posición geográfica del pc, de la conexión de dicho pc, etc...


Como seleccionar el repositorio mas rápidos

Para generar una la lista de repositorios más rápidos, hacemos lo siguiente:

1. Usando el comando: fetch para que nos genera un lista con los repositorios más rápidos para nuestro ordenador.

nala fetch

Nala realiza las mediciones de latencia y muestra la lista.

2. Seleccionaremos los repositorios que vamos a utilizar, escribiendo sus números de índice separados por espacios y al finalizar presionamos la tecla Intro

3. Para confirmar la selección, pulsamos la tecla Y y luego la tecla intro

4. Por último, Nala escribe la nueva lista de espejos en el /etc/apt/sources.list.d/nala-sources.list


- Historial de gestión de paquetes.

Con Nala podemos ver el historial del uso de la gestión de paquetes. Cada instalación, actualización o eliminación la almacenamos en un archivo con un ID único, llamado: /var/lib/nala/history.json





1- Mostrar historial de la gestión de paquetes

Para ver el historial de la gestión de paquetes, usamos el comando: history

nala history

Nala crea una lista en la que cada gestión realizada, tiene una identificación única llamada: ID.




2- Para deshacer los cambios realizados en una gestión de paquetes, usamos el siguiente comando:

nala history undo identificación_única_ID

3- Para revertir los cambios usamos el comando: redo

nala history redo identificación_única_ID

4- Para Eliminar una entrada usamos el comando: clear

nala history clear identificación_única_ID

5- Para borrar toda la lista de transacciones, usamos el siguiente comando:

nala history clear --all


Limpiar la cache de paquetes descargados

Para Eliminar los archivos de la caché de nuestro ordenador usamos el comando: clean

nala clean

El resultado confirma que la operación fue exitosa.



Mostrar detalles de un paquete

Usaremos el siguiente comando para ver información detallada sobre un paquete: show

show nombre_del_paquete


El resultado incluye la información esencial del paquete, como el nombre, la arquitectura, el tamaño, la sección del repositorio, la información del mantenedor, la descripción del paquete, etc...




Editando el archivo de configuración de nala

Para cambiar la configuración por defecto de nala, editamos el siguiente archivo:

nano /etc/nala/nala.conf

Ahora buscamos las opciones y/o parámetros que deseemos modificar. Es tan fácil como cambiar la palabra true (activar) por false (denegar) y viceversa. Los parámetros por defecto se encuentran en la sección [Nala]

A mi personalmente no me interesa que este activado por defecto el autoremove (ya lo usaré, cuando yo lo requiera, usando el siguiente comando: nala autoremove), con lo cual lo desactivo, cambiando de true a false en la siguiente línea:

auto_remove = true y lo dejo auto_remove = false

Observación: En las siguientes 4 capturas de pantalla muestro como aparece dicha opción por defecto y como lo ha cambiado. Y el resultado que nos devuelve en ambos casos.

================================================================
[Nala]
# Set to false to disable scrolling text
scrolling_text = true

# Set to true for a more condensed transaction summary
simple_summary = false

# Set to false to disable auto auto-removing
auto_remove = true

# Set to false to disable auto updating the package list
# when running the upgrade command
auto_update = true

# Set to true Nala will list the upgradable packages automatically after `update`
update_show_packages = false

# Set to true and Nala will always assume yes
assume_yes = false

# Set to true for `MiB` false for `MB`
filesize_binary = false

# Set to true for `MegaBit` false for `MegaByte`
transfer_speed_bits = false

================================================================








Captura de pantallas de un proceso de actualización del sistema usando: nala upgrade