Software aus dem Quelltext Installieren/Deinstallieren
Inhaltsverzeichnis
Software aus dem Quelltext Installieren/Deinstallieren
Wie installiere ich Software aus dem Quelltext?
Wie entferne ich selbst kompilierte Software wieder?
Allgemeines
Installation
Zuerst muss der Quellcode des zu installierenden Programms heruntergeladen werden.
Dieser liegt in der Regel als tar-Archiv, dass mit gzip oder bzip2 komprimiert wurde, vor.
Die Dateiendungen für diese Archive sind: *.tar.gz, *.tgz oder *.tar.bz2.
Dann legt man sich am Besten ein eigenes Verzeichnis für das Übersetzen an:
mkdir -p /tmp/programm
Dann in das Verzeichnis wechseln:
cd /tmp/programm
Und das Paket mit dem Quellcode herunterladen:
wget ist der Downloadmanager für die Konsole.
Mit der Option c kann der Download im Fall eines Abbruchs wiederaufgenommen werden.
wget -c <URL>
Anschließend das Archiv entpacken:
x weist tar an, das Paket zu entpacken
j um bzip2-Archive zu entpacken
oder: z um gzip-Archive zu entpacken
v für eine ausführliche Ausgabe (Optional)
f als letzte Option bezeichnet die zu entpackende Datei
tar -xjvf <Paket>
Das Archiv wird in der Regel in ein eigenes Unterverzeichnis entpackt.
cd <Paket-Verzeichnis>
Achtung!
An dieser Stelle empfiehlt es sich unbedingt einen Blick in die, den meisten Archiven beiliegende, README oder INSTALL Datei zu werfen!
In dieser befinden sich unter Umständen wichtige Informationen, Hinweise oder eine Anleitung zur Installation des Programms.
Den meisten Paketen liegt ein configure-Script bei, dass die Paketabhängigkeiten überprüft.
Also zuerst einmal
./configure --help
ausführen, um sich die verfügbaren Optionen für dieses Paket anzeigen zu lassen.
Anschließend der eigentliche Aufruf von configure:
z.B. mit der Option prefix (empfohlen) - Installiert das Programm unterhalb von /usr/local
(die Bibliotheken in /usr/local/lib, die Binaries in /usr/local/bin, ...)
./configure --prefix=/usr/local
Achtung!
Falls configure mit einem Fehler abbricht, bedeutet dies meistens, dass wichtige Pakete/Bibliotheken zum Übersetzen des Programms fehlen.
In der Regel, kann dies mit dem Nachhinstallieren der entsprechenden *-devel Pakete behoben werden.
Danach wieder configure starten, bis keine Fehler mehr auftauchen.
Anschließend starten wir den eigentlichen Kompiliervorgang:
make
Achtung!
Falls während des Übersetzens Fehler auftreten kann dies diverse Ursachen haben:
z.B. fehlende Abhängigkeiten die von configure nicht berücksichtigt wurden, Fehler im Quellcode, falsche Kompilerversion, ...
Ein allgemeines Vorgehen an dieser Stelle gibt es nicht.
Eine Suche nach der Fehlermeldung bei Google, in Fachforen oder im Linux-Club ;-) kann dabei helfen.
Für das Posten in Foren gilt:
Folgende Angeben sollten gemacht werden:
- Name und Version der verwendeten Distribution
- Name und Version des Programms (inklusive Quelle/Link zum Download)
- Die letzten 10-15 Zeilen vor der ersten auftretenden Fehlermeldung posten
- Die bei configure verwendeten Optionen
- Kompilerversion
Wenn der Aufruf von make erfolgreich war, kann die eigentlich Installation durchgeführt werden.
Bisher wurden noch keine Veränderungen am System vorgenommen.
Für den nächsten Schritt werden Systemverwalterrechte (root-Rechte) benötigt, um die gerade übersetzten Dateien in die entsprechenden Ordner im Dateisystem zu kopieren.
su - <Eingabe des root-Passwortes> make install
Wichtig!
Anstall make install sollte unbedingt checkinstall (Verfügbar für alle rpm- und Debianbasierte Distributionen) verwendet werden.
Siehe Variante checkinstall
Variante checkinstall
Bei checkinstall handelt es sich um ein Programm, das Programme, die aus dem Quelltext übersetzt werden in das Paketformat der jeweiligen Binärdistribution umwandelt.
Deinstallation
Die Deinstallation von Programmen die aus dem Quellcode kompiliert/installiert wurden gestaltet sich schwierig.
Die meisten Programme bestehen aus vielen Einzeldateien (Bibliotheken, Binaries, Dokumentation, ...), die alle in die entsprechenden Verzeichnisse kopiert wurden (*/lib, */bin, */shrare, */share/doc).
Aus diesem Grund empfiehlt es sich eine Installationsart zu wählen, die später eine möglichst einfache Deinstallation des Programms ermöglicht.
z.B. die Verwendung von checkinstall
Sollte dies nicht der Fall gewesen sein, müssen alle alle installierten Dateien von Hand gelöscht werden:
Um zu rekonstruieren, welche Dateien mit diesem Programm installiert wurden, empfiehlt es sich die Installation zu wiederholen:
Als prefix verwendet man (neben den außerdem benutzten configure-Optionen) das tmp-Verzeichnis.
Zusammenfassung:
./configure --prefix=/tmp/programm make make install
Im Verzeichnis /tmp/programm erhält man nun eine Abbildung der Struktur des /usr bzw. /usr/local Verzeichnisses mit allen von dem Programm installierten Dateien.
Dieses Verzeichnis kann man jetzt mit dem (bei der Erstinstallation verwendeten) Systemverzeichnis vergleichen und die zu dem Programm gehörigen Dateien löschen.
Nachteil: Evtuelle Paketabhängigkeiten von anderen Paketen können dabei ebenfalls gelöscht werden.