rpm und dpkg
100%

Pakete · Lektion 5

rpm und dpkg

Erfahre, wie `dpkg` und `rpm` ihre nativen Paketdatenbanken und lokalen Archive prüfen und verändern.

dpkg ist das einfache Paketwerkzeug auf Systemen der Debian-Familie, während rpm auf Systemen der RPM-Familie eine ähnliche Aufgabe erfüllt. Sie entpacken native Archive, führen Lebenszyklusaktionen von Paketen aus und aktualisieren Datenbanken installierter Pakete. Paketquellenbewusste Werkzeuge wie APT und DNF bauen auf diesen einfacheren Mechanismen auf.

Ein Archiv vor der Installation prüfen

Ein Paketarchiv entspricht nicht einer einzelnen ausführbaren Datei. Es kann viele Nutzdateien, Metadaten, Konfigurationsbehandlung und privilegierte Lebenszyklusskripte enthalten. Prüfe Herkunft, Signatur oder authentifizierten Downloadweg, Metadaten und Inhalt vor der Installation.

Debian: $ dpkg-deb --info ./some-package.deb
Debian: $ dpkg-deb --contents ./some-package.deb
RPM:    $ rpm -qip ./some-package.rpm
RPM:    $ rpm -qlp ./some-package.rpm

Das p in den gezeigten RPM-Abfrageformen bedeutet „eine Paketdatei abfragen“ statt die installierte Datenbank. Die Abfrageausgabe hilft beim Prüfen eines Pakets, kann aber nicht beweisen, dass seine Skripte oder Programme sicher sind.

Welches einfache Werkzeug verwaltet Debian-.deb-Pakete und ihre installierte Datenbank?

Ein lokales Archiv installieren

Die direkte einfache Installation verwendet:

Debian: $ sudo dpkg -i ./some-package.deb
RPM:    $ sudo rpm -U ./some-package.rpm

dpkg -i kann das angeforderte Archiv entpacken und konfigurieren, ruft aber keine fehlenden Abhängigkeiten aus Paketquellen ab. Auch ein direktes rpm stellt nicht den gewöhnlichen Arbeitsablauf eines Paketquellen-Solvers bereit. Für ein lokales Archiv ist ein übergeordneter Befehl gewöhnlich vorzuziehen, da er Abhängigkeiten aus konfigurierten Quellen auflösen kann:

Debian: $ sudo apt install ./some-package.deb
RPM:    $ sudo dnf install ./some-package.rpm

Prüfe die Transaktion vor der Bestätigung. Ein vorangestelltes ./ unterscheidet in APT einen lokalen Debian-Archivpfad von einem Paketnamen aus einer Paketquelle.

Welcher gezeigte Befehl kann eine lokale .deb-Datei installieren und dabei verfügbare Abhängigkeiten aus Paketquellen auflösen?

Ein installiertes Paket entfernen

Die Entfernung richtet sich nach dem Namen eines installierten Pakets und nicht nach dem zuvor verwendeten Archivdateinamen:

Debian: $ sudo dpkg --remove package-name
RPM:    $ sudo rpm --erase package-name

Unter Debian behält --remove gewöhnlich als conffiles klassifizierte Konfigurationsdateien bei; --purge fordert vorbehaltlich von Paketskripten und nicht verwalteten Daten auch deren Entfernung an. Keiner der Befehle garantiert die Löschung benutzererstellter Daten. Das übergeordnete apt remove oder dnf remove ist im Allgemeinen besser, da es verwandte Pakete bewerten und eine vollständige Transaktion darstellen kann.

Welchen Operanden erwartet dpkg --remove für ein installiertes Paket?

Installierten Zustand abfragen

Liste installierte oder bekannte Paketeinträge auf mit:

Debian: $ dpkg-query -l
RPM:    $ rpm -qa

Bevorzuge für gezielte Prüfungen einen bestimmten Paketnamen und ein maschinenlesbares Format, wenn die Zuverlässigkeit eines Skripts wichtig ist. Paketdatenbanken beschreiben den verwalteten Zustand; lokale Administratoren oder Anwendungen können Dateien anschließend weiterhin ändern. Verwende daher Prüffunktionen, wenn du installierte Dateien mit den erfassten Metadaten vergleichen musst.

Welcher Befehl fragt alle in der RPM-Datenbank als installiert erfassten Pakete ab?

Lektion abgeschlossen

Sie haben rpm und dpkg abgeschlossen

Du kannst nun einfache Paketoperationen von Paketquellentransaktionen unterscheiden.

  • Prüfe Metadaten und Inhalte lokaler Archive vor der Installation.

  • Verwende dpkg für .deb und rpm für .rpm bei einfachen Operationen.

  • Bevorzuge APT oder DNF, wenn Abhängigkeiten aufgelöst werden müssen.

  • Entferne anhand des installierten Paketnamens und überprüfe den verwalteten Zustand getrennt.

Lernfortschritt speichern

Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.

Kostenloses Konto erstellen
Nächste Lektion
Zurück zu Pakete