Definition „Debian Package Manager“

Was ist dpkg?

| Autor / Redakteur: LineFeed / Stephan Augsten

Der Debian Package Manager wurde entwickelt, um die Software-Paketverwaltung komfortabler zu gestalten.
Der Debian Package Manager wurde entwickelt, um die Software-Paketverwaltung komfortabler zu gestalten. (Bild: Debian.org)

Seit 1994 macht der Debian Package Manager dpkg die Installation von Softwarepaketen unter GNU/Linux-Installation smart. Metadaten im Softwarepaket und eine Datenbank im System ermöglichen dem Tool, Abhängigkeiten und Konflikte bei der Installation zu erkennen sowie eine saubere Deinstallation durchzuführen.

Der Befehl dpkg ist ein zentrales, aber selten direkt genutztes Werkzeug der Softwareverwaltung bei Debian und zahlreichen anderen Linux-Distributionen, die das Debian-Paketformat verwenden. Hierzu zählen beispielsweise Ubuntu, Raspbian oder der systemd-freie Fork Devuan.

Die Benutzerinteraktion mit dem Debian Package Manger erfolgt in der Regel über Frontends wie dselect oder das leistungsfähigere und komfortablere Advanced Package Tool APT. Trotzdem ist es möglich, einzelne sowie alle in einem Verzeichnis versammelten Pakete mit einem Aufruf des Befehls dpkg zu installieren.

Ist der direkte Aufruf von dpkg sinnvoll?

Im Gegensatz zu dem elementaren Kommando dpkg können die Frontends Datei- und Versionskonflikte bei der Installation nicht nur erkennen und den Vorgang abbrechen, sondern Abhängigkeiten und Konflikte auflösen oder Lösungsvorschläge anbieten. APT benötigt für die Installation aber ein spezielles Repository, um die verfügbaren Pakete zu finden.

Möchte man hingegen nur einzelne Pakete von einem Drittanbieter installieren, der vielleicht gar kein solches APT-Archiv bereitstellt, dann ist dpkg das Mittel der Wahl. Darüber hinaus kann dpkg einzelne Softwarepakete deinstallieren, Installationsprobleme lösen sowie Informationen über den Inhalt von Paketdateien sowie im System installierte Pakete liefern.

Wichtige Aufrufvarianten des Befehls dpkg

Der dpkg-Befehl wird je nach Verwendung mit verschiedenen Optionen aufgerufen. Folgende Befehle sind dabei besonders interessant:

Installation einer Software aus der bzw. den angegebenen .deb-Dateien:

dpkg -i installationspaket.deb

Inhalt des angegebenen, als Datei lokal vorhandenen Pakets auflisten:

dpkg -i -R installationspaket.deb

Namen des Pakets finden, zu dem eine im System installierte Datei gehört:

dpkg -S dateiname
dpkg --search dateiname

Informationen zum Installationsstatus des spezifizierten Pakets:

dpkg -s installationspaket.deb
dpkg --status installationspaket.deb

Pfade aller Dateien ausgeben, die das angegebene Paket installiert hat:

dpkg -L Paketname
dpkg --listfiles Paketname

Auflistung aller installierten Pakete:

dpkg -l

Diese Aufrufvariante ist ein benutzerfreundlicher Zugang zur Datei „status“ im dpkg-Datenbankverzeichnis. Das Tool akzeptiert hierbei ein Suchmuster als Argument, das die Anzeige einschränkt. Dabei sind die Platzhalterzeichen dieselben, die auch die Shell verwendet, und es ist meist nötig, die Muster mit Anführungszeichen vor der Filename-Expansion der Shell zu schützen.

Installationsprobleme – dpkg als Helfer in der Not

Das Installationswerkzeug dpkg kann hilfreich sein, wenn bei der Installation mit Frontends wie APT oder dselect Probleme auftreten. Zum einen findet der Aufruf mit "-C" oder "--audit" unvollständig installierte Pakete und gibt gegebenenfalls Lösungsvorschläge. Andererseits kann das Programm auch Probleme beseitigen.

Wird zum Beispiel ein Installationsvorgang durch einen Fehler wie mangelnder Plattenplatz oder eine defekte Datei auf einem Installations-Medium unterbrochen, dann kann die Installation auch nach dem Beheben der Fehlerursache manchmal nicht fortgesetzt werden, weil teilweise konfigurierte Pakete den Prozess blockieren. Hier hilft in der Regel der Befehl:

dpkg --configure

Mit dem Schalter „-a“ oder „--pending“ aufgerufen, leitet das Tool die Konfiguration aller nicht vollständig oder noch nicht konfigurierten Pakete ein. Dabei wählt es die Reihenfolge so, dass keine Konflikte durch noch nicht erfüllte Abhängigkeiten auftreten.

Mit dpkg einen PC klonen

Das Schalterpaar „--get-selections“ und „--set-selections“ ermöglicht es, eine Liste der installierten Pakete zu erstellen und zu rekonstruieren. Damit lassen sich Sicherungen erstellen und fertig installierte Systeme klonen. Die Paketliste gibt dpkg auf die Standardausgabe aus.

Zum Speichern muss sie daher in eine Datei umgeleitet werden, mittels einer Pipe kann sie aber auch direkt wieder als Eingabe für dpkg dienen. Ist ein neuer Computer mit einer Basisinstallation vorbereitet und der SSH-Server aktiviert, dann ist die Übertragung der Paketauswahl vom Quell- auf den Zielrechner mit einem einzigen SSH-Befehl möglich: ssh dpkg

Wo speichert dpkg seine Daten?

Das Installationstool nutzt das Verzeichnis /var/lib/dpkg für die Speicherung der Metadaten. Auch wenn die Dateien menschenlesbar sind, sollten sie nicht von Hand modifiziert werden, weil Fehler bei der Bearbeitung eine Neuinstallation des Systems nötig machen können. Trotzdem kann der Inhalt des Datenbankverzeichnisses für Systemadministratoren interessant sein, denn dort finden sich die paketspezifischen Skripte, die vor und während der Installation, respektive Deinstallation ausgeführt werden. Mit entsprechender Programmierkenntnis lassen sich damit Fragen zum Installationsprozess klären.

dpkg-Tools für Software- und Paketentwickler

Speziell für Softwareentwickler und Personen, die neue Deb-Pakete zusammenstellen wollen, gibt es ein zusätzliches Paket dpkg-dev. Dieses enthält eine Reihe von Tools, deren Namen mit „dpkg-“ anfangen und Hilfsmittel für das Kompilieren und Packen der Software bereitstellen.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Was ist APT?

Definition „Advanced Packaging Tool“

Was ist APT?

Ursprünglich für Debian entwickelt, ist das Advanced Packaging Tool APT auch heute noch für GNU/Linux ein extrem nützliches Werkzeug. Der Paketmanager dient zur Paketverwaltung, sprich zur Suche, Aktualisierung und Installation von Programmpaketen. lesen

Ubuntu-Software per PPA bereitstellen

Personal Package Archive bauen, signieren und verteilen

Ubuntu-Software per PPA bereitstellen

Eine Software zu entwickeln ist die eine Sache, sie zu distribuieren eine ganz andere. Eine komfortable Möglichkeit für den Nutzer ist die Bereitstellung als Personal Package Archive (PPA) über den Ubuntu-eigenen Launchpad-Service. lesen

Was ist RPM?

Definition „RPM Package Manager“

Was ist RPM?

RPM steht ursprünglich für Red Hat Package Manager, heutzutage als rekursives Akronym für RPM Package Manager. Das Paketverwaltungssystem beinhaltet zum einen das Paketformat, zum anderen alle Programmhilfen für die Erstellung und Verwaltung der RPM-Pakete lesen

Was ist eine Software-Paketverwaltung?

Definition „Package Manager“

Was ist eine Software-Paketverwaltung?

Paket-Manager sind auch als Paketverwaltung oder Package Manager bekannt. Die Termini bezeichnen eine Sammlung von Werkzeugen für die komfortable Verwaltung von Computer-Software auf Betriebssystemen, insbesondere UNIX- und Linux-Derivaten. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46101884 / Definitionen)