© Milan Linckh

Was ist Linux

© GPL

Tux, das Linux-Maskottchen

Die wichtigste Eigenschaft von Linux ist, dass es frei ist. Es werden keine kostenpflichtigen Lizenzen benötigt, gleichgültig für welchen Einsatzzweck.
Daher ist es normalerweise viel günstiger als andere Betriebssysteme. Und die Freiheit geht noch weiter. Der gesamte Quellcode ist unter den Bedingungen der GPL frei verfügbar, das heißt er wird meist mitgeliefert oder kann von öffentlichen Servern aus dem Internet herunter geladen werden.
Doch die Freiheit endet hier nicht: Jeder, der die Fähigkeit dazu hat, kann Linux modifizieren und diese modifizierte Version unter den Bedingungen der GPL jedem zur verfügung stellen.

Diese Freiheit hat dazu geführt, daß sich zahlreiche Leute mit Linux befassen, neue Features und Korrekturen beitragen und das Sytem so immer weiter verbreiten. Linux wurde ursprünglich für Intel-PCs entwickelt, läuft aber heute auf allen modernen PCs, einigen Workstations, Kleingeräten wie PDAs (Personal Digital Assistants), auf Großrechnern von IBM und Hitachi, und bald wohl auch in Handys.

GNU und die GPL

© GPL

GNU-Logo

GNU

Oft spricht man von GNU/linux, doch was verbirgt sich hinter der Abkürzung GNU?
1983 hatte Richard Stallman, genug von den Beschränkungen, denen das Unix-Betriebssystem (der "Vorfahre" von Linux) und die dazugehörigen Programme unterlagen. Stallman rief also zur "Befreiung von Unix" auf. Das neue Projekt trug den Namen GNU, eine Abkürzung für "GNU's not a Unix" also "GNU ist nicht Unix".
Stallman gründete die "Free Software Foundation", die freie Programme unter ihre Fittiche nimmt, rechtlichen Beistand erteilt und Medien informiert.

Das GNU-Projekt hatte ein vollständiges Betriebssystem mit allen dazugehörigen Tools geschaffen, nur ein einziger Teil fehlte, der Kernel, der die Systemhardware Programmen zugänglich macht. Seit ca. 1990 bemüht man sich darum, das GNU-Betriebssystem mit einem eigenen Kernel namens "Hurd" zu vervollständigen.
1991 entwickelte der finnische Student Linus Torvalds schließlich seinen eigenen Kernel, den er "Linux" nannte.
Torvalds entschied sich, den Code frei zur Verfügung zu stellen. Doch Linux wäre wertlos gewesen, hätte es zu diesem Zeitpunkt nicht die riesige GNU-Toolsammlung gegeben - dank des freien C-Compilers gcc, der Teil des GNU-Projekts ist, konnten zum Beispiel sofort Programme für Linux entwickelt werden. Über das Internet erfuhren schnell Tausende von Interessierten davon. Daher haben wir nun zwei GNU-Systeme: Das derzeit leistungsfähigere GNU/Linux (das linuxbasierte GNU-System) und GNU/Hurd (das Hurd-basierte GNU-System), welches immernoch in entwicklung ist.

Als Linux bekannt wurde, erhielten Richard Stallman und das GNU-Projekt kaum die ihnen gebührende Wertschätzung. Stallman besteht deshalb seit einiger Zeit darauf, dass man nicht von Linux, sondern von GNU/Linux sprechen soll. Doch der holprige Name konnte sich bislang nicht durchsetzen.

GPL (GNU General Public License)

Die GNU General Public License ist ein Vertrag, der speziell für die Weitergabe von freier Software entwickelt wurde. Er wurde von der Free Software Foundation erstellt, um eine Verbreitung von Software rechtlich so abzusichern, dass jeder seine Programme ohne Bedenken frei zur Verfügung stellen kann. Frei bedeutet dabei jedoch nicht unbedingt, dass diese Programme kostenlos sind, sondern dass man Sie nach freien Willen kopieren, weiterverbreiten und auch verändern darf.

Eine Menge Software muss man heutzutage käuflich erwerben. Dabei bekommt man entweder keinen Quellcode oder kein Recht an dem Quellcode etwas zu verändern. Wenn man nun mit einer bestimmten Funktion unzufrieden ist oder Fehler im Programm entdeckt, kann man daran so ziemlich wenig oder gar nichts ändern. Einige Softwareentwickler haben sich deshalb gedacht, dass sich ein Programm viel schneller entwickeln und verbessern lässt, wenn man die Menschen, die damit arbeiten, in die Entwicklung einbezieht. Somit stellen diese Entwickler ihre Programme mit dem Quellcode jedermann zur Verfügung, was jedoch auch rechtlich abgesichert werden muss. Zum Beispiel müssen die Autoren geschützt werden, die die original Quelltexte schreiben, es muss auch dafür gesorgt werden, dass andere nicht Patentrechte für dieses freie Programm sich gutschreiben etc. Dies regelt der Vertrag der GNU-GPL.

X Window System

Was ist X11

Das X-Window-System oder kurz X11 ist ein netzbasiertes graphisches Fenstersystem, das auf einer Client/Server Architektur beruht.
Programme die X11 benutzen werden als X-Clients bezeichnet. Das eigentliche X11 wird als X-Server bezeichnet. Der X-Server verwaltet den Bildschirm eines Computers. Er Ist also für Aufgaben wie Linie-Zeichnen, Fenster-Zeichnen, Text auf den Bildschirm ausgeben, aber auch für die Steuerung der Zugriffe, der X-Clients auf den Bildschirm, zuständig. X ermöglicht es, im Gegensatz zu Windows beispielsweise, die Fenster einer Anwendung auf einem entfernten Bildschirm auszugeben. Dazu wird dem X-Client einfach angegeben auf welchem Bildschirm er sich darstellen soll. So kann ein enfernter Rechner leicht auch ohne Tastatur und Maus mit grafischen Programmen gesteuert werden.

© unklar

Windowmaker

Das X Window System stellt den Programmen grafische Routinen bereit. Aber wie Ihre Oberfläche dann wirklich aussieht, bestimmt der Windowmanager. Das geht sogar soweit, daß viele Leute nicht zwischen X und dem Windowmanager unterscheiden. Der Windowmanager bestimmt, wie die Fenster aussehen, wie sie dekoriert werden, welche Menüs und Tastenkürzel zur Verfügung stehen und vieles mehr. Hier möchte ich zwei bekannte Windowmaker, von vielen, kurz vorstellen. Die Auswahl ist groß und welchen man benutzt ist letztlich eine Frage der Preformance und des Geschmackes.

KDE

"KDE ist eine moderne grafische Arbeitsumgebung für UNIX Workstations. KDE strebt an, den Bedarf für eine einfach zu bedienende Arbeitsfläche für UNIX Workstations zu decken, ähnlich den Arbeitsumgebungen, die man unter MacOS oder Windows 9x/NT/2000/XP vorfindet." ( Beschreibung von kde)

© GPL

Gnome

"Das GNOME-Projekt hat eine vollständig freie und leicht benutzbare Desktop-Umgebung für Endnutzer erstellt und bietet Software-Entwicklern ein umfangreiches Paket mit Anwendungen." (Beschreibung von gnome)

© GPL

Der Kernel und seine Geschichte

Der Kernel - Was ist das?

Der Kernel ist der "Kern" eines Betriebssystems und beinhaltet alle für das Booten relevanten Treiber. Dazu gehören zum Beispiel die Festplatte, die Dateiensysteme, die Grafikkarte, die Netzwerkkarte und seine Protokolle, die Tastatur, die Maus u.v.m.
Bei Linux ist nun die Besonderheit, dass die User diesen Kernel selbst verändern können. Zum einen kann man den Quellcode wie bei vielen Linux-Programmen verändern, zum anderen aber kann er im "Kernel-Setup" alle Einstellungen selbst verändern. So kann jedes Linux-System für den genutzten Computer angepasst werden. Das hat den Vorteil, dass der Betriebssystemkern sehr klein wird und so weniger Ressourcen beansprucht und dadurch deutlich schneller läuft.

© Time Magazine

Linus Torvalds

Die Geschichte des Kernels

Linux wurde von Linus Torvalds, damals Student in Helsinki, ins Leben gerufen, da er ein UNIX-System auf seinem Rechner haben wollte, diese aber zu teuer waren oder zu hohe Anforderungen an seinen Rechner stellten, hatte er von Anfang an MINIX auf seinem Rechner, ein UNIX-ähnliches System, das von Betriebssystem-Guru Andrew Tanenbaum entwickelt worden war. Im Frühjahr 1991 hatte Linus angefangen, eine Terminal-Emulation zu schreiben, die von Diskette bootete, also ohne Betriebssystem auskam, und eine Modem-Verbindung zur Uni aufbauen konnte. Der Grund dafür war, daß er die Programmierung des 386er Prozessors lernen wollte. Am 17. September 1991 veröffentlichte er Version 0.01 nach mehreren Monaten Entwicklungsarbeit. Hierbei handelt es sich aber nur um den Kernel des Systems (ohne irgendwelchen grafischen Oberflächen oder Anwendungen). Der Name setzt sich aus dem Namen des Entwicklers, also Linus Torvalds und dem "Muttersystem" Unix zusammen.

Distribution

Was ist eine Distribution?

Man kann im Laden nicht nur das eine Linux kaufen, sondern es existieren mehrere Linux Distributionen. Linux ist an sich nur der Kernel. Es fehlen allerdings sämtliche Programme, die ja erst ein Betriebssystem ausmachen.
Eine Distribution enthält also alles, was man für ein gut funktionierendes Linux auf sinem PC benötigt und noch vieles mehr. Heutige Distributionen übernehmen die Komplette Installation und Verwaltung eines Systems, sodass es vom Anwender kaum Vorkenntnisse abverlangt.
Die meisten Distributionen sind frei im Internet verfügbar, doch als Anfänger ist es sinnvoller sich eine Distribution zu kaufen, da in diesen Komplettpaketen, neben vielen CD-Roms (bzw. DVDs), auch meist nützliche Handbücher zu finden sind, die den Einstieg in das Betriebssystem erleichtern. Des weiteren bieten einige Vertreiber auch einen telefonischen Support nach dem Kauf einer Distribution.
Ebenfalls fördert man die Entwicklung von Linux beim Kauf einer Distribution, da die Programmierer dieser, auch an der Weiterentwicklung von Linux und dessen Programmen mitarbeiten.
Nun sind auf dem deutschen Markt viele Distributionen entstanden, die alle mehr oder weniger verschiedene Zielgruppen ansteuern. Die einen spezialisieren sich besonders auf Neueinsteiger und Anfänger, wogegen die anderen mehr Wert auf fortgeschrittene Benutzer legen und deswegen eine Distribution herausgeben, bei der der Benutzer die volle Kontrolle über das System behält.

Die verschiedenen Distributionen

Hier möchte ich jetzt kurz ein paar Distributionen Vorstellen.

SuSE

© SuSE

SuSE-Logo

Die Distribution der deutschen Firma S.u.S.E ist im deutschen Sprachraum der Bestseller! Vorallem die deutsche Installationsroutine YAST macht den Einstieg einfach.
Die aktuelle SuSE Linux-Distribution kommt auf 7 CD's, 1 DVD und beinhaltet 3 Handbücher. Mit ca.1600 Anwendungen für jeden Bereich ist dies die umfangreichste Distribution, die es von SuSE je gegeben hat. Diese Distribution empfiehlt sich sowohl für Einsteiger als auch für fortgeschrittene Linux-Benutzer. Für Einsteiger interessant: Mit YaST2 ist die Installation noch einfacher. Komplett grafisch gesteuert und mit automatischer PCI-Hardware-Erkennung ausgestattet, kann man in 20 Minuten Linux und KDE komplett einrichten.
Nachteil: Etwas eigenwillige "Verstreung" wichtiger Systemfiles und kaum Befassung mit dem eigentlichen System.

Debian

© Debian

Debian-Logo

Diese Distribution wird unter Kennern als die stabilste und zuverlässigste gehandelt: zahlreiche Universitäten, Forschungseinrichtungen und Internet-Provider setzen auf Debian. Es wird derzeit von 300 Programmierern gepflegt und von führenden Hardware-Herstellern unterstützt. Die Software orientiert sich durchgehend am Linux-Filesystem-Standard FSSTND und am Filesystem Hirarchy Standard FHS. Debian's Softwarepakete entsprechen nicht dem aktuellsten Stand, sind dafür jedoch ausführlich auf Stabilität und Sicherheit getestet. Desweiteren sind die verwendeten Programme 100%ig frei.

Red Hat

© Red Hat

Red Hat-Logo

Red Hat ist weltweit der Standard für Linux Systeme. Die Installation unterscheidet Ihr System prinzipiell einfach in ein Workstation oder Server System und installiert demnach die passenden Komponenten. Im Gegensatz zu SuSE Linux setzt RedHat auf den GNOME-Desktop. Die Anwendung von Red Hat findet sich hauptsächlich im Serverbereich wieder, wo sich auch die Stärken dieser Distribution zeigen.

Vor- und Nachteile von Linux

Vorteile

  • Open Source: Erhältlich als Quellcode oder als einfach zu installierende Distribution. Jeder darf mitentwickeln, sein Wissen beitragen, Fehler verbessern an der Entwicklung teilhaben.
  • Exzellenter Support: Hilfe, Tips und Updates gibt es in beliebiger Vielfalt im Internet. Kommerzieller Support wird von den Distributoren und unabhängigen Systemhäusern geleistet.
  • Enorme Flexibilität: Linux läuft auf unzähligen Systemen von kleinen Handhelds oder Embedded-Systemen über normale PCs, Server und Workstations bis hin zu Systemen, die die Leistungsfähigkeit großer Supercomputer erreichen.
  • Viele Applikationen verfügbar. Die meisten davon sind frei und von exzellenter Qualität. Einige Applikationen, die für andere Systeme richtig Geld kosten, sind für Linux sogar kostenlos!
  • Kein Ärger und keine Einschränkungen mit Software-Lizenzen.
  • Die Installation kann vollautomatisch ablaufen.
  • Keine Abhängigkeit von einem einzelnen Softwarehersteller.
  • Auch nach Jahren besteht kein Zwang zum Umstieg auf eine neue Version. Gegebenenfalls können bestehende Versionen gepatcht (erneuert) werden, um sie weiter zu verwenden. Das ist vor allem für Leute wichtig, die in sehr langen Zeiträumen denken, z.B. bei Linux im industriellen Einsatz.
  • Es ist nicht auf PCs beschränkt. Wer auf eine Hochleistungs-Workstation (Sun, Compaq, SGI, HP, IBM), einen Mac, Atari, Amiga oder Acorn umsteigen will, kann auf diesen Rechnern seine gewohnte Umgebung haben.
  • Sehr stabil und zuverlässig. Es ist im Einsatz in High-End-Systemen mit Millionen von HTTP-Zugriffen am Tag, Mail-Servern mit über 10000 Emails täglich, auf SMP-Servern und Workstations.
  • Wer auf absolute Stabilität verzichten kann und experimentieren will, kann die aktuellsten Entwickler-Kernel einsetzen oder aktuelle Patches einbauen.
  • Es wird rasch weiterentwickelt und ist technisch das führende Betriebssystem. Inzwischen ist es auch das schnellste und zuverlässigste Betriebssystem für PCs.
  • Es ist ein gutes, aber noch kein perfektes Multimedia-System. Bei der Videobearbeitung mit Windows kann Linux bereits locker mithalten. Wirklich gute Applikationen für Sound- oder Videobearbeitung sind nämlich auf allen Plattformen dünn gesät.
  • Hohe Sicherheit: Durch das Multiuser-Konzept kann jedes Programm mit gerade soviel Rechten ablaufen, wie es benötigt. Durch die Verfügbarkeit der Quellen ist das System durchschaubar und Hintertüren sind ausgeschlossen. Viren und trojanische Pferde haben nahezu keine Chance.
  • Es kann vollständig aus der Ferne administriert werden und daher auch ohne Bildschirm und Tastatur laufen.
  • Die meisten Anpassungen erfordern nur simple Änderungen in Konfigurationsdateien ohne Neustart.
  • Der Desktop kann mit sogennanten Themes frei an den individuellen Geschmack angepaßt werden.
  • Es gibt keine Registry, keine Roaming Profiles, in denen sich Megabytes von nutzlosen Daten ansammeln, keine Domains mit nicht mehr verwaltbaren Trusts und ähnlichen geistigen Sondermüll.

Nachteile

  • Lücken in der Hardware-Unterstützung. Hardware, deren Spezifikationen nicht offengelegt werden, wird fast nicht unterstützt. Dazu zählen Scanner, vor allem Parallelport-Scanner, ein paar Grafikkarten, die meisten Software-Modems ("Winmodems"), die meisten GDI-Drucker ("Windows-Drucker"), einige Sound- und Multimedia-Karten, viele Datenerfassungs-Karten usw. Wenn man jedoch beim Kauf der Hardware auf Linux-Kompatibilität achtet, hat man wenig Probleme.
  • Wenig große kommerzielle Spiele. Dafür viele freie Spiele.
  • Es fehlt an Applikationen in speziellen Bereichen, z.B. OCR (hier gibt es aber kommerzielle, nicht gerade billige Lösungen), Branchensoftware, Unterhaltung, Bildung, Ausbildung usw. Dies wird aber teilweise durch plattformunabhängige Angebote im Internet wieder ausgeglichen.
  • Abhängigkeit vom Internet: Wer keinen kommerziellen Support wünscht, kann ohne Internet-Zugang nur sehr schwer Support erhalten. Auch dieses Argument ist bei genauerer Betrachtung ziemlich dünn. Es gibt sehr viele Bücher und Zeitschriften zu Linux und den telefonischen Installationssupport der Distributoren. Außerdem ist die Situation bei anderen Systemen auch nicht anders.
  • Als Multiuser- und netzwerkoptimiertes System müssen sowohl der Kernel als auch die Applikationen besonders sorgfältig programmiert werden, um Sicherheitslücken zu verhindern. Dabei werden immer wieder Fehler gefunden, die allerdings meist sehr schnell behoben werden.
  • Windows-Programme laufen nicht (das kann man natürlich auch als Vorteil ansehen). Einige laufen allerdings unter dem freien Windows-Emulator WINE.