Zum Inhalt springen

Advanced Packaging Tool: Unterschied zwischen den Versionen

Aus Foxwiki
 
(29 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Advanced Packaging Tool ==
'''Advanced Packaging Tool''' - (APT)
APT ist ein Paketmanagement-System, das im Bereich des Betriebssystems Debian GNU/Linux entstanden ist.


Mittels APT ist es sehr einfach, Programmpakete zu suchen, zu installieren oder auch das ganze System auf den neuesten Stand zu bringen.
== Beschreibung ==
APT ist ein Paketmanagement-System, das im Bereich des Betriebssystems Debian GNU/Linux entstanden ist


Das Advanced Packaging Tool (APT) ist ein Paketverwaltungssystem, das im Bereich des Betriebssystems Debian GNU/Linux 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.
Mittels APT ist es sehr einfach Programmpakete
* zu suchen
* zu installieren
* das ganze System auf den neuesten Stand zu bringen


APT besteht aus einer Programmbibliothek und mehreren diese Bibliothek nutzenden Kommandozeilen-Programmen, von denen <tt>apt-get</tt> und <tt>apt-cache</tt> zentral sind. Seit Debian 3.1 wird die Benutzung von aptitude als konsolenbasierendes Paketverwaltungssystem empfohlen.
Das Advanced Packaging Tool (APT) ist ein Paketverwaltungssystem, das im Bereich des Betriebssystems Debian GNU/Linux entstanden ist und dpkg zur eigentlichen Paketverwaltung benutzt


APT steht auch in OpenSolaris zur Verfügung (es wurde in die Distribution Nexenta OS aufgenommen) und wurde auch auf Mac OS X portiert, wo es im Rahmen des Fink-Projektes zur Installation von Debian-Softwarepaketen genutzt wird.
* Ziel ist es, eine einfache Möglichkeit zur Suche, Installation und Aktualisierung von Programmpaketen zur Verfügung zu stellen


Basierend auf der Idee von APT wurde Win-Get erschaffen, welches eine ähnliche Paketverwaltung für MS Windows zur Verfügung stellt.
APT besteht aus einer Programmbibliothek und mehreren diese Bibliothek nutzenden Kommandozeilen-Programmen, von denen <tt>apt-get</tt> und <tt>apt-cache</tt> zentral sind


== Interna ==
APT steht auch in OpenSolaris zur Verfügung (es wurde in die Distribution Nexenta OS aufgenommen) und wurde auch auf Mac OS X portiert, wo es im Rahmen des Fink-Projektes zur Installation von Debian-Softwarepaketen genutzt wird
In der Datei <tt>/etc/apt/sources.list</tt> 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.
Basierend auf der Idee von APT wurde Win-Get erschaffen, welches eine ähnliche Paketverwaltung für MS Windows zur Verfügung stellt


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.
== Themen ==
 
{| class="wikitable options big"
== Frontends ==
Außer der oben erwähnten Kommandozeilenschnittstelle 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 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 Mac OS X 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 Proxies 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-get ==
[[apt-get]]
 
== apt-Kommandos ==
[[APT/Kommandos]]
 
== Paketquellen ==
[[APT/Paketquellen]]
 
== Apt-Pinning ==
[[APT/Pinning]]
 
== apt-cache ==
[[Apt-cache]]
 
== apt-file ==
[[apt-file]]
 
== apt-key ==
[[apt-key]]
 
== Tipps ==
[[Advanced Packaging Tool/Tipps]]
 
== dpkg ==
[[dpkg]]
 
== aptitude ==
[[aptitude]]
 
== Problembehebung ==
[[Advanced Packaging Tool/Problembehebung]]
 
== debconf ==
Manche Pakete sind mit dem debconf-Konfigurationssystem ausgestattet. Dadurch wird eine Intervention des Benutzers möglich, sodass diesem bestimmte Elemente wie beispielsweise Fragen oder Hinweise aus s.g. "Vorlagen" (eng. "templates") präsentiert werden, worauf der Benutzer bestimmte Entscheidungsmöglichkeiten hat.
 
Dadurch kann beispielsweise direkt die standardmäßige Sprache festgelegt werden, ohne dass der Benutzer diese Änderung selbst in den Konfigurationsdateien vornehmen muss.
 
Dieses Konfigurationssystem ist nicht auf einzelne Pakete beschränkt, sondern es können auch paketüberfreifende Konfigurationseinstellungen (anhand s.g. "shared templates") vorgenommen werden. Somit kann beispielsweise der aktuelle Displaymanager von einem anderen Loginmanager als Standard abgelöst werden.
 
Debconf wird dabei über die Maintainerskripte '''preinst''' (vor der eigentlichen Installation) und '''postinst''' (nach der Installation) bzw. '''postrm''' (zum abschließenden Entfernen der Datenbankeinträge nach Deinstallation des Paketes) aufgerufen.
 
Anhand der durch den Benutzer oder durch die Standardwerte gegebenen Rückgabewerte werden mit diesen Skripten bestimmte Einstellungen am System vorgenommen.
 
Nachdem ein Benutzer die erste Programminstallation eines mit debconf ausgestatteten Paketes durchgeführt und somit eine gewisse Konfiguration vorgenommen hat, kann das Paket mit dem Befehl <tt>dpkg-reconfigure</tt> "neu konfiguriert" bzw. "rekonfiguriert" werden.
 
Das heißt, dass nun eine Benutzerinteraktion wie bei der Erstinstallation stattfindet.
 
Vorlagen und die Ergebnisse der Elemente werden in die debconf-Datenbanken unter '''/var/cache/debconf''' gespeichert.
 
Ergebnisse und der Status (gesehen oder nicht) von Vorlagen, werden in die Datenbank '''config.dat''' geschrieben, die Vorlagen selbst sind unter '''templates.dat''' zu finden.
 
In Ausnahmefällen wird ein Passwort abgefragt, welches dann nur unter Schutz der Rootrechte in '''passwords.dat''' gesichert wird.
 
=== Konfigurierbaren Pakete anzeigen ===
Eine Liste der unter debconf registrierten "Besitzer von Konfigurationsdateien" (welche idR. den Paketnamen entsprechen) erhält man im Terminal mit:
 
debconf-show --listowners
 
Soll zusätzlich noch die Passwortdatenbank nach entsprechenden Besitzern durchsucht werden, sind Rootrechte vonnöten .
 
=== Konfiguration abfragen ===
Die Einträge in der debconf-Datenbank lassen sich mit folgendem Befehl abfragen:
 
debconf-show PAKET
 
Soll zusätzlich noch die Passwortdatenbank nach entsprechenden Einstellungen durchsucht werden, sind Rootrechte vonnöten .
 
=== Paket neu konfigurieren ===
Die Elemente wie Fragen oder Hinweise werden nach ihrer Priorität gefiltert. Die automatische Filterung hängt in erster Linie von der in der Vorlage festgelegten Priorität ab.
 
Aber auch die von der Paketverwaltung abhängige Schnittstellenoberfläche oder der Status "bereits gesehen" (s.g. "seen") spielen eine Rolle.
 
Mit der Option ''--priority'' können mit <tt>dpkg-reconfigure</tt> die Vorlagen bereits installierte Pakete mit festgelegter Filterung dargestellt werden:
 
{|
|-
|-
| colspan="2" | '''Anzeigefilter manuell vorgeben '''
| [[apt-get]] ||  
|-
|-
| | '''Option + Parameter '''
| [[APT/Kommandos]] ||  
| | '''Beschreibung '''
|-
|-
| | '''''--priority=low'' '''
| [[APT/Paketquellen]] ||  
| | Alle Elemente wie Fragen oder Hinweise werden dem Benutzer vorgelegt.
|-
|-
| | '''''--priority=medium'' '''
| [[APT/Pinning]] ||  
| | Normale Elemente, die allgemein vernünftige Vorgaben haben, werden gezeigt.
|-
|-
| | '''''--priority=high'' '''
| [[Apt-cache]] ||  
| | Elemente, die keine allgemein vernünftigen Vorgaben haben, werden gezeigt.
|-
|-
| | '''''--priority=critical'' '''
| [[apt-file]] ||  
| | Fast alles wird auf die Vorgabewerte gesetzt, nur Elemente (idR. Fragen), die ohne Intervention des Benutzers die Systemintegrität stören könnten, werden gezeigt.
|-
|-
|}
| [[apt-key]] ||  
Der folgende Befehl konfiguriert zum Beispiel das Paket '''ssh''' neu, wobei alle durch das Paket bereitgestellte Vorlagen durchgearbeitet werden:
 
sudo dpkg-reconfigure --priority=low ssh
 
Analog gibt es den Befehl <tt>dpkg-preconfigure</tt>, mit welchem die debconf-Vorlagen, welche ''vor'' einer Paketinstallation durchzuführen waren, abgearbeitet werden.
 
===== Hinweis =====
Standardmäßig wird bei dpkg-reconfigure und dpkg-preconfigure (unabhängig von der systemweiten debconf-Priorität) die Priorität "low" verwendet.
 
=== Schnittstellenoberflächen ===
debconf kann auf mehrere Wege mit dem Benutzer kommunizieren. Es werden folgende Schnittstellenoberflächen (s.g. "frontends") unterstützt, wobei diese unterschiedlich funktional sind.
 
{|
|-
|-
| colspan="3" | '''Schnittstellenoberflächen '''
| [[Advanced Packaging Tool/Tipps|Tipps]] ||  
|-
|-
| | '''Typ '''
| [[dpkg]] || APT setzt auf dpkg auf
| | '''Beschreibung '''
| | '''Funktionalität '''
|-
|-
| | Dialog
| [[aptitude]] ||  
| | konsolenbasierte Vollbilddarstellung mit dialog
| | vollständige Interaktion möglich
|-
|-
| | Readline
| [[Advanced Packaging Tool/Problembehebung|Problembehebung]] ||  
| | traditionelle, einfache Textschnittstelle
| | um Momentanwert zu sehen, muss '''libterm-readline-gnu-perl''' installiert sein
|-
|-
| | Gnome
| [[debconf]] ||  
| | in Gnomeumgebung eingepasste X-Schnittstelle, ist nicht an GNOME gebunden
| | vollständige Interaktion möglich
|-
|-
| | Kde
| [[apt-proxy]] || Apt-cacher und apt-proxy
| | in KDE-Umgebung eingepasste X-Schnittstelle, ist nicht an KDE gebunden
| | vollständige Interaktion möglich
|-
|-
| | Editor
| [[Advanced Packaging Tool/APT-RPM|APT-RPM]] ||  
| | Bearbeitung der Konfiguration über standardmäßigen (mit $EDITOR festgelegten) Texteditor
| | vollständige Interaktion möglich
|-
|-
| | Web
| [[Advanced Packaging Tool/Frontends|Frontends]] ||  
| | Konfiguration über Browser, standardmäßig: https://localhost:8001/
| | vollständige Interaktion möglich
|-
| | Nicht-interaktiv
| | Es findet keine Interaktion statt (nicht empfohlen!).
| | keine Interaktion möglich
|-
|-
| [[/etc/apt/sources.list]] ||
|}
|}
Je nach benutztem Paketverwaltungsprogramm wird automatisch eine Schnittstellenoberfläche davon ausgewählt. Man kann den Standard aber durch Rekonfigurieren des Paketes '''debconf''' festsetzen.


=== Gezielte Konfiguration ===
<noinclude>
Die Datenbank kann nach folgendem Muster (am Beispiel einer einfachen Auswahl) direkt geändert werden. ''"BESITZER"'' ist dabei meist der entsprechende Paketname.


echo "set BESITZER/VORLAGE WERT" | sudo debconf-communicate
== Anhang ==
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">APT</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


===== Hinweis =====
=== Links ===
Es wird ausschließlich der Datenbankeintrag geändert. Eine Änderung an Konfigurationsdateien wird nicht vorgenommen (dies ist den Maintainerskripten '''preinst''', '''postinst''', ... vorbehalten).
==== Weblinks ====


Deswegen ist ein solches Eingreifen nur in Ausnahmefällen sinnvoll.
[[Kategorie:APT]]
 
Durch manuelles Ausführen der entsprechenden Maintainerskripte unter '''/var/cache/dpkg/info''' kann aber <tt>dpkg-preconfigure</tt> und analog <tt>dpkg-reconfigure</tt> "nachgestellt" werden.
 
Wie dieser Befehl sinnvoll einsetzbar ist, zeigt folgendes sehr spezielles Beispiel an dem Paket '''ttf-mscorefonts-installer''':
 
Nach einem "Abwürgen" der Schnittstellenoberfläche mit der Frage ob die EULA akzeptiert werden soll, ist die debconf-Datenbank nicht konsistent.
 
Nun kann die EULA nachträglich akzeptiert werden, sodass das Paket ohne Fehler reinstalliert werden kann:
 
echo "set msttcorefonts/accepted-mscorefonts-eula true" | sudo debconf-communicate
 
=== Grafische Konfiguration ===
==== configure-debian ====
configure-debian ist ein konsolenbasiertes Rekonfigurationsprogramm, welches die Besitzer von Paketen, in ihren Bereich (s.g. "Section") eingeordnet, darstellt.
 
sudo apt-get install configure-debian
 
==== gkdebconf ====
gkdebconf ist ein grafisches Rekonfigurationsprogramm, welches ebenfalls die Pakete in die Unterbereiche einteilt, aber auch alle auf einmal darstellen kann. Das Programm besitzt darüber hinaus die Fähigkeit, die Schnittstellenoberfläche frei zu wählen.


sudo apt-get install gkdebconf
</noinclude>
 
=== Dateien und Paketen ===
Der folgende Befehl in einem Terminal zeigt an, zu welchem Paket eine Datei gehört:
 
dpkg -S DATEINAME
 
Das gefundene Paket kann dann, sofern ein Eintrag in der debconf-Datenbank besteht, mit <tt>dpkg-reconfigure</tt> neu konfiguriert werden. Existiert kein solcher Eintrag, wird bei Ausführung des Befehls nichts gemacht.
[[Kategorie:APT]]

Aktuelle Version vom 13. September 2025, 14:31 Uhr

Advanced Packaging Tool - (APT)

Beschreibung

APT ist ein Paketmanagement-System, das im Bereich des Betriebssystems Debian GNU/Linux entstanden ist

Mittels APT ist es sehr einfach Programmpakete

  • zu suchen
  • zu installieren
  • das ganze System auf den neuesten Stand zu bringen

Das Advanced Packaging Tool (APT) ist ein Paketverwaltungssystem, das im Bereich des Betriebssystems Debian GNU/Linux 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 Mac OS X portiert, wo es im Rahmen des Fink-Projektes zur Installation von Debian-Softwarepaketen genutzt wird

Basierend auf der Idee von APT wurde Win-Get erschaffen, welches eine ähnliche Paketverwaltung für MS Windows zur Verfügung stellt

Themen

apt-get
APT/Kommandos
APT/Paketquellen
APT/Pinning
Apt-cache
apt-file
apt-key
Tipps
dpkg APT setzt auf dpkg auf
aptitude
Problembehebung
debconf
apt-proxy Apt-cacher und apt-proxy
APT-RPM
Frontends
/etc/apt/sources.list


Anhang

Siehe auch


Links

Weblinks