Debian Paketverwaltung Kurzeinführung

Die Debian-Paketverwaltung besteht im Kern aus den Werkzeugen dpkg und apt. Eine detaillierte Beschreibung der Fähigkeiten von apt gibt das APT HOWTO.

Installation und Update

Die Liste aller verfügbaren Pakete wird von apt aus den in der Datei /etc/apt/sources.list aufgeführten Quellen erzeugt und durch das Kommando apt-get update aktualisiert.

Zur Suche in der Liste der verfügbaren Pakete dient der Befehl apt-cache. Die wichtigsten Kommandos sind
  • apt-cache search Suchbegriffe zur Suche nach Paketen,
  • apt-cache show Paketname zum Anzeigen der Paketbeschreibung und
  • apt-cache showpkg Paketname zur Anzeige weiterer Paketinformationen - insbesondere der (inversen!) Paketabhängigkeiten.
So gefundene Pakete werden mittels apt-get install Paketname heruntergeladen und automatisch durch dpkg installiert. Anschließend werden sie - z. T. interaktiv - konfiguriert. Eingegebene Konfigurationsparameter können später durch dpkg-reconfigure Paketname verändert werden. Pakete, bei denen dies nötig werden kann, sind bspw.
  • console-data für das Tastaturlayout auf der Konsole und
  • xserver-xfree86 für die XServer-Einstellungen.

Die Liste der installierten Pakete kann mit dem Kommando dpkg -l abgerufen werden.

Die Beschreibung zu einem installierten Paket erhält man mit dpkg -s Paketname.

dpkg -L Paketname liefert die Liste der Dateien eines Paketes.

Zu welchem Paket eine vorhandene Datei gehört, lässt sich mit dpkg -S Dateiname herausfinden.

Lokale deb Archive können vor der Installation mit dpkg-deb untersucht werden.

Pakete vom Upgrade ausschließen

Um zu verhindern, dass ein Paket durch eine Version mit höherer Priorität (also im Normalfall eine neuere) ersetzt wird, kann man es auf "behalten" setzen: echo paket hold | dpkg --set-selections

dpkg -l zeigt dann als Paketstatus hi an. Mit echo paket install | dpkg --set-selections kann man die behalten-Markierung wieder zurücksetzen.

Paketbau mit apt

Eine Anleitung zum Selbstkompilieren von Quellpaketen findet sich hier.

Software-Verteilung

Todo: Mit DebPkg:debarchiver ist eine einfachere Repository-Verwaltung möglich.

Für eine Menge von so erzeugten oder aus anderen Quellen erhaltenen deb-Paketen kann mit dem Befehl dpkg-scanpackages eine passende Datei Packages(.gz) erzeugt werden, damit das Verzeichnis in die sources.list aufgenommen und so die Pakete mit apt installiert werden können.

Um bspw. eine Packages.gz für deb-Pakete um aktuellen Verzeichnis zu erzeugen, verwendet man dpkg-scanpackages . override.gz | gzip > Packages.gz Dabei muss zwingend eine =override=-Datei angegeben werden, die die Kategorie (admin, devel, games etc.) und Priorität (required - optional) der einzelnen Pakete definiert.

Für vorhandene Pakete wie z. B. Backports aus der unstable-Distribution reicht für gewöhlich die Verwendung von deren override-Liste.

Es ist auch möglich, eine leere override-Datei zu verwenden, die man folgendermaßen erzeugt: touch override.empty; gzip override.empty.

Systempflege

Obsolete Paketdateien können mittels apt-get autoclean aus dem Cache gelöscht werden.

Todo: DebPkg:deborphan und DebPkg:debfoster spüren obsolete installierte Paket auf.

debsums

Mit dem Befehl debsums können die MD5-Prüfsummen der Dateien installierter Pakete überprüft werden. Leider enthalten nicht alle Pakete der Distribution solche Prüfsummen-Informationen.

Befindet sich im Verzeichnis /etc/apt/apt.conf.d/ eine Datei mit folgendem Inhalt:
DPkg::Post-Invoke{"debsums --generate=nocheck -sp /var/cache/apt/archives";};
so werden Prüfsummen für Pakete, bei denen diese fehlen, bei der Installation erzeugt.

Für bereits installierte Pakete wird dies mittels
for PACK in $(debsums -l); do debsums_gen $PACK; done
erledigt.

-- ChristopherHuhn - 01 Mar 2004
Topic revision: r7 - 2009-04-28, ChristopherHuhn