VMware ESXi and vSphere Cluster Management

Paketmanager und Paketverwaltung unter Linux

Lerne, wie Linux-Paketmanager Software installieren, aktualisieren und entfernen, Abhängigkeiten auflösen und Pakete auf Integrität und Herkunft prüfen.

Ein Paketmanager ist eine Werkzeugsammlung zur automatisierten Verwaltung von Softwarepaketen unter Linux. Er unterstützt typischerweise die Installation, Aktualisierung, Konfiguration und Deinstallation von Programmen und Systemkomponenten.

Diese Lektion erklärt die wichtigsten Grundlagen: Paketformate, Paketdatenbanken, Abhängigkeiten, Sicherheitsprüfungen, Aktualisierungen und die Unterschiede zwischen RPM- und Debian-basierten Systemen.

Was sind Paketmanager und Paketverwaltung?

Ein Softwarepaket ist eine gebündelte Einheit von Software. Sie enthält beispielsweise ausführbare Programme, Bibliotheken, Dokumentation und Metadaten. Metadaten sind zusätzliche Informationen wie Paketname, Version, Architektur, Lizenz und benötigte Abhängigkeiten.

Der Paketmanager ist das Werkzeug oder die Werkzeugsammlung, die solche Pakete verarbeitet. Die Paketverwaltung bezeichnet dagegen die Gesamtheit der Vorgänge rund um diese Pakete: Installieren, Aktualisieren, Konfigurieren, Nachverfolgen und Entfernen.

Ein Paketformat legt fest, wie ein Paket aufgebaut und gespeichert wird. Beispiele sind RPM-Pakete und Debian-Pakete. Das Format ist nicht dasselbe wie der Paketmanager, der es verarbeitet.

Aufgabe — Zweck — Beispielhafte Wirkung

Installation: Ein Programm und seine benötigten Bestandteile werden in das System eingetragen und kopiert.

Aktualisierung: Eine vorhandene Paketversion wird durch eine neuere, passende Version ersetzt.

Konfiguration: Paketbezogene Einstellungen werden eingerichtet oder angepasst.

Deinstallation: Die vom Paket verwalteten Dateien und Datenbankeinträge werden kontrolliert entfernt.

Abhängigkeitsauflösung: Zusätzlich benötigte Pakete werden ermittelt und bereitgestellt.

Die Paketdatenbank

Ein Paketmanager speichert Informationen über installierte Pakete in einer lokalen Paketdatenbank. Sie enthält unter anderem Paketnamen, installierte Versionen, Paketdateien, Installationszeitpunkte und den jeweiligen Paketstatus.

Dadurch kann das System feststellen, ob ein Paket bereits installiert ist, welche Version vorhanden ist und welche Dateien zu diesem Paket gehören. Die Paketdatenbank verhindert beispielsweise, dass eine erneute Installation unbemerkt doppelte oder widersprüchliche Informationen erzeugt.

Bei der Deinstallation nutzt der Paketmanager die gespeicherten Angaben, um zugehörige Dateien kontrolliert zu entfernen. Gemeinsame Dateien oder Dateien anderer Pakete dürfen dabei nicht versehentlich gelöscht werden.

Beispiel: Bereits installiertes Programm

Wird ein Programm erneut zur Installation ausgewählt, prüft der Paketmanager zunächst die Paketdatenbank. Findet er dort bereits einen passenden Eintrag, kann er melden, dass das Programm vorhanden ist. Anschließend kann je nach Situation eine Aktualisierung, Reparatur, Neukonfiguration oder Entfernung sinnvoll sein.

Abhängigkeiten verstehen

Eine Abhängigkeit ist ein zusätzlich benötigtes Paket oder eine benötigte Bibliothek. Ein Programm kann beispielsweise Funktionen zur Verschlüsselung, zur grafischen Darstellung oder zur Verarbeitung bestimmter Dateiformate aus einer separaten Bibliothek verwenden.

Ohne die erforderlichen Abhängigkeiten startet das Programm möglicherweise nicht oder kann bestimmte Funktionen nicht ausführen. Deshalb enthalten Pakete Angaben darüber, welche anderen Pakete und welche Versionen benötigt werden.

Bei einer Installation prüft der Paketmanager diese Anforderungen. Fehlende Pakete kann er aus einer passenden Paketquelle mitinstallieren. Sind Anforderungen nicht erfüllbar, etwa wegen inkompatibler Versionen, meldet er einen Konflikt anstatt die Installation unkontrolliert fortzusetzen.

Integrität und Herkunft von Paketen

Vor der Installation sollte ein Paket nicht nur technisch lesbar, sondern auch unverändert und vertrauenswürdig sein. Dazu dienen unter anderem Prüfsummen und digitale Signaturen.

Prüfung — Was wird geprüft? — Warum ist sie wichtig?

Prüfsumme: Ein aus der Datei berechneter Prüfwert wird mit einem erwarteten Wert verglichen. So lassen sich beschädigte oder nachträglich veränderte Dateien erkennen.

Digitale Signatur: Eine kryptografische Signatur wird mit einem bekannten Schlüssel geprüft. Sie unterstützt den Nachweis, dass das Paket aus der erwarteten Quelle stammt und nicht unbemerkt verändert wurde.

Paketquelle: Die Herkunft und Vertrauensbeziehung der Quelle werden bewertet. Dadurch lassen sich Pakete aus unbekannten oder nicht freigegebenen Quellen vermeiden.

Eine Prüfsumme allein beweist nicht, wer eine Datei erstellt hat. Sie ist vor allem eine Integritätskontrolle. Die digitale Signatur ergänzt sie um die Prüfung von Authentizität und Herkunft.

Kann eine Signatur nicht geprüft werden, ist sie ungültig oder stammt sie nicht von einer bekannten Quelle, sollte die Sicherheitsprüfung nicht umgangen werden. Stattdessen müssen Paketquelle und Vertrauensstellung kontrolliert werden.

Softwareaktualisierungen

Paketmanager vergleichen die installierten Versionen mit den verfügbaren Versionen aus konfigurierten Paketquellen. Wenn eine neuere passende Version vorhanden ist, kann diese installiert werden.

Aktualisierungen beheben Fehler, schließen Sicherheitslücken und können neue Funktionen bereitstellen. Sie enthalten häufig nicht nur ein einzelnes Programm, sondern auch Bibliotheken und weitere miteinander abgestimmte Pakete.

Besonders bei größeren Upgrades ist es wichtig, dass Paketversionen und Abhängigkeiten zusammenpassen. Eine einzelne manuell aktualisierte Bibliothek kann inkompatible Zustände erzeugen, wenn sie nicht zur übrigen Distribution passt.

Binärpakete und ihre Erstellung

Ein Binärpaket enthält bereits übersetzte Software für eine bestimmte Zielplattform. Übersetzen bedeutet hier, dass Quellcode in ausführbaren Maschinencode umgewandelt wurde. Nutzer müssen das Programm daher normalerweise nicht selbst aus dem Quellcode bauen.

Binärpakete enthalten außerdem Installationsinformationen, Dateien und Abhängigkeiten. Paketverwaltungswerkzeuge können nicht nur fertige Binärpakete installieren, sondern je nach Werkzeugfamilie auch beim Bauen beziehungsweise Erstellen solcher Pakete eingesetzt werden.

Wichtige Paketformate und Systeme

Linux-Distributionen verwenden unterschiedliche Paketformate und darauf abgestimmte Verwaltungswerkzeuge. Die beiden grundlegenden Familien dieser Lektion sind RPM und Debian.

Merkmal — RPM-basierte Systeme — Debian-basierte Systeme

Paketformat: RPM-Pakete — Debian-Pakete

Werkzeugfamilie: RPM bildet eine zentrale Paket- und Verwaltungsfamilie; Distributionen verwenden darüber oft zusätzliche Verwaltungswerkzeuge — Debian verwendet Werkzeuge rund um das Debian-Paketformat, häufig mit einer höheren Verwaltungsebene für Paketquellen und Abhängigkeiten.

Typische Distributionen: beispielsweise Fedora, RHEL-kompatible Systeme und openSUSE — beispielsweise Debian, Ubuntu und darauf basierende Systeme.

Typische Aufgaben: installierte Pakete prüfen, Paketinformationen abfragen, installieren, aktualisieren und entfernen — ebenfalls installierte Pakete prüfen, Informationen abfragen, installieren, aktualisieren und entfernen.

RPM

RPM steht für RPM Package Manager. Der Begriff bezeichnet sowohl ein Paketformat als auch eine Werkzeugfamilie für RPM-basierte Linux-Distributionen. Eine vertiefende Einheit zur Paketverwaltung mit RPM behandelt typische Abfragen und Verwaltungsaufgaben ausführlicher.

Debian-Paketverwaltung

Debian-basierte Systeme verwenden das Debian-Paketformat. Die Paketverwaltung besteht aus grundlegenden Werkzeugen für lokale Paketdateien und weiterführenden Werkzeugen, die Paketquellen und Abhängigkeiten berücksichtigen. Die konkrete Bedienung gehört in eine separate Einheit zur Debian-Paketverwaltung.

Kompatibilität zwischen Paketformaten

Ein Debian-Paket kann nicht direkt auf einem RPM-basierten System installiert werden. Umgekehrt kann ein RPM-Paket nicht direkt auf einem Debian-basierten System installiert werden. Die Formate enthalten unterschiedliche Metadaten, Dateistrukturen und Erwartungen an die jeweilige Distribution.

Das Werkzeug alien kann bestimmte Pakete zwischen Formaten konvertieren. Eine Konvertierung ist jedoch nicht grundsätzlich risikofrei. Sie kann Abhängigkeiten, Skripte, Dateipfade oder Versionsanforderungen nicht passend übertragen.

Die bessere Lösung ist normalerweise ein natives Paket für die eingesetzte Distribution oder eine passende, vertrauenswürdige Paketquelle. Eine Konvertierung sollte nur nach bewusster Prüfung und nicht als allgemeiner Ersatz für native Pakete eingesetzt werden.

Paketoperationen als Prozesse

Eine Paketinstallation, Aktualisierung oder Entfernung ist ein laufender Prozess. Ein Prozess ist ein ausgeführtes Programm mit eigenem Zustand und Ressourcen.

Bei einer interaktiven Ausführung im aktuellen Terminal handelt es sich um einen Vordergrundprozess. Das Terminal zeigt Meldungen an und kann Eingaben erwarten. Ein Hintergrundprozess läuft dagegen ohne fortlaufende Interaktion im aktuellen Terminal, etwa als automatisch gestartete Verwaltungsaufgabe.

Parallele Paketoperationen sind problematisch, weil mehrere Prozesse gleichzeitig die Paketdatenbank oder dieselben Systemdateien verändern könnten. Paketmanager verwenden deshalb häufig Sperren. Eine zweite Operation wird dann blockiert oder meldet, dass die Paketverwaltung bereits verwendet wird.

Typische Fehler und Lösungen

  • Anforderungen fehlen: Meist sind Abhängigkeiten nicht erfüllt oder Paketversionen inkompatibel. Die Abhängigkeitsmeldung sollte geprüft und es sollten passende Pakete für die verwendete Distribution bereitgestellt werden.
  • Paket ist bereits installiert: Die Paketdatenbank enthält bereits einen Eintrag. Installationsstatus und Version sollten geprüft werden; danach kommen Aktualisieren, Neukonfigurieren oder Entfernen infrage.
  • Paket wird wegen fehlender Vertrauenswürdigkeit abgelehnt: Signatur oder Quelle konnten nicht bestätigt werden. Quelle und Signaturprüfung sind zu kontrollieren; Sicherheitsprüfungen sollten nicht umgangen werden.
  • Falsches Paketformat: Ein RPM- und ein Debian-Paket sind nicht unmittelbar austauschbar. Zuerst sollte ein natives Paket gesucht werden; eine Konvertierung mit alien ist nur eine geprüfte Ausnahme.
  • Paketoperation ist blockiert: Eine andere Paketverwaltung läuft möglicherweise im Vordergrund oder Hintergrund und hält eine Sperre. Laufende Verwaltungsprozesse sollten identifiziert und beendet beziehungsweise abgewartet werden.

Prüfungsrelevante Zusammenfassung

  • Ein Paketmanager ist eine Werkzeugsammlung zur automatisierten Verwaltung von Softwarepaketen.
  • Paketformat, Softwarepaket, Paketmanager und Paketverwaltung bezeichnen unterschiedliche Dinge.
  • Die lokale Paketdatenbank dokumentiert installierte Pakete, Versionen, Dateien und Zustände.
  • Abhängigkeiten sind zusätzliche Pakete oder Bibliotheken, die ein Programm benötigt.
  • Prüfsummen kontrollieren vor allem die Integrität; digitale Signaturen prüfen zusätzlich Herkunft und Authentizität.
  • Aktualisierungen liefern Fehlerbehebungen, Sicherheitskorrekturen und gegebenenfalls neue Funktionen.
  • RPM- und Debian-Pakete gehören zu unterschiedlichen Paketformatfamilien und sind nicht direkt austauschbar.
  • Formatkonvertierung, etwa mit alien, kann funktionieren, ist aber keine risikofreie Alternative zu nativen Paketen.
  • Paketoperationen laufen als Prozesse. Gleichzeitige Verwaltungsprozesse können Sperren und Konflikte verursachen.