Linux

Aus PC-WELT-Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einleitung

Aber was ist Linux überhaupt? Linux ist ein Betriebssystem für den Computer. Ein Betriebssystem ist was, was die ganzen Sachen im Computer steuert. Du kennst sicherlich eines: Microsoft Windows. Ich schätze, das du mit ihm spielst, schreibst und vielleicht sogar Filme anguckst. Ein Betriebssystem (im Nachfolgenden auch BS oder OS [engl. Operating System] benannt) ist ein Hauptprogramm, auf dem alle anderen laufen. Z.B. ein Schreibprogramm. Es würde nichts ohne BS machen können, weil es auf ihm aufsitzt. Nun fragst du dich bestimmt wie man so ein OS überhaupt schreiben (programmieren, machen) konnte; es muss ja schon eines davor gegeben haben! Ha! Das stimmt! Fangen wir mal bei "Adam und Eva" an: So in den 60er Jahren, entwickelte man die ersten Computer. Sie konnten folgendes: Nichts. Damit man sie bedienen konnte, musste man sich selber eine Grundlage, eben ein BS machen. Das ging damals recht einfach: Die Computer hatten riesige Reihen von Schaltriegeln, die man in die entsprechende Richtung bringen musste, und so + und - erzeugte; auch bekannt als 1 und 0 und Strom ein und aus. Als die Firmen damit fertig waren, konnten sie auf dem neuen System richtige OS programmieren. So entstand im Laufe der Zeit UNIX. Es war so begehrt, (oder auch nicht) dass seine Lizenz in seiner Geschichte gut 20 mal weiterverkauft wurde. Da UNIX aber nicht grad billig war, bildeten sich kostenlose Ableger davon. Einer dieser Ableger war BSD, der von der University of California in Berkeley entwickelt wurde. Der Name BSD stand für Berkeley Systems Distribution. BSD war Anfang 1991 immer noch nicht in der Lage, mit den Intel 386ern zu kooperieren. Und als es dann in der Lage war, war die Voraussetzung für einen störungsfreien Betrieb, ein i387er! Ein Modell, das nicht besonders billig und nicht besonders oft anzutreffen war.

original.jpg

Das Linux-Maskottchen "Tux"

GNU und Stallmans Idee

Eine andere Sache: Richard Stallman begann in den frühen 80ern für ein altes Computersystem Programme zu schreiben. Das war einmal der Editor Emacs, der noch heute in der Linuxwelt der beste Editor ist(!) und andererseits der Compiler GCC. Einen Compiler braucht man, um unfertige Programme, die noch im Quellcode vorliegen in für Maschinen ausführbaren Programmcode zu verwandeln. Jedes normale Programm, das in einer höheren Sprache geschrieben wurde, z.B. C, oder C++ wird compiliert! Stallman entwarf eine eigene Softwarelizenz: Die Gereral Puplic License - kurz GPL für seine Programme. Wenn Du dir die nicht offizielle deutsche Übersetzung dieser Lizenz ansehen willst, dann klick hier! So ungefähr heißt es darin: Programme unter der GPL müssen immer quelloffen sein -d.h. das immer der uncompilierte Quellcode verfügbar sein soll. Man soll die Programme frei kopieren, modifizieren, Teile oder den gesamten Code für was anderes benutzen; also in eigene Programme kopieren können, und den neuen Code oder das Programm sogar verkaufen. Die Einschränkungen sind, dass das neue Programm dann auch GPL sein muss, das also die Rechte der Benutzer nicht eingeschränkt werden. Sogar wenn nur ein Codefitzelchen kopiert wurde. (Gut, bei einer Zeile Code...) An dieser Stelle könnten wir ein kleines Schreckens-Szenario für Microsoft aufziehen: Ein Programmierer von M$ benutzt aus Faulheit ein Stück GNU-Code, der eigermasen betriebssystemunabgängig ist, bei der Entwicklung für Windows Vista. (XP-Nachfolger) Das fliegt auf, und der ursprüngliche GNU-Programmeigentümer klagt gegen Microsoft; die Sache kommt vor Gericht. Der Code ist integriert. Auch wenn man ihn jetzt rausnehmen würde; dann war er integriert! Microsoft müsste den gesamten Quellcode für Windows Vista offen legen, und dazu noch das System kostenlos für jeden über das Internet herunterladbar machen!

Richard Stallmans beide besten Programme, Emacs und GCC standen unter der GPL. Richard verdiente, so unglaublich das heute klingen mag, sein Geld damit, die Software auf Kassetten und Disketten zu verschicken, weil die meißten Leute damals noch keinen Internet-Zugang hatten. So ein Päckchen kostete dann etwa 30 - 40$, aber der Inhalt war auch kostenlos über das Internet herunterladbar. (Übrigens: Stallman ist Amerikaner! Und in New York geboren!) Nach einiger Zeit immer neuerer Versionen der Proggis dachte er daran, ein vollkommen neues und unter der GPL stehendes Betriebssystem zu entwickeln! Der Name sollte GNU sein. Das steht für "GNU's Not UNIX" (GNU ist nicht UNIX) Also ein Wortspiel. Solche Wortspiele waren damals bei diesen guten Hackern sehr beliebt. Stallman suchte sich ein "Design" für sein OS, eine bewährte Art OS die stabil war und funzte. Obwohl er noch nie mit ihm gearbeitet hatte, hat sich Stallman als Vorlage UNIX herausgesucht. Dessen Vorteil war es nämlich, dass es nicht einen zusammenhängenden Kernel hatte, (im Kernel sind unter unixartigen BS die meisten Gerätetreiber, das Bootsystem, und eine Schnittstelle zur Komonikation mit der Hardware enthalten; er wird bei jedem Start zu aller erst geladen; das Laden übernimmt er...) der aus einem Klumpen Dateien zusammengeflickt war, oder gar aus einer einzigen Datei bestand, sondern eine Vielzahl von intelligent verknüpften Modulen besaß und man so irgendwo im System anfangen konnte zu coden. Das war Stallmans liebste Art ein Programm zu schreiben. Stallman nannte den Kernel Hurd "Herz". 1991 waren schon 95% des Systems "GNU" fertig. Richard hatte alleine in einigen Jahren Entwicklung ein wunderbares Eingabesystem (ähnlich DOS und eben UNIX) entwickelt, dem nahezu nichts fehlte. Kleines Problemchen: Den Kernel hatte sich Richard bis zum Schluss aufbewahrt... (So geht es mir mit Hausaufgaben auch! ;-)) Es war also ein super System, mit allen möglichen Utilitys und Tools - blöderweise fehlte ihm der Kernel zum Funktionieren! Der Schlüssel zum Anspringen!


Linux' Geschichte

1991 (übrigens auch das Geburtsjahr des Verfassers) lebte in Finnland ein Student an der MIT Uni und kaufte sich seinen ersten PC. Einen i386er. Der Student hieß Linus Torvalds und war keinesfalls computermäsig unbegabt... Er hatte schon mit den verschiedensten OS und Computern der Steinzeit zu tun gehabt und war in vielen Programmiersprachen, über die UNI gut bewandert. Linus kannte UNIX von der Schule her: Da AT&T, die Firma von UNIX den Studenten keinen Zugang mehr zum Quellcode seit Version 7 des Ur-UNIX gab, und die Quellcodeansicht an dieser Computer-UNI unerlässlich war, wurde ein kostenloses System von einem Ami namens Tanenbaum (*glucks*,*glicks!*) eingeführt. Es hieß Mimix. Mimix war genau so eine Abgucke von Unix. Mit dem bedeutendem Unterschied, dass der Code für alle offen und mit vielen Kommentaren versehen war. (Das ist für Studenten besonders wichtig, weil sie dann alles ganz genau begreifen können!) Ein weiterer Unterschied zu dem in 95% Enwicklung befindlichem GNU, dem noch das "Hurd" fehlte, bestand darin, dass es einen Microkernel hatte. Ein Kernel bestehend aus einer einzigen Datei. (was ja nicht unbedingt gut sein muss... - siehe oben!) Linus bestellte sich für seinen PC bei Tanenbaum eine persönliche Mimix-Version, und in der Wartezeit, bis es endlich kam, vergnügte sich Linux mit dem vorinstalliertem DOS auf dem Rechner. Was er damit tat war wichtig, für ein späteres Feature von Linux: Er spielte das Computerspiel 'Prince of Persia'! Und mit viel Spaß... Als Mimix kam musste Linus verärgert feststellen, dass es DOS bei der Installation zermatschen würde. Er installierte es trotzdem. Linus spielte einige Zeit mit Mimix herum, und begann dann, ein Programm zu schreiben, mit dem er über das Netzwerk zur UNI dort die Nachrichten, Mitteilungen; so ungefähr das schwarze Brett lesen konnte. Das reichte ihm aber mit der Zeit nicht mehr, er wollte auch auf den Server zugreifen, und dort Dateien herunterladen können! Dummerweise war Mimix nicht richtig in der Lage, das Programm auszuführen. Seine Möglichkeiten waren einfach zu begrenzt! So schrieb Linus auch die elementaren Teile eines Betriebssystrems, und integrierte sie in sein 'Programm'. So konnte er den PC herunterfahren, neu starten, und in einem selbst entwickeltem Bootmanager, wo man das zu startende System auswählen konnte, seinen Newsreader starten... Irgendwann wollte Linus auch aus seinem Programm heraus auf seine Festplatte zugreifen können, und schrieb einen Treiber für den Festplattenzugriff. Diese Fälle der Integrierungsideen wurden immer häufiger, und schließlich nahm sich Linus etwas Zeit, und verbesserte den Kernel seines Systems so, das daraus immer mehr ein Mimix-Ersatz wurde. Schließlich löschte er sein Mimix von der Platte, und installierte auf den frei gewordenen Platz wieder DOS und er konnte endlich wieder Prince of Persia spielen! ;-) Der Bootmanager seines Systems war eine Schlüsselfunktion: Das System war nicht wie die anderen UNIXe ein vollständiger Ersatz für DOS, sondern konnte parallel zu ihm eingesetzt werden! Zudem war sein Kernel kein Microkernel, sondern funktionierte nach Stallmans Idee des 'Hurd'. Linus konnte die meisten der GNU-Programme (die Stallman schon freigegeben hatte) unter seinem System benutzen, wenn er auch kleine Änderungen im Quellcode der Programme vor dem compilieren durchführen musste (aber das war ja nach der GPL erlaubt). Bald funzten auch Emacs und GCC, die beiden wohl wichtigsten Programme in der Kindheit von Linux. Linus konnte seinen eigenen schlechten Compiler weg werfen und benutzte nun GCC. Der Arbeitsname für sein System, dessen Entwicklung ihn nun gepackt hatte, war Linux. Linus wollte sein System aber auf gar keinen Fall unter diesem Namen veröffentlichen; schließlich bestand die Gefahr, das man ihn für Größenwahnsinnig oder sehr selbstherrlich halten könnte. Seine Namensvorschläge waren Buggix (eine Anspielung auf die noch vielen Fehler im Code... [Bug = Fehler]) oder der grauenhafte Name "Freax-free + freak + x" Aber der Name gefiehl einem seiner Freunde, die ihm kostenlos Speicherplatz auf einem FTP-Server zu Verfügung stellte gar nicht, und so nahm dieser den Namen 'Linux' als Verzeichnis, das im Server unter /pub/os/linux zu finden war. (/pub ist das Publikationsverzeichnis eines UNIX-Servers, os steht für das Unterverzeichnis OperatingSystem und dann eben linux für das System) Linus stellte also die Version 0.0.1 auf den Server, aber nur den Quellcode. In einer (Mimix-)Newsgroup im Usenet schrieb er aus Scham wegen 'Buggix' lieber keine Anmerkung hinein, dass sein lange angekündigtes System jetzt verfügbar sei. Aber das verbreitete sich auch so. Linus bekam sehr viele Fehlerberichte und Verbesserungsvorschläge für Linux zu geschickt, und das Beste war, dass er nicht wie Tanenbaum mit seinem Mimix wartete, bis Weihnachten und die Zeit für eine neue Version kam, sondern die am besten klingenden und wichtigen Fehler und Features gleich verbesserte oder integrierte. Das dauerte im Besten Fall nur einige Minuten! So kamen öfters mal in einer Woche 5 neue Versionen mit diversen Verbesserungen raus! Und man konnte sie kostenlos über das Internet runterladen! Man musste sich nicht (wie bei Mimix) ein Buch mit einer Diskette im Buchrücken kaufen!

Linux entwicklelte sich schnell. Sehr schnell! Die Versionen sprangen nur so und bald war das ebenfalls kostenlose System BSD nichts mehr wert. Das lag auch an dem tollen Support von denen:"BSD ist ein Forschungssystem, und muss auf keiner anderen Hardware laufen, als auf unserem Universitätsserver! Und wenn Sie das trotzdem verwenden sind Sie selber schuld!"


Linus und seine "Hacker"-Kollegen machten eine super Support-Betreuung für Linux! Und das bis heute! Wenn man heute einen Linux-Code anschaut, sieht man keine Ähnlichkeiten mehr zu Unix oder Mimix. Torvalds hatte den Kernel komplett neu geschrieben. Der Erfolg war riesig! Immer mehr User benutzten Linux! Rasch wurden viele Unix-Anwendungen portiert (für Linux umgeschrieben), aber da Linux und Unix keine großen Unterschiede in der Softwarebehandling kannten, ging das sehr schnell voran. (Eigentlich mussten nur ein paar Textdateien [Quellcodes] an bestimmten Stellen etwas angepasst werden, aber das wäre nicht mal nötig gewesen; den Linux kann Unix-Anwendungen ganz gut ausführen.) Irgendwann Mitte der 90er bekam Linux dann auch noch ein Logo: Linus Torvalds, der ein Pinguin-Fan war, und sogar einmal von einem im Zoo gebissen wurde (und darauf fest behauptete, er habe 'Pinguitis'), mochte die Tiere und als dann bald darauf ein Linux-Anwender einen fetten Pinguin mit dem Linux-Programm "The Gimp" zeichnete, da wurde es das einheitliche Logo für das freie Betriebssystem. Torvalds fand die Idee gut, und veröffentlichte darauf eine Analyse darüber, warum der Pinguin denn so fett sei. James Hughes machte den Namensvorschlag "Tux". Das heißt so viel wie TorvaldsUnix - angelehnt an Linus'Unix(Linux). Der Vorschlag wurde angenommen, wobei doch viele Leute glaubten, das ein fetter Pinguin nicht so richtig die Elleganz von Linux wiederspiegeln könne, und auch so überhaupt nicht buissnes like war. Richard Stallman hat GNU Hurd erst 'kürzlich' - so etwa 96-98 (das genaue Datum weiß nicht mal Wikipedia, und es ist scheinbar auch außerhalb nichts bekannt) zu Ende geschrieben. Da aber Linux schon davor praktisch alle der Softwarepakete von GNU verwendete, verlangte Stallman von Linus, Linux in "LiGNUx" /lignux/ umzutaufen, was Linus natürlich nicht tat. Das war wie Verrat für die Linux-Entwickler, diese Vorderung! Denn Stallman hatte ja selbst die GPL verfasst, und da war das ja ausdrücklich erlaubt! Aber Richard konnte woanders eine Umbenennung durchsetzen: Bei der Linux Distribution Debian. Die Entwickler der Debian Linux Zusammenstellung hatten von Richards Free Software Foundation Unterstützungsgelder bezogen. Und jetzt konnte er natürlich auf die armen Leutchen Druck machen. Das Resultat war, dass Debian Linux in Debian GNU/Linux umbenannt wurde. Und aus Gerechtigkeit gegenüber der FSF (Free Soft...) wird Linux selber heute auch oft GNU/Linux genannt.


Das "X" am Ende

Irgendwann, Mitte der 90er Jahre, dachten auch Linux-Programmierer daran, für Linux eine graphische Oberfläche zu schaffen. Aber bevor dies zu Stande kommen konnte, musste man erst mal eine "Übersetzungsmaschiene" konstruieren, die die Kommandozeile und graphische Oberfläche miteinander verband. Schließlich sollte die Oberfläche auch das meiste können, wie die Shell (Kommandozeile) und auf die ganzen Shell-Aktionen zugreifen können. Eben wie Windows nur ein Aufsatz auf DOS ist, sollte die graphische Oberfläche nur ein Aufsatz auf die Linux-Kommandozeile sein. Dieses Zwischenprogramm wurde X Server genannt - aber hat nichts mit Internetservern zu tun.

Es entwickelten sich zwei Hauptoberflächen: KDE (K Desktop Ervortement - das K hat keine Bedeutung) und Gnome (soll putzig, klein sein, multifunktionell)

Hq4MX7Ww.jpg
</br>

KDE soll in erster Linie mal an Microsofts Windows erinnern, man kann es aber auch leicht in ein Mac OS X verwandeln. Fast alles von Windows findet man auch in KDE. Die meisten Funktionen sind selbsterklärend. Ein begabter Windows-Anwender fühlt sich hier sofort wie zu Hause, mit dem Unterschied, das viele Funktionen noch verbessert wurden! Außerdem braucht man in KDE nur einen Klick, wo man in Windows einen Doppelick machen müsste. Das Dessing ist über das "KDE-Kontrollzentrum" leicht anpassbar, so wie die meisten anderen KDE-Komponenten auch. Der rechts abgebildete Drache heißt Konqui und ist das Maskottchen des Projekts.


In Gnome wurde besonderen Wert auf die Simpelheit des Desktops gelegt. Er ist in vielen Punkten nicht so ausgereift wie KDE, aber bietet excelente Ausweichmanöver in solch einer Situation. Ausgezeichnet aus meiner Sicht, ist die strickte Trennung, von Dateimanager und Browser. Gnome kommt mir übrigens immer etwas stabiler als KDE vor. Vermutlich machen die KDE-Entwickler noch extra Fehler in den Code, dass er dem User noch mehr an Windoof erinnert. ;) Auch wenn Gnome kein Maskottchen hat (eigentlich schon - einen Fußabdruck) ist er ein richtig genialer Desktop, der auf gar keinen Fall unterschätzt werden darf! Gnome ist sehr gut "aufgeräumt".



[Dieser Text stammt ursprünglich von der Homepage einer der Autoren, der diesen Text unter der FDL bereitstellt]

--Regiedie1. 16:56, 30. Aug 2005 (CEST)--