Linux, eine Alternative ?

Walter Selos

Schon seit geraumer Zeit steigt der Bekanntheitsgrad des  Betriebssystems Linux immer mehr. Nicht nur in Fachzeitschriften schaut einem immer öfter der drollige Pinguin (das Linux-Logo) entgegen, auch in den anderen Medien wird der Name Linux immer öfter erwähnt.

Vor allem die zunehmende Angst vor Monopolisierungstendenzen am Softwaremarkt haben den Ruf nach einer alternative laut werden lassen, und Linux bietet sich dafür sehr gut an.

Meine Erfahrungen mit Linux gehen schon auf mehrere Jahre zurück, weswegen ich hier einige Worte zu diesem Thema schreiben möchte.

Was hat es nun für eine Bewandtnis mit diesem Betriebssystem ? Linux ist ein frei erhältliches UNIX-ähnliches Betriebssystem, welches von Linus Thorwalds unter Mithilfe von Entwicklern, die über die ganze Welt verteilt sind, entwickelt wurde. Diese Projekt konnte nur mittels intensiver Kommunikation zwischen den Entwicklern via Internet realisiert werden. Sowohl die Tatsache, dass das oberste Ziel nicht die Gewinnsteigerung für eine Firma war sondern einfach die technische Qualität, als auch der um vieles größere Entwicklerstab (die musste ja niemand zahlen) spiegelt sich in der Stabilität und Vielseitigkeit dieses Betriebssystems wieder.

Linux ist nicht nur für die Intel-PC-Plattform verfügbar sondern auch für Alpha, Sparc, Mac, PPC, um nur die wichtigsten Portierungen zu nennen.

Linux ist, wie schon erwähnt, freie Software, der Quellcode für das Betriebssystem ist in allen Distributionen enthalten. Die meisten der hunderten mitgelieferten Programme sind nach der GNU/GPL Lizenz lizenziert, d. h. kurz gesagt freie Software, wobei der Quellcode zur Verfügung gestellt werden muss.


Einsatzbereiche

Das Haupteinsatzgebiet von Linux ist im Moment zweifellos im Serverbereich. Die TCP/IP Implementierung gehört zu den größten Stärken diese Betriebssystems. Was damit alles möglich ist, möchte ich in Stichworten erwähnen:

Als Server

Als NFS-Server für andere UNIXe, als SAMBA-Server für Windows/Windows NT-Clients (sogar als Domaincontroller eingeschränkt verwendbar), auch eine freie Novell-Fileserver-Implementation gibt es  (nur Version 3), zum Kaufen gibt es eine Version 4 plus Directory-Service. NFS und SAMBA gibt es ja für alle UNIXe, was besonders für Systemmanager interessant ist, die auch andere UNIX-Plattformen betreuen, die haben keine Umschulung nötig. Die von UNIX-Systemen her bekannte gute Skalierbarkeit trifft auch für Linux zu, was zu einer besseren Leistung bei hoher Belastung führt, verglichen mit manchen anderen Server-Betriebssystemen. Man sollte bei der Interpretation von Leistungstests natürlich immer vorsichtig sein und mehrere Quellen vergleichen, da es sehr leicht möglich ist, spezielle Testumgebungen zu schaffen, die ein bestimmtes Betriebssystem stark bevorzugen oder benachteiligen können. Zahlen allein sind sicher nicht allzu relevant und oft geht's ja um mehr als die Bekanntmachung technischer Fakten.

Das Berkeley Printerprotokoll (lpd) ist standardmäßig bei Linux dabei, über SAMBA kann man Netzwerkdrucker für Windows installieren und auch die Novellserver-Software kann als Printserver dienen.

Es gibt hier die gleichen Möglichkeiten wie bei allen UNIXen: sendmail, smail und was es sonst noch für spezielle Software dafür gibt, inklusive Listserver.

Die Protokolle pop und imap werden standardmäßig unterstützt.

Auch hier wieder "State-of-the-art": der bewährte und wohl am meisten verbreitete http-Server "Apache" leistet auch unter Linux seine guten Dienste.

Da gibt es praktisch alles, was unter UNIX auch möglich ist. Der Einsatz als Router mit IP-Forwarding und ein Route-Daemon, welcher Information mit anderen Routern austauschen kann, ist ebenso möglich wie "IP-Masquerading".

Was ist das ? Nehmen Sie den Fall an, Sie haben ein privates Netzwerk mit vielen Maschinen und einen Anschluss an's Internet (mit einer Adresse). Sie wollen aber von allen Maschinen aus auf externe Netzwerkdienste zugreifen. Dafür gibt's IP-Masquerading. Das hat noch dazu den Vorteil, dass von außen nur auf den Router, nicht aber auf's private Netzwerk zugegriffen werden kann. Durch die Aktivierung von Packetfiltern können Sie gleichzeitig noch weitere Zugriffsrestriktionen realisieren. Dabei haben Sie noch keine typische Firewall-Lösung (mit Proxies) eingesetzt, welche es auch dafür gibt. Der eventuelle Nachteil, dass der Quellcode auch Hackern bekannt ist, welche Schwachstellen ausnützen können, wird wieder dadurch wettgemacht, dass diese Lösungen durchschaubarer sind als "Blackboxes" von Firmen und man dafür mehr Verständnis und eventuell auch individuellere Lösungen entwickeln kann, sowie dadurch, dass durch die große Entwicklergemeinde im Internet meist sehr schnell Schwachstellen erkannt und behoben werden.

Natürlich nützt die beste Firewall-Konfiguration nichts, wenn man erlaubt, dahinter Mail-Attachments durch Anklicken zu aktivieren, oder "Mobile Code" wie Java oder Active X zulässt.

Sehr angenehm ist es für den Serverbetrieb, dass durch den Zugriff auf die Shell über's Netzwerk eine Fernwartung sehr bequem und ohne teure "Third Party"-Produkte möglich ist. Aus Sicherheitsgründen würde ich, vor allem auf einer Universität, die Verschlüsselung via "Secure Shell" (gibt's am gd.tuwien.ac.at) oder "One Time Passwords" empfehlen.

Als  Desktop-Computer/Workstation

Dieses Einsatzgebiet galt früher als Domäne für "UNIX-Freaks". Schon seit einigen Jahren unterscheidet sich die Arbeit an einem Linux-Computer kaum von der an einer anderen UNIX-Workstation. Mittlerweilen sind die Nachteile einer komplizierten Installationsprozedur sowie das Fehlen von kommerzieller Software wie Officepaketen und Datenbanken nicht mehr wirklich vorhanden (siehe Applixware, StarOffice, Oracle, ...). Die Zahl der kommerziellen Softwareprodukte für Linux steigt ständig.

Auch diesen Artikel schreibe ich mit einem kommerziellen Textsystem auf meinem Linux-Notebook (Linuxdistribution: Mandrake 5.3)  und werde ihn dann als MS-Word-kompatibles Attachment zur weiteren Verarbeitung per E-Mail weiterleiten. Es gibt schon sehr schöne, auf X-Windows aufsetzende grafische Oberflächen, ich verwende hier "KDE", die Bequemlichkeit ist um nichts geringer als die anderer kommerzieller GUIs, obwohl ich sie nicht ganz ausnütze, da ich nach über zehnjähriger UNIX-Erfahrung immer noch sehr gerne auf eine Shell (Kommandozeile) zurückgreife.


Die Distributionen und Installationsmöglichkeit auf der TU

Die auf der TU erhältlichen Distributionen sind auf 2 Server aufgeteilt:

linux.edvz.tuwien.ac.at
(wird in Kürze auf linux.tuwien.ac.at umbenannt)
sowie
gd.tuwien.ac.at

Auf linux.edvz sind die Distributionen Slackware, Debian und die wichtigsten Teile von RedHat gespiegelt und über NFS und anonymous ftp zugreifbar. Diese Dienste sind im Wesentlichen auf die TU beschränkt und dienen zur schnellen Installation über's TU-Netz.

Am gd.tuwien.ac.at ist kein NFS-Zugang erlaubt. Außer den oben genannten Distributionen gibt es auch noch Mandrake (eine sehr einfach zu installierende, auf RedHat aufsetzende Distribution mit komplett installierter KDE-Oberfläche, als Desktop/Workstation sehr zu empfehlen) und SuSe (eine im deutschsprachigen Raum sehr verbreitete Distribution). Da viele dieser Distributionen auch über anonymous ftp zu installieren sind, kann man diese auch direkt vom gd.tuwien.ac.at installieren (z.B. RedHat, Mandrake). Für einige (Mandrake, SuSe) liegen am gd auch iso-images, von denen man bootbare Installations-CDs brennen kann.

Zu den Distributionen

Slackware:

Eine schon sehr lange existierende, etwas minimalistische Distribution, sehr geeignet zum Einsatz als Server.

Debian:

Eine Distribution, die rein auf GNU-Komponenten aufsetzt (d.h. im Wesentlichen frei verfügbare Sources für alle Komponenten). Vielleicht etwas schwieriger zu installieren, aber sehr durchschaubar, reagiert sehr schnell bei der Behebung von Sicherheitslücken, die Bekanntgabe erfolgt über einen eigene Mailing-Liste. Also vielleicht nicht so günstig für Linux-Einsteiger, aber wirklich sehr empfehlenswert für Serverbetreiber.

RedHat:

Sicher die am meisten verbreite Distribution, leicht zu installieren, alles in allem ziemlich problemlos.

Mandrake:

Setzt voll auf RedHat auf, die Installation ist fast identisch, die Konfigurationsdateien und Startup-Skripts sind ebenfalls identisch. Dazu werden die KDE-Oberfläche sowie eine sehr aktuelle Version des X-Windows-Systems standardmäßig mitinstalliert. Für Linux-Anfänger sehr zu empfehlen, trotzdem sicher genug für Serveranwendungen (wenn man weiß, was man tut ... sonst sollte man aber von jeder Serverinstallation die Finger lassen, das gilt nicht nur für Linux ...).

SuSe:

Im deutschsprachigen Raum sehr verbreitet, auch relativ leicht zu installieren. Mir persönlich gefällt das Systemmanagement-Tool "Yast" nicht besonders gut, speziell in der Version 6.0 habe ich einige unschöne Inkonsistenzen gefunden, aber vielleicht wird's in der nächsten Version besser (es gab ja schon auch bessere Versionen). Probleme gibt's vor allem, wenn man eine spezielle Konfiguration nicht mit Yast bewerkstelligen kann, letzterer aber beim nächsten Aufruf "dazwischen funkt" und wieder alles eigenmächtig ändert.

Es gibt auch noch weitere Distributionen wie Caldera (ich habe Erfahrung mit einer älteren Version und war recht zufrieden damit) und DLD (damit habe ich leider keine Erfahrungen).


alternative: Ja oder Nein ?

Nachdem Sie nun etwas mehr über Linux wissen, kann ich mir erlauben, die im Titel gestellte Frage genauer zu beleuchten. Sie wird in dieser Weise oft gestellt, es wird aber kaum präzisiert: alternative wozu ?

alternative zu UNIX-Workstations

Meiner Meinung nach grundsätzlich ja. Es sind viele Ausgangssituationen vorhanden, die dafür sprechen:

So gesehen ist Linux sicher die größte Konkurrenz für die klassischen UNIX-Workstations.

Es gibt natürlich immer Ausnahmesituationen, in denen die Workstation eines bestimmten Herstellers inklusive Software nicht ersetzt werden kann.

alternative für Server

Da ich selbst schon so manchen Linux-Server installiert habe und auch welche betreibe, kann ich auch diese Frage positiv beantworten. allerdings: ich habe langjährige UNIX-Erfahrung. Hier kann ich nicht genug betonen, dass es zum Betrieb eines Servers, egal welches Betriebssystem verwendet wird, nötig ist, sich Kenntnisse anzueignen, um ein sinnvolles, gut überlegtes Systemmanagement zu gewährleisten. Man sollte so weit über die Funktionsweise des Betriebssystems und seiner Komponenten Bescheid wissen, dass es möglich ist, sich anbahnende Fehler und Sicherheitsprobleme zu erkennen und sinngemäß zu reagieren. Oft laufen Server so stabil (speziell auch unter Linux), dass, einmal konfiguriert, für lange Zeit "Zero Administration" gespielt wird. Umso größer ist dann die Überraschung, wenn Probleme auftreten.

Zum Einsatz in "Mission Critical Systems" eignet sich Linux, abgesehen von der Komplexität, gut, weil durch Vorhandensein des Quellcodes alle verwendeten Komponenten kontrolliert und verstanden werden können. Das "Einfrieren" auf eine bestimmte Version, die auch wirklich gut getestet mit den Hardwarekomponenten zusammenspielt, ist bei solchen Anwendungsgebieten oft eine conditio sine qua non  und durch den vorhandenen Quellcode auch leicht möglich. Ebenso ist die Entwicklung neuer Hardwaretreiber bzw. die Modifikation vorhandener sehr erleichtert.

alternative zu anderen Softwaretechnologien

Jetzt kommt's endlich, das politisch brisante Thema. Wie ich anfangs erwähnt habe, wird Linux gerne als Ausweg aus einem zunehmend monopolisierten Softwaremarkt gesehen. Gerade diese Tatsache führt natürlich zu einer Berichterstattung, die sich von einer objektiven, technischen Betrachtung ziemlich weit entfernen kann. Zwar gibt es viele Meinungen zu hören, welche sich sehr wohl in diesem Rahmen bewegen (ich hoffe, ich auch), es spielen jedoch zwei kontrahierende Lager mit und zwar - wie könnte es anders sein - das der potentiellen Monopolisten und das immer stärker werdende derer, die sich von solch einer Monopolisierungstendenz unmittelbar bedroht fühlen.

Zugegeben fühle auch ich mich wohler (welcher Techniker wohl nicht), wenn ich für die Lösung eines technischen Problems mehrere alternativen zur Verfügung habe, aber wirklich mehrere ...

Auf Grund dieser Polarisation ist zu erwarten, dass man mit Meinungen konfrontiert wird, in der Linux einerseits hochgelobt wird als das "Non Plus Ultra", während die andere Partei mit FUD-Kampagnen (Fear, Uncertainty, Doubt) reagiert. Ich könnte mir vorstellen, dass gerade Massenmedien und Glanzpapierprospekte für diese Art von Informationen besonders empfänglich sind. Solche Information kann (bzw. soll) dem Ansehen eines Produktes ziemlich schaden.

Wir können das nicht ändern, sollten es uns aber in Erinnerung rufen, wenn wir uns über Linux (oder eine alternative Lösung) informieren wollen. Wie schon oben erwähnt, gilt das auch für Leistungstests, und es ist empfehlenswert - und dank Internet auch gar nicht schwer - andere um ihre Erfahrungen mit einer bestimmten Konfiguration zu fragen.

Ein vom Betriebssystem unabhängiges Problem spielt bei der Argumentation pro und kontra Linux auch hinein, und meiner Meinung nach ein sehr wesentliches, jedoch oft übersehenes. Es ist der durch Überforderung, Konditionierung und Marketing entstandene Wunsch des Benutzers nach einer einfach zu bedienenden Oberfläche, ohne auf die Vielseitigkeit und Komplexität des Betriebssystems zu verzichten. Die Komplexität ist in dem bestehenden Ausmaß meistens um vieles größer als notwendig, bei der immer höheren Integrationsdichte und den immer niedrigeren Hardwarepreisen aber (leider) verständlich, was dem Benutzer jedoch meist verborgen bleibt. Der wundert sich nur, warum die Version n+1 eines bestimmten Softwareprodukts auf seiner neuen CPU, Version m+1, genauso langsam, wenn nicht langsamer geht als seine alte Hard- und Softwarekonfiguration.

Es ist aber nur bis zu einem gewissen Grad möglich, diese Komplexität hinter einer Oberfläche vollständig zu verstecken. (Würden Sie mit einem viermotorigen Verkehrsflugzeug fliegen, welches als einzige Bedienungselemente nur "Eingabe der Zielkoordinaten" "Start" und "Not-Aus" hat - und eine einzige Warnleuchte "allgemeine Flugstörung" ? Mir wär's im höchsten Maß suspekt ...) Oft wurde das Problem so gelöst, dass die Komplexität so gründlich hinter der Oberfläche versteckt ist, dass in einem nicht vorgesehen Fehlerfall (allzuviele wurden meist nicht vorgesehen) es selbst einem Experten unmöglich ist, das Problem zu lokalisieren und zu beheben. Wie oft haben wir es schon mit iterativen Neuinstallationen versucht, in der Hoffnung auf Konvergenz dieses Verfahrens ? Das ist zwar bei Linux weniger wahrscheinlich, aber es besteht schon heute die Gefahr, dass die Installation so leicht gelingt, dass auch ein blutiger Anfänger ein Linux laufen hat und womöglich an's Netz hängt, ohne die geringste Ahnung, was er da eigentlich hat. Wenn's Probleme gibt, die zwar mit ein wenig Wissen bzw. Erfahrung leicht zu lösen wären, kann er sich nicht helfen, ist enttäuscht und sieht keinen Vorteil im Vergleich zu dem, was er ohnehin schon gewohnt ist.

Also ist das, was sich die Mehrheit wünscht ("eierlegende Wollmilchsau" mit Einknopfbedienung) ein grundlegender Widerspruch, der Designprobleme heraufbeschwört und nur zu einem problematischen Kompromiss führen kann. Was immer für eine "alternative" dafür herhalten muss, ohne Enttäuschungen und Unbehagen wird's nicht ganz abgehen.

Wenn auf Grund der (wenig reflektierten) Nachfrage die Entwicklung in diese Richtung ginge, wäre durch Linux keine alternative entstanden, sondern nur die Nachahmung bereits weitverbreiteter Designfehler. Die Optimierungsaufgabe besteht darin, einen optimalen Kompromiss zwischen dem "Experts only"- und dem "Friss-oder-stirb"-Paradigma zu finden, und der ist wahrscheinlich subjektiv. Man sollte die Entwicklung in dieser Richtung verfolgen.

Ein weitaus größerer Fortschritt für Linux wäre es, wenn sich die einzelnen Distributionen auf einen gemeinsamen Standard in Bezug auf Konfigurationsdateien, Startupscripts usw. einigten, denn wenn alle Linux "gleich eingeräumt" sind, ist es für Software-Entwickler leichter, ihre Produkte auf Linux zu portieren (nämlich auf "Linux", nicht auf "RedHat", "Debian", "SuSe" und was es sonst noch alles gibt). Auf diesem Gebiet gibt es noch Einiges zu tun, obwohl es schon Ansätze dafür gibt. Jedoch: die Distributionen definieren sich ja durch den Unterschied.

Je mehr man in dieser Richtung Überlegungen anstellt, umso eher sieht man, dass die Zukunft in viele Richtungen offen ist und dass wesentlich mehr Faktoren als nur technische und wirtschaftliche Überlegungen mitspielen werden. Das ist auch gut so, schließlich soll Technik und Wirtschaft ja dem Menschen dienen und nicht umgekehrt.

Sollten Sie Fragen zu Linux haben oder als TU-Mitarbeiter Unterstützung dazu benötigen, wenden Sie sich bitte an den Autor dieses Artikels:
Walter Selos, selos@zid.tuwien.ac.at, Kl. 42031 oder an
DI Paul Torzicky, torzicky@zid.tuwien.ac.at, Kl. 42035


Zum Inhaltsverzeichnis, ZIDline 1, Juni 1999