Linux - Ein Überblick
Christoph Uhrhan, Oliver Zendel 

Linux wird unter Fachleuten als echte Alternative zu den auf dem Markt befindlichen Betriebssystemen gehandelt. Was als Hobby eines enthusiastischen Studenten begann, hat sich innerhalb kurzer Zeit zu einem ausgereiften Komplettsystem entwickelt. Zu den Vorzügen gehören große Stabilität, hohe Sicherheit, exzellente Netzwerkfähigkeiten und nicht zuletzt ein enormer Kostenvorteil. Mit dem "K Desktop Environment" besitzt Linux außerdem eine moderne und intuitive grafische Benutzeroberfläche. Somit ist Linux auch eine interessante Alternative für den Endanwender. Der interessierte Einsteiger wird in diesem Vortrag Antworten auf die Fragen "Was ist Linux überhaupt?" und "Wie ist es entstanden?" bekommen. Weiterhin werden wichtige Begriffe wie Kernel, Distribution, freie Software oder Paket-Management erläutert. 

1. Was ist Linux? Wie alles begann. 

2. Freie Software: Das GNU-Projekt 

3. Vom Basar zum Endanwenderprodukt 

4. Fenster für die Massen! 

5. Licht und Schatten 

1. Was ist Linux? Wie alles begann. 

Linux begann als Experiment des jungen finnischen Studenten Linus Torvalds an der Universität von Helsinki. In Anlehnung an seinen Vornamen und die Tatsache, daß es sich um ein UNIX-Betriebssystem handeln sollte, nannte er sein Projekt "Linux". 

Bereits in einem sehr frühen Stadium seiner Arbeit veröffentlichte er den Quellcode im Internet. Seine Arbeit fand sofort große Resonanz und wurde von einer Vielzahl von enthusiastischen "Hackern" unterstützt. So konnte bereits 1994 die Version 1.0 des Linux-Kernels veröffentlicht werden. Der Kernel (zu deutsch Kern) eines Betriebssystems stellt vereinfacht gesagt eine Schnittstelle zwischen Programmen und Hardware her. Mit der Version 1.0 ist die Entwicklung jedoch keineswegs stehengeblieben. Unter der Leitung von Linus Torvalds wird der Kernel ständig weiterentwickelt, Fehler werden behoben und neue Funktionen werden hinzugefügt. 

Was aber nützt ein moderner Betriebssystem-Kern, wenn es keine Software gibt, die unter diesem läuft? Glücklicherweise kann die Linux-Gemeinde auf eine große Zahl hochwertiger und ebenfalls frei verfügbarer Software zurückgreifen. 

2. Freie Software: Das GNU-Projekt 

Bereits 1984 hatte sich eine Gruppe von Computer-Nutzern und -Programmierern unter der Leitung von Richard S. Stallman zusammengeschlossen mit dem Ziel, frei verfügbare Software zu schreiben. Das Projekt bekam den Namen GNU, eine Abkürzung für "Gnu's not Unix".

Um sicherzustellen, daß die so geschriebenen Programme auch in Zukunft frei verfügbar sind und nicht von Firmen für kommerzielle Zwecke ausgeschlachtet werden, wurde die sogenannte GNU Public License (GPL) entworfen. "Frei" meint hier aber nicht unbedingt kostenlos. Mit dieser Lizenz ist beabsichtigt, dem Entwickler wie dem Benutzer die größtmögliche Freiheit im Umgang mit der Software, die unter dieser Lizenz veröffentlicht wird, zu garantieren. Dazu gehört auch, daß man ein solches Programm vertreiben und Geld dafür verlangen kann. Allerdings muß mit jeder Verbreitung immer auch der Quellcode (also die "Bauanleitung" der Software) mitveröffentlicht werden. Ein Benutzer, der die Software bezieht, darf sie uneingeschränkt nutzen, weiterverbreiten (was bei kommerzieller Software üblicherweise nicht erlaubt ist) und er darf sie sogar verändern und Teile der Software in eigene Programme einbauen. Dabei muß er aber beachten, daß die daraus entstehende Software wieder der GPL unterliegt, also wieder frei ist. Freie Software kann auch von Firmen genutzt werden. Die Verbreitung oder Nutzung darf aber nicht durch Patente oder andere Lizenzbestimmungen eingeschränkt werden, was diese Software für Firmen eher uninteressant machen dürfte. Viele Entwickler veröffentlichen ihre Programme unter der GPL.

Als erstes entstanden Programme zur Programmentwicklung. Große Beliebtheit unter Entwicklern haben etwa der GNU C Compiler gcc, der Texteditor emacs oder der GNU Debugger gdb. Mittlerweile existieren eine große Zahl von Programmen für die unterschiedlichsten Anwendungsgebiete. Dabei wurde bisher ein Hauptaugenmerk auf Stabilität und Funktionalität gelegt. Benutzerfreundlichkeit gehörte daher bislang nicht zu den Stärken dieser Programme. 

Auf jedem Linux-System finden sich eine Vielzahl von GNU-Programmen. Da es sich streng genommen bei Linux nur um den Kern handelt und viel von der Funktionalität des gesamten Systems auf GNU-Programme zurückzuführen ist, sollte man fairerweise von GNU/Linux-Systemen sprechen. 

3. Vom Basar zum Endanwenderprodukt 

Eric Raymond verglich in seinem Artikel The Cathedral and the Bazaar den Entwicklungsstil, in dem Linux entstanden ist, mit einem großen Basar. Eine Vielzahl unabhängiger Programmierer entwickeln parallel die verschiedensten Teile des Systems. Als großer Vorteil erweist sich die Tatsache, daß derQuellcode schon in einem frühen Stadium durch das Internet verfügbar ist. Dadurch kann eine große Anzahl von Entwicklern auf Fehler aufmerksam machen und Verbesserungen vorschlagen. In diesem evolutionären Prozess gewinnt das gesamte System an Funktionalität und Stabilität. Als Beispiel für die Leistungsfähigkeit dieser Methode sei an den Pentium-Bug erinnert. Bereits wenige Stunden nach Bekanntwerden des Fehlers war der Linux-Kernel so abgeändert, daß er für diesen Fehler nicht mehr anfällig war.

3.1 Kommerzielle Distributionen 

Wie kommen nun die so entwickelten Programme auf den Computer des Endanwenders, der sich in der Regel für die Entstehung der Software nicht interessiert? Diese Arbeit übernehmen die Distributoren. Dabei handelt es sich in der Regel um Firmen, die die im Internet frei verfügbare Software zu einem kompletten System zusammenstellen. Sie entwickeln Installationsroutinen, stimmen die einzelnen Komponenten aufeinander ab und nehmen wichtige Systemkonfigurationen vor. Auf den Punkt gebracht machen Distributionen Linux für Endanwender erst nutzbar. Zu ihren Leistungen zählen außerdem professioneller Support und das Bereitstellen von Benutzerhandbüchern. Um die Vielzahl von Programmen verwalten zu können, bedienen sich Distributionen eines Paket-Management-Systems. Dabei werden alle von einem Programm benötigten Dateien in einem Paket zusammengefasst und mit Informationen zu Inhalt und Art des Programms ergänzt. Dies gewährleistet eine einfache Wartung des Systems, wie z.B. Hinzufügen, Entfernen oder Aktualisieren von Programmpaketen.

Zu den wichtigsten Distributionen gehören 

Dabei sind S.u.S.E und DLD Distributionen mit deutscher Installationsroutine und deutschsprachigem Handbuch. 

3.2 Debian, the choice of a GNU generation 

Besondere Erwähnung verdient die Debian-Distribution, die in obiger Liste nicht aufgeführt wurde, weil es sich um eine freie Distribution handelt. Das bedeutet, die Distribution wird mit den selben Methoden entwickelt wie die ihr zugrunde liegenden Programme. Mehr als 100 Personen arbeiten an den über 500 Paketen der Debian-Distribution. Dies gewährleistet ein hohes Maß an Qualität. Die NASA hat aus diesem Grund ein Debian-Linux-System ausgewählt, um Experimente an Bord eines Space Shuttle zu überwachen. Da das Hauptaugenmerk bisher mehr auf Stabilität als auf Benutzerfreundlichkeit lag, eignet sich diese Distribution besser für den Fortgeschrittenen als den unerfahrenen Anwender.

4. Fenster für die Massen! 

Benutzerfreundlichkeit bedeutet heute vor allen Dingen eine intuitive grafische Benutzeroberfläche. Unter Linux hat der Benutzer die Auswahl zwischen einer Vielzahl von solchen Oberflächen. In letzter Zeit hat das "K Desktop Environment" (KDE) für Aufsehen gesorgt. KDE bietet den Komfort einer modernen Benutzerschnittstelle und geht in der Funktionalität teilweise sogar über die kommerzieller Produkte hinaus. Herausragende Merkmale sind:  Netzwerktransparenz bedeutet, daß dem Benutzer der Unterschied zwischen dem eigenen Computer und damit vernetzten Computern verborgen bleibt. Für den Benutzer macht es z.B. keinen Unterschied, ob die Dokumente, die er bearbeitet, lokal auf seinem Rechner verfügbar sind, oder ob sie auf einem vernetzten Rechner abgelegt sind. Aufgrund der zunehmenden Bedeutung, die die Vernetzung von Computern in Zukunft haben wird, ist die Netzwerktransparenz von KDE eine zentrale Eigenschaft. 

Die Konfiguration der kompletten Oberfläche geschieht über Dialoge mit der Maus. Das UNIX-übliche Editieren von komplizierten Konfigurationsdateien entfällt. Es gibt eine große Zahl von Programmen, die an KDE angepasst wurden und daher diese Funktionalität bieten. Eine Liste dieser Programme findet man auf der KDE-Homepage. Ein Blick auf diese Seite lohnt sich in jedem Fall, da in der großen KDE-Entwicklergemeinde ständig neue Programme geschrieben oder bereits existierende Programme an KDE angepasst werden.

5. Licht und Schatten 

Natürlich ist auch Linux nicht die eierlegende Wollmilchsau. Speziell Anfänger haben ihre Probleme beim Umstieg auf Linux. Aus der hohen Funktionalität, die das System bietet, ergibt sich auch eine relativ hohe Komplexität. So erfordert z.B. die Möglichkeit, von einem entfernten Rechner aus auf den eigenen Rechner zuzugreifen ein Sicherheitskonzept, das Mißbrauch möglichst ausschließt. Einige dieser Konzepte sind: 

Netzwerk-Einbindung

Netzwerkfähigkeiten sind integraler Bestandteil des Linux-Systems. Man kann von einem entfernten Rechner auf einen Linux-Rechner zugreifen, den Rechner einfach ins Internet einbinden oder selber Netzwerk-Dienste (WWW, News, Mail) anbieten.

Multi-User-Konzept

In einem Linux-System lassen sich die Daten mehrer Benutzer verwalten. Dies beinhaltet auch, daß persönliche Daten nicht von unberechtigten Personen gelesen oder verändert werden können.

Multi-Session

Mehrere Benutzer können gleichzeitig auf dem Rechner arbeiten. Dies ist vor allem unter dem Aspekt der Netzwerk-Einbindung sinnvoll.

(echtes) Multitasking

Verschiedene Programme laufen quasi gleichzeitig ab.

All diese Konzepte erfordern leider einen höheren administrativen Aufwand als Systeme, die diese Möglichkeiten nicht bieten, und damit mehr Know-How. Auch gibt es bei vielen Anwendungen keine einheitliche Benutzerführung und die Konfiguration einiger Programme kann sehr mühsam sein. Dieser Tatsache haben viele Distributionen Rechnung getragen und komfortable Konfigurationswerkzeuge mitgeliefert. Somit ist es auch dem Anfänger möglich, mit minimalem Basiswissen sein System nach seinen Wünschen einzurichten. Zusammen mit einer leistungsfähigen Oberfläche wie KDE besitzt der Anwender somit ein leistungsfähiges wie komfortables Computersystem.