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.
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,
-
Durchgängiges 'Drag and Drop'
-
Einfache Konfiguration
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.