Advanced Packaging Tool

Advanced Packaging Tool


Beispielhafte Installation
Basisdaten

Erscheinungsjahr16. August 1998
Aktuelle Version2.9.7[1]
(30. Juli 2024)
BetriebssystemGNU/Linux
Programmier­spracheC++[2], Shellskript[2], XML[2], CMake[2], C[2], Perl[2]
KategoriePaketverwaltung
LizenzGNU General Public License, Version 2.0 oder später[3][4]
wiki.debian.org/Apt

Das Advanced Packaging Tool (APT) ist ein Paketverwaltungssystem, das im Bereich des Betriebssystems Debian entstanden ist und dpkg zur eigentlichen Paketverwaltung benutzt. Ziel ist es, eine einfache Möglichkeit zur Suche, Installation und Aktualisierung von Programmpaketen zur Verfügung zu stellen. APT besteht aus einer Programmbibliothek und mehreren diese Bibliothek nutzenden Kommandozeilen-Programmen, von denen apt-get und apt-cache zentral sind.

APT steht auch in OpenSolaris zur Verfügung (es wurde in die Distribution Nexenta OS aufgenommen) und wurde auch auf macOS portiert, wo es im Rahmen des Fink-Projektes zur Installation von Debian-Softwarepaketen genutzt wird.

Interna

In der Datei /etc/apt/sources.list stehen die sogenannten Repositories, also Quellen für Pakete. Dies können entweder CDs oder DVDs, Verzeichnisse auf der Festplatte oder, öfter, Verzeichnisse auf HTTP- oder FTP-Servern sein. Befindet sich das gesuchte Paket auf einem Server (oder einem lokalen Datenträger), so wird dieses automatisch heruntergeladen und installiert.

Die Pakete liegen im Debian-Paketformat (.deb) vor, in dem auch die jeweiligen Abhängigkeiten der Programmpakete untereinander abgelegt sind. So werden automatisch für ein Programm auch eventuell erforderliche Programmbibliotheken mit heruntergeladen und installiert.

APT setzt auf dpkg auf. APT beschäftigt sich in erster Linie mit der Beschaffung von Paketen, dem Vergleich von verfügbaren Versionen der Pakete und der Verwaltung von Paket-Archiven.

Anwendungsbeispiele

  • apt-get install paketname installiert ein Paket und sämtliche Abhängigkeiten und in der Standardeinstellung zusätzlich empfohlene Pakete (engl. recommends).
  • apt-get remove paketname entfernt ein vorhandenes Paket und die Pakete, die von diesem abhängen. Abhängigkeiten dieser Pakete oder Konfigurationsdateien werden jedoch nicht entfernt.
  • apt-get --purge remove paketname entfernt ein Paket und die Konfigurationsdateien.
  • apt-get upgrade bringt, sofern möglich, alle Pakete auf den neuesten Stand, installiert jedoch keine neuen Pakete (was evtl. nötig ist, um das System aktuell zu halten, falls sich Abhängigkeiten geändert haben)
  • apt-get dist-upgrade bringt alle Pakete auf den neuesten Stand und installiert bei Bedarf neue Pakete oder entfernt Pakete, die mit den zu installierenden Paketen in Konflikt stehen.
  • apt-get update holt die neuesten Informationen über Pakete vom Debian-Server.
  • apt-get source paketname holt den Quelltext des Paketes vom Debian-Server in das aktuelle Verzeichnis.
  • apt-cache search suchwort sucht nach Programmen.
  • zum Finden von Programmen oder Dateien in noch nicht installierten Paketen kann das separate Tool apt-file oder auch dpkg -L verwendet werden

Will der Benutzer beispielsweise Gnome installieren:

# apt-get install gnome
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
 abiword-common abiword-gnome bluefish evolution gnome-office gtkhtml3.0
 libenchant1 libgal2.0-6 libgal2.0-common libgtkhtml3.0-4 libpq3 libsoup2.0-0
 planner
Vorgeschlagene Pakete:
 abiword-plugins abiword-plugins-gnome abiword-doc weblint gnome-spell
 postgresql-doc postgresql-client
Empfohlene Pakete:
 abiword abiword-help gnucash
Die folgenden NEUEN Pakete werden installiert:
 abiword-common abiword-gnome bluefish evolution gnome gnome-office
 gtkhtml3.0 libenchant1 libgal2.0-6 libgal2.0-common libgtkhtml3.0-4 libpq3
 libsoup2.0-0 planner
0 aktualisiert, 14 neu installiert, 0 zu entfernen und 136 nicht aktualisiert.
Es müssen noch 16,3 MB von 17,9 MB Archiven geholt werden.
Nach dem Auspacken werden 53,8 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n]

Frontends

apt-get war das erste Frontend – befehlszeilenbasiert – das innerhalb des Projekts entwickelt wurde. apt ist ein zweites Kommandozeilen-basiertes Frontend von APT, das einige Designfehler von apt-get überwindet. Daneben gibt es weitere Frontends für die Paketverwaltung, die APT verwenden. Aptitude bietet eine zeichenorientierte Benutzerschnittstelle. Synaptic ist ein GUI-Frontend für die Desktop-Umgebung. Unter KDE stehen außerdem die Programme Adept oder KPackageKit zur Verfügung. Letzteres unterstützt neben APT zusätzlich weitere Systeme wie RPM. Mit der auf der Abstraktionsschicht QApt aufbauenden Muon Package Management Suite[5][6] sind daneben auch weitere GUI-Frontends in der Entwicklung.

Smart Package Manager kann ebenfalls auf Repositories zugreifen, die für APT erstellt wurden. Er nutzt dabei aber nicht APT, sondern eigene Routinen.

Mit Fink und Cydia stehen Frontends für macOS und dessen Derivate zur Verfügung.

APT-RPM

Obwohl ursprünglich für Debian-Programmpakete geschrieben, wurde APT später auch auf RPM-Systeme portiert. Gustavo Niemeyer führte die Portierung für die Linux-Distribution Conectiva durch und pflegte diese geraume Zeit als Maintainer. Inzwischen arbeitet er aber hauptsächlich an seinem neuen Projekt Smart Package Manager, und APT-RPM wird von anderen Entwicklern gepflegt und weiterentwickelt.

Apt-cacher und apt-proxy

Wer mehrere Rechner mit einer APT-basierten Paketverwaltung im Netz hat, kann sein Netz und die Server, die die Pakete zur Verfügung stellen, erheblich entlasten, indem er eines dieser Programme einsetzt. Im Gegensatz zu weniger spezifischen Proxyservern wie etwa Squid, die nur die in den Übertragungsprotokollen enthaltenen Informationen verwenden können, kennen und verwerten diese Proxys die Paket-Struktur und sichern die Aktualität ihrer gespeicherten Daten entsprechend. Apt-cacher kann so eingestellt werden, dass er sich in regelmäßigen Abständen automatisch aktualisiert.

apt-offline

Mit apt-offline besteht die Möglichkeit, apt auch auf PCs ohne Internet-Anbindung zu benutzen.

Mit apt-offline können sogenannte Signatur-Dateien erstellt werden, die eine Art Liste von offline verfügbaren Paketen darstellt. Auf einem Rechner mit Internet-Anbindung werden alle neuen Pakete und Updates in einem ZIP-Archiv abgelegt. Auf dem Offline-Rechner können dann wiederum die Pakete im normalen apt-Cache eingehängt werden.[7]

Einzelnachweise

  1. 2.9.7 · Tags · APT Developers / apt · GitLab. 30. Juli 2024 (englisch, abgerufen am 4. August 2024).
  2. a b c d e f The apt - Advanced Package Tool Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 2. Mai 2024).
  3. salsa.debian.org. (abgerufen am 20. Juli 2018).
  4. The apt Open Source Project on Open Hub: Licenses Page. In: Open Hub. (abgerufen am 10. August 2018).
  5. Introducing QApt and the Muon Package Manager. Abgerufen am 8. August 2010.
  6. “Muon” is now the Muon Package Management Suite. Abgerufen am 7. Dezember 2010.
  7. apt-offline auf Ubuntuusers.de

Auf dieser Seite verwendete Medien

Apt-get install mediawiki.png
Autor/Urheber: Debian project (Konsole terminal emulator from the KDE project), Lizenz: GPL
A screenshot of the apt-get program of APT installing MediaWiki on Ubuntu 10.10.