So installieren Sie ein Debian-Paket auf einer beliebigen Linux-Distribution

Installation von Debian-Paketen auf beliebigen Linux-Distributionen

Debian-Pakete sind in der Linux-Welt weit verbreitet. Oftmals werden Programme als DEB-Dateien – also Debian-Pakete – bereitgestellt, wenn sie für Linux kompiliert werden. Es ist sehr hilfreich, wenn Linux-Unterstützung gegeben ist, auch wenn es sich nur um eine bestimmte Distribution handelt. Allerdings sind nicht alle Linux-Systeme für die Ausführung solcher Pakete ausgelegt. Dieser Artikel führt Sie Schritt für Schritt durch den Prozess, ein Debian-Paket zu installieren und die darin enthaltene Software auf Ihrer Linux-Distribution zum Laufen zu bringen.

In dieser Anleitung wird keine „Konvertierung“ durchgeführt. Stattdessen werden die Daten extrahiert und an die richtigen Stellen verschoben. Zunächst laden Sie das gewünschte Debian-Paket herunter. In unserem Beispiel verwenden wir das Google Chrome-Paket. Obwohl wir uns hier auf dieses spezifische Paket konzentrieren, dient es als Machbarkeitsnachweis. Sie können die gezeigte Methode auf beliebige Debian-Pakete anwenden.

Daten extrahieren

Viele Linux-Nutzer wissen nicht, dass DEB-Pakete im Grunde spezielle Archivdateien sind, die sich extrahieren lassen. Nachdem Sie das Paket heruntergeladen haben, extrahieren Sie es. Wir haben das Chrome-Paket heruntergeladen und auf unserem System entpackt. Öffnen Sie ein Terminalfenster und erstellen Sie mit dem Befehl `mkdir` einen neuen Ordner, der die benötigten Paketdaten aufnimmt:

mkdir -p ~/deb-extracted

Verschieben Sie die Chrome-Datei mit `mv` in den neu erstellten Ordner:

mv google-chrome-stable_current_amd64.deb ~/deb-extracted

Wechseln Sie mit `cd` in den neuen Ordner und überprüfen Sie das Chrome-Paket mit dem Tool `ar`:

cd ~/deb-extracted
ar tv google-chrome-stable_current_amd64.deb

Das `ar`-Tool analysiert die DEB-Datei und gibt uns die Information, dass sie drei komprimierte Dateien enthält: „debian-binary“, „control.tar.gz“ und „data.tar.xz“. Alle benötigten Daten befinden sich im Archiv `data.tar.xz`, aber `control.tar.gz` ist ebenfalls relevant.

Das `ar`-Tool kann nicht nur Archive inspizieren, sondern sie auch extrahieren. Mit `ar xv` extrahieren Sie die drei Elemente aus `google-chrome-stable_current_amd64.deb`:

ar xv google-chrome-stable_current_amd64.deb

Alle drei Dateien sollten sich nun in `~/deb-extracted` befinden. Entfernen Sie die Datei „debian-binary“ mit dem Befehl `rm`, da sie für ein Nicht-Debian-System irrelevant ist:

rm debian-binary

Als Nächstes extrahieren wir die Datei `data` aus `data.tar.xz`, die alle Dateien enthält, um Chrome unter Linux auszuführen. Nutzen Sie `tar`, um das Archiv in den aktuellen Ordner zu entpacken:

tar -xvf data.tar.xz

Beim Extrahieren des Datenarchivs entstehen drei Ordner: „opt“, „usr“ und „etc“.

Löschen Sie den Ordner `etc` mit `rm -rf`, da die darin enthaltenen Elemente für Debian-Updates zuständig sind und hier nicht benötigt werden.
Achtung: Verwenden Sie kein „/“ vor dem Befehl, da Sie ansonsten unbeabsichtigt das Systemverzeichnis `/etc/` löschen könnten und nicht den eben extrahierten Ordner.

rm -rf etc

Verschieben Sie nun die Inhalte aus den Ordnern `usr` und `opt` an die entsprechenden Stellen auf Ihrem PC. Im Fall von Google Chrome auf einer Nicht-Debian-Distribution würden Sie dies manuell tun:

cd opt
sudo -s
mv google /opt/
ln -snf /opt/google/google-chrome /usr/bin/
cd .. share
mv -f * /usr/share/

Das obige Beispiel zeigt, wie mit den Dateien aus `data.tar.xz` umzugehen ist. Andere Debian-Pakete können natürlich andere Inhalte in den extrahierten Ordnern haben. Die Idee ist, die Namen der Ordner im `data.tar.xz`-Archiv zu betrachten. Die Ordnernamen entsprechen üblicherweise den Ordnern im Dateisystem Ihres Linux-Rechners, und die enthaltenen Dateien werden in diese Verzeichnisse verschoben.

Paketanweisungen finden

Manchmal genügt das Dekompilieren eines Debian-Pakets und das Extrahieren des `data.tar.xz`-Archivs nicht, und Sie sind immer noch unsicher. Glücklicherweise enthält jede Debian-Paketdatei eine Reihe von Anweisungen, die in `control.tar.gz` zu finden sind.

Extrahieren Sie das Archiv `control.tar.gz` mit dem Befehl `tar` in den Ordner `~/deb-extracted`:

tar -xvzf control.tar.gz

Das Archiv `control.tar.gz` enthält Skripte, die dem Debian-Paket mitteilen, was zu tun ist. Uns interessiert hier das Skript namens `postinst`, was für „Post Installation“ steht. Es handelt sich um ein Bash-Skript, das ausgeführt wird und die nötigen Schritte zum Installieren des Pakets ausführt.

Nutzen Sie im Terminal `cat`, um die Textdatei anzuzeigen. Kombinieren Sie es mit `more`, um es zeilenweise zu betrachten. Untersuchen Sie die `postinst`-Datei, um zu sehen, was das Skript tut, insbesondere wohin es Dateien verschiebt. Dies hilft Ihnen zu verstehen, wo die Dateien in `data.tar.xz` hingehören und welche Aktionen sie ausführen.

cat postinst | more

Abhängigkeiten

Das Dekompilieren eines Debian-Pakets und das Verschieben der Datendateien reicht oft nicht aus. Manchmal müssen Sie die richtigen Abhängigkeiten installieren, damit alles ordnungsgemäß funktioniert. Glücklicherweise hat jedes Debian-Paket eine Datei in `control.tar.gz`, die eine Liste der benötigten Bibliotheken enthält. Verwenden Sie `cat`, um diese Datei anzusehen:

cat control | more

Um zum Beispiel Google Chrome nutzen zu können, verlangt die Steuerdatei `ca-certificates`, `fonts-liberation`, `libappindicator1`, `libasound2`, `libatk-bridge2.0-0` und andere Komponenten.

Lesen Sie diese Datei sorgfältig durch und installieren Sie die aufgeführten Bibliotheken auf Ihrem Linux-System. Wenn die benötigten Komponenten vorhanden sind, sollte das extrahierte Programm wie erwartet funktionieren.

Wenn Sie ein Redhat-basiertes Linux-System verwenden, beachten Sie die Anleitung zur Installation von Debian-Paketen auf diesem System.