Software aus dem Quelltext Installieren/Deinstallieren: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
 
Zeile 10: Zeile 10:
  
 
== Installation ==
 
== Installation ==
 +
Zuerst muss der Quellcode des zu installierenden Programms heruntergeladen werden.<br/>
 +
Dieser liegt in der Regel als tar-Archiv, dass mit gzip oder bzip2 komprimiert wurde, vor.<br/>
 +
Die Dateiendungen für diese Archive sind: *.tar.gz, *.tgz oder *.tar.bz2.<br/>
 
<br/>
 
<br/>
 +
Dann legt man sich am Besten ein eigenes Verzeichnis für das Übersetzen an:<br/>
 +
mkdir -p /tmp/programm
 +
Dann in das Verzeichnis wechseln:<br/>
 +
cd /tmp/programm
 +
Und das Paket mit dem Quellcode herunterladen:<br/>
 +
wget ist der Downloadmanager für die Konsole.<br/>
 +
''Mit der Option '''<u>c</u>''' kann der Download im Fall eines Abbruchs wiederaufgenommen werden.''<br/>
 +
wget -c <URL>
 +
Anschließend das Archiv entpacken:<br/>
 +
'''''<u>x</u>''' weist tar an, das Paket zu entpacken''<br/>
 +
'''''<u>j</u>''' um bzip2-Archive zu entpacken''<br/>
 +
oder: '''''<u>z</u>''' um gzip-Archive zu entpacken''<br/>
 +
'''''<u>v</u>''' für eine ausführliche Ausgabe (Optional)''<br/>
 +
'''''<u>f</u>''' als letzte Option bezeichnet die zu entpackende Datei''<br/>
 +
tar -xjvf <Paket>
 +
Das Archiv wird in der Regel in ein eigenes Unterverzeichnis entpackt.<br/>
 +
cd <Paket-Verzeichnis>
 
<br/>
 
<br/>
 +
'''Achtung!'''<br/>
 +
An dieser Stelle empfiehlt es sich unbedingt einen Blick in die, den meisten Archiven beiliegende, README oder INSTALL Datei zu werfen!<br/>
 +
In dieser befinden sich unter Umständen wichtige Informationen, Hinweise oder eine Anleitung zur Installation des Programms.<br/>
 +
<br/>
 +
Den meisten Paketen liegt ein ''configure''-Script bei, dass die Paketabhängigkeiten überprüft.<br/>
 +
Also zuerst einmal<br/>
 +
./configure --help
 +
ausführen, um sich die verfügbaren Optionen für dieses Paket anzeigen zu lassen.<br/>
 +
Anschließend der eigentliche Aufruf von ''configure'':<br/>
 +
z.B. mit der Option ''prefix'' (empfohlen) - Installiert das Programm unterhalb von ''/usr/local''<br/>(die Bibliotheken in ''/usr/local/lib'', die Binaries in ''/usr/local/bin'', ...)
 +
./configure --prefix=/usr/local
 +
<br/>
 +
'''Achtung!'''<br/>
 +
Falls ''configure'' mit einem Fehler abbricht, bedeutet dies '''meistens''', dass wichtige Pakete/Bibliotheken zum Übersetzen des Programms fehlen.<br/>
 +
In der Regel, kann dies mit dem Nachhinstallieren der entsprechenden *-devel Pakete behoben werden.<br/>
 +
Danach wieder ''configure'' starten, bis keine Fehler mehr auftauchen.<br/>
 +
<br/>
 +
Anschließend starten wir den eigentlichen Kompiliervorgang:<br/>
 +
make
 +
'''Achtung!'''<br/>
 +
Falls während des Übersetzens Fehler auftreten kann dies diverse Ursachen haben:<br/>
 +
z.B. fehlende Abhängigkeiten die von ''configure'' nicht berücksichtigt wurden, Fehler im Quellcode, falsche Kompilerversion, ...<br/>
 +
Ein allgemeines Vorgehen an dieser Stelle gibt es nicht.<br/>
 +
Eine Suche nach der Fehlermeldung bei [http://www.google.de Google], in Fachforen oder im [http://www.linux-club.de Linux-Club] ;-) kann dabei helfen.<br/>
 +
<br/>
 +
Für das Posten in Foren gilt:<br/>
 +
Folgende Angeben sollten gemacht werden:<br/>
 +
* 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
 +
<br/>
 +
Wenn der Aufruf von ''make'' erfolgreich war, kann die eigentlich Installation durchgeführt werden.<br/>
 +
Bisher wurden noch '''keine''' Veränderungen am System vorgenommen.<br/>
 +
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.<br/>
 +
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.<br/>
 +
Siehe [[#Variante checkinstall|Variante checkinstall]]<br/>
 +
<br/>
 +
 +
=== 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.
  
== Installation mit '''checkinstall''' ==
 
 
<br/>
 
<br/>
 
<br/>
 
<br/>
  
 
== Deinstallation ==
 
== Deinstallation ==
<br/>
+
Die Deinstallation von Programmen die aus dem Quellcode kompiliert/installiert wurden gestaltet sich schwierig.<br/>
 +
Die meisten Programme bestehen aus vielen Einzeldateien (Bibliotheken, Binaries, Dokumentation, ...), die alle in die entsprechenden Verzeichnisse kopiert wurden (*/lib, */bin, */shrare, */share/doc).<br/>
 +
Aus diesem Grund empfiehlt es sich eine Installationsart zu wählen, die später eine möglichst einfache Deinstallation des Programms ermöglicht.<br/>
 +
z.B. die Verwendung von [[#Variante checkinstall|checkinstall]]<br/>
 +
Sollte dies nicht der Fall gewesen sein, müssen alle alle installierten Dateien von Hand gelöscht werden:<br/>
 +
Um zu rekonstruieren, welche Dateien mit diesem Programm installiert wurden, empfiehlt es sich die [[#Installation|Installation]] zu wiederholen:<br/>
 +
Als '''prefix''' verwendet man (neben den außerdem benutzten ''configure''-Optionen) das '''tmp-Verzeichnis'''.<br/>
 +
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.<br/>
 +
Dieses Verzeichnis kann man jetzt mit dem (bei der Erstinstallation verwendeten) Systemverzeichnis vergleichen und die zu dem Programm gehörigen Dateien löschen.<br/>
 +
Nachteil: Evtuelle Paketabhängigkeiten von anderen Paketen können dabei ebenfalls gelöscht werden.<br/>
 
<br/>
 
<br/>
  
  
 
[[Category:Konsole]]
 
[[Category:Konsole]]

Version vom 24. August 2006, 23:06 Uhr

Konsole

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.