The Answer Girl

Installieren geht über Studieren

Die bei der Installation auf die Festplatte gespielte Software mag für den Anfang reichen, doch früher oder später kommt der Tag, an dem man das eine oder andere neue Programm ausprobieren möchte. Auch ein lapidar hingeworfenes "Installier Dir doch mal xy" als Antwort auf ein Problem wirft zunächst noch mehr Fragen auf – denn eine Datei namens setup.exe ist unter Linux schlichtweg unbekannt. Das Answer Girl hilft aus dieser Sackgasse.

Selbst, wenn Sie eine setup.exe haben sollten, weil Ihr Softwarepaket für Windows gedacht ist – hier muss Ihr Linuxsystem leider passen: Genausowenig, wie Sie ein für den Gebrauch unter Linux vorgesehenes Binärprogramm unter Windows zum Laufen bekommen, können Sie ein Windowsprogramm einfach unter Linux benutzen. Das hängt damit zusammen, dass Linux und Windows (und MacOS und BeOS und weitere Betriebssysteme) für ausführbare Programme unterschiedliche Binärformate vorsehen.

Windowsprogramme unter Linux

Auch, wenn Sie DOS-/Windowsprogramme nicht direkt unter Linux laufen lassen können, gibt es Hilfe in dringenden Fällen:

  • Der Star unter den kommerziellen Linuxprogrammen des letzten Jahres ist sicherlich VMware (http://www.vmware.com/). In dieser Virtuellen Maschine können Sie Windows (aber auch ein weiteres Linux-System booten (und installieren)), sodass das Gastbetriebssystem in einem Fenster läuft. Für hochperformante Anwendungen ist die Angelegenheit sicherlich etwas langsam, aber für die ein, zwei überlebenswichtigen Windowsprogramme, zu denen sich partout kein Äquivalent unter Linux finden lässt, ein gangbarer Weg.

Eine 30-Tage-Trialversion (http://www.vmware.com/download/download_linux_pre.html) hilft über akute Notfälle hinweg – für den Langzeitbetrieb sind jedoch mindestens 99 US$ (Download für nichtkommerzielle Nutzung) Lizenzgebühr fällig. Nähere Preisinformationen hält http://www.vmware.com/products/linuxpricing.html bereit.

  • Windows-3.11-Programme haben recht gute Chancen, im (kommerziellen) Windows-Emulator Wabi (http://www.calderasystems.com/doc/wabi/wabi.html) zum Leben erweckt zu werden. Leider wird dieses Programm nicht weiterentwickelt und auch nicht mehr neu aufgelegt. Erhältlich ist es ggf. noch unter http://www.LinuxMall.com/product/00094.html.
  • Anders sieht es beim Open-Source-Projekt Wine (http://www.winehq.org/) aus: Hier hat man sogar mit dem einen oder anderen Win32-Programm Chancen. Geschwindigkeitsräusche sollte man jedoch nicht erwarten, und um Enttäuschungen zu vermeiden, lohnt sich einen Blick in die Liste unterstützter Software (http://www.winehq.com/Apps/query.cgi).
  • DOS-Programme, sofern sie nicht zu hardwarenah sind, bekommt man in der dosemu (http://www.dosemu.org/) zum Laufen. Da es sich hier um einen BIOS-Emulation handelt, benötigt man eine DOS-Lizenz.
  • Einen ganzen PC emuliert Bochs (http://www.bochs.com/). Auf diesem virtuellen PC kann man natürlich auch Windows installieren – schnell laufen Applikationen darauf natürlich nicht.

Wenn Sie über den Programmtext einer Software, den Quellcode, verfügen (was für Windowsprogramme selten, für Linuxprogramme oft der Fall ist), können Sie zwar versuchen, ihn mit einem Compiler auf unterschiedlichen Betriebssystemen zu übersetzen, aber das führt nur bei vergleichsweise einfachen Programmen zum Ziel. Sobald ein Programm zum Beispiel eine grafische Oberfläche hat (und nicht in der Programmiersprache Java geschrieben ist), können Sie dieses Experiment getrost erfahrenen Programmierern überlassen.

Übersetzer gesucht

Gerade weil Programme für Linux zum größten Teil der Kategorie "Open-Source-Software" zuzuordnen sind, liegt die komplikationsloseste (und oft die einzige) Möglichkeit, Software auf einem Linuxrechner zu installieren, darin, "mal eben" den Quelltext in ein ausführbares Programm zu übersetzen, sprich: es zu kompilieren.

Das hört sich schwieriger an als es ist – und Sie müssen dazu auch nicht programmieren können. Die meisten Quelltextpakete liefern nämlich "Bauanweisungen" mit, die – einmal von Ihnen angestoßen – automatisch abgearbeitet werden.

Einen Nachteil haben solche Selbstkompilierereien: Wenn Sie nicht genauestens Buch führen, welche Datei Sie wohin stecken (lassen), und welche Datei bei der Installation ggf. wie verändert wird, ist ein sauberes Deinstallieren beinahe so utopisch wie unter Windows.

Buchführung ist mühsam, und weil Menschen nunmal faul sind, haben sich verschiedene Distributoren Gedanken darüber gemacht, wie sich diese Erbsenzählerei automatisieren lässt und Installation und Deinstallation damit einfach und sauber zu handhaben sind.

Auch die Kompiliererei selbst lässt sich schon im Vorfeld von den Distributoren erledigen. Die verteilten Binaries haben jedoch einen Nachteil: Sie benötigen zum Laufen in der Regel sogenannte Bibliotheken oder Libraries (Unter Windows hätten Sie von DLLs gesprochen). Wenn diese auf dem Zielsystem in anderen Versionen vorhanden sind als auf dem System, auf dem das Binary kompiliert wurde, vermisst das Programm u.U. essentielle Funktionen und weigert sich abzulaufen.

Shared Libraries

Natürlich kann man sämtliche Funktionalität eines Programms in ein kompaktes Binary (ein sogenanntes statisch gelinktes Programm) einbinden. Das hätte zwar zur Folge, dass die ausführbaren Dateien sehr gross werden, aber das ist nicht einmal das Schlimmste: Viel schwerer wiegt, dass es Funktionen gibt, die in mehreren bis vielen Programmen benötigt werden. Wenn Sie solche Programme gleichzeitig ablaufen lassen, muss der Arbeitsspeicher nicht nur viele grosse Programme aufnehmen – er hat Funktionen mehrfach geladen, obwohl alle Programme auch mit einer "geteilten" Kopie zufrieden gewesen wären. Um dieser Ressourcenverschwendung einen Riegel vorzuschieben – RAM hat schließlich niemand jemals genug – werden solche oft von verschiedenen Programmen genutzte Funktionen in shared Libraries ("gemeinsam genutzte Funktionsbibliotheken") ausgelagert und bei Bedarf hinzugeladen.

Doch wozu gibt es den fleißigen Erbsenzähler, den Paketverwalter? Der kann schließlich darauf achten, dass benötigte Zusatzprogramme und -bibliotheken in der richtigen Version vorliegen, und wird maulen und in Installationsstreik treten, wenn hier nicht alles stimmt.

Rotkäppchen und die Pakete

Viele Distributoren verwenden den Red Hat Package Manager rpm zum Verwalten der Software auf einem System. Dieses Programm wird auf der Kommandozeile aufgerufen – zum Installieren und Deinstallieren durch root, um sich lediglich Informationen über Software zu holen, darf auch Otto Normaluser darauf zurückgreifen. Tabelle 1 listet einige häufig gebrauchte rpm-Kommandos auf, der Kasten "Paketmanagement praktisch" zeigt ein wenig Paketzauber in der Praxis.

Tabelle 1: rpm in Aktion

rpm -qpi paketname-version.rpm zeigt eine Beschreibung der in der rpm-Datei versteckten Software an ("query package info").
rpm -qpl paketname-version.rpm listet die Dateien auf, die bei der Installation von paketname-version.rpm auf dem Rechner landen werden ("query package list").
rpm -Uvh paketname-version.rpm installiert (wenn ein Paket gleichen Namens schon vorhanden ist: aktualisiert ("Update")) paketname-version.rpm. Die Option -h bewirkt, dass eine Fortschrittsanzeige den Verlauf der Installation dokumentiert; -v löst eine gewisse Geschwätzigkeit bei rpm aus, sodass man etwas besser sieht, was man tut.
rpm -qa | less listet alle installierten Pakete auf ("query all"). Mit /Suchbegriff suchen Sie vorwärts nach einer bestimmten Zeichenkette, mit ?Suchbegriffrückwärts und mit q ("quit") beenden Sie die Anzeige. Die Paketnamen, so wie sie hier aufgelistet sind, verwenden Sie in den folgenden Befehlen.
rpm -qi paketname liefert Informationen zum Paket paketname.
rpm -ql paketname listet Name und Pfad der installierten und zum Paket gehörenden Dateien auf.
rpm -e paketname deinstalliert das gewünschte Paket.
rpm --help | less zeigt alle rpm-Optionen mit Kurzerklärung an. Beenden Sie die Anzeige mit q.

Paketmanagement praktisch

Bevor wir irgendwas (hier: den Junkbuster) installieren, sollten wir wissen, womit wir es zu tun haben:

[pjung@janeway software]$ rpm -qpi junkbuster-2.0.2-6.i386.rpm
Name        : junkbuster                  Distribution: 5.x
Version     : 2.0.2                             Vendor:
http://www.waldherr.org/
Release     : 6                             Build Date: Don 07 Okt
1999 23:04:52 CEST
Install date: (not installed)               Build Host:
amadeus.waldherr.org
Group       : Networking/Utilities          Source RPM:
junkbuster-2.0.2-6.src.rpm
Size        : 316231                           License: GPL
Packager    : Stefan Waldherr <stefan@waldherr.org>
URL         : http://www.waldherr.org/junkbuster/
Summary     : The Internet Junkbuster v2.0.2
Description :
The Internet Junkbuster (TM) blocks unwanted banner ads and protects
your privacy from cookies and other threats. It's free under the GPL
(no warranty), runs under *NIX and works with almost any browser. You
need to clear you browser's cache and specify the proxy-server,
described in /usr/doc/junkbuster.  This is a modified version which
returns a blank GIF for blocked images by default.  But you can
configure this via /etc/junkbuster/config.

Vielleicht haben wir dieses sinnvolle Programm, das einem Web-Werbung und andere mit dem WWW verbundene Ärgernisse erspart, ja schon installiert? Nachschauen schadet nicht:

[pjung@janeway software]$ rpm -q junkbuster
[pjung@janeway software]$

Anscheinend nicht: unser "Query-"(Anfrage-)Befehl bleibt in bester Unixprogramm-Tradition schweigsam, wenn er keinen installierten Junkbuster finden kann. In dem Fall hindert uns nichts an der Installation, und die geht nur als root. Das Kommando su macht uns dazu:

[pjung@janeway software]$ su
Password:

Das root-Passwort wird bei der Eingabe nicht angezeigt. Jetzt können wir als root den Installationsbefehl geben:

[root@janeway /tmp]# rpm -Uvh junkbuster-2.0.2-6.i386.rpm
fehlgeschlagene Paket-Abhängigkeiten:
        libc.so.6(GLIBC_2.1) wird von junkbuster-2.0.2-6 gebraucht
        libc.so.6(GLIBC_2.0) wird von junkbuster-2.0.2-6 gebraucht

Ohoh… da stimmt was nicht: Die C-Bibliothek libc.so.6 wird benötigt. Wenn wir in unserem Beispiel mit dem locate-Befehl danach suchen, existiert diese Datei sehr wohl. Das deutet auf ein Versionsproblem hin.

Unter normalen Umständen würde man versuchen, das Paket mit der (angeblich) fehlenden Bibliothek/dem fehlenden Programm zu installieren oder upzudaten. Bei der C-Bibliothek liegt der Fall etwas anders: Da diese grundlegende Funktionalität für fast alle Programme Ihres Linuxsystems bereitstellt, ist ein Update nicht so einfach möglich, da es im ungünstigsten Fall dazu führt, dass gar kein Programm mehr funktioniert. Das führt uns zu dem Schluss, das das vorliegende Paket für eine andere Distributionsversion gedacht sein könnte. Dem ist hier auch so.

Die Webseite http://www.waldherr.org/junkbuster/ hält einen älteren Build (Build 2 statt 6) derselben Junkbusterversion 2.0.2 bereit, die prächtig auf unsere Distribution (Red Hat Linux 5.2) passt, wie der Installationsversuch zeigt:

[root@janeway /tmp]# rpm -Uvh junkbuster-2.0.2-2.i386.rpm
junkbuster
##################################################
Now you'll need to start junkbuster with
        /etc/rc.d/init.d/junkbuster start
or simply reboot; It will be started automatically at boot time.
Don't forget to add the proxy stuff in Netscape.

rpm erklärt uns, was es installiert, und zeigt (dank der -h-Option) durch die Kreuze den Fortgang der Installation an. Manche Pakete geben dann wie hier gezeigt ein paar Hinweise, was zur Inbetriebname der Software noch getan werden muss.

Vergewissern wir uns, dass wir jetzt tatsächlich einen Junkbuster installiert haben:

[root@janeway /tmp]# rpm -q junkbuster
junkbuster-2.0.2-2

… und siehe da: rpm zeigt sich diesmal gesprächiger und teilt uns den Namen des Pakets, die Version und den Build an.

Falls Sie sich einige Zeit später doch entscheiden, dass Werbung interessant ist (oder Sie ein anderes Programm gefunden haben, das Ihre Bedürfnisse besser bedient), können Sie den Junkbuster auch wieder loswerden:

[root@janeway /tmp]# rpm -e junkbuster
Shutting down junkbuster:  junkbuster

… und schon ist er sauber deinstalliert…

Manche Distributionen wie Debian oder Corel Linux verwenden den weniger gängigen Paketmanager dpkg zum Installieren von Paketen, die auf die Dateinamenendung .deb hören. Daneben gibt es noch einige "Nischenlösungen" wie Stampedes slp-Paketmanager, der jedoch auch mit rpm- und deb-Dateien umgehen kann.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Surfen via Junkbuster
    Sicher und Werbefrei durch das Internet. Der lokale HTTP-Poxy Junkbuster schützt Ihre Privatspähre und schont Ihren Nerven.
  • Werbung entfernen mit Browser oder Proxy
    Werbebilder auf Websites erschweren die Orientierung und belasten die Internetleitung. Mit den vorgestellten Tools blockieren Sie Werbebanner auf dem eigenen Rechner oder im lokalen Netz.
  • Privoxy und Webcleaner im Test
    Bild: A.25.04.819 Normalerweise hat ein Nutzer kaum Kontrolle darüber, welche Daten über den Browser auf seinen Rechner ein- und ausgehen. Content-Filter helfen, sowohl die Privatsphäre des Surfers zu wahren als auch die Werbeflut einzudämmen.
  • Schwerpunkt Internet
    Linux und Internet – das eine lässt sich ohne das andere kaum denken. Client- und Server-Software zum Nutzen und Bereitstellen von Internet-Diensten (sonst meist über mehrere Rubriken verteilt) steht in dieser LinuxUser-Ausgabe im Mittelpunkt.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 0 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...
Tinte sparen bei neuem Drucker
Lars Schmitt, 30.11.2017 17:43, 2 Antworten
Hi Leute, ich habe mir Anfang diesen Monats einen Tintenstrahldrucker angeschafft, der auch su...
Für Linux programmieren
Alexander Kramer, 25.11.2017 08:47, 3 Antworten
Ich habe einen Zufallsgenerator entworfen und bereits in c++ programmiert. Ich möchte den Zufalls...