staging.inyokaproject.org

rpm

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./RPM_Logo.png Mancher Hersteller von proprietärer Software, die unter Linux installiert werden kann, liefert diese ausschließlich in rpm-Paketen aus. Eigentlich sind solche Pakete nicht für Ubuntu gedacht, da Ubuntu auf APT (Advanced Packaging Tool) als Paketverwaltung setzt. Um derartige Software trotzdem unter Ubuntu zu installieren, gibt es zwei Möglichkeiten:

  1. Der einfachste und am ehesten zu empfehlende Weg ist, Pakete mit Hilfe von Alien in deb-Pakete zu konvertieren und diese anschließend über die Paketverwaltung zu installieren [1].

  2. Einen alternativen Weg bietet das Kommandozeilenprogramm rpm, der im Folgenden erläutert wird.

Achtung!

Obwohl der Parallelbetrieb von rpm und dpkg möglich ist, wird er nicht empfohlen. Es ist nicht auszuschließen, dass es bei zwei unabhängig voneinander arbeitenden Paketverwaltungssystemen zu Konflikten kommt. Zudem können Pakete, die für andere Distributionen erstellt wurden, inkompatibel mit Ubuntu sein oder das installierte System nachhaltig schädigen. Um in diesem Fall das System wieder herstellen zu können, ist ein Backup unabdingbar.

Darüber hinaus bieten fast alle Programme neben fertigen Installationspaketen auch ein Quellcode-Paket an. Oft ist es sinnvoller und wesentlich zeitsparender, dieses zu kompilieren. Nur wenn kein Quellcode-Paket angeboten wird und das zu installierende Programm unbedingt notwendig ist, sollte darüber nachgedacht werden, rpm-Pakete zu nutzen.

Grundlagen

Auf Grund der Tatsache, dass rpm-Pakete ursprünglich von Red Hat 🇩🇪 entwickelt wurden, heißt der Paket-Manager RPM Package Manager (ehemals Red Hat Package Manager). Das Programm ist jedoch mittlerweile nicht mehr direkt Red Hat unterstellt, sondern ein eigenständiges OpenSource-Projekt und unter der GPL lizenziert.

Achtung!

rpm verwaltet eine Datenbank, in der alle Informationen über die Installierten rpm-Pakete gespeichert werden. Diese Dateien werden im Verzeichnis /var/lib/rpm verwaltet. Die Dateien dieser Datenbank dürfen auf keinen Fall direkt verändert werden! Pakete müssen zwingend mittels rpm deinstalliert werden!

Installation

Zunächst muss das folgende Paket über die Paketverwaltung [1] installiert werden:

  • rpm (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install rpm 

Oder mit apturl installieren, Link: apt://rpm

Bedienung

Analyse von Paketen

Bevor ein rpm-Paket installiert wird, sollte das Paket genau anschaut werden, um so einem eventuellen Schaden vorzubeugen. Folgende Schritte sollten vor der Installation eines rpm-Paketes durchgeführt werden:

  1. Zuerst sollte die Paketinformationen angesehen werden. Dazu öffnet man ein Terminal [2] und gibt folgenden Befehl ein:

    rpm -qpi Paketname.rpm 

    Wenn wichtige Informationen fehlen, sollte genau abgewogen werden, ob es notwendig ist, das Paket zu installieren, da die Gefahr groß ist, dass auch an anderer Stelle wichtige Informationen fehlen.

  2. Wenn man mit der Ausgabe zufrieden ist, sollte man sich den Inhalt des Pakets anschauen. Dazu wird das rpm-Paket entweder mit einem Packprogramm [3] manuell entpackt [3] oder folgender Befehl im Terminal eingegeben:

    rpm -qpl Paketname.rpm 

    Nun ist zu prüfen, ob die angezeigten Dateien schon existieren. Wenn das der Fall ist, sollte das Paket nicht installiert werden. Am sichersten ist es, wenn die entsprechenden Daten nach /opt installiert werden, denn in den offiziellen Ubuntu-Quellen gibt es kein Paket, welches Daten in /opt ablegt.

  3. Als letztes sollte noch nach den Abhängigkeiten geschaut werden. Das geht über den folgenden Befehl:

    rpm -qp --requires Paketname.rpm 

    Alle hier angegebenen abhängigen Programme müssen auf dem Rechner installiert werden, wenn sie nicht bereits vorhanden sein sollten. Auch jedes abhängige Paket sollte auf diese Art und Weise analysiert werden. Am Ende ist zu entscheiden, ob das Paket samt allen Abhängigkeiten installieren werden kann. Dies stellt einen großen Aufwand dar, ist aber unumgänglich, um das laufende System nicht zu beschädigen und das zu installierende Programm trotzdem ausführen zu können.

Installation von Paketen

Nachdem die Analyse des Paketes abgeschlossen wurde und eventuell abhängige Programme installiert wurden, kann folgender Befehl zur Installation von rpm-Paketen verwendet werden [2][4]:

sudo rpm -i Paketname1.rpm [Paketname2.rpm] ... 

Sollen alle rpm-Pakete, die in einem Ordner liegen, auf einmal installieren werden, so ist folgender Befehl hilfreich:

sudo rpm -i *.rpm 

Achtung!

Alle Pakete sollten vor der Installation der unter Analyse beschriebenen Prüfung unterzogen werden.

Suche nach Paketen

Um herauszufinden, welche rpm-Pakete installiert sind, kann folgender Befehl eingegeben werden:

rpm -qa 

Wenn diese Liste nach dem Installationsdatum sortiert werden soll, hilft es, den Befehl so zu ergänzen:

rpm -qa --last 

Die Suche nach einem bestimmten installierten Paket ermöglicht dieser Befehl:

rpm -qa | grep -i Paketname 

Für allgemeine Informationen zu einem installierten rpm-Paket gibt es folgenden Befehl:

rpm -qi Paketname 

Deinstallation von Paketen

Zum Deinstallieren von rpm-Pakete dient der folgende Befehl [2] [4]:

sudo rpm -e Paketname1.rpm [Paketname2.rpm] ... 

Weitere Befehle

Eine komplette Liste möglicher Befehle und weiterführende Literatur, sowie Anleitungen zum Erstellen von rpm-Paketen finden sich im Wiki 🇬🇧 der Projektseite.

Probleme

Wo Licht ist, da ist auch Schatten. Zwar lassen sich rpm-Pakete mit Hilfe des hier beschriebenen Paket-Managers installieren, jedoch hat das Programm auch einige ungelöste Probleme:

  • Zwar sind in rpm-Paketen genau wie in deb-Paketen die Abhängigkeiten gespeichert, jedoch kann das Kommando rpm diese nicht auflösen.

  • Sollten Pakete unterschiedlicher Distributionen verwendet werden, kann es zu schwerwiegenden Problemen kommen.

  • Der Platzbedarf der Datenbank im Verzeichnis /var/lib/rpm ist verhältnismäßig groß.

Diese Revision wurde am 26. März 2019 17:24 von Alkinoos erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Paketverwaltung, ungetestet