Programme installieren unter Linux

Bio-logisch

Moderator
Teammitglied
Der Begriff Linux umfaßt eine schier unüberschaubare Vielfalt an Programmen und Tools, die einen Einsteiger schlicht zu erschlagen drohen.

Fast genauso vielfältig ist die Anzahl der Möglichkeiten, diese Software zu installieren.
Dieses Tutorial versucht hier anzusetzten und einen Einblick in diese eigene Welt zu gewähren.

Teil 1: Pakete der eigenen Distribution
Die eleganteste Lösung zur Installation eines Programms ist auf die Medien der eigenen Distribution zurückzugreifen.
Das jeweilige Programm des Herstellers kann die Abhängigkeiten von Paketen in der Regel am besten auflösen.

Bei Suse ermöglichts das Programm Yast unter Software, Software Installieren und Löschen eine Paketauswahl.
In dem Punkt Software, Installationsquelle wechseln besteht zudem die Möglichkeit, weitere Quellen, wie den Suse-FTP-Server einzubinden. Bei einer permanenten Internetanbindung kann man sich so das Hantieren mit der DVD ersparen.
Weitere Details dazu in diesem Tutorial:
https://www.supernature-forum.de/showthread.php?s=&threadid=42682#post360032

Teil 2: Automatische Installation über die Konsole
Fast jede aktuelle Distribution ermöglicht es, auf Befehl Software aus dem Internet herunter zu laden und direkt auf den eigenen Rechner zu installieren.
Vorteile:
- Diese Aufrufe funktionieren direkt aus der Kommandozeile.
- Abhängigkeiten werden automatisch aufgelöst
- Es lassen sich recht einfach zusätzliche Quellen einbinden
Die wichtigsten dieser Installationstools heißen yum (Redhat/Fedora), urpmi (Mandrake/Mandriva), emerge (Gentoo) und apt (Debian).
apt nimmt hierbei eine Sonderstellung ein, da es auch für viele andere Distributionen verfügbar ist (auch Redhat und Suse). Daher beschränkt sich dieses Tutorial exemplarisch auf dieses Tool.

Wichtigster Bestandteil von apt ist die Datei /etc/apt/sources.list. Diese Datei ist eine Tabelle, wo Server und Verzeichnisse gelistet sind, von denen Software bezogen werden kann.

Vor jeder Aktion sollte apt mit diesen Quellen synchronisiert werden. Dies macht der Befehl
apt-get update
Danach kann mit dem Befehl
apt-get upgrade
Das System auf den aktuellen Stand gebracht werden.

Der Befehl
apt-get dist-upgrade
geht einen Schritt weiter: Er installiert nicht nur Updates, sondern aktualiersiert, falls entsprechende Quellen eingebunden sind, die gesamte Installation auf die neuste verfügbare Version.

Einzelne Programme werden mit dem Befehl
apt-get install Paketname
installiert oder aktualisiert.

apt-get install Paketname-
deinstalliert ein Programm.

Wichtig ist auch der Befehl
apt-cache search Suchbegriff

Mit ihm lassen ich verfügbare Pakete aus allen Quellen fischen.
Weitere Details, so wie die Anleitungen zu den anderen Tools bitte aus der entsprechenden Manpage entnehmen.

Hinweise zu apt unter Suse:
https://www.supernature-forum.de/showthread.php?s=&threadid=42682#post360033
http://www.linux-club.de/viewforum.php?f=62

Teil 3: Installation einzelner Pakete von Hand
Wenn ein bestimmtes Programm nicht auf den Herstellermedien enthalten ist und auch nicht über zusätzliche Quellen mit apt installierbar ist, so bleibt noch die Installation von Hand.

Hierbei ist aber einiges zu beachten:
1.)Welches Paketformat verwendet die eigenen Distribution? Fertige Pakete sind zunächst immer zu bevorzugen. Pakete debianbasierter Distributionen haben die Endung *.deb, Redhat, Suse, Mandriva *.rpm, Slackware *.tgz usw.
2.)Wenn es Pakete in diesem Format gibt, passen diese zu meiner Distribution? Dies ist leider nicht immer der Fall! Redhat, Mandriva und Suse verwenden zwar alle rpm-Pakete, aber trotzdem lassen sich viele Pakete nicht installieren.
3.)Sind diese Pakete mit meiner Distributionsversion kompatibel? Hier hilft oft nur Ausprobieren, aber ältere Programme funktionieren auf aktuellen Linux-System oft nicht zuverlässig.

Um das ganze nicht zu theoretisch werden zu lassen, spielen wir das ganze am Beispiel des Webbrowsers Opera durch:

Opera beitet auf der eigenen Homepage eine Suchmaske, mit der sich schnell ein passendes Paket für die eigene Distribution finden läßt:
Auf der Opera-Homepage erwartet uns unter Download, Download Opera, Linux eine Box, wo wir unsere Distribution auswählen können. Ich habe Suse 9.1, also nehme ich Suse und dort das Paket für Suse 8.2-9.3.

Zwei Klick weiter landet ein Paket mit dem Namen opera-8.0-20050415.5-shared-qt.i386-en.rpm auf meiner Festplatte.
Dieses installiere ich auf folgende Weise:
Ich öffne eine Konsole (das Symbol mit der Muschel), gebe mir root-Rechte mit dem Befehl su und installiere das Programm mit dem Befehl
yast -i opera-8.0-20050415.5-shared-qt.i386-en.rpm
Hinweis: Der Befehl wird auch für ein Update eines vorher installierten rpms verwendet.

Suse startet nun eine Konsolenversion des eigenen Tools Yast2 und installiert vollautomatisch dieses Paket.
Vorteil: Yast2 erkennt Abhängigkeiten und löst diese auf, sofern es die fehlenden Pakete selber kennt.

Alternative: Auf Suse und allen anderen rpm-Distributionen funktioniert auch der Befehl
rpm -Uhv opera-8.0-20050415.5-shared-qt.i386-en.rpm

Nachteil: Der rpm-Befehl erkennt zwar selbstständig fehlende Abhängigkeiten, kann diese jedoch nicht auflösen.
Sollte eine bestimmte Datei fehlen, kann man auf der Seite http://rpm.pbone.net auf fortgeschrittene Suche (Advance Search) gehen und dort nach dieser Datei suchen. Pakete mit dieser Datei werden nun aufgelistet.
Dieses Paket kann man nun entweder von Hand herunterladen, oder man versucht es zunächst mit den oben besprochenen Automatismen zu installieren.
Wählt man die Variante von Hand, kann man alle zu installierende Pakete in ein Verzeichnis ablegen und diese mit dem Befehl
rpm -Uhv *.rpm auf einen Schlag installieren.

Mit dem Befehl
rpm -e opera
wird das Programm wieder deinstalliert.

In diesem Zusammenhang sehr nützlich:
rpm -qa | grep opera
listet alle installierten Pakete auf, die in ihrem Namen oder der Beschreibung "opera" enthalten.

Debian-basierte Distributionen verwenden hier die Tools dpkg oder apt, die vergleichbare Funktionen bieten.

Wichtig: Leider ist es oft nicht möglich, alle Abhängigkeiten auf diese Art und Weise zu lösen!
In diesem Fall bleibt noch die Installation am Paketsystem vorbei:

Teil 4: Softwareinstallation am Paketsystem vorbei
Viele Programme werden als Binärpakete vertrieben, die einfach nur entpackt werden müssen, und dann direkt laufen.
Ein Beispiel ist hier Mozilla, der auf http://mozilla.kairo.at als ein solches Paket verfügbar ist.
Das übliche Paketformat ist tar.gz, welches mit dem Befehl
tar -xzvf *.tar.gz
ausgepackt wird.

Das Programm wird in ein Verzeichnis entpackt, daß man nun nach /usr/local/ kopiert, dem üblichen Verzeichnis für eigene Software.
Wenn man nun die ausführbare Datei (also z.B. ein Startscript) mit einem Verzeichnis wie /usr/X11R6/bin verknüpft, läßt sich diese Programm auch auf Befehl starten:
ln -s /usr/local/mozilla/mozilla /usr/X11R6/bin/mozilla
Hinweis: Das funktioniert leider nicht, wenn ein Programm direkt aus dem Verzeichnis in dem es installiert wurde gestartet werden muß. In diesem Fall kann man sich mit einem Startscript behelfen, das vorher in das richtige Verzeichnis wechselt und dort das Programm startet:

Code:
#!/bin/sh
cd /usr/local/mozilla
./mozilla $@

Ein derartiges Script abgelegt als /usr/X11R6/bin/mozilla ermöglicht einen Programmstart, wenn das Script mit
chmod a+x /usr/X11R6/bin/mozilla
ausführbar gemacht wurde.

Ein Spezialfall:
Zum Teil werden auch Installationsprogramme, wie sie für Windows typisch sind, angeboten.
Wieder als Beispiel der Webbrowser Opera, der auf dem ftp-Server von Opera als ein solches Paket verfügbar ist:
ftp://ftp.opera.com/pub/opera/linux/800/final/en/i386/static/

Das übliche Paketformat ist tar.gz, welches mit dem Befehl
tar -xzvf *.tar.gz
ausgepackt wird.
ls -lhtr listet den Inhalt des aktuellen Verzeichnis auf, wobei zuletzt veränderte Dateien und Verzeichnisse am Ende stehen.
cd neues_Verzeichnis

xhost +localhost (wenn ein grafisches Installationsprogramm vorliegt, nicht nötig bei einem einfachen Script)
su
./setup.sh (startet das Installationsscript, kann sein, daß es auch anders heißt)
Als Installationspfad sollte auch hier /usr/local verwendet werden.
exit
xhost -
Opera ist nun mit dem Befehl opera startbar.

Sollte sich ein derartiges Programm nicht auf Befehl starten lassen, kann man wieder versuchen, dies mit einer Verknüpfung oder einem Startscript zu beheben:
ln -s /pfad/zum/Programm/Programmname /usr/X11R6/bin/

Die genaue Vorgehensweise variiert hier erheblich, je nach Programm. Die Installation von OpenOffice wird in einem eigenen Tutorial beschrieben.

Teil 5: Quelltexte
Dieser Teil, der an sich der Umfangreichste sein müßte, wird hier eher knapp abgehandelt:
Linux ist ein quelloffenes Betriebssystem, daher werden auch die meisten Programme mit Quelltext ausgeliefert.

Quelltexte werden meist in tar.gz gepackten Archiven vertrieben.
Diese werden mit dem Befehl
tar -xzvf paketname.tar.gz
entpackt.
ls -lhtr
cd neues_Verzeichnis

Nun folgt der bekannte Dreisatz zum compilieren einer Software.
Im Verzeichnis mit den Quelltexten sind folgende Befehle auszuführen:

./configure --prefix=/usr/local
make
su (root-Passwort wird abgefragt)
make install


Voraussetzung ist hierbei, daß der Compiler (gcc), ein make-utility (gnu-make) so wie alle mit der Software verlinkten Bibliotheken so wie die zugehörigen Entwicklerpakete installiert sind!
Je nach Distribution sind diese Bibliotheken unterschiedlichen Orten installiert, was dem ./configure – Skript mitgeteilt werden muß.
Die verfügbaren Parameter, die sich dem Skript mitteilen lassen, erhält man mit dem Aufruf ./configure --help . Einer dieser Parameter ist --prefix=/usr/local, womit der Installationspfad festgelegt wird.

Ein spezieller Tip noch an dieser Stelle:
Mit dem Programm checkinstall lassen sich automatisch rpm oder deb-Pakete erstellen, womit eine Weitergabe und Deinstallation der Programme erleichtert wird.

Teil 6: Zusammenfassung

Wie hoffentlich erkennbar geworden ist, gibt es viele verschiedene Möglichkeiten, ein Programm unter Linux zu installieren.
Der Open-Source Browser Mozilla ist in all diesen Varianten installierbar:

Auf http://www.mozilla.org/releases/#1.7.8 sind neben einer Versionen mit Installationsprogramm auch gepackte ausführbare Versionen in verschiedenen Sprachen verfügbar.

Zusätzlich gibt es noch rpm oder deb - Pakete, die von den jeweiligen Distributoren bereitgestellt werden. Und da Mozilla eine Open-Source Anwendung ist, kann man ihn sich selbstverständlich auch selber kompilieren!

Welche Variante ist da nun zu bevorzugen?
Die, die auf Deinem System am besten läuft :p

Für alle Varianten gilt:
Grundsätzlich sollte immer die Readme oder Liesmich - Datei gelesen werden, die jedem Programm beiligt.
Oft werden hier Hinweise gegeben, welche Variante am besten ist.

Fragen, Anregungen und Verbesserungsvorschläge sind immer willkommen ;)
 
Zuletzt bearbeitet:
Hey danke fuer diese Ausfuerliche beschreibung wie man Programme unter Linux installiert. Ich habe leider immernoch ein Problem bezueglich der Installation von einem Linux Programm. Es handelt sich um Java. Ich habe mir auf der Website von Java.com die RPM version fuer mein Linux Suse 9.3 runtergeladen. Ich kann die Datei aber auf deinem wege nicht Installieren. Komisch finde ich das an der datei welche ich mir bei Java lade diese mit rpm.bin endet. Wie bekomme ich die Datei zum laufen?

Mail back to....
mfg Niels Schmidt
 
Zuletzt bearbeitet von einem Moderator:
Java ist ein Spezialfall, du mußt die Datei erst entpacken:
chmod +x dateiname.bin (wie auch immer das Teil jetzt genau heißt)
sh dateiname.bin

Dann mußt Du die Lizenzbestimmungen abnicken und erhältst zur Belohnung ein rpm-Paket, das wie oben genannt zu installieren ist.

Hoffe, es hilft!
 
Oben