Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
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:
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].
Einen alternativen Weg bietet das Kommandozeilenprogramm rpm, der im Folgenden erläutert wird.
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.
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.
rpm-Pakete werden grundsätzlich in zwei verschiedenen Versionen zur Verfügung gestellt: Als Binär- und als Quellcodepaket. Da Quellcode-Pakete lediglich für Entwickler interessant sind, bezieht sich dieser Wiki-Beitrag lediglich auf binäre rpm-Pakete. Diese rpm-Pakete sind für verschiedene Prozessortypen verfügbar:
Prozessortypen | |
Bezeichnung | Prozessortyp |
i386 | 386er und kompatible Prozessoren |
i486 | 486er und kompatible Prozessoren |
i586 | Pentium und kompatible Prozessoren |
i686 | Pentium II und kompatible Prozessoren |
Sollte nicht sicher sein, welcher Prozessor verwendet wird, so sollte unbedingt auf i386-Pakete zurückgegriffen werden, da diese auf allen Prozessortypen laufen. Sollte jedoch bekannt sein, welcher Prozessor verwendet wird, so sollte das jeweilige spezifische Paket zurückgegriffen werden. i686-Pakete verwenden zum Beispiel diverse Erweiterungen des Pentium IIs; diese Pakete können dann wesentlich schneller ausgeführt werden.
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!
Zunächst muss das folgende Paket über die Paketverwaltung [1] installiert werden:
rpm
mit apturl
Paketliste zum Kopieren:
sudo apt-get install rpm
sudo aptitude install rpm
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:
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.
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.
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.
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
Alle Pakete sollten vor der Installation der unter Analyse beschriebenen Prüfung unterzogen werden.
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
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 27. Dezember 2015 12:22 von aasche erstellt.