Sabe quando você executa um comando “apt update” ou “apt upgrade” no terminal do seu Ubuntu, mas não entende muito bem os endereços e nomes de pacotes descritos na saída deste comando? O Nala existe para solucionar esta dificuldade.
Ela é uma interface para a libapt-pkg, escrita utilizando a API python-apt, sendo uma opção interessante para os recém-chegados no Linux que utilizam distribuições baseadas no Ubuntu.
As funcionalidades do Nala
Um dos objetivos do projeto é que o Nala mostre apenas as mensagens essenciais, trazendo uma melhor formatação, utilizando cores e mostrando especificamente o que acontecerá com um pacote durante a instalação, remoção ou atualização.
Abaixo listamos algumas funcionalidades do Nala que podem ser muito úteis na utilização dos comandos do apt no seu dia-a-dia.
Downloads paralelos
Além da formatação melhorada, outro grande motivo para usar o Nala são os downloads paralelos, enquanto o apt por padrão faz download de um pacote por vez, o Nala pode baixar vários.
São baixados 2 pacotes por espelho, até um máximo de 16 o que mostra que o Nala pode ser 16 vezes mais rápido que o apt.
Com esta função os downloads são alternados entre os espelhos disponíveis para melhorar ainda mais a velocidade, trazendo redundância caso um espelho falhe, por exemplo.
Buscando melhores fontes de download
Este recurso funciona através do comando “nala fetch” de forma semelhante como os comandos netselect e netselect-apt.
Este comando verificará se sua distro é Debian ou Ubuntu, então, selecionará todos os espelhos da lista principal.
Após isto, a latência de cada um deles será testada e ganharão pontuações.
O Nala escolherá os 3 espelhos melhores e os gravará em um arquivo, deixando os próximos downloads mais rápidos.
É importante informar que no momento, o nala fetch está funcionando apenas no Debian, Ubuntu e derivados ainda utilizando os repositórios oficiais.
Histórico de comandos
Um recurso muito apreciado no Fedora ou distribuições base RedHat que utilizam o gerenciador de pacotes dnf é o histórico de comandos.
Cada instalação, remoção ou atualização realizadas serão salvas em /var/lib/nala/history.json com um número exclusivo.
A qualquer momento você pode chamar o histórico do nala através do comando “nala history” para ver um resumo de todas as transações já feitas.
Como instalar o Nala no APT
Para instalar o Nala é simples. Você deve adicionar o repositório “Volian Scar”, em seguida, instalar o software, lembrando que atualmente apenas os pacotes amd64, arm64 e armhf são suportados. Neste tutorial utilizamos o Ubuntu 21.10 e um processador com arquitetura x64.
Instalação via terminal
Para instalar, abra o terminal do seu Ubuntu, pesquisando por “Terminal” no menu de aplicativos ou então inicie ele com o atalho de teclado Ctrl + Alt + T.
Com o terminal aberto digite ou copie e cole o seguinte comando:
echo "deb [arch=amd64,arm64,armhf] http://deb.volian.org/volian/ scar main" | sudo tee /etc/apt/sources.list.d/volian-archive-scar-unstable.list
wget -qO - https://deb.volian.org/volian/scar.key | sudo tee /etc/apt/trusted.gpg.d/volian-archive-scar-unstable.gpg > /dev/null
sudo apt update && sudo apt install nala
Com este comando você terá a saída em seu terminal conforme a imagem abaixo:
Aguarde o progresso de download e instalação. Pronto! O Nala já estará instalado no seu Ubuntu ou distribuição derivada que utiliza o apt.
Instalação via pacote deb
Se você preferir, poderá realizar a instalação através de um pacote deb e executá-lo localmente através do apt ou dpkg.
Para baixar o pacote, você pode acessar a página de lançamentos do projeto.
Após isto, você pode utilizar alguns comandos para instalar o Nala, utilizando o caminho onde o arquivo foi salvo após o download como no exemplos abaixo:
sudo apt install /home/lucaslh/Downloads/nala_0.7.2-0volian1_amd64.deb
sudo dpkg -i /home/lucaslh/Downloads/nala_0.7.2-0volian1_amd64.deb
sudo apt install -f
Diferenças entre os principais comandos
Abaixo você pode verificar as diferenças entre o apt e o nala nas saídas do terminal de cada um dos comandos mais utilizados:
- sudo apt update
No comando apt update o sistema ressincroniza os arquivos do índice de pacotes de suas fontes, trazendo a quantidade de pacotes que podem ser atualizados e mostra o comando para listá-los.
- sudo nala update
O comando nala update, tem a mesma função, fazer a sincronização do índice de pacotes e suas fontes, mas já traz também quais são estes pacotes com seus nomes e a nova versão que pode ser recebida.
- sudo apt upgrade
No apt upgrade, que faz a atualização delicada do sistema, os nomes dos pacotes que serão atualizados são listados de forma linear, apenas com um espaçamento comum entre um e outro.
- sudo nala upgrade
Já o nala upgrade separa em sessões e cores todos os pacotes que serão removidos (vermelho), adicionados (verde) e atualizados (azul).
- progresso apt após aceitar o upgrade
Após aceitar o upgrade do sistema via apt, vemos os processos de preparação e instalação de cada pacote com uma barra de progresso simples e funcional.
- progresso do nala após aceitar o upgrade
No nala upgrade após dizer sim para a atualização é mostrado um quadro de download mais elaborado, mostrando além da porcentagem, quanto tempo resta e a quantidade em MB já baixados.
- sudo apt install
Da mesma forma como no apt upgrade, o apt install mostra os pacotes que serão instalados e os sugeridos de forma linear.
- sudo nala install
No nala install são mostradas duas sessões também com cores distintas, os pacotes que serão instalados em verde e os pacotes sugeridos em roxo.
- sudo apt remove
Para o apt remove os pacotes a serem desinstalados do sistema aparecerão um ao lado do outro com um resumo ao final mostrando quanto espaço em disco será liberado.
- sudo nala remove
Neste ponto o comando “nala remove” apresenta as mesmas informações, porém, os pacotes são mostrados em forma de lista informando o tamanho individual de cada pacote que será retirado do sistema.
Você gostou da interface Nala para o apt? Nos conte nos comentários se você já conhecia e se irá utilizá-lo.
Agradecemos sua leitura. Até a próxima!