Paketmanager APT 2.0 arbeitet flotter und verarbeitet Aptitude-Pattern

Der Linux-Paketmanager APT liegt jetzt in Version 2.0 vor. Die bringt bessere Performance, abgespeckten Quellcode und ein paar weitergehende Änderungen mit.

In Pocket speichern vorlesen Druckansicht 13 Kommentare lesen
Paketmanager APT 2.0 arbeitet flotter und verdaut Aptitude-Pattern

(Bild: Shutterstock / vipman)

Lesezeit: 3 Min.
Von
  • Tim Schürmann
Inhaltsverzeichnis

Vor allem unter Debian-basierten Linux-Distributionen kommt der Paketmanager APT zum Einsatz. Die kürzlich erschienene neue Version 2.0 arbeitet schneller und robuster.

Die Entwickler haben veralteten Quellcode ausgemustert und ihn so verschlankt. Die größte Änderung betrifft jedoch die Behandlung von Paketnamen: Wer mit APT ein Paket sucht, kann dazu ab sofort die vom Werkzeug Aptitude bekannten Muster verwenden.

APT 2.0 versteht eine leicht abgewandelte Teilmenge der Aptitude-Pattern. Zusätzlich eingeführte Muster helfen zudem unter anderem dabei, Gstreamer-Codecs zu finden.

Die Manpage "apt-patterns(7)" gibt einen Einblick in den verlangten Aufbau der Pattern und verrät die Unterschiede zur Apitude-Syntax. Die Muster lassen sich in allen APT-Befehlen verwenden, die Paketnamen verarbeiten. Im Gegenzug akzeptiert APT keine regulären Ausdrücke oder Wildcards mehr, Anwender müssen folglich auf die neuen Muster umsteigen und gegebenenfalls ihre Skripte anpassen.

Sofern gerade ein anderes Programm den Zugriff auf die Paketverwaltung blockiert, wartet APT jetzt 120 Sekunden auf die Freigabe, bei einer Verbindung über ein TTY sogar unendlich lange. APT verrät zudem den Namen und die PID des blockierenden Prozesses.

Über das sogenannte Pinning kann APT ausgewählte Paketquellen und Pakete gegenüber anderen bevorzugen sowie Pakete auf eine Version "festnageln". Das klappt in APT 2.0 auch mit Quellpaketen, indem man ein "src:" voranstellt.

In einem aktuellen Blogeintrag des APT-Entwicklers Julian Andreas Klode zur neuen Version 2.0 findet sich dazu folgendes Beispiel:

Package: src:apt
Pin: version 2.0.0
Pin-Priority: 990

Es nagelt alle Binaries auf die Version 2.0.0 fest, die aus den Quellen von "apt" entstanden sind. Hängt man noch ein ":any" an, gilt das Pinning für alle Architekturen.

Weiterhin kennen "apt" und "apt-get" jetzt ein neues "satisfy"-Kommando. Es erfüllt die angegebenen Dependency Strings, wie etwa
apt satisfy "foo, bar (>= 1.0)".

APT 2.0 überlässt jetzt der Bibliothek "libgcrypt" das Erstellen von Hashes, was für einen Geschwindigkeitsschub sorgen soll. Bislang hatte APT die Referenzimplementierungen der MD5-, SHA1- und SHA2-Algorithmen genutzt. APT 2.0 verteilt zudem die Arbeit intelligenter auf die Prozessorkerne, was zu Performance-Verbesserungen beim Patchen via "rred"-Verfahren sowie beim Entpacken der Pakete führt.

Die Sicherheit erhöht eine Änderung im Rahmen der "auth.conf". Mit den dort abgelegten Zugangsdaten erhält man ab sofort nur noch über verschlüsselte HTTPS-Verbindungen Zugriff auf private Repositories. Damit können Angreifer den Nutzer nicht mehr auf eine HTTP-URL umleiten und darüber die Zugangsdaten abgreifen.

Der Quellcode von APT 2.0 wartet auf GitHub und auf dem Salsa-Server des Debian-Projekts. Darüber hinaus liegt APT 2.0 sofort im Unstable-Repository von Debian und dürfte auf diesem Weg nach und nach auch in andere Distributionen einfließen.

(ovw)