Die Paketverwaltung — genauer APT — pflegt lokale Paketlisten im
Verzeichnis /var/lib/apt/lists
. Diese Paketlisten dienen als
Nachschlagewerk für APT. Wollen Sie den Paketbestand auf Ihrem
Debian-System ändern, benutzt APT diese Paketliste, um die Existenz, die
Verfügbarkeit von einer Paketquelle und die Abhängigkeiten eines Pakets
zu bestimmen, bevor diese tatsächlich bezogen werden. Installieren Sie ein
Paket nach (Abschnitt 8.38, „Pakete installieren“), weiß APT aus der lokalen
Paketliste, von welcher Paketquelle und unter welcher URL es dieses
herunterladen kann.
Die hier verwendete mehrstufige Vorgehensweise hat ihren Ursprung in der Anfangszeit von Debian, bei der der Internetzugang und dessen (nahezu) permanenter Verfügbarkeit noch nicht so selbstverständlich wie heute waren. Lokal verfügbare Informationen waren (und sind) stets mit geringerer Verzögerung nutzbar als externe Ressourcen und reduzieren zudem die Netzlast.
Die nachfolgende Auflistung ist typisch, wenn Sie als Paketmirror
ftp.ch.debian.org
und die Distributionsbereiche main, contrib
und non-free im der Veröffentlichung buster
benutzen und
zusätzlich auch deb-src
-Zeilen in der sources.list
haben (deswegen
die Dateien mit Sources
im Namen) und apt-file
installiert haben
(deswegen die Dateien mit Contents
im Namen).
Übersicht zu den lokalen Dateien, in denen die Paketlisten hinterlegt sind.
$ ls -F /var/lib/apt/lists auxfiles/ ftp.ch.debian.org_debian_dists_buster_contrib_binary-amd64_Packages ftp.ch.debian.org_debian_dists_buster_contrib_Contents-amd64.lz4 ftp.ch.debian.org_debian_dists_buster_contrib_i18n_Translation-de ftp.ch.debian.org_debian_dists_buster_contrib_source_Sources ftp.ch.debian.org_debian_dists_buster_InRelease ftp.ch.debian.org_debian_dists_buster_main_binary-amd64_Packages ftp.ch.debian.org_debian_dists_buster_main_Contents-amd64.lz4 ftp.ch.debian.org_debian_dists_buster_main_i18n_Translation-de ftp.ch.debian.org_debian_dists_buster_main_source_Sources ftp.ch.debian.org_debian_dists_buster_non-free_binary-amd64_Packages ftp.ch.debian.org_debian_dists_buster_non-free_Contents-amd64.lz4 ftp.ch.debian.org_debian_dists_buster_non-free_i18n_Translation-de ftp.ch.debian.org_debian_dists_buster_non-free_source_Sources lock partial/ security.debian.org_dists_buster_updates_InRelease security.debian.org_dists_buster_updates_main_binary-amd64_Packages security.debian.org_dists_buster_updates_main_i18n_Translation-de security.debian.org_dists_buster_updates_main_source_Sources security.debian.org_dists_buster_updates_non-free_binary-amd64_Packages security.debian.org_dists_buster_updates_non-free_i18n_Translation-de security.debian.org_dists_buster_updates_non-free_source_Sources $
Für jede Paketquelle aus /etc/apt/sources.list
wird eine oder mehrere eigene,
lokale Datei gepflegt. Diese ist eine Textdatei und beinhaltet alle
Informationen zu den beziehbaren Paketen, bspw. den genauen Paketnamen
und dessen Version (Abschnitt 2.11, „Benennung einer Paketdatei“), den Maintainer
des Pakets, die Paketabhängigkeiten zum Bauen des Pakets, die genutzte
Architektur (Abschnitt 1.2, „Debian-Architekturen“), das Format des Debianpakets
sowie die Checksummen der Pakete und das Sourcepaket
(Abschnitt 2.7, „Debian-Pakete (Varianten)“), aus der das Paket entstanden ist. Danach
folgen die Projektwebseite sowie das Verzeichnis, in dem das Paket auf
dem Paketmirror abgelegt ist. Zum Schluss stehen die Priorität, der
Distributionsbereich (Abschnitt 2.9, „Distributionsbereiche“) und die Paketkategorie
(Abschnitt 2.8, „Sortierung der Pakete nach Verwendungszweck“). Nachfolgender
Kasten zeigt die Informationen anhand des Pakets 0ad-data aus der
Paketkategorie Spiele (games).
Eintrag in /var/lib/apt/lists/debian.ethz.ch_debian_dists_bullseye_main_binary-amd64_Packages
zum Paket 0ad-data.
Package: 0ad-data Version: 0.0.23.1-1.1 Installed-Size: 2044173 Maintainer: Debian Games Team <pkg-games-devel@lists.alioth.debian.org> Architecture: all Pre-Depends: dpkg (>= 1.15.6~) Suggests: 0ad Description: Real-time strategy game of ancient warfare (data files) Homepage: http://play0ad.com/ Description-md5: 26581e685027d5ae84824362a4ba59ee Tag: role::app-data Section: games Priority: optional Filename: pool/main/0/0ad-data/0ad-data_0.0.23.1-1.1_all.deb Size: 701833824 MD5sum: b2b6e5510898abf0eee79da48995f92f SHA256: afb3f0ddaceb36dc2d716d83d7fee4ada419511a948e4a06fa44bbc1b486e2c0
TODO: Querverweis auf cron-apt
und /etc/cron.daily/apt
.
Die Paketlisten ändern sich, wenn Aktualisierungen sowie neue Versionen
von Paketen verfügbar werden und die Paketquellen auf den Spiegelservern
entsprechend aktualisiert wurden. Daher raten wir Ihnen, die lokalen
Paketlisten in regelmäßigen Abständen ebenfalls zu aktualisieren, bspw.
mit den Aufrufen apt-get update
, aptitude update
oder einem anderen
Werkzeug zur Paketverwaltung (Kapitel 6, Werkzeuge zur Paketverwaltung (Überblick)). Wie
das genau vorsichgeht, erklären wir unter Liste der verfügbaren Pakete
aktualisieren in Abschnitt 3.14, „Liste der verfügbaren Pakete aktualisieren“
genauer.
Sollte die Aktualisierung fehlschlagen, könnte sich die Paketliste in einem inkonsistenten Zustand befinden. Wie Sie mit dieser Situation umgehen, erklären wir Ihnen unter Lokale Paketliste reparieren in Abschnitt 3.16, „Lokale Paketliste reparieren“ genauer.