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.