Nala, instalación y uso con ejemplos
«Nala» es un frontend para «APT» que muestra la gestión de paquetes de una forma más fácil y más colorida. Esta herramienta facilita una interfaz de usuario más amigable para interactuar con «APT». Vemos sus características, como instalarlo y usarlo, con ejemplos.
Sumario
- Que es «nala»
- Características de «nala»
- Instalación
- Instalación de «nala» con «APT» desde los repositorios.
- Instalación de «nala» con el paquete «.deb».
- Instalación de «nala» con el código fuente.
- Como usar «nala».
Que es nala
«Nala» es una interfaz para «libapt-pkg» que utiliza la API «python-apt». Es software libre con licencia GPL, que viene a traer una alternativa al uso del gestor de paquetes «APT», aunque realmente es una interfaz «frontend» para este gestor, como «Aptitude» o «Synaptic».
Para aquellos que se inician en el uso de sistemas GNU/Linux, puede ser un poco complejo conocer la manera de gestionar los paquetes de software de «APT» al instalar o actualizar software. Según sus desarrolladores, el objetivo de «nala» es resolver esta situación al no mostrar mensajes redundantes, formatear mejor los paquetes, y usar el color para mostrar lo que sucede con un paquete durante su instalación, eliminación o actualización.
Características de nala
Esta herramienta nos ofrece unas nuevas características muy interesantes. Veamos algunas.
Descargas paralelas
La principal característica es que nos brinda la posibilidad de descargas paralelas. Permite la descarga de 3 paquetes de un único espejo configurado en nuestro «sources.list». Al abrir múltiples conexiones con el mismo espejo, acelera la descarga de paquetes pequeños, además nos permite alternar descargas desde distintos espejos, mejorando aun más la velocidad. Si un espejo falla, lo intentará con otro hasta que se agoten los que tenemos definidos en nuestro sistema. Para descargar y verificar los paquetes, «nala» no utiliza «APT».
Nala fetch
Esta función es similar a «netselect» y «netselect-apt». Lo primero que hace es determinar la distribución que tenemos, y después busca los espejos disponibles de nuestra distro. Comprueba las latencias y clasifica los espejos para elegir los más rápidos. Todo un punto a su favor.
«fetch» solo funcionará en Debian, Ubuntu y todos los derivados vinculados a sus repositorios oficiales.
Nala history
Otra gran característica de «nala» es su función «history». Todas las instalaciones, actualizaciones y eliminaciones, las almacena en el fichero «/var/lib/nala/history.json» con un número de «ID» único.
Esto nos permite llamar a «nala history» para comprobar cada operación realizada y aplicar otros comandos como «nala history undo» o «nala history redo». Incluso podemos borrar, de este fichero del historial, aquello que ya no necesitemos con «nala history clear». Especificando el «ID», borrará esa entrada, sin el «ID» borrará todo el historial.
El repositorio oficial se encuentra en «https://gitlab.com/volian/nala», pero lo encontramos reflejado en varios sitios como «GitHub» e incluso «Debian Salsa».
Instalación
En algunos casos, no en el de Debian 11, está en los repositorios y no hay ningún requisito previo, instalamos «nala», reiniciamos la shell y ya lo podemos utilizar. Como hemos comentado, en Debian 11, «nala» no está disponible en los repositorios oficiales como paquete «.deb», pero podemos elegir la versión que queramos y descargar el paquete «.deb», o el código fuente desde su página oficial y compilar e instalar el software. Vemos las formas de instalación.
Para obtener instrucciones de instalación de los desarrolladores, puedes consultar su página wiki.
Instalación de nala con APT desde los repositorios
Esta es la forma más sencilla de instalar «nala». Primero, como siempre, actualizamos nuestro sistema
sudo apt update ; sudo apt upgrade -y
E instalamos «nala»
sudo apt install nala
Si te dice que no encuentra el paquete tendrás que añadir el repositorio con el comando siguiente
echo "deb-src https://deb.volian.org/volian/ scar main" | sudo tee -a /etc/apt/sources.list.d/volian-archive-scar-unstable.list
Y lo instalas, actualizando primero la lista de paquetes
sudo apt update && sudo apt install nala
Se descargará e instalará el paquete principal y todas las dependencias necesarias. Este método te obliga a utilizar un repositorio inestable, por lo tanto te recomiendo instalar «nala» con uno de los siguientes métodos.
Instalación de nala con el paquete «.deb»
En este caso tenemos que descargar el paquete «.deb» desde su página oficial. Podemos elegir entre las versiones disponibles. En nuestro caso elegimos «nala-legacy_0.11.0_amd64.deb». Lo he probado con otras versiones como la última «nala_0.12.2_all.deb», pero plantea problemas por versiones de «python» en Debian 11.
Y lo instalamos con
sudo apt install ./volian-archive*.deb
En la página oficial del proyecto recomiendan, instalar los siguientes paquetes
Instalar el repositorio y la clave
Para instalar el repositorio y la clave ejecuta
volian-archive-keyring_0.1.0_all.deb
Y uno de los siguientes paquetes
volian-archive-nala_0.1.0_all.deb o volian-archive-scar_0.1.0_all.deb
Dicen que para Ubuntu 21.04 y Debian 11 puede ser necesario «volian-archive-scar_0.1.0_all.deb». Y que este fichero permitirá que se instalen nuevas dependencias para que «nala» funcione. Aunque ya hemos visto que con la versión «nala-legacy_0.11.0_amd64.deb», no hemos tenido ningún problema.
Instalación de nala con el código fuente
Hay 2 opciones para instalar el código fuente.
- Rama principal. Es la versión anterior a la versión actual.
- Rama principal, pero eliges una versión específica.
Primero nos tenemos que asegurar de tener las dependencias requeridas instaladas.
sudo apt install git python3-apt python3-debian pandoc -y
El siguiente paso es clonar el repositorio de Git.
git clone https://gitlab.com/volian/nala.git cd nala/
Si necesitas una versión específica, clona y compila con
git clone --branch=v0.12.1 https://gitlab.com/volian/nala.git cd /nala sudo make install
Nos pide que instalemos pip3
sudo apt install python3-pip
Y lo instalamos
sudo make install
Al final de la salida anterior nos dice que instalemos el fichero de configuración de «nala»
sudo mkdir -p /etc/nala sudo cp debian/nala.conf /etc/nala/nala.conf
Para versiones anteriores como Debian 10 «Buster» y derivados como Ubuntu 20.04, la instalación es un poco diferente
Con los siguientes comandos instalarás «nala» con «pip», junto con las páginas de manual, las traducciones, las terminaciones de shell y el archivo de configuración.
«nala» requiere «python3.9+», y estas distribuciones no la tienen instalada. Con este método instalamos python3.10 desde su código fuente, ya que es la versión con la que se desarrolla «nala». Descargamos todas las dependencias.
sudo apt-get install -y wget build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev
Compilamos e instalamos «nala»
sudo make legacy
Con este método, cada vez que queramos actualizar, deberemos ejecutar el siguiente comando, para que omita la actualización de «python».
sudo make legacy-update
Y para desinstalarlo
sudo make uninstall o sudo make uninstall-legacy
Como usar nala
Vemos con algunos ejemplos como utilizar «nala»
Instalación de paquetes
Ya lo tenemos instalado y disponible. Lo podemos utilizar para instalar y administrar paquetes en nuestro sistema. Veamos como funciona.
Para instalar paquetes la sintaxis es muy sencilla
sudo nala install [nombre_del_paquete]
Por ejemplo, en este caso instalamos el paquete «nfs-kernel-server».
sudo nala install nfs-kernel-server
La salida del comando nos muestra una lista formateada de los paquetes que van a ser instalados. Presionas «Y» y comienza la instalación.
Como vemos en la captura, el instalador muestra dos secciones separadas para descargar e instalar los paquetes, cada una con su barra de progreso. Al finalizar nos mostrará el mensaje «Terminado con exito».
Eliminación de paquetes
La sintaxis también es muy sencilla. Como ves el uso es igual a «apt».
sudo nala remove [nombre_del_paquete]
Desinstalamos el paquete anterior
sudo nala remove nfs-kernel-server
Aquí veremos la barra de progreso y el mensaje de confirmación cuando termine.
Eliminación de paquetes y configuración del software
Para esta acción utilizamos el comando «purge», que desinstalará la aplicación y toda la configuración que hayamos hecho.
sudo nala purge [nombre_del_paquete]
En mi caso
sudo nala purge nfs-kernel-server
Actualización de paquetes
Para actualizar la lista de paquetes disponibles en los repositorios que tengamos en «sources.list» ejecutamos
sudo nala update
Realiza lo mismo que «apt update» y nos muestra un mensaje indicando si hay paquetes para instalar.
Lista de paquetes disponibles
Para ver la lista de paquetes disponibles para instalar ejecuta
nala list
Nos da una lista muy larga de paquetes que puedes instalar.
Si añadimos la opción «upgradeable» nos dirá los paquetes que podemos actualizar.
nala list --upgradeable
Otras opciones que podemos utilizar con «list» son
- –installed (-i) muestra solo los paquetes instalados en el sistema.
- –nala-installed (-N) muestra los paquetes instalados usando nala.
- –all-versions (-a) [nombre_del_paquete] enumera todas las versiones del paquete dado.
Actualización de paquetes
Si lo que queremos es actualizar paquetes ya instalados
sudo nala upgrade
Cuando ejecutamos este comando, «nala» primero actualiza la lista de paquetes, y luego nos muestra una lista de paquetes a actualizar. Con «Y» y «Enter», se iniciará el proceso. Al acabar tendremos el mensaje de confirmación.
Nala fetch
Como hemos comentado en las características de «nala», una de las ventajas que tiene sobre «APT», es que selecciona los espejos de descarga más rápidos. Genera una lista de espejos de descargas ordenada por latencias, para que elijamos.
Para ver esta lista ejecuta
sudo nala fetch
«nala» hace su trabajo y nos muestra la lista ordenada
Ahora elegimos los espejos que queremos utilizar, indicando los números del índice mostrado, separados por un espacio, presionamos «Enter» y confirmamos con «Y».
«nala» escribirá la nueva lista de espejos en nuestro fichero «/etc/apt/sources.list.d/nala-sources.list».
Ver detalles de los paquetes
Para ver los detalles de un paquete concreto ejecuta
nala show [nombre_del_paquete] # por ejemplo nala show xwayland
En la salida del comando anterior veremos información esencial del paquete, como el nombre, versión, la arquitectura, el tamaño, la sección del repositorio, la información del mantenedor, la descripción del paquete y las dependencias.
Historial de nala
Otra de las características que hemos comentado, es que «nala», crea una lista de operaciones realizadas, asignándoles un identificador único «ID». Podemos ver el historial de operaciones realizas con «nala». Para ello ejecuta
nala history
Tienes más opciones como por ejemplo, para deshacer los cambios realizados por una operación ejecuta
sudo nala history undo [operación-id]
Para revertir los cambios
sudo nala history redo [operación-id]
Si quieres borrar una entrada del historial
sudo nala history clear [operación-id]
Para borrar la lista entera del historial
sudo nala history clear --all
Limpiar el repositorio local
Para eliminar los ficheros de caché locales ejecuta
sudo nala clean
Otros argumentos disponibles
Aún tenemos más opciones, las vemos
- –assume-yes (-y) proporciona la respuesta afirmativa a todas las solicitudes y permite que el comando se ejecute de forma no interactiva.
- –debug y –verbose (-v) proporcionan información adicional relacionada con la depuración.
- –download-only (-d) le dice a «nala» que descargue paquetes pero no que los desempaquete ni instale.
- –help (-h) muestra la sección de ayuda.
- –no-autoremove desactiva la eliminación automática de paquetes.
- –no-update le indica a nala que omita la actualización de los paquetes.
- –raw-dpkg deshabilita el formateo y muestra la salida de «dpkg» sin procesar.
- –remove-essential permite eliminar todos los paquetes, incluidos los esenciales.
- –update le dice a nala que realice la actualización del paquete.
- –version muestra el número de versión de nala.
Si tienes algún comentario que hacer sobre este artículo, al pie del post tienes un formulario para hacerlo.
Si quieres contactar conmigo por cualquier otro asunto relacionado con el sitio, en la página de contacto , tienes un formulario más adecuado.
Y para suscribirte y recibir las novedades publicadas, tienes un enlace en pie de la página o desde aquí mismo.