3.13. Liste der verfügbaren Pakete aktualisieren

3.13.1. Grundlegendes Vorgehen

Bevor Sie Veränderungen am Paketbestand veranlassen, empfehlen wir Ihnen, stets die Liste der lokal genutzten Pakete auf den neuesten Stand zu bringen. Damit arbeiten Sie mit den aktuellen Referenzen auf die bestehenden Softwarepakete. Diesen Schritt ermöglichen alle Werkzeuge zur Paketverwaltung.

Dazu bestehen verschiedene Möglichkeiten, die im Endeffekt alle das gleiche bewirken:

  • Das klassische Kommando, das auch stets auf älteren Veröffentlichungen funktioniert, ist apt-get update. Auf neueren Veröffentlichungen, die das Kommando apt kennen, funktioniert auch apt update (siehe Abschnitt 6.2.2, „APT“).
  • aptitude (siehe Abschnitt 6.3.2, „aptitude) gestattet einen Aufruf über die Kommandozeile mittels aptitude update. Möchten Sie die Paketliste aktualisieren und danach interaktiv im Text-Modus weiterarbeiten, so rufen Sie aptitude -u auf. Sind Sie bereits im interaktiven Text-Modus von aptitude, sorgt der Tastendruck u für frische Paketlisten und die aktualisierte Darstellung in aptitude. Alternativ stoßen Sie die Aktion über den Menüeintrag Aktionen -> Paketlisten aktualisieren an.
  • Bei Synaptic (siehe Abschnitt 6.4.1, „Synaptic“) verbirgt sich dieser Vorgang hinter dem Menüeintrag Bearbeiten -> Paketinformationen neu laden. Alternativ nutzen Sie dafür die Tastenkombination Ctrl+R.
  • Im Programm SmartPM (siehe Abschnitt 6.4.3, „Smart Package Management (SmartPM)“) lösen Sie die Aktualisierung für alle Paketquellen über den Menüpunkt File -> Update channels aus. Möchten Sie nur eine einzige Paketquelle auf den neuesten Stand bringen, wählen Sie stattdessen zunächst File -> Update selected channels ... aus und entscheiden danach, welche Paketquelle Ihres Erachtens eine Auffrischung verdient hat (siehe dazu Abbildung 3.11, „Auflistung der verfügbaren Paketquellen in SmartPM“).

Abbildung 3.11. Auflistung der verfügbaren Paketquellen in SmartPM

werkzeuge/paketquellen-und-werkzeuge/smartpm-paketquellen-auswaehlen.png

Aktualisierung mit dpkg

dpkg kennt auch die beiden Schalter --update-avail und --merge-avail. Es setzt dafür lokal bereitstehende Paketlisten voraus, mit denen es dann seine Paketdatenbank unter /var/lib/dpkg/available aktualisiert. Diesen Schalter von dpkg betrachten wir hier nicht näher.

Führen Sie eines der o.g. Aufrufe aus, wird zunächst die Liste der Paketquellen in der Datei /etc/apt/sources.list und dem Verzeichnis /etc/apt/sources.list.d (siehe Abschnitt 3.3, „Die Datei /etc/apt/sources.list verstehen“) gelesen. Jeder Eintrag darin bezeichnet eine Paketquelle. Von diesen Paketquellen wird nacheinander jeweils eine aktuelle Liste der Pakete bezogen, die von dieser angegebenen Paketquelle verfügbar sind.

Jede bezogene Liste wird danach auf deren Echtheit geprüft. Dazu ist diese digital signiert (siehe Abschnitt 3.12, „Paketquelle auf Echtheit überprüfen“). Mit Hilfe des GPG-Schlüssels für die Paketquelle prüfen apt', `apt-get bzw. aptitude automatisch deren Authentizität und falls ohne Beanstandung, vereinigen sie die bezogene Liste mit der bereits bestehenden, lokalen Paketliste (siehe Abschnitt 3.14, „Lokale Paketliste und Paketcache“). Dabei geben insbesondere apt-get und aptitude eine Reihe von Mitteilungen auf dem Terminal aus. Diese bedeuten:

Am Ende der Ausgabe erfolgt noch eine Zusammenfassung, welche Datenmenge in welcher Zeitspanne bezogen wurde. Nachfolgend sehen Sie die Ausgabe am Beispiel von apt-get update:

Aktualisierung der Paketliste durch apt-get update

# apt-get update
OK   http://ftp.de.debian.org wheezy Release.gpg
Holen: 1 http://security.debian.org wheezy/updates Release.gpg [836 B]
Holen: 2 http://security.debian.org wheezy/updates Release [102 kB]
OK   http://ftp.de.debian.org wheezy Release
OK   http://ftp.de.debian.org wheezy/main Sources
Holen: 3 http://security.debian.org wheezy/updates/main Sources [79,2 kB]
OK   http://ftp.de.debian.org wheezy/contrib Sources
OK   http://ftp.de.debian.org wheezy/non-free Sources
OK   http://ftp.de.debian.org wheezy/main i386 Packages
Holen: 4 http://security.debian.org wheezy/updates/contrib Sources [14 B]
OK   http://ftp.de.debian.org wheezy/contrib i386 Packages
Holen: 5 http://security.debian.org wheezy/updates/non-free Sources [14 B]
OK   http://ftp.de.debian.org wheezy/non-free i386 Packages
Holen: 6 http://security.debian.org wheezy/updates/main i386 Packages [150 kB]
OK   http://ftp.de.debian.org wheezy/contrib Translation-en
OK   http://ftp.de.debian.org wheezy/main Translation-de_DE
OK   http://ftp.de.debian.org wheezy/main Translation-de
Holen: 7 http://security.debian.org wheezy/updates/contrib i386 Packages [14 B]
OK   http://ftp.de.debian.org wheezy/main Translation-en
Holen: 8 http://security.debian.org wheezy/updates/non-free i386 Packages [14 B]
OK   http://ftp.de.debian.org wheezy/non-free Translation-en
Holen: 9 http://security.debian.org wheezy/updates/contrib Translation-en [14 B]
Holen: 10 http://security.debian.org wheezy/updates/main Translation-en [88,7 kB]
Holen: 11 http://security.debian.org wheezy/updates/non-free Translation-en [14 B]
Es wurden 421 kB in 0 s geholt (428 kB/s).
Paketlisten werden gelesen... Fertig
#

Neuere Versionen ergänzen die Ausgabe um zusätzliche Zeilen und teilen Ihnen darüber mit, ob und wieviele aktualisierbare Pakete vorliegen. Nachfolgend sehen Sie in Abbildung 3.12, „Auflistung der aktualisierbaren Pakete“, dass für zwölf Pakete neue Varianten bereitstehen. Um welche Pakete es sich konkret handelt, listen Sie mit Hilfe des Kommandos apt list --upgradable auf (siehe Abschnitt 8.12, „Aktualisierbare Pakete anzeigen“).

Abbildung 3.12. Auflistung der aktualisierbaren Pakete

werkzeuge/paketquellen-und-werkzeuge/apt-update-aktualisierbare-pakete.png

Für diese Mitteilungen greifen apt-get und apt auf das Werkzeug daptup aus dem gleichnamigen Paket zurück [Debian-Paket-daptup]. Es ist als eine direkte Abhängigkeit zu beiden definiert und wird daher automatisch installiert.

3.13.2. Überprüfung der Paketsignaturen

Konnten bei der Aktualisierung für neue Paketlisten keine gültigen Signaturen gefunden werden, wird eine Warnung ausgegeben. Entsprechende Zeilen beginnen mit W:. Bei einer Paketquelle ohne Schlüssel beschwert sich APT wie folgt:

Aktualisierung der Paketlisten ohne passenden GPG-Schlüssel. 

# apt-get update
...
Hole:10 http://deb.opera.com squeeze/non-free i386 Packages [774 B]
Es wurden 1.250 kB in 3 s geholt (329 kB/s)
Paketlisten werden gelesen... Fertig
W: GPG-Fehler: http://deb.opera.com squeeze Release: Die folgenden Signaturen konnten
nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist:
NO_PUBKEY E585066A30C18A2B
#

Pakete, die nicht korrekt signiert sind, können Schadcode enthalten und sollten nicht installiert werden. aptitude warnt Sie in diesem Fall sehr deutlich:

Abbildung 3.13. Ausgabe einer deutlichen Warnung bei aptitude

werkzeuge/paketquellen-und-werkzeuge/aptitude-paket-ohne-gpg.png

Zur Überprüfung auf korrekte Pakete tragen Sie bitte den passenden GPG-Key für die Paketliste der Veröffentlichung nach.

3.13.3. Platz für den Paketcache

Bitte planen Sie freien Platz für den Paketcache ein. Die aktualisierten Paketlisten und Pakete benötigen Speicherplatz, bevor diese ausgepackt und eingerichtet werden können.

3.13.4. Die Veröffentlichung wechseln

Möchten Sie neuere Versionen von Paketen installieren oder auf eine andere Veröffentlichung von Debian wechseln, ist zusätzlich ein upgrade bzw. dist-upgrade erforderlich. Weitere Informationen dazu erhalten Sie unter „Pakete aktualisieren“ in Abschnitt 8.41, „Pakete aktualisieren“ bzw. „Distribution aktualisieren“ in Abschnitt 8.47, „Distribution aktualisieren (update und upgrade)“.