APT-Benutzerhandbuch



Version 3.1.3



Inhaltsverzeichnis

1. Allgemein
1.1. Anatomie des Paketsystems
2. apt-get
3. DSelect
4. Die Schnittstelle
4.1. Initialisierung
4.2. Der Statusbericht
4.2.1. Die zusätzliche Paketliste
4.2.2. Die zu entfernenden Pakete
4.2.3. Die Liste neuer Pakete
4.2.4. Die Liste zurückgehaltener Pakete
4.2.5. Warnung wegen zurückgehaltener Pakete
4.2.6. Abschließende Zusammenfassung
4.3. Der Anzeigestatus
4.4. Dpkg
   

Das Paket APT enthält derzeit zwei Abschnitte, die APT-dselect-Methode und die Benutzerschnittstelle apt-get für die Befehlszeile. Beide stellen eine Möglichkeit bereit, Pakete zu installieren, zu entfernen, sowie neue Pakete aus dem Internet herunterzuladen.

   

Das Debian-Paketierungssystem besitzt eine große Anzahl von Informationen, die mit jedem Paket verbunden sind, um zu helfen sicherzustellen, dass es ordentlich und leicht in das System integriert wird. Das bekannteste seiner Funktionen ist das Abhängigkeitssystem.

   

Das Abhängigkeitssystem erlaubt individuellen Programmen, Gebrauch von gemeinsam im System benutzten Elementen, wie Bibliotheken, zu machen. Es vereinfacht, selten benutze Teile eines Programms in separaten Paketen zu platzieren, um die Zahl von Dingen zu verringern, die der Durchschnittsanwender installieren sollte. Außerdem erlaubt es die Auswahl von E-Mail-Transport-Programmen, X-Servern und so weiter.

   

Der erste Schritt zum Verständnis des Abhängigkeitssystems besteht darin, das Konzept einer einfachen Abhängigkeit zu begreifen. Die Bedeutung einer einfachen Abhängigkeit besteht darin, dass ein Paket ein anderes Paket benötigt, das zu gleichen Zeit installiert sein muss, um ordentlich zu funktionieren.

   

Mailcrypt ist zum Beispiel eine Emacs-Erweiterung, die hilft, E-Mails mit GPG zu verschlüsseln. Ohne installiertes GPG ist Mailcrypt unbrauchbar, deshalb hat Mailcrypt eine einfache Abhängigkeit von GPG. Da es außerdem eine Emacs-Erweiterung ist, hat es ebenfalls eine einfache Abhängigkeit von Emacs. Ohne Emacs ist es komplett unbenutzbar.

   

Die andere wichtige Abhängigkeit, die es zu verstehen gilt, ist eine in Konflikt stehende Abhängigkeit. Das bedeutet, dass das Paket, wenn es mit einem anderen Paket installiert ist, nicht funktioniert und möglicherweise extrem schädlich für das System sein könnte. Stellen Sie sich als Beispiel einen E-Mail-Transport-Programmen wie Sendmail, Exim oder QMail vor. Es ist nicht möglich, zwei E-Mail-Transport-Programmen installiert zu haben, da beide im Netzwerk auf zu empfangende E-Mails warten. Der Versuch, zwei zu installieren, würde das System ernsthaft beschädigen, weshalb alle E-Mail-Transport-Programmen in Konflikt stehende Abhängigkeiten mit allen anderen E-Mail-Transport-Programmen haben.

   

Als zusätzliche Komplikation besteht die Möglichkeit, dass ein Paket vortäuscht, ein anderes Paket zu sein. Bedenken Sie, dass Exim und Sendmail in vieler Hinsicht identisch sind – sie liefern beide E-Mails aus und verstehen eine gemeinsame Schnittstelle. Daher hat das Paketsystem die Möglichkeit, beide als E-Mail-Transport-Programmen zu deklarieren. Deshalb deklarieren Exim und Sendmail, dass sie einen E-Mail-Transport-Programmen bereitstellen und andere Pakete, die einen E-Mail-Transport-Programmen benötigen, dass sie von einem E-Mail-Transport-Programmen abhängen. Die kann zu großer Verwirrung führen, wenn manuell versucht wird, Pakete zu reparieren.

   

Zu jedem Zeitpunkt könnte eine einzelne Abhängigkeit von Paketen erfüllt werden, die bereits installiert sind oder auch nicht. APT versucht beim Auflösen von Abhängigkeitsproblemen zu helfen, indem es eine Anzahl automatischer Algorithmen bereitstellt, die bei der Auswahl von Paketen zur Installation helfen.

   

apt-get stellt eine einfache Möglichkeit zu Verfügung, Pakete auf der Befehlszeile zu installieren. Anders als dpkg versteht apt-get keine .deb-Dateien. Es arbeitet mit dem Eigennamen des Pakets und kann .deb-Archive nur aus einer Quelle installieren.

   

Das Erste [1], das Sie vor der Benutzung von apt-get tun sollten, ist es, die Paketlisten von der Quelle herunterzuladen, so dass es weiß, welche Pakete verfügbar sind. Dies wird mit apt-get update erledigt. Zum Beispiel,

   
# apt-get update
OK   http://ftp.de.debian.org/debian/ stable/binary-i386/ Packages
OK   http://llug.sep.bnl.gov/debian/ testing/contrib Packages
Paketlisten werden gelesen … Fertig
Abhängigkeitsbaum wird aufgebaut … Fertig
   

Einmal aktualisiert stehen mehrere Befehl zur Benutzung zur Verfügung:

   
upgrade

»Upgrade« wird versuchen, ein behutsames Upgrade des ganzen Systems durchzuführen. »Upgrade« wird niemals ein neues Paket installieren oder entfernen, noch wird es jemals ein Upgrade eines Pakets durchführen, das andere Pakete beschädigen könnte. Dies kann täglich dazu benutzt werden, um ein relativ sicheres Upgrade des Systems durchzuführen. »Upgrade« wird alle Pakete auflisten, von denen es kein Upgrade durchführen kann, was üblicherweise bedeutet, dass sie von neuen Paketen abhängen oder Konflikte mit anderen Paketen haben. dselect oder apt-get install können benutzt werden, um die Installation von diesen Paketen zu erzwingen.

install

»Install« wird benutzt, um Pakete nach Namen zu installieren. Das Paket wird automatisch heruntergeladen und installiert. Dies kann nützlich sein, wenn Sie bereits den Namen des zu installierenden Pakets kennen und keine GUI aufrufen möchten, um es auszuwählen. Jede beliebige Anzahl von Paketen kann zum Installieren übergeben werden, sie werden alle heruntergeladen. »Install« versucht automatisch, Abhängigkeitsprobleme mit den aufgelisteten Paketen aufzulösen, wird eine Zusammenfassung ausgeben und nach einer Bestätigung fragen, wenn sich etwas anderes als dessen Argumente ändert.

dist-upgrade

Dist-upgrade führt vollständige Upgrades durch. Es wurde entworfen, um Upgrades zwischen Releases von Debian zu vereinfachen. Es benutzt einen ausgeklügelten Algorithmus, um die beste Zusammenstellung von Paketen zum Installieren, für das Upgrade oder zum Entfernen festzulegen, um soviel wie möglich vom System auf das neuste Release zu bekommen. In einigen Situationen könnte es eher gewünscht sein, »dist-upgrade« zu benutzen, als Zeit in das manuelle Auflösen von Abhängigkeiten in dselect zu investieren. Sobald Dist-upgrade abgeschlossen ist, kann dselect benutzt werden, um einige Pakete zu installieren, die außen vor geblieben sind.

Es ist wichtig, genau zu schauen, was »dist-upgrade« tun wird, seine Entscheidungen können manchmal ziemlich überraschend sein.

   

apt-get hat mehrere Befehlszeilenoptionen, die sich detailliert in seiner Handbuchseite, apt-get(8) finden. Die nützlichste Option ist -d, die die heruntergeladenen Dateien nicht installiert. Falls das System eine große Anzahl Pakete herunterladen soll, würde es nicht erwünscht sein, wenn die Installation auch in dem Fall gestartet würde, dass etwas schief läuft. Falls -d benutzt wird, können die heruntergeladenen Archive dadurch installiert werden, indem einfach der Befehl, der das Herunterladen veranlasste, erneut ohne -d ausgeführt wird.



   

[1] Falls Sie einen HTTP-Proxy-Server benutzen, müssen Sie zuerst die Umgebungsvariable »http_proxy« setzen, siehe sources.list(5)

   

Die APT-dselect-Methode stellt das komplette APT-System mit dem dselect-Paketauswahl-GUI bereit. dselect wird benutzt, um Pakete zum Installieren oder Entfernen auszuwählen und APT installiert sie tatsächlich.

   

Um die APT-Methode einzuschalten, müssen Sie [Z]ugriff in dselect auswählen und dann die APT-Methode wählen. Sie werden nach einer Zusammenstellung von Quellen gefragt. Dies sind Orte, von denen Archive heruntergeladen werden. Dies können Internetsites, lokale Debian-Spiegel oder CD-ROMs sein. Jede Quelle kann einen Ausschnitt des gesamten Debian-Archives bereitstellen. APT wird sie automatisch kombinieren, um eine komplette Zusammenstellung von Paketen zu formen. Falls Sie eine CD-ROM haben, ist es eine gute Idee, sie als erstes und dann den Spiegel anzugeben, so dass Sie Zugriff auf die neusten Fehlerbehebungen haben. APT wird automatisch Pakete auf der CD-ROM benutzen, bevor es sie aus dem Internet herunterlädt.

   
   eine Liste mit Orten von Distributionsquellen einrichten

 Bitte geben Sie die Basis-URL der Debian-Distribution an.
 Die bekannten Zugriffsschemas dafür sind: http file

 Zum Beispiel:
      file:/mnt/debian,
      https://deb.debian.org/debian,
      http://deb.debian.org/debian,


 URL [http://llug.sep.bnl.gov/debian]:
   

Das Einrichten der Quellen beginnt durch das Erfragen der Basis des Debian-Archives, vorgegeben ist ein HTTP-Spiegel. Als nächstes wird nach der zu erhaltenden Distribution gefragt.

   
 Bitte geben Sie die zu erhaltende Distributionskennzeichnung oder den mit
 einem / endenden Pfad zum Paket an. Die Distributionskennzeichnungen sind
 normalerweise etwas wie: stable unstable testing

 Distribution [stable]:
   

Die Distribution bezieht sich auf die Debian-Version im Archiv, stable bezieht sich auf die zuletzt veröffentlichte Version und unstable bezieht sich auf die Entwicklungsversion.

   
 Bitte geben Sie die Bestandteile an, die Sie erhalten möchten
 Die Bestandteile sind normalerweise etwas wie: »main« »contrib« »non-free« »non-free-firmware«

 Bestandteile [main contrib non-free non-free-firmware]:
   

Die Liste der Bestandteile bezieht sich auf die Liste von Unter-Distributionen zum Herunterladen. Die Distribution ist auf Basis von Software-Lizenzen unterteilt, »Main« besteht aus Paketen, die gemäß der DFSG frei sind, während »Contrib« und »Non-free« Dinge enthalten, die verschiedene Einschränkungen in ihrer Benutzung und ihrem Vertrieb haben.

   

Jegliche beliebige Anzahl von Quellen kann hinzugefügt werden, das Einrichtungsskript wird mit Nachfragen fortfahren, bis Sie alles angegeben haben, was Sie möchten.

   

Bevor sie beginnen, dselect zu benutzen, ist es notwendig, die Verfügbarkeitsliste zu aktualisieren, indem sie aus dem Menü [E]rneuern auswählen. Dies ist eine Obermenge von apt-get update, das dselect heruntergeladene Informationen zur Verfügung stellt. [E]rneuern muss auch dann durchgeführt werden, wenn vorher apt-get update ausgeführt wurde.

   

Sie können dann fortfahren und Ihre Auswahl per [A]uswählen treffen und dann die Installation mit [I]nstall. vornehmen. Wenn Sie die APT-Methode benutzen, haben die Befehle Kon[f]ig. und [L]öschen keine Bedeutung, der Befehl [I]nstall. führt beides gleichermaßen aus.

   

Standardmäßig wird APT automatisch die Paketdateien (.deb) entfernen, sobald sie erfolgreich installiert sind. Um dieses Verhalten zu ändern, legen Sie Dselect::clean "prompt"; in /etc/apt/apt.conf.

   

Sowohl diese APT-Methode dselect als auch apt-get benutzen die gleiche Schnittstelle. Es ist ein einfaches System, das üblicherweise mitteilt, was es tun wird und es dann tut. [2] Nach der Ausgabe einer Zusammenfassung was passieren wird, gibt APT einige informative Statusmeldungen aus, so dass Sie abschätzen können, wie weit es ist und wieviel noch zu tun ist.

   

Vor allen Transaktionen, ausgenommen »update«, führt APT eine Reihe von Aktionen durch, um seinen internen Status vorzubereiten. Es führt außerdem einige Prüfungen des Systemstatus durch. Diese Transaktionen können jederzeit durch Ausführung von apt-get check durchgeführt werden.

   
# apt-get check
Paketlisten werden gelesen … Fertig
Abhängigkeitsbaum wird aufgebaut … Fertig
   

Das erste was es tut, ist das Einlesen aller Paketdateien in den Speicher. APT benutzt ein Zwischenspeicherschema, so dass diese Aktion beim zweiten Ausführen schneller laufen wird. Falls einige der Paketdateien nicht gefunden werden, werden sie ignoriert und beim Beenden von Apt-get wird eine Warnung ausgegeben.

   

Die letzte Aktion führt eine detaillierte Analyse der Abhängigkeiten des Systems durch. Sie prüft jede Abhängigkeit jedes installierten oder entpackten Pakets und berücksichtigt, ob es in Ordnung ist. Sollte dies ein Problem finden, dann wird ein Bericht ausgegeben und apt-get wird die Ausführung verweigern.

   
# apt-get check
Paketlisten werden gelesen … Fertig
Abhängigkeitsbaum wird aufgebaut
Status-Informationen einlesen … Fertig
Probieren Sie „apt --fix-broken install“, um diese zu korrigieren:
Die folgenden Pakete haben nichterfüllte Abhängigkeiten:
  9fonts: Hängt ab: xlib6g ist aber nicht installiert
  uucp: Hängt ab: mailx ist aber nicht installiert
  blast: Hängt ab: xlib6g (>= 3.3-5) ist aber nicht installiert
  adduser: Hängt ab: perl-base ist aber nicht installiert
  aumix: Hängt ab: libgpmg1 ist aber nicht installiert
  debiandoc-sgml: Hängt ab: sgml-base ist aber nicht installiert
  bash-builtins: Hängt ab: bash (>= 2.01) but 2.0-3 ist installiert
  cthugha: Hängt ab: svgalibg1 ist aber nicht installiert
           Hängt ab: xlib6g (>= 3.3-5) ist aber nicht installiert
  libreadlineg2: Conflicts:libreadline2 (<< 2.1-2.1)
   

In diesem Beispiel hat das System viele Probleme, einschließlich eines ernsten Problems mit libreadlineg2. Für jedes Paket, das nichterfüllte Abhängigkeiten hat, wird eine Zeile ausgegeben, die das Paket mit dem Problem anzeigt und die Abhängigkeiten, die nicht erfüllt sind. Eine kurze Erklärung, warum das Paket ein Abhängigkeitsproblem hat, ist inbegriffen.

   

Es gibt zwei Möglichkeiten, wie ein System in einen kaputten Status wie diesen kommen kann. Die erste wird dadurch verursacht, dass dpkg einige feine Beziehungen zwischen Paketen übersieht, wenn Upgrades durchgeführt werden. [3]. Die zweite tritt auf, falls eine Paketinstallation während der Ausführung fehlschlägt. In dieser Situation könnte ein Paket entpackt worden sein, ohne dass die von ihm Abhängigen installiert sind.

   

Die zweite Situation ist weit weniger ernst als die erste, weil APT bestimmte Beschränkungen in der Reihenfolge setzt, in der Pakete installiert werden. In beiden Fällen veranlasst die Option -f apt-get, eine mögliche Lösung für das Problem zu folgern und dann fortzufahren. Die APT-Methode dselect liefert immer die Option -f, zum einfachen Fortfahren von gescheiterten Betreuerskripten.

   

Falls jedoch die Option -f benutzt wird, um ein ernsthaft kaputtes System zu korrigieren, das vom ersten Fall verursacht wurde, dann ist es möglich, dass es entweder sofort fehlschlägt oder die Installationsabfolge fehlschlagen wird. In beiden Fällen ist es nötig, Dpkg (möglicherweise mit erzwingenden Optionen) manuell zu benutzen, um die Situation ausreichend zu korrigieren, so dass es APT ermöglicht wird, fortzufahren.

   

Bevor es fortfährt, wird apt-get einen Bericht darüber präsentieren, was geschehen wird. Im Allgemeinen spiegelt der Bericht den Typ der Aktion, die ausgeführt wird, wider, aber es gibt auch mehrere gemeinsame Elemente. Auf jeden Fall spiegelt die Liste den Endstatus der Dinge wider, bezieht die Option -f in Betracht und alle andere relevante Aktivitäten zum Befehl, der ausgeführt wird.

   

Abschließend wird APT eine Zusammenfassung aller Änderungen ausgeben, die auftreten werden.

   
206 Pakete aktualisiert, 8 zusätzlich installiert, 23 werden entfernt und 51 nicht aktualisiert.
12 Pakete nicht vollständig installiert oder entfernt.
Muss 65,7MB/66,7MB an Archiven herunterladen. Nach dem Entpacken werden 26,5MB zusätzlich belegt sein.
   

Die erste Zeile der Zusammenfassung ist bloß eine Zusammenfassung von all den Listen und umfasst die Anzahl der Upgrades – das sind bereits installierte Pakete, für die neue Versionen verfügbar sind. Die zweite Zeile zeigt die Anzahl von schlecht konfigurierten Paketen, die möglicherweise das Ergebnis einer abgebrochenen Installation sind. Die letzt Zeile zeigt den Speicherbedarf, den die Installation benötigt. Das erste Zahlenpaar bezieht sich auf die Größe der Archivdateien. Die erste Zahl zeigt die Anzahl der Bytes an, die von fernen Orten heruntergeladen werden müssen und die zweite zeigt die gesamte Größe aller benötigten Archive an. Die nächste Zahl zeigt den Größenunterschied zwischen den derzeit installierten Paketen und den neu installierten Paketen. Es entspricht ungefähr dem in /usr benötigten Speicher nachdem alles erledigt ist. Wenn eine große Anzahl Pakete entfernt wird, dann kann der Wert den Betrag des freiwerdenden Speichers anzeigen.

   

Einige andere Berichte können durch Benutzung der Option »-u« generiert werden, um Pakete anzuzeigen, von denen ein Upgrade durchgeführt werden soll. Dies ist den vorherigen Beispielen ähnlich.

   

Während des Herunterladens von Archiven und Paketdateien gibt APT eine Reihe von Statusmeldungen aus.

   
# apt-get update
Hole:1 http://ftp.de.debian.org/debian/ stable/main Packages
Hole:2 http://llug.sep.bnl.gov/debian/ testing/contrib Packages
Treffer http://llug.sep.bnl.gov/debian/ testing/main Packages
Hole:4 http://ftp.de.debian.org/debian/ unstable/binary-i386/ Packages
Hole:5 http://llug.sep.bnl.gov/debian/ testing/non-free Packages
11% [5 testing/non-free 'Warte auf Datei' 0/32.1k 0%] 2203b/s 1m52s
   

Die Zeilen, die mit Hole beginnen, werden ausgegeben, wenn APT anfängt, eine Datei herunterzuladen, während die letzte Zeile den Fortschritt des Herunterladens anzeigt. Die erste Prozentzahl der Fortschrittszeile zeigt die gesamt erledigte Prozentzahl aller Dateien an. Unglücklicherweise schätzt apt-get update die erledigte Prozentzahl, da die Größe der Pakete unbekannt ist, was einige Ungenauigkeiten bewirkt.

   

Der nächste Abschnitt der Statuszeile wird für jeden Download-Thread einmal wiederholt und zeigt die durchgeführte Aktion, sowie einige nützliche Informationen darüber an was geschieht. Manchmal wird dieser Abschnitt einfach nur Forking darstellen, was bedeutet, dass das Betriebssystem das Download-Modul am Laden ist. Das erste Wort nach dem »[« ist die Ladenummer, wie sie auf den Verlaufszeilen angezeigt wird. Das nächste Wort ist der Name des Objekts in Kurzform, das heruntergeladen wird. Für Archive wird es den Namen des Paketes enthalten, das heruntergeladen wird.

   

Innerhalb von einzelnen Anführungszeichen folgt eine informative Zeichenkette, die den Fortschritt der Aushandlungsphase des Downloads anzeigt. Normalerweise schreitet sie von Verbinde zu Warte auf Datei zu Lade herunter oder Nehme wieder auf fort. Der letzte Wert ist die Anzahl der von der fernen Site heruntergeladenen Bytes. Sobald der Download beginnt, zeigt sich dies wie 102/10.2k was anzeigt, dass 102 Bytes heruntergeladen und 10,2 Kilobyte erwartet werden. Die Gesamtgröße wird immer in vierstelliger Schreibweise dargestellt, um Platz zu sparen. Nach der Größenanzeige ist eine Prozentfortschrittsanzeige für die Datei selbst. Das zweitletzte Element ist die augenblickliche Fortschrittsgeschwindigkeit. Dieser Wert wird alle fünf Sekunden aktualisiert und spiegelt die Datenübertragungsrate in dieser Periode wider. Am Ende wird die geschätzte Übertragungszeit angezeigt. Dies wird regelmäßig aktualisiert und spiegelt die Zeit zum Vervollständigen bei der angezeigten Datenübertragungsrate wider.

   

Die Statusanzeige aktualisiert sich alle halbe Sekunde, um eine gleichmäßige Rückmeldung über den Download-Fortschritt bereitzustellen, während die »Hole«-Zeilen bei jeder gestarteten neuen Datei zurückscrollen. Da die Statusanzeige ständig aktualisiert wird, ist sie für die Protokollierung in eine Datei ungeeignet. Benutzen Sie die Option -q, um die Statusanzeige zu entfernen.