Für Linux werden Sie allerlei Varianten von Programm-Archiven finden. Bevor wir auf die jeweiligen Installationsvorgänge eingehen, zunächst ein Überblick über die verschiedenen Typen.
Wenn Sie die Installations-CDs Ihrer Linux-Distribution genauer untersucht haben, werden Sie in den meisten Fällen eine Reihe von Dateien mit der Endung .rpm gefunden haben. "RPM" ist die Abkürzung für Red Hat Package Manager und kennzeichnet Programmarchive, die nach dem von Red Hat eingeführten und heute von fast allen Distributionen verwendeten Standard zusammengestellt wurden.
Unterschieden wird dabei zwischen sogenannten Binär-RPMs und Source-RPMs. Binär-RPM-Pakete enthalten die ausführbaren Dateien sowie alle weiteren Konfigurations- und sonstige Dateien, die Teil des Programmes sind. Neben diesen Dateien bietet ein RPM-Archiv zusätzlich Informationen darüber, was unmittelbar vor und nach der Installation zu tun ist -- zusätzlich ist dort noch vermerkt, welche weiteren RPM-Pakete für die Installation benötigt werden oder mit welchen anderen Paketen es zu (Versions-) Konflikten kommen würde.
Source-RPMs enthalten die Programm-Sourcen (also die Quelltexte in einer oder mehreren Programmiersprachen -- meist C oder C++), zusammen mit den Informationen, die zum Übersetzen des Programmes notwendig sind. Aus einem Source-RPM-Paket können Sie (wie weiter unten beschrieben) ein Binär-RPM-Paket erzeugen.
RPM-Pakete lassen sich in der Regel sehr einfach durch Eingabe eines einzigen Befehls oder über ein grafisches Tool installieren. Dazu sind Systemadministrator- (root-) Rechte nötig, so dass Sie vor der Installation grundsätzlich zum Benutzer root werden müssen. Wegen Unterschieden zwischen den einzelnen Linux-Distributionen ist es recht häufig so, dass ein RPM-Paket nur auf der Distribution installiert werden kann, für die es erstellt wurde. Daher finden Sie im Internet häufig verschiedene RPM-Pakete für verschiedene Distributionen.
Am Dateinamen eines RPM-Paketes können Sie in der Regel die Version des Programmes und die Prozessorplattform, für die es erstellt wurde, erkennen: Ein typischer Dateiname ist
kpackage-1.3.10-3.i386.rpm
Die Versionsnummer ist hier 1.3.10; die mit Bindestrich angehängte Nummer 3 deutet an, dass dieses Paket bereits zum dritten Mal erstellt wurde. Es gibt also vermutlich auch die Pakete 1.3.10-1 und 1.3.10-2, die vielleicht für eine frühere (Vorab-) Version Ihrer Distribution erstellt wurden. Der Bestandteil "i386" deutet an, dass das Programm auf allen Intel-basierten Linux-Systemen lauffähig ist: alle Rechner mit 80386-, 80486-, Pentium I/Pro/II/III- oder kompatiblem Prozessor (AMD, Cyrix etc.) sind in der Lage, Programmcode für den 80386-Prozessor auszuführen.
Finden Sie im Internet mehrere RPM-Archive mit den Endungen i386.rpm, i486.rpm oder i586.rpm, dann wählen Sie dasjenige aus, das am besten zu Ihrem Rechner passt: Pakete, die für Pentium-Prozessoren übersetzt wurden, werden geringfügig besser optimiert sein als 386er-Pakete, da sie zusätzliche Befehle des Pentium-Prozessors verwenden können, die der 80386 noch nicht kannte -- dafür laufen Sie eben auch nicht auf älteren Prozessoren.
Source-RPM-Pakete haben anstelle der Plattform-Bezeichnung das Kürzel "src" im Namen; das Source-Paket zu obigem RPM-Paket könnte also
kpackage-1.3.10.src.rpm
heißen.
Neben RPM gibt es noch ein weiteres populäres Paket-Format -- das der Debian-Distribution. Debian-Pakete enden auf .deb und werden neben Debian Linux auch vom Newcomer Corel Linux verwendet. Wegen der geringen Verbreitung von Debian Linux, und weil Debian eine der einsteiger-unfreundlichsten Distributionen darstellt (wohl aber eine ausgezeichnete Wahl für erfahrene Systemadministratoren darstellt), verzichten wir auf eine ausführlichere Beschreibung der Debian-Pakete. Interessant ist hier noch, dass sich Debian- und RPM-Pakete mit Hilfe des Programmes alien ineinander konvertieren lassen -- das gelingt jedoch manchmal mehr schlecht als recht. Nach Möglichkeit sollten Sie also immer ein Paket wählen, das zu Ihrem System (RPM- oder Debian-basiert) passt.
Dateien mit der Endung .tar.gz entsprechen in etwa den zip-Archiven unter Windows: Während zip-Archive "in einem Rutsch" den Inhalt eines ganzen Verzeichnisses (mit Unterverzeichnissen) aufnehmen und komprimieren, geschieht dies unter Linux in zwei Arbeitsschritten: zunächst entsteht ein tar-Archiv, das ebenfalls eine ganze Verzeichnishierarchie enthält; die Dateien sind dabei aber noch nicht komprimiert. Das geschieht erst im zweiten Schritt, in dem das Programm gzip zum Packen des tar-Archivs verwendet wird -- das erklärt die doppelte Dateiendung.
Programmpakete im tar.gz-Format enthalten meistens die Programm-Sourcen (also Quelltexte) und müssen zur Installation von Hand ausgepackt, konfiguriert, kompiliert (in ein binäres Programm übersetzt) und schließlich an die richtige Stelle in der Linux-Verzeichnishierarchie kopiert werden. Wie dies geht, beschreiben wir weiter unten.
Gelegentlich finden Sie auch tar.gz-Pakete, die bereits die kompilierten Programmdateien enthalten; das ist allerdings unüblich.
... stellen eine Variante der tar.gz-Archive dar: hier wurde nach dem "taren" das Kompressionsprogramm bzip2 verwendet, das meistens eine höhere Kompressionsrate als das ältere gzip erreicht. Damit unterscheidet sich das Archiv aber nicht prinzipiell vom tar.gz-Archiv; es ist nur ein anderer Befehl zum Entpacken notwendig.
Nach dieser Übersicht über die verschiedenen Paket-Formate geht es nun um die jeweiligen Installationsverfahren. Wir beginnen mit der einfachsten Variante, der Installation von RPM-Archiven.
Wenn Sie ein Binär-RPM-Paket haben, das zu Ihrer Linux-Distribution passt, dann können Sie es wahlweise auf der Konsole mit Hilfe des Dienstprogrammes rpm installieren oder dafür ein grafisches Frontend wie kpackage (unter KDE) oder gnorpm unter GNOME verwenden. Einige aktuelle Distributionen liefern noch weitere Tools mit, die den gleichen Zweck erfüllen, so etwa SuSE (YaST) und easyLinux (eProfile).
In den meisten Fällen werden Sie mit einer der Desktop-Umgebungen KDE oder GNOME arbeiten. Unter KDE können Sie das Tool kpackage, unter GNOME gnorpm zur Installation von RPM-Paketen verwenden.
Um Pakete installieren zu können, müssen Sie Administrator-Rechte besitzen. Geben Sie in einem Konsolen-Fenster den Befehl su ein -- Sie werden dann nach dem Passwort für den Administrator root gefragt. Nach erfolgreicher Eingabe starten Sie den Paket-Manager mit kpackage. (Bei einigen Distributionen können Sie kpackage auch direkt oder über den Menüpunkt Dienstprogramme/kpackage des Startmenüs aufrufen, ohne vorher zu root zu werden: es öffnet sich dann vor dem Programmstart ein Fenster, in dem Sie das root-Passwort eingeben können; siehe Abb. 1)
Beim Programmstart liest kpackage zunächst die in der RPM-Datenbank gespeicherten Informationen über alle installierten Programmpakete ein und zeigt diese in einer Baumübersicht an: jedes Paket ist in diese Hierarchie eingeordnet, den Editor emacs finden Sie beispielsweise unter RPM/Applications/Editors.
Um nun ein neues Paket zu installieren, wählen Sie den Menüpunkt Datei/Öffnen. Es erscheint der klassische Öffnen-Dialog von KDE, und hier können Sie nun das gewünschte Paket auswählen (Abb. 2). kpackage zeigt nun in der rechten Hälfte Informationen über das Paket an: Unter dem Tab Eigenschaften finden Sie eine Kurzbeschreibung, die unter anderem Name und Version des Pakets anzeigt (Abb. 3). Klicken Sie auf den Tab Datei-Liste, um eine Auflistung aller Dateien zu erhalten, die bei einer Installation neu angelegt würden -- Sie sehen dabei auch direkt die Verzeichnisse, in die die Dateien gehören.
Links finden Sie fünf ankreuzbare Felder: Upgrade, Ersetze Dateien, Ersetze Pakete, Überprüfe Abhängigkeiten und Test. Diese haben die folgenden Bedeutungen:
In den meisten Fällen können Sie die Voreinstellung dieser fünf Optionen übernehmen. Klicken Sie auf Installieren, um das ausgewählte Paket zu installieren. Über Abbrechen kommen Sie wieder in die Baumansicht der installierten Pakete zurück.
Übrigens: Anstatt ein Paket über Datei/Öffnen auszuwählen, können Sie es auch von einem kfm-Fenster per Drag & Drop auf das kpackage-Fenster ziehen. Ist kpackage noch nicht geöffnet, können Sie im kfm per Einfachklick auf das rpm-Archiv kpackage starten. Das funktioniert aber nur, wenn (wie oben beschrieben) beim Start durch einen normalen Anwender ein Passwort-Dialog erscheint. Ist dies nicht der Fall, gibt es noch eine Möglichkeit, kpackage mit den nötigen Rechten aus dem kfm-Fenster aufzurufen: Wählen Sie dazu den Menüpunkt System/KFM Dateimanager (Super User Modus) auf. Nach Eingabe des Passworts wird ein kfm-Fenster geöffnet, in dem Sie Administrator-Rechte haben; Sie erkennen das an der roten Markierung links oben im kfm-Fenster. Wenn Sie in diesem Fenster auf ein rpm-Archiv klicken, wird kpackage ohne Passwort-Abfrage gestartet.
GNOME bietet ein vergleichbares Programm: gnorpm hat unter Red Hat Linux das traditionelle, Red-Hat-eigene Tool glint abgelöst und steht natürlich auch für alle anderen Linux-Distributionen zur Verfügung.
Prinzipiell ist hier das gleiche zu tun wie bei der Verwendung von kpackage. Starten Sie das Programm als Administrator root (also nach "su", s. o.). (Abb. 5) Öffnen Sie außerdem ein gmc-Dateimanager-Fenster (GNOME Midnight Commander) und ziehen Sie dann das zu installierende RPM-Paket per Drag & Drop auf das gnorpm-Fenster. Dadurch öffnet sich ein neues Fenster Installieren, in dem das Paket angezeigt wird (Abb. 6). Wenn Sie auf Anfragen klicken, erhalten Sie ausführlichere Informationen über das Paket (die aktuelle gnorpm-Version 0.9 ist bei diesem Versuch allerdings immer abgestürzt -- in früheren Versionen hat dies jedoch funktioniert); ein Klick auf Installieren erledigt das Gewünschte.
Auch gnorpm prüft, ob es Paket-Konflikte gibt, und öffnet ggfs. eine warnende Dialogbox, in der Sie dennoch die Installation anordnen können. Eine Abhängigkeitsprüfung führt das Programm allerdings nicht durch, weswegen sich auch unter GNOME über den Einsatz von kpackage nachdenken lässt.
Neben der Nutzung grafischer Frontends, die alle das Dienstprogramm rpm aufrufen ist es auch möglich, direkt in einem Terminal-Fenster mit rpm zu arbeiten. Wenn Sie die Mühe nicht scheuen, sich in die Handhabung einzuarbeiten, dann sind Sie damit sogar wesentlich effizienter und haben den Installationsvorgang besser im Griff.
Alles, was Sie benötigen, ist der genaue Dateiname (inkl. Pfad, falls das Archiv nicht im aktuellen Verzeichnis liegt): Werden Sie mit su zum Administrator root (s. o.) und geben Sie dann den Befehl
rpm -Uvh pfad/paket-1.2.3-1.i386.rpm
ein. So einfach ist das. Während der Installation zeigt ein Fortschrittsbalken an, wieviel vom Paket bereits installiert ist. rpm können Sie auch mehrere Pakete gleichzeitig übergeben und etwa einen Befehl wie
rpm -Uvh download/*.rpm
verwenden. Welche Version eines Paketes installiert ist, können Sie über eine Anfrage der Form rpm -q paketname erfahren (s. Abb. 7). Die hier verwendeten Optionen (und noch einige weitere) finden Sie in Tabelle 1.
Tabelle 1: rpm-Optionen |
-i Installieren (kein Update) -U Update (oder auch Erstinstallation) -v "verbose" (ausführlich); zeigt Paketnamen an -H zeigt Fortschrittsbalken an -q "query" (Abfrage); nachfragen, ob ein Paket installiert ist -e "erase": Löschen eines Paketes - -nodeps Abhängigkeiten ignorieren (also auch bei fehlenden Paketen installieren) - -force Installation erzwingen, auch bei Konflikten |
Bei Verwendung der Optionen -q und -e zum Abfragen oder Löschen braucht nur der Paketname (ohne Versionsnummer) angegeben werden: also nicht rpm -e paket-1.2.3.rpm sondern einfach rpm -e paket.
Kommen wir nun zur komplizierteren Variante, Software auf Ihrem Rechner zu installieren -- hier liegt das Programm als Quelltext-Archiv vor. Dazu muss es zunächst an einer geeigneten Stelle entpackt werden; es bietet sich /usr/local/src/ an.
Wechseln Sie also in dieses Verzeichnis, werden Sie zum Administrator root und entpacken Sie dort das Programm-Archiv. Archive, die auf .tar.gz oder .tgz enden, entpacken Sie mit
tar xzf pfad/paket.tar.gz
und Pakete, die auf .tar.bz2 enden, mit
tar xIf pfad/paket.tar.bz2
(Zwischen "x" und "f" steht ein großes "i" wie "Insel".) Dadurch wird ein neues Unterverzeichnis mit den Quelltext-Dateien erzeugt; wechseln Sie hinein. In den meisten Fällen folgt nun der klassische Installations-Dreischritt "configure/make/make install":
[root@dual myprog-1.1.0]# ./configure ... [root@dual myprog-1.1.0]# make ... [root@dual myprog-1.1.0]# make install
Alle drei Befehle führen dazu, dass Ihr Bildschirm sich mit Unmengen an Systemmeldungen füllt. Was passiert hier alles?
Sollte dieses Verfahren nicht möglich sein, weil es keine Datei configure gibt, dann schauen Sie sich die Dateien im Verzeichnis an: meistens finden Sie dort eine Datei COMPILE oder README, in der die richtige Vorgehensweise beschrieben ist. (hge)
Beim Installieren eines Programmes aus einem tar.gz-Quelltext-Archiv ist es das Ziel, mit Hilfe eines Compilers ausführbare Programme zu erzeugen. Dazu muss der Compiler natürlich installiert sein. Da es in der Regel um C- oder C++-Programme geht, sollte also ein C-Compiler auf Ihrer Platte sein. Bei den meisten aktuellen Distributionen ist das der egcs, und so heißt auch das rpm-Paket, das ihn enthält. Der Compiler alleine reicht aber nicht aus. Beim Kompilieren wird ein sogenanntes Makefile verwendet, das die Anweisungen enthält, mit denen die Programme übersetzt werden. Damit dieses ausgeführt werden kann, muss das Dienstprogramm make installiert sein, welches sich im rpm-Paket gleichen Namens versteckt.
Um zu prüfen, ob alles notwendige Zubehör vorhanden ist, können Sie die Befehle
rpm -q egcs rpm -q makeeingeben; rpm sollte daraufhin jeweils mit dem Paketnamen und einer Versionsnummer (z. B. egcs-1.1.2-30 und make-3.78.1-4) antworten. Fehlt hier etwas, dann suchen Sie auf der Installations-CD Ihrer Linux-Distribution nach den entsprechenden Paketen (etwa egcs-1.1.2-30.i386.rpm und make-3.78.1-4.i386.rpm und installieren diese als Administrator root über den Befehl
rpm -Uvh paketname.rpmnach. Der erste Schritt nach dem Auspacken des Quelltext-Archivs (und Wechsel in das neue Verzeichnis) ist das Konfigurieren der Sourcen -- dabei wird das Makefile erzeugt. Der Befehl dazu ist
./configureDie beiden Zeichen am Anfang sind in der Regel notwendig, damit Ihre Shell im aktuellen Verzeichnis nach dem Skript configure sucht. Dieses Skript durchsucht nun Ihr System nach Programmen und Bibliotheken, die für die Übersetzung der neuen Software benötigt werden; wollen Sie etwa ein KDE-Programm installieren, so sind mindestens die X-Window- und KDE-Bibliotheken und die zugehörigen Include-Files notwendig; entsprechendes gilt für GNOME-Programme.
Include-Files: Während die Bibliotheken von fertigen Programmen verwendet werden, muss dem Compiler beim Übersetzen eines Programmes gesagt werden, wie auf die Bibliotheken zugegriffen werden kann, d. h. welche Programm-Funktionen sie bereitstellen. Dazu dienen die Include-Dateien, die die Endung .h haben und von den C- oder C++-Programmen eingebunden werden. Die Include-Dateien finden Sie meist in /usr/include, /usr/local/include und deren Unterverzeichnissen.
Fehlen die notwendigen Dateien, erhalten Sie beim Aufruf von ./configure beispielsweise Fehlermeldungen der Form
checking for X... configure: error: Can't find X includes. Please check your installation and add the correct paths!Die notwendigen Pakete sind im Detail:
XFree86-devel-3.3.6-20.i386.rpm kdelibs-1.1.2-15.i386.rpm kdelibs-devel-1.1.2-15.i386.rpm qt-2.1.0-4.beta1.i386.rpm qt-devel-2.1.0-4.beta1.i386.rpm gnome-libs-1.2.0-0mdk_helix_2.i586.rpm gnome-libs-devel-1.2.0-0mdk_helix_2.i586.rpmDie Versionsnummern sind dabei natürlich nur beispielhaft; falls Sie auf die Anfragen rpm -q XFree86-devel, rpm -q kdelibs-devel, rpm -q gnome-libs-devel usw. die Antwort "package ... is not installed" erhalten, suchen Sie einfach auf Ihrer Distributions-CD nach ähnlich benannten Paketen und installieren diese (wie oben) nach. Für KDE-Programme werden natürlich nicht die GNOME-Bibliotheken benötigt, und anders herum.
Nach der Installation sollten die Fehlermeldungen unterbleiben, die ein Fehlen von "X includes" und ähnlichem bemängeln.
KDEDIR und QTDIR |
Beim Übersetzen von KDE-Programmen tritt häufig das Problem auf, dass die Umgebungsvariablen KDEDIR und QTDIR nicht oder nicht richtig gesetzt sind; dies ist z. B. bei SuSE Linux 6.2 der Fall, wenn beide Qt-Bibliotheks-Versionen (1.x und 2.x) installiert sind. Setzen Sie, wenn es Probleme beim Kompilieren gibt, QTDIR auf das richtige Verzeichnis (z. B. mit export QTDIR=/usr/lib/qt-2.1.0). Auch KDEDIR sollte richtig gesetzt sein, bei den meisten Distributionen ist der richtige Wert /opt/kde oder /usr. |
© Copyright 2000 Linux New Media AG