Nala

Nala – APT on Steroids

Wer seine Debian-Installation per APT auf der Kommandozeile aktualisiert oder neue Pakete installiert, der weiß, dass die Ausgabe visuell wenig ansprechend und zudem stellenweise auch zurückhaltend mit Informationen ist. Ein weiterer Kritikpunkt ist die Geschwindigkeit, oder besser gesagt die Langsamkeit, besonders der Update-Funktion.

Hier kommt Nala ins Spiel, ein Projekt auf GitLab, dass für diese Kritikpunkten Abhilfe schaffen will. Der Entwickler selbst nutzt Debian Sid und dafür ist Nala in erster Linie ausgelegt, was aber nicht heißt, dass es mit Debian Stable nicht funktioniert. Bei Sid oder Testing ergibt es allerdings mehr Sinn, weil hier täglich mehrmals neue Pakete eintrudeln und viele Sid-Anwender auch täglich aktualisieren.

Was will Nala besser machen?

Nala ist ein Front-End für libapt-pkg und verwendet insbesondere die Python-API als Schnittstelle. Die Entwickler sehen besonders für neue Anwender Schwierigkeiten, zu verstehen, was APT jeweils tun will, wenn Pakete installiert oder aktualisiert werden. Dieses Problem versucht Nala zu lösen, indem einige überflüssige Meldungen weggelassen werden und farblich gekennzeichnet wird, was mit einem Paket bei der Installation, Entfernung oder einem Upgrade passiert.

Neben der besseren farblichen Kennzeichnung der Vorgänge nutzt Nala parallele Downloads, um den Vorgang zu beschleunigen. Während APT jeweils ein Paket herunterlädt, zieht Nala mehrere gleichzeitig. Standardmäßig werden zwei Pakete pro Spiegelserver in der Quellenliste gleichzeitig heruntergeladen, theoretisch möglich sind 16. Das Limit von zwei Threads pro Spiegelserver besteht, um die Belastung der Spiegelserver zu minimieren. Außerdem werden die Downloads zwischen den verfügbaren Spiegeln abgewechselt, um die Download-Geschwindigkeit noch weiter zu erhöhen.

Ebenfalls der Geschwindigkeit zugutekommen soll der Befehl nala fetch. Er prüft die Latenz der verfügbaren Spiegel, wählt die drei schnellsten aus und schreibt sie in eine Nala-Quellenliste. Nala will auch die History-Funktion in Debian mit dem Befehl nala history verbessern, der alle Aktionen wie Installation, Entfernung oder Aktualisierung in /var/lib/nala/history.json mit einer eindeutigen ID-Nummer speichert. Darauf können Befehle wie nala history undo, nala history redo oder nala history clear anwenden.

Installation

Nala wird auf GitLab entwickelt, steht derzeit bei Version 0.5.2 und unterstützt die Architekturen amd64, arm64 und armhf. Die Installation geschieht aus einem eigenen Repository, die beiden folgenden Befehl legen den Quelleneintrag an und installiert Nala:

echo "deb [arch=amd64,arm64,armhf] https://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

Alternativ kann das DEB heruntergeladen und händisch installiert werden, dann muss die Aktualisierung ebenfalls selbst vorgenommen werden. Die Bedienung orientiert sich an APT und wird über den Befehl nala -h aufgerufen. Eine Dokumentation existiert noch nicht, vorerst muss die Manpage dafür herhalten.

Der Befehl nala upgrade fasst mehrere Befehle von APT zusammen. Er führt nacheinander apt update, apt auto-remove und apt full-upgrade aus. Ich habe mir einen alias mit dem Parameter --no-autoremove angelegt, da ich die Funktion nicht mag. Nala wurde mit Debian, Ubuntu und Pop_OS! getestet, sollte aber mit allen Derivaten funktionieren. Der Quellcode liegt in Salsa.

Teilt den Beitrag, falls ihr mögt

Abonnieren
Benachrichtige mich bei
0 Kommentare
Inline Feedbacks
View all comments