Einführung in Linux PDF

Summary

Dieses Dokument ist eine Einführung in das Linux-Betriebssystem. Es beschreibt die Geschichte von Linux, die Eigenschaften von Linux, sowie die verschiedenen Linux-Distributionen. Der Text enthält auch Lernziele, Vorkenntnisse und ein Literaturverzeichnis.

Full Transcript

$ echo tux tux $ ls...

$ echo tux tux $ ls hallo.c hallo.o $ /bin/su - Password: 1 Einführung Inhalt 1.1 Was ist Linux?..................... 14 1.2 Die Geschichte von Linux................. 14 1.3 Freie Software, »Open Source« und die GPL.......... 16 1.4 Linux – Der Kernel................... 20 1.5 Die Eigenschaften von Linux................ 22 1.6 Linux-Distributionen.................. 25 Lernziele Linux mit seinen Eigenschaften und seiner Entstehungsgeschichte kennen Verstehen, was Kernel und Distributionen sind Die Begriffe »GPL«, »freie Software« und »Open Source« einordnen können Vorkenntnisse Kenntnisse eines anderen Betriebssystems sind hilfreich, um Parallelen und Unterschiede erkennen zu können grd1-einfuehrung.tex (a13e1ba7ab759bab ) 14 1 Einführung 1.1 Was ist Linux? Linux ist ein Betriebssystem. Als Betriebssystem stellt es die elementaren Funktio- nen zum Betrieb eines Rechners zur Verfügung. Anwendungsprogramme bauen auf dem Betriebssystem auf. Es bildet die Schnittstelle zwischen der Hardware und den Anwendungsprogrammen, aber auch die Schnittstelle zwischen Hard- ware und Mensch (Benutzer). Ohne ein Betriebssystem ist der Computer nicht in der Lage, unsere Eingaben zu »verstehen« bzw. zu verarbeiten. Die verschiedenen Betriebssysteme unterscheiden sich in der Weise, wie sie die oben genannten Aufgaben ausführen. Linux ist in seiner Funktionalität und seiner Bedienung dem Betriebssystem Unix nachempfunden. 1.2 Die Geschichte von Linux Die Entstehungsgeschichte von Linux ist etwas Besonderes in der Computer-Welt. Während die meisten anderen Betriebssysteme kommerzielle Produkte von Fir- men sind, wurde Linux von einem Studenten als Hobbyprojekt ins Leben geru- fen. Inzwischen arbeiten weltweit Hunderte von Profis und Enthusiasten daran mit – von Hobbyprogrammierern und Informatikstudenten bis zu Betriebssys- temexperten, die von renommierten Computerfirmen dafür bezahlt werden, Li- nux weiterzuentwicken. Grundlage für die Existenz eines solchen Projekts ist das Internet: Die Linux-Entwickler nutzen intensiv Dienste wie E-Mail, verteilte Revi- sionskontrolle und das World Wide Web und haben so das Betriebssystem Linux zu dem gemacht, was es heute ist. Linux ist also das Ergebnis einer internationalen Zusammenarbeit über Länder- und Firmengrenzen hinweg, nach wie vor geleitet von Linus Torvalds, dem ursprünglichen Autor. Um den Hintergrund von Linux erklären zu können, müssen wir etwas wei- ter ausholen: Unix, das Vorbild von Linux, entstand ab 1969. Es wurde von Ken Bell Laboratories Thompson und seinen Kollegen bei den Bell Laboratories (dem Forschungsinstitut des US-amerikanischen Telefonmagnaten AT&T) entwickelt1. Es verbreitete sich rasch vor allem in Universitäten, da die Bell Labs die Quellen und Dokumentati- on zum Selbstkostenpreis abgaben (AT&T durfte aufgrund kartellrechtlicher Ein- schränkungen keine Software verkaufen). Unix war zunächst ein Betriebssystem für die PDP-11-Rechner von Digital Equipment, wurde aber im Laufe der 1970er Jahre auf andere Plattformen portiert – ein vergleichsweise einfaches Unterfangen, da die Unix-Software, einschließlich des Betriebssystemkerns, zum allergrößten Teil in der von Dennis Ritchie speziell für diesen Zweck erfundenen Program- C miersprache C geschrieben war. Die vielleicht wichtigste Portierung war die auf VAX die PDP-11-Nachfolgeplattform VAX an der University of California in Berkeley, die als »BSD« (kurz für Berkeley Software Distribution) in Umlauf kam. Im Laufe der Zeit entwickelten verschiedene Computerhersteller unterschiedliche Unix-Va- rianten teils auf der Basis des AT&T-Codes, teils auf der Basis von BSD (z. B. Sinix von Siemens, Xenix von Microsoft (!), SunOS von Sun Microsystems, HP/UX von Hewlett-Packard oder AIX von IBM). Auch AT&T selbst durfte schließlich Unix System V verkaufen – die kommerziellen Versionen System III und (später) System V. Das führte zu einer ziemlich unübersichtlichen Fülle verschiedenener Unix-Produkte. Es kam nie wirklich zu einer Standardisierung, aber man kann in etwa zwischen BSD- und System-V-nahen Unix-Varianten unterscheiden. Zum größten Teil wur- SVR4 den die BSD- und die System-V-Entwicklungslinien in »System V Release 4« zu- sammengeführt, das die wesentlichen Eigenschaften beider Strömungen aufweist. Die allerersten Teile von Linux wurden 1991 von Linus Torvalds, einem damals 21-jährigen Studenten aus Helsinki, entwickelt, als dieser die Möglichkeiten des Intel-386-Prozessors in seinem neuen PC genauer untersuchte. Nach einigen Mo- 1 Der Name »Unix« ist ein Wortspiel mit »Multics«, dem Betriebssystem, an dem Ken Thompson und seine Kollegen vorher mitgearbeitet hatten. Das frühe Unix war viel simpler als Multics. Wie es dazu kam, den Namen mit »x« zu schreiben, ist nicht mehr bekannt. 1.2 Die Geschichte von Linux 15 Bild 1.1: Ken Thompson (sitzend) und Dennis Ritchie (stehend) an einer PDP-11, ca. 1972. (Abdruck mit freundlicher Genehmigung von Lucent Technologies.) naten war aus den Assemblerstudien ein kleiner, lauffähiger Betriebssystemkern entstanden, der in einem Minix-System eingesetzt werden konnte – Minix war ein Minix kleines Unix-artiges Betriebssystem, das der Informatikprofessor Andrew S. Ta- nenbaum an der Freien Universität Amsterdam für seine Studenten geschrieben hatte. Das frühe Linux hatte ähnliche Eigenschaften wie ein Unix-System, enthielt aber keinen Unix-Quellcode. Linus Torvalds gab den Programmcode über das Internet frei, und die Idee wurde mit Begeisterung von vielen Programmierern aufgegriffen und weiter entwickelt. Die im Januar 1992 herausgegebene Version 0.12 war bereits ein stabil laufender Betriebssystemkern. Es gab – dank Minix – den gcc (GNU C-Compiler), die bash , emacs und viele der anderen GNU-Hilfspro- gramme. Dieses Betriebssystem wurde über anonymes FTP weltweit verteilt. Die Zahl der Programmierer, Tester und Unterstützer wuchs rasend schnell. Das er- möglichte in kurzer Zeit Fortschritte, von denen mächtige Softwareunternehmen nur träumen können. Innerhalb weniger Monate wurde aus dem Minikernel ein ausgewachsenes Betriebssystem mit ziemlich vollständiger (wenn auch simpler) Unix-Funktionalität. Das Projekt »Linux« ist auch heute nicht abgeschlossen. Linux wird ständig ak- tualisiert und erweitert, und zwar von Hunderten von Programmierern auf der ganzen Welt, denen inzwischen mehrere Millionen zufriedene private und kom- merzielle Anwender gegenüberstehen. Man kann auch nicht sagen, dass das Sys- tem »nur« von Studenten und anderen Amateuren entwickelt wird – viele Leute, die am Linux-Kern mitarbeiten, haben wichtige Posten in der Computerindus- trie und gehören zu den fachlich angesehensten Systementwicklern überhaupt. Inzwischen läßt sich mit Berechtigung behaupten, dass Linux das Betriebssystem mit der breitesten Hardwareunterstützung überhaupt ist, nicht nur bezogen auf die Plattformen, auf denen es läuft (vom PDA bis zum Großrechner), sondern auch auf die Treiberunterstützung zum Beispiel auf der Intel-PC-Plattform. Li- nux dient auch als Test- und Forschungsplattform für neue Betriebssystem-Ideen in Industrie und Hochschule; es ist zweifellos eines der innovativsten derzeit ver- fügbaren Betriebssysteme. 16 1 Einführung 55MiB Linux 2.0 Linux 2.1 50MiB Linux 2.2 Linux 2.3 Linux 2.4 Linux 2.5 45MiB Linux 2.6 40MiB 35MiB 30MiB 25MiB 20MiB 15MiB 10MiB 5MiB 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 Bild 1.2: Die Weiterentwicklung von Linux, gemessen an der Größe von linux- *.tar.gz. Jede Marke entspricht einer Linux-Version. In den gut 10 Jahren von Linux 2.0 bis Linux 2.6.18 hat der Umfang des komprimierten Linux-Quellcodes sich nahezu verzehnfacht. Übungen C 1.1 Suchen Sie im Internet nach der berühmt-berüchtigten Diskussion zwischen Andrew S. Tanenbaum und Linus Torvalds, in der Tanenbaum sagt, Linus Torvalds wäre mit etwas wie Linux bei ihm im Praktikum durch- gefallen. Was halten Sie davon? C 1.2 Welche Versionsnummer hat der älteste Linux-Kern-Quellcode, den Sie noch finden können? 1.3 Freie Software, »Open Source« und die GPL Linux steht seit Beginn der Entwicklung unter der GNU General Public License GPL (GPL) der Free Software Foundation (FSF). Die FSF wurde von Richard M. Stall- Free Software Foundation man, dem Autor des Editors Emacs und anderer wichtiger Programme, mit dem Freie Software Ziel gegründet, qualitativ hochwertige Software »frei« verfügbar zu machen – in dem Sinne, dass Benutzer »frei« sind, sie anzuschauen, zu ändern und im Origi- nal oder geändert weiterzugeben, nicht notwendigerweise in dem Sinne, dass sie nichts kostet2. Insbesondere ging es ihm um ein frei verfügbares Unix-artiges Be- triebssystem, daher »GNU« als (rekursive) Abkürzung für “GNU’s Not Unix”. Die wesentliche Aussage der GPL liegt darin, dass in ihrem Sinne geschützte Software zwar jederzeit verändert und auch verkauft werden darf, aber immer zusammen mit dem (gegebenenfalls veränderten) Quellcode weitergegeben werden muss – Open Source deshalb auch Open Source – und der Empfänger dieselben Rechte der Veränderung und Weitergabe erhalten muss. Es hat darum keinen großen Sinn, GPL-Software 2 Die FSF sagt “free as in speech, not as in beer” 1.3 Freie Software, »Open Source« und die GPL 17 »pro Rechner« zu verkaufen, da der Empfänger das Recht bekommt, die Software so oft zu kopieren und zu installieren, wie er mag. (Was man allerdings durch- aus »pro Rechner« verkaufen darf, ist Unterstützung und Service für die GPL- Software.) Neue Software, die durch Erweiterung oder Veränderung von GPL- Software entsteht, muss als »abgeleitetes Werk« ebenfalls unter die GPL gestellt werden. Die GPL bezieht sich also auf den Vertrieb der Software, nicht den Gebrauch, und gibt dem Empfänger der Software Rechte, die er sonst überhaupt nicht hätte – zum Beispiel das Recht zur Vervielfältigung und Weitergabe der Software, das nach dem Gesetz dem »Urheber« vorbehalten bleibt (darum »Urheberrecht«). Sie unterscheidet sich deshalb deutlich von den End User License Agreements »proprie- EULAs tärer« Software, die dem Benutzer normalerweise Rechte zu nehmen versuchen. (Manche EULAs wollen dem Empfänger der Software zum Beispiel verbieten, in der Öffentlichkeit schlecht – oder überhaupt – über das Produkt zu reden.) B Die GPL ist eine Lizenz, kein Vertrag, da sie dem Empfänger der Software einseitig etwas erlaubt (wenngleich unter Bedingungen). Der Empfänger der Software muss die GPL nicht ausdrücklich »akzeptieren«. Bei den gän- gigen EULAs handelt es sich dagegen um Verträge, da der Empfänger der Software im Austausch für das Recht, die Software benutzen zu dürfen, auf gewisse Rechte verzichten soll. Aus diesem Grund müssen EULAs auch ausdrücklich akzeptiert werden. Die rechtlichen Anforderungen hierfür lie- gen recht hoch – etwa müssen in Deutschland einem Software-Käufer die EULA-Bedingungen vor dem Kauf bekannt sein, damit sie wirksamer Be- standteil des Kaufvertrags werden können. Da die GPL die Rechte des Käu- fers (insbesondere was den Gebrauch der Software angeht) in keiner Weise dem gegenüber einschränkt, was er bei irgendeinem Sachkauf zu erwarten hätte, gelten diese Anforderungen nicht für die GPL; die zusätzlichen Rech- te, die der Käufer unter der GPL erhält, sind eine Art Sonderbonus. B Im Moment sind zwei Versionen der GPL in Gebrauch. Die neuere Version 3 (auch als »GPLv3« bezeichnet) wurde Ende Juni 2007 veröffentlicht und un- GPLv3 terscheidet sich von der älteren Version 2 (auch »GPLv2«) durch Präzisie- rungen in Bereichen wie Softwarepatenten, der Kompatibilität mit anderen freien Lizenzen und der Einführung von Restriktionen dafür, Änderungen an der theoretisch »freien« Software von Geräten unmöglich zu machen, indem man sie durch spezielle Hardware ausschließt (die »Tivoisierung«, nach einem digitalen Videorekorder auf Linux-Basis, dessen Linux-Kern man nicht verändern oder austauschen kann). Die GPLv3 erlaubt ihren Be- nutzern auch das Hinzufügen weiterer Klauseln. – Die GPLv3 stieß nicht auf die uneingeschränkte Zustimmung der Szene, so dass viele Projekte, al- len voran der Linux-Kernel, mit Absicht bei der einfacheren GPLv2 geblie- ben sind. Viele Projekte werden auch »unter der GPLv2 oder einer neueren Version der GPL« vertrieben, so dass Sie sich entscheiden können, welcher Version der GPL Sie bei der Weitergabe oder Änderung solcher Software folgen wollen. Nicht verwechseln sollten Sie GPL-Software auch mit »Public-Domain-Soft- Public Domain ware«. Letztere gehört niemandem, jeder darf damit machen, was er möchte (die- ses Konzept existiert im deutschen Recht übrigens nur als »Gemeinfreiheit«, die eintritt, wenn der Urheber länger als 70 Jahre tot ist – im Computerbereich ist das noch nicht relevant). Die Urheberrechte an GPL-Software liegen aber in der Re- gel auch weiterhin beim Entwickler oder den Entwicklern, und die GPL sagt sehr deutlich, was mit der Software gemacht werden darf und was nicht. B Es gilt unter Entwicklern freier Software als guter Stil, Beiträge zu einem Projekt unter dieselbe Lizenz zu stellen, die das Projekt schon benutzt, und die meisten Projekte bestehen tatsächlich darauf, dass das zumindest für solchen Code gilt, der in die »offizielle« Version einfließen soll. Manche 18 1 Einführung Projekte bestehen sogar auf copyright assignments, bei denen der Urheber des Codes seine Rechte an das Projekt (oder eine geeignete Organisation) abtritt. Dieser Schritt hat den Vorteil, dass urheberrechtlich nur das Projekt für den Code verantwortlich ist und Lizenzverstöße – die nur der Rechte-Inhaber verfolgen kann – leichter geahndet werden können. Ein entweder gewollter oder ausdrücklich unerwünschter Nebeneffekt ist auch, dass es einfacher möglich ist, die Lizenz für das ganze Projekt zu ändern, denn auch das darf nur der Rechte-Inhaber. B Im Falle des Linux-Betriebssystemkerns, wo ausdrücklich keine copyright as- signments verlangt werden, ist eine Lizenzänderung praktisch sehr schwie- rig bis ausgeschlossen, da der Code ein Flickenteppich von Beiträgen von über tausend Autoren ist. Die Angelegenheit wurde im Zuge der Veröffent- lichung der GPLv3 erörtert, und man war sich einig, dass es ein riesen- großes Projekt wäre, die urheberrechtliche Provenienz jeder einzelnen Zeile des Linux-Quellcodes zu klären und die Zustimmung der Autoren zu einer Lizenzänderung einzuholen. Manche Linux-Entwickler wären auch vehe- ment dagegen, andere sind nicht mehr zu finden oder sogar verstorben, und der betreffende Code müsste durch etwas Ähnliches mit klarem Copyright ersetzt werden. Zumindest Linus Torvalds ist aber nach wie vor Anhänger der GPLv2, so dass das Problem sich in der Praxis (noch) nicht wirklich stellt. GPL und Geld Die GPL sagt nichts über den möglichen Preis des Produkts aus. Es ist absolut legal, dass Sie Kopien von GPL-Programmen verschenken oder auch Geld dafür verlangen, solange Sie auch den Quellcode mitliefern oder auf Anfrage verfügbar machen und der Empfänger der Software auch die GPL-Rechte bekommt. GPL- Software ist damit also nicht unbedingt »Freeware«. Mehr Informationen erhalten Sie durch Lesen der GPL [GPL91], die übrigens jedem entsprechenden Produkt (auch Linux) beiliegen muss. Andere »freie« Lizenzen Es gibt andere »freie« Software-Lizenzen, die dem Empfänger der Software ähnliche Rechte einräumen, etwa die »BSD-Lizenz«, die die Integration von ent- sprechend lizenzierter Software in eigene, nicht freie Produkte gestattet. Die GPL gilt aber als konsequenteste der freien Lizenzen in dem Sinne, dass sie sicherzu- stellen versucht, dass einmal unter der GPL veröffentlichter Code auch frei bleibt. Es haben schon öfters Firmen versucht, GPL-Code in ihre eigenen Produkte zu integrieren, die dann nicht unter der GPL freigegeben werden sollten. Allerdings haben diese Firmen bisher immer nach einer nachdrücklichen Ermahnung durch (meist) die FSF als Rechteinhaberin eingelenkt und die betreffenden Programme freigegeben. Zumindest in Deutschland ist die GPL auch schon gerichtlich für gültig erklärt worden – einer der Linux-Kernelprogrammierer konnte vor dem Landgericht Frankfurt ein Urteil gegen die Firma D-Link (einen Hersteller von Netzwerkkomponenten, hier einem NAS-Gerät auf Linux-Basis) erwirken, in dem letztere zu Schadensersatz verklagt wurde, weil sie bei der Verbreitung ihres Ge- räts den GPL-Auflagen nicht genügte [GPL-Urteil06]. B Warum funktioniert die GPL? Manche Firma, der die Anforderungen der GPL lästig waren, hat versucht, sie für ungültig zu erklären oder erklären zu lassen. So wurde sie in den USA schon als »unamerikanisch« oder »verfas- sungswidrig« apostrophiert; in Deutschland wurde versucht, das Kartell- recht heranzuziehen, da die GPL angeblich illegale Preisvorschriften macht. Die Idee scheint zu sein, dass Software, die unter der GPL steht, für jeden beliebig benutzbar ist, wenn mit der GPL irgendetwas nachweislich nicht stimmt. Alle diese Angriffe verkennen aber eine Tatsache: Ohne die GPL hätte niemand außer dem ursprünglichen Autor überhaupt das Recht, mit dem Code irgendetwas zu tun, da Aktionen wie das Weitergeben oder gar Verkaufen nach dem Urheberrecht nur ihm vorbehalten sind. Fällt die GPL weg, dann stehen alle anderen Interessenten an dem Code also viel schlech- ter da als vorher. 1.3 Freie Software, »Open Source« und die GPL 19 B Ein Prozess, bei dem ein Softwareautor eine Firma verklagt, die seine GPL- Software vertreibt, ohne sich an die GPL zu halten, würde aller Wahrschein- lichkeit nach so aussehen: Richter Was ist jetzt das Problem? Softwareautor Herr Vorsitzender, die Beklagte hat meine Software vertrie- ben, ohne die Lizenz dafür einzuhalten. Richter (zum Rechtsanwalt der Beklagten) Stimmt das? An dieser Stelle kann die beklagte Firma »Ja« sagen und der Prozess ist im Wesentlichen vorbei (bis auf das Urteil). Sie kann auch »Nein« sagen, aber sie muss dann begründen, warum das Urheberrecht für sie nicht gilt. Ein unangenehmes Dilemma und der Grund, warum wenige Firmen sich die- sen Stress machen und die meisten GPL-Streitigkeiten außergerichtlich ge- klärt werden. B Verstößt ein Hersteller proprietärer Software gegen die GPL (etwa indem er ein paar hundert Zeilen Quellcode aus einem GPL-Projekt in seine Soft- ware integriert), bedeutet das übrigens in keinem Fall, dass seine Software dadurch automatisch komplett unter die GPL fällt und offengelegt werden muss. Es bedeutet zunächst nur, dass er GPL-Code gegen dessen Lizenz ver- trieben hat. Lösen kann der Hersteller das Problem auf verschiedene Arten: Er kann den GPL-Code entfernen und durch eigenen Code ersetzen. Die GPL wird dann irrelevant für sein Programm. Er kann mit dem Urheberrechtsinhaber des GPL-Codes verhandeln und zum Beispiel eine Zahlung von Lizenzgebühren vereinbaren (wenn dieser aufzutreiben ist und mitmacht). Siehe auch den Ab- schnitt über Mehrfachlizenzierung weiter unten. Er kann sein komplettes Programm freiwillig unter die GPL stellen und so den Anforderungen der GPL entsprechen (die unwahrscheinlichste Methode). Unabhängig davon könnte für den vorher stattgefundenen Lizenzverstoß Schadensersatz verhängt werden. Der urheberrechtliche Status der proprie- tären Software bleibt davon allerdings unberührt. Wann gilt eine Software als »frei« oder »Open Source«? Dafür gibt es keine Freiheits-Kriterien verbindlichen Regeln, aber weithin anerkannt sind die Debian Free Software Guide- Debian Free Software Guidelines lines [DFSG]. Die FSF fasst ihre Kriterien in den Four Freedoms zusammen, die für eine freie Software gegeben sein müssen: Man muss das Programm für jeden beliebigen Zweck benutzen dürfen (Freiheit 0) Man muss studieren können, wie das Programm funktioniert, und es an seine Bedürfnisse anpassen können (Freiheit 1) Man muss das Programm weitergeben dürfen, um seinem Nächsten zu hel- fen (Freiheit 2) Man muss das Programm verbessern und die Verbesserungen veröffentli- chen dürfen, um der Allgemeinheit zu nutzen (Freiheit 3). Zugang zum Quellcode ist Vorbedingung für die Freiheiten 1 und 3. Gängige Freie-Software-Lizenzen wie die GPL und die BSD-Lizenz erfüllen diese Freihei- ten natürlich. Im übrigen darf der Urheber einer Software diese durchaus unter verschiede- Mehrfach-Lizenzierung nen Lizenzen verteilen, etwa alternativ unter der GPL und einer »kommerziellen« Lizenz, die den Empfänger von den Anforderungen der GPL, etwa der Freigabe 20 1 Einführung von Quellcode für abgeleitete Werke, freistellt. Auf diese Weise können zum Bei- spiel Privatanwender und Autoren freier Software kostenlos in den Genuss einer leistungsfähigen Unterprogrammbibliothek wie zum Beispiel des Grafikpakets »Qt« (veröffentlicht von Qt Software – ehemals Troll Tech –, einem Tochterunter- nehmen von Nokia) kommen, während Firmen, die ihren eigenen Programmcode nicht frei zur Verfügung stellen wollen, sich von der GPL »freikaufen« müssen. Übungen C 1.3 [!2] Welche der folgenden Aussagen über die GPL stimmen und welche sind falsch? 1. GPL-Programme dürfen nicht verkauft werden. 2. GPL-Programme dürfen von Firmen nicht umgeschrieben und zur Grundlage eigener Produkte gemacht werden. 3. Der Urheber eines GPL-Programms darf das Programm auch unter ei- ner anderen Lizenz vertreiben. 4. Die GPL gilt nicht, weil man die Lizenz erst zu sehen bekommt, nach- dem man das Programm schon hat. Damit Lizenzbestimmungen gül- tig werden, muss man sie vor dem Erwerb der Software sehen und ihnen zustimmen können. C 1.4 Manche Softwarelizenzen verlangen, dass bei Änderungen am In- halt einer Datei aus der Softwaredistribution die Datei einen neuen Namen bekommen muss. Ist so lizenzierte Software »frei« gemäß der DFSG? Was halten Sie davon? 1.4 Linux – Der Kernel Betriebssystemkern Genaugenommen bezeichnet der Begriff »Linux« nur den Betriebssystemkern, der die eigentlichen Aufgaben des Betriebssystems übernimmt. Den Betriebssys- temkern nennt man (neudeutsch) auch Kernel. Er erledigt elementare Aufgaben wie Speicher- und Prozessverwaltung und die Steuerung der Hardware. Anwen- derprogramme müssen sich an den Kernel wenden, wenn sie zum Beispiel auf Dateien auf der Platte zugreifen wollen. Der Kernel prüft solche Vorgänge und kann auf diese Weise dafür sorgen, dass niemand unerlaubten Zugriff auf fremde Dateien erhält. Außerdem kümmert sich der Kernel darum, dass alle Prozesse im System (und damit alle Benutzer) den ihnen jeweils zustehenden Anteil an der verfügbaren Rechenzeit erhalten. Natürlich gibt es nicht nur einen Linux-Kernel, sondern es existieren viele ver- Versionen schiedene Versionen. Bis zur Kernel-Version 2.6 wurde zwischen stabilen »An- wender-Versionen« und instabilen »Entwickler-Versionen« wie folgt unterschie- den: stabile Versionen In Versionsnummern wie 1.𝑥.𝑦 oder 2.𝑥.𝑦 bezeichnet ein gerades 𝑥 stabile Versionen. In stabilen Versionen sollen keine durchgreifenden Änderungen gemacht werden; es sollen vor allem Fehlerkorrekturen vorgenommen wer- den, und ab und zu werden Treiber für neu herausgekommene Hardware oder andere sehr wichtige Eigenschaften neu hinzugefügt, die aus den Ent- wicklungs-Kernels »zurückportiert« wurden. Entwicklungs-Versionen Die Versionen mit ungeradem 𝑥 sind Entwicklungs-Versionen, die nicht für den Produktiveinsatz geeignet sind. Sie enthalten oft unzureichend geteste- ten Code und sind eigentlich für die Leute gedacht, die sich aktiv an der Ent- wicklung von Linux beteiligen wollen. Da Linux ständig weiter entwickelt wird, gibt es auch ständig neue Kernelversionen. Die Änderungen betreffen zumeist Anpassungen an neue Hardware oder die Optimierung verschie- dener Subsysteme, manchmal auch komplett neue Erweiterungen. 1.4 Linux – Der Kernel 21 In Kernel 2.6 hat sich die Vorgehensweise geändert: Statt wie bisher nach einer Kernel 2.6 mehr oder kurzen Stabilisierungsphase die Version 2.7 für Neuentwicklungen anzufangen, haben Linus Torvalds und die anderen Kernel-Entwickler sich ent- schieden, die Weiterentwicklung von Linux näher an der Endanwender-Version zu halten. Dadurch soll die Divergenz von Entwickler- und stabilen Versionen vermieden werden, wie sie sich zum Beispiel im Vorfeld der Veröffentlichung von Linux 2.6 zu einem großen Problem entwickelt hatte – vor allem weil Firmen wie SUSE oder Red Hat sich viel Mühe gemacht hatten, interessante Eigenschaften der Entwicklerversion 2.5 in ihre Versionen der 2.4-Kernels zurück zu übertragen, bis zum Beispiel ein SUSE-2.4.19-Kernel Aberhunderte von Unterschieden zum »of- fiziellen« Linux 2.4.19 aufwies. Die aktuelle Methode besteht darin, vorgeschlagene Änderungen und Erwei- terungen in einer neuen Version des Kernels »probezufahren«, die dann in einem kürzeren Zeitraum für »stabil« erklärt wird. Beispielsweise folgt auf die Version 2.6.37 eine Entwicklungsphase, in der Linus Torvalds Erweiterungen und Ände- rungen für die Version 2.6.38 entgegennimmt. Andere Kernelentwickler (oder wer sonst Lust darauf hat) haben Zugriff auf Linus’ interne Entwicklerversion, die, wenn sie vernünftig genug aussieht, als »Release-Kandidat« 2.6.38-rc1 herausge- Release-Kandidat geben wird. Damit beginnt eine Stabilisierungsphase, in der dieser Release-Kan- didat von mehr Leuten getestet wird. Reparaturen führen zu weiteren Release- Kandidaten, bis die neue Version stabil genug aussieht, dass Linus Torvalds sie zur Version 2.6.38 erklären kann. Danach schließt sich eine Entwicklungsphase für 2.6.39 an und so weiter. B Parallel zu Linus Torvalds’ »offizieller« Version wartet Andrew Morton ei- ne experimentellere Version, den sogenannten »-mm -Baum«. Hierin werden -mm -Baum größere und durchgreifendere Änderungen getestet, bis sie reif dafür sind, von Linus in den offiziellen Kernel aufgenommen zu werden. B Einige andere Entwickler bemühen sich um die Wartung der »stabilen« Ker- nels. Es könnte etwa Kernels mit den Versionsnummern 2.6.38.1, 2.6.38.2, … geben, in denen jeweils nur kleine und überschaubare Änderungen gemacht werden, etwa um gravierende Fehler oder Sicherheitslücken zu reparieren und Linux-Distributoren die Gelegenheit zu geben, auf längerfristig unter- stützte Kernel-Versionen zurückgreifen zu können. Am 21. Juli 2011 gab Linus Torvalds offiziell die Version 3.0 des Linux-Kerns Version 3.0 frei. Eigentlich hätte das die Version 2.6.40 sein müssen, aber er wollte das Schema für die Versionsnummern vereinfachen. Die »stabilen« Kernels auf der Basis von 3.0 werden entsprechend mit 3.0.1, 3.0.2, … bezeichnet, und in Torvalds’ Entwick- lungslinie folgt dann 3.1-rc1 usw. bis 3.1 und so fort. B Linus Torvalds legte sehr großen Wert auf die Feststellung, dass es zwischen den Kernels 2.6.39 und 3.0 keine großen Schritte bei der Funktionalität gab – jedenfalls nicht mehr als zwischen irgend zwei anderen aufeinanderfol- genden Kernels der 2.6-Serie –, sondern dass es sich nur um eine Umnum- merierung handelte. Die Idee des zwanzigjährigen Linux-Jubiläums wurde ins Spiel gebracht. Quellcode für »offizielle« Kernels können Sie im Internet von ftp.kernel.org »offizielle« Kernels bekommen. Allerdings setzen die wenigsten Linux-Distributoren Originalkernels ein. Die Kernels der gängigen Distributionen sind zumeist mehr oder weniger um- Distributions-Kernels fassend modifiziert, etwa indem weitere Treiber hinzugefügt oder Eigenschaften integriert werden, die von der Distribution erwünscht, aber nicht Teil des Stan- dard-Kernels sind. Der Kernel des SUSE Linux Enterprise Servers 8 zum Beispiel enthielt angeblich rund 800 Modifikationen gegenüber dem Standardkernel. (Die Änderungen im Linux-Entwicklungsprozess sollten dazu geführt haben, dass die Differenzen heutzutage nicht mehr ganz so krass sind.) Die meisten Kernel sind heute modular aufgebaut. Frühere Kernel waren das Kernel-Struktur 22 1 Einführung nicht, das heißt, sie bestanden aus einem einzigen Stück Code, das sämtliche Auf- gaben erfüllte, etwa die Unterstützung bestimmter Hardware. Wollte man neue Hardware zum System hinzufügen oder eine neue Eigenschaft, etwa ein anderes Dateisystem, verwenden, musste man sich aus den Quellen einen neuen Kernel übersetzen, ein sehr zeitintensiver Vorgang. Um das zu umgehen, wurde der Ker- nel mit der Fähigkeit ausgestattet, zusätzliche Eigenschaften in Form von Modu- len einzubinden. Module Module sind Programmteile, die dynamisch (also zur Laufzeit des Kernels) hinzugeladen und auch wieder entfernt werden können. Möchten Sie beispiels- weise einen neuen Netzwerk-Adapter verwenden, müssen Sie keinen neuen Ker- nel kompilieren, sondern lediglich ein neues Kernelmodul hinzuladen. Moderne Hardwareerkennung Linux-Distributionen unterstützen eine automatische Hardwareerkennung, die die Eigenschaften des Systems analysiert und die richtigen Module findet und konfiguriert. Übungen C 1.5 Welche Versionsnummer hat der aktuelle stabile Linux-Kern? Der aktuelle Entwicklerkern? Welche Linux-Kernversionen werden noch gewar- tet? 1.5 Die Eigenschaften von Linux Als moderner Betriebssystemkern hat Linux eine Reihe von Eigenschaften, die zum Teil heute zum »Industriestandard« gehören (also auch bei ähnlichen Syste- men in äquivalenter Form anzutreffen sind) und zum Teil Alleinstellungsmerk- male bilden. Prozessoren Linux unterstützt eine große Auswahl von Prozessoren und Rechnerarchi- tekturen, von Mobiltelefonen (das extrem erfolgreiche Betriebssystem »An- droid« von Google basiert wie einige andere Systeme in diesem Bereich auf Linux) über PDAs und Tablet-Computer, alle möglichen Sorten von neuen und alten PC-artigen Rechnern, Serversystemen unterschiedlicher Art bis hin zu den größten Großrechnern (in der Rangliste der schnellsten Rechner der Welt läuft die weit überwiegende Mehrheit unter Linux). B Ein großer Vorteil von Linux im Mobilbereich ist, dass es im Gegen- satz zu Microsoft Windows die stromsparenden und leistungsfähigen ARM-Prozessoren unterstützt, auf denen die meisten mobilen Geräte aufbauen. Mit »Windows RT« hat Microsoft 2012 eine auf ARM lau- fende, teilweise zur Intel-Version kompatible Version von Windows 8 veröffentlicht, die im Markt aber nicht besonders gut ankam. Von allen aktuell vorhandenen Betriebssystemen unterstützt Linux das brei- Hardware teste Spektrum an Hardware. Zwar stehen für manche der allerneuesten Komponenten nicht sofort Treiber zur Verfügung, aber auf der anderen Sei- te arbeitet Linux noch mit Geräten zusammen, die Systeme wie Windows längst hinter sich gelassen haben. Ihre Investitionen in Drucker, Scanner, Grafikkarten und ähnliches werden also optimal geschützt. Multitasking Linux unterstützt »präemptives Multitasking«, das heißt, mehrere Prozesse laufen – scheinbar oder bei Systemen mit mehr als einer CPU auch tatsäch- lich – zur selben Zeit. Dabei können diese Prozesse sich nicht in die Quere kommen oder einander ungebührlich blockieren; der Systemkern sorgt da- für, dass jeder Prozess gemäß seiner Priorität Rechenzeit zugeteilt bekommt. B Heute ist das nichts Besonderes mehr; als Linux neu war, war es noch eher bemerkenswert. 1.5 Die Eigenschaften von Linux 23 Bei entsprechend sorgfältig konfigurierten Systemen reicht das bis in den Echtzeitbereich, und es gibt Linux-Varianten, die tatsächlich für die Steue- rung von Industrieanlagen eingesetzt werden, wo »harte« Echtzeitfähigkeit, also garantierte schnelle Antwortzeiten auf extern eintretende Ereignisse, gefordert ist. Linux unterstützt mehrere Benutzer auf demselben Rechner, sogar gleich- mehrere Benutzer zeitig (über das Netz, über seriell angeschlossene Terminals oder auch meh- rere Bildschirme, Tastaturen und Mäuse am selben Rechner). Für jeden Be- nutzer können getrennte Zugriffsrechte vergeben werden. Linux kann problemlos parallel zu anderen Betriebssystemen auf demsel- ben Rechner installiert werden, so dass man abwechselnd Linux oder ein an- deres System starten kann. Über »Virtualisierung« kann ein Linux-System Virtualisierung in unabhängige Teile aufgeteilt werden, die von aussen wie eigenständige Rechner aussehen und selbst unter Linux oder anderen Betriebssystemen laufen. Hierfür stehen verschiedene freie oder auch kommerzielle Lösun- gen zur Verfügung. Linux nutzt die verfügbare Hardware effizient aus. Die heute üblichen Effizienz Zweikern-Prozessoren werden genauso mit Arbeit versorgt wie die 4096 Prozessorkerne eines SGI-Altix-Servers. Linux läßt keinen Arbeitsspeicher (RAM) brachliegen, sondern benutzt ihn als Plattencache; umgekehrt wird der verfügbare Arbeitsspeicher sinnvoll eingesetzt, um Arbeitslasten zu bewältigen, die deutlich größer sind als das RAM im Rechner. Linux ist auf Quellcodeebene kompatibel zu POSIX, System V und BSD und POSIX, System V und BSD erlaubt so die Nutzung fast aller im Quellcode verfügbaren Unix-Program- me. Linux verfügt nicht nur über leistungsfähige eigene Dateisysteme mit Ei- Dateisysteme genschaften wie Journaling, Verschlüsselung und Logical Volume Manage- ment, sondern gestattet auch den Zugriff auf Dateisysteme zahlreicher an- derer Betriebssysteme (etwa die FAT-, VFAT- und NTFS-Dateisysteme von Microsoft Windows) entweder auf lokalen Platten oder via Netzwerk auf entfernten Servern. Linux selbst kann als Dateiserver in Linux-, Unix- und Windows-Netzen fungieren. Der TCP/IP-Stack von Linux ist anerkanntermaßen mit der leistungsfähigs- TCP/IP-Stack te in der Industrie (was daran liegt, dass ein großer Teil der Forschung und Entwicklung in diesem Bereich auf der Basis von Linux erbracht wird). Er unterstützt IPv4 und IPv6 und alle wichtigen Optionen und Protokolle. Linux bietet leistungsfähige und elegante Grafikumgebungen für die tägli- Grafikumgebungen che Arbeit und mit X11 ein sehr verbreitetes netzwerktransparentes Grafik- Basissystem. Auf den gängigen Grafikkarten wird 3D-beschleunigte Grafik unterstützt. Alle wichtigen »Produktivitätsanwendungen« stehen zur Verfügung – Software Office-Programme, Web-Browser, Programme zum Zugriff auf elektro- nische Post und andere Kommunikationsmedien, Multimedia-Programme, Entwicklungsumgebungen für die verschiedensten Programmiersprachen und noch vieles mehr. Die meisten dieser Programme werden ohne Zu- satzkosten mitgeliefert oder lassen sich problemlos und günstig über das Internet beziehen. Dasselbe gilt für Server für alle wichtigen Internet-Pro- tokolle und für unterhaltsame Spiele. Die Flexibilität von Linux bewirkt, dass das System nicht nur auf allen mögli- chen Rechnern der PC-Klasse eingesetzt werden kann (auch »alte Möhren«, auf denen kein aktuelles Windows mehr läuft, können noch im Kinderzimmer oder als Dateiserver, Router oder Mailserver gute Dienste leisten), sondern sich auch im »Embedded-Bereich«, also für fertige Geräte der Netzinfrastruktur oder Un- Embedded-Bereich 24 1 Einführung terhaltungselektronik, immer weiter verbreitet. Sie finden Linux zum Beispiel in der FRITZ!Box von AVM und ähnlichen WLAN-, DSL- und Telefoniegeräten, in diversen Set-Top-Boxen für das digitale Fernsehen, in digitalen Videorecordern, Digitalkameras, Kopierern und vielen anderen Geräten. Sogar auf Pfandflaschen- Automaten im Supermarkt hat der Autor dieser Zeilen schon Linux booten gese- hen. Oft wird das nicht an die große Glocke gehängt, aber die Hersteller schätzen neben der Leistung und Bequemlichkeit von Linux an sich auch die Tatsache, dass bei Linux keine Lizenzkosten »pro verkauftem Gerät« anfallen wie bei vergleich- baren Betriebssystemen. Ein weiterer Pluspunkt für Linux und freie Software ist die Weise, wie in der Sicherheitslücken Szene mit Sicherheitslücken umgegangen wird. Sicherheitslücken sind in freier wie auch proprietärer Software einigermaßen unvermeidlich – jedenfalls hat noch niemand ein Programm interessanter Größe geschrieben und in Umlauf gebracht, das auf lange Sicht völlig frei von ihnen gewesen wäre. Insbesondere kann man auch nicht sagen, dass freie Software keine Sicherheitslücken hat. Die Unterschie- de sind eher auf der philosophischen Ebene zu suchen: Ein Anbieter proprietärer Software hat in der Regel kein großes Interesse daran, Sicherheitslücken in seinem Code zu reparieren – er wird so lange wie irgend möglich versuchen, Probleme zu vertuschen und die möglichen Gefahren abzuwiegeln, denn im besten Fall bedeutet das ständige Veröffent- lichen von »Patches« für Sicherheitsprobleme schlechte PR (»wo Rauch ist, ist auch Feuer«; die Konkurrenz, die gerade mal nicht im Rampenlicht steht, lacht sich ins Fäustchen), und im schlimmsten Fall hohe Kosten und jede Menge Ärger, wenn schädlicher Code im Umlauf ist, der die Sicherheitslü- cken ausnutzt. Außerdem gibt es wie üblich die Gefahr, bei der Korrektur eines Fehlers drei neue einzubauen, weswegen das Reparieren von Fehlern in veröffentlichter Software sich betriebswirtschaftlich nicht wirklich rech- net. Ein Anbieter freier Software gewinnt nichts dadurch, Informationen über Sicherheitslücken zu unterdrücken, denn der Quellcode steht allgemein zur Verfügung und jeder kann die Probleme nachvollziehen. Es ist eher eine Fra- ge des Stolzes, bekannte Sicherheitslücken möglichst schnell in Ordnung zu bringen. Die Tatsache, dass der Quellcode allgemein zur Verfügung steht, bedeutet auch, dass Dritte es leicht haben, den Code auf Probleme zu un- tersuchen, die dann proaktiv repariert werden können. (Es wird gerne pos- tuliert, dass die Verfügbarkeit des Quellcodes auch Cracker und ähnliches zwielichtiges Gesindel geradezu anlockt. Tatsache ist aber, dass solche Ge- stalten anscheinend kein gravierendes Problem damit haben, in proprietä- ren Systemen wie Windows, wo der Quellcode nicht zur Verfügung steht, große Mengen von Sicherheitslücken zu finden. Der Unterschied ist also, wenn er überhaupt vorhanden ist, nicht gravierend.) Speziell im Fall von Software, die sich mit Kryptografie (also dem Verschlüs- seln und Entschlüsseln vertraulicher Informationen) befasst, läßt sich argu- mentieren, dass die Verfügbarkeit des Quellcodes eine unabdingbare Vor- bedingung dafür ist, Vertrauen aufbauen zu können, dass ein Programm tatsächlich das tut, was es soll, also das behauptete Verschlüsselungsver- fahren vollständig und korrekt implementiert. Hier hat Linux eindeutig die Nase vorn. Linux in Firmen Linux wird heute weltweit sowohl im privaten als auch im professionellen Be- reich (Firmen, Forschungseinrichtungen, Hochschulen) eingesetzt. Eine besonde- re Rolle spielt es dabei als System für Webserver (Apache), Mailserver (Sendmail, Postfix), Fileserver (NFS, Samba), Print-Server (LPD, CUPS), ISDN-Router, X-Ter- minal, Workstation usw. Linux ist aus den Rechenzentren der Industrie nicht mehr Öffentliche Verwaltung wegzudenken. Auch die Entscheidung von Kommunen wie der Stadt München, die Rechner der öffentlichen Verwaltung sehr weitgehend auf Linux umzustellen, Unterstützung durch IT-Firmen setzt Zeichen. Dazu kommt, dass namhafte IT-Firmen wie IBM, Hewlett-Packard, 1.6 Linux-Distributionen 25 Dell, Oracle, Sybase, Informix, SAP, Lotus etc. ihre Produkte auf Linux abstim- men oder in unterstützten Versionen für Linux anbieten. Ferner werden mehr und mehr Rechner von Haus aus mit Linux ausgeliefert oder zumindest vom Herstel- ler auf Linux-Kompatibilität getestet. Übungen C 1.6 Stellen Sie sich vor, Sie sind verantwortlich für die EDV einer kleinen Firma (20–30 Mitarbeiter). Im Büro gibt es etwa 20 Büroarbeitsplätze und zwei Server (einen Datei- und Druckerserver sowie einen Mailserver bzw. Web-Proxyserver). Bisher läuft alles unter Windows. Betrachten Sie die fol- genden Szenarien: Der Datei- und Druckerserver wird durch einen Linux-Rechner mit Samba (einem Linux/Unix-basierten Serverprogramm für Windows- Clients) ersetzt. Der Mailserver bzw. Web-Proxyserver wird durch einen Linux-Rech- ner ersetzt. Die 20 Büroarbeitsplätze werden durch Linux-Rechner ersetzt. Kommentieren Sie die verschiedenen Szenarien und stellen Sie kurze Listen der Vor- und Nachteile auf. 1.6 Linux-Distributionen Linux im engeren Sinne umfaßt nur den Betriebssystem-Kern. Um damit arbei- ten zu können, benötigen Sie noch eine Vielzahl an System- und Anwendungs- programmen, Bibliotheken, Dokumentationen usw. »Distributionen« sind nichts Distributionen anderes als eine aktuelle Auswahl davon zusammen mit eigenen Programmen (insbesondere Werkzeugen zum Installieren und Administrieren), die von Firmen oder anderen Organisationen vertrieben werden, möglicherweise zusammen mit weiteren Leistungen wie Unterstützung, Dokumentation oder Aktualisierungen. Unterschiede gibt es vor allem in der Programmauswahl, den Administrations- werkzeugen, den Zusatzleistungen und dem Preis. »Fedora« ist eine frei verfügbare Linux-Distribution, die unter der Federfüh- Red Hat und Fedora rung der amerikanischen Firma Red Hat entwickelt wird. Sie ist der Nach- folger der »Red Hat Linux«-Distribution; die Firma Red Hat hat sich aus dem Privatkundengeschäft zurückgezogen und zielt mit ihren Distributio- nen unter dem Namen »Red Hat« auf Firmenkunden. Red Hat wurde 1993 gegründet und ging im August 1999 an die Börse; das erste Red-Hat-Li- nux kam im Sommer 1994 heraus, das letzte (die Version 9) Ende April 2004. »Red Hat Enterprise Linux« (RHEL), das aktuelle Produkt, erschien zum ersten Mal im März 2002. Fedora ist, wie gesagt, ein frei verfügbares Angebot und dient als Entwicklungsplattform für RHEL, es ist unter dem Strich der Nachfolger von Red Hat Linux. Red Hat macht Fedora nur zum Download verfügbar; während Red Hat Linux noch als »Kiste« mit CDs und Handbüchern verkauft wurde, überläßt Red Hat das jetzt Drittanbietern. Die Firma SUSE wurde 1992 unter dem Namen »Gesellschaft für Software- SUSE und System-Entwicklung« als Unix-Beratungshaus gegründet und schrieb sich entsprechend zuerst »S.u.S.E.«. Eines ihrer Produkte war eine an den deutschen Markt angepasste Version der Linux-Distribution Slackware (von Patrick Volkerding), die ihrerseits von der ersten kompletten Linux- Distribution, Softlanding Linux System oder SLS, abgeleitet war. S.u.S.E. Linux 1.0 erschien 1994 und differenzierte sich langsam von Slackware, indem beispielsweise Eigenschaften von Red Hat Linux wie die RPM-Pa- ketverwaltung oder die /etc/sysconfig -Datei übernommen wurden. Die 26 1 Einführung erste S.u.S.E.-Linux-Version, die nicht mehr wie Slackware aussah, war die 4.2 von 1996. SuSE (die Punkte wurden irgendwann weggelassen) eroberte bald die Marktführerschaft im deutschsprachigen Raum und veröffentlich- te SuSE Linux als »Kiste« in zwei Geschmacksrichtungen, »Personal« und »Professional«; letztere war merklich teurer und enthielt unter anderem mehr Software aus dem Server-Bereich. Wie Red Hat bot SuSE auch ein Unternehmens-Linux an, den SuSE Linux Enterprise Server (SLES) mit eini- gen Ablegern wie einem speziellen Server für Mail und Groupware (den SuSE Linux OpenExchange Server oder SLOX). Außerdem bemühte sich SuSE darum, ihre Distribution auch auf den MDT- und Großrechnern von IBM zur Verfügung zu stellen. Übernahme durch Novell Im November 2003 kündigte die US-amerikanische Softwarefirma Novell an, die SuSE für 210 Millionen Dollar übernehmen zu wollen; der Handel wurde dann im Januar 2004 perfekt gemacht. (Bei dieser Gelegenheit wurde auch das »U« groß gemacht.) Auch SUSE hat inzwischen wie Red Hat den Schritt gemacht, die »Privatkunden«-Distribution zu öffnen und als »open- SUSE« frei verfügbar zu machen (die früheren Versionen erschienen immer erst mit einigen Monaten Verzögerung zum Download). Im Gegensatz zu Red Hat bietet Novell/SUSE aber nach wie vor eine »Kiste« an, die zusätz- lich proprietäre Software enthält. Verkauft werden außerdem derzeit unter anderem der SLES und eine Desktop-Plattform für Unternehmen, der SUSE Linux Enterprise Desktop (SLED). Attachmate Anfang 2011 wurde Novell von der Firma Attachmate übernommen, die Micro Focus 2014 selber von Micro Focus gekauft wurde. Beides sind Firmen, die vor al- lem in der Welt der traditionellen Großrechner aktiv sind und sich im Linux- und Open-Source-Bereich bisher nicht besonders hervorgetan haben. Auf SUSE an sich und deren Produkte haben diese Manöver soweit keinen gro- ßen Einfluss gehabt. YaST Bezeichnendes Merkmal der SUSE-Distributionen ist der »YaST«, ein um- fassendes grafisch orientiertes Systemverwaltungswerkzeug. Im Gegensatz zu den beiden großen Linux-Distributionsfirmen Red Hat Debian-Projekt und Novell/SUSE ist das Debian-Projekt ein Zusammenschluss von Frei- willigen, die es sich zum Ziel gesetzt haben, eine hochwertige Linux-Distri- bution unter dem Namen Debian GNU/Linux frei zur Verfügung zu stellen. Das Debian-Projekt wurde am 16. August 1993 von Ian Murdock angekün- digt; der Name ist eine Zusammensetzung seines Vornamens mit dem sei- ner damaligen Freundin (jetzt Ex-Frau) Debra (und wird darum »Debb-Ian« ausgesprochen). Inzwischen umfasst das Projekt über 1000 Freiwillige. Grundlage Grundlage von Debian sind drei Dokumente: Die Debian Free Software Guidelines (DFSG) definieren, welche Software im Sinne des Projekts als »frei« gilt. Das ist wichtig, denn nur DFSG- freie Software kann Teil der eigentlichen Debian-GNU/Linux-Distri- bution sein. Das Projekt vertreibt auch nichtfreie Software, diese ist jedoch auf den Distributionsservern strikt von der DFSG-freien Soft- ware getrennt: Letztere steht in einem Unterverzeichnis main , erstere in non- free. (Es gibt auch noch ein Mittelding namens contrib ; dort findet sich Software, die für sich genommen DFSG-frei wäre, aber nicht ohne andere nichtfreie Komponenten funktioniert.) Der Social Contract (»Gesellschaftsvertrag«) beschreibt die Ziele des Projekts. Die Debian Constitution (»Verfassung«) beschreibt die Organisation des Projekts. Versionen Zu jedem Zeitpunkt existieren mindestens drei Versionen von Debian 1.6 Linux-Distributionen 27 Benutzer wählen Entwickler Projektverantwortliche Projektführer ernennt ernennt Technisches Komittee Projektsekretär ernennt/anerkennen Delegierte anerkennen Release Team Paketbetreuer / Portierer FTP Masters DAM NM Team / Fürsprecher bewerben Antragsteller Sicherheitsteam Richtlinienkommittee Dokumentation / Übersetzer Pressesprecher Web/List/...masters Qualitätssicherung Administratoren CD Team etc. etc. etc. e iw illig Fre Software in the Public Interest (SPI) Bild 1.3: Organisationsstruktur des Debian Projekts. (Grafik von Martin F. Krafft.) GNU/Linux: In den unstable -Zweig werden neue oder korrigierte Versio- nen von Paketen eingebracht. Tauchen in einem Paket keine gravierenden Fehler auf, wandert es nach einer gewissen Wartezeit in den testing -Zweig. In gewissen Abständen wird der Inhalt von testing »eingefroren«, gründ- lich getestet und schließlich als stable freigegeben. Ein häufig geäußerter Kritikpunkt an Debian GNU/Linux sind die langen Zeiträume zwischen stable -Releases; dies wird allerdings von vielen auch als Vorteil empfunden. Debian GNU/Linux wird vom Projekt ausschließlich zum Download zur Verfügung gestellt; Datenträger sind von Drittanbietern erhältlich. Debian GNU/Linux ist durch seine Organisation, die weitgehende Abwe- senheit kommerzieller Interessen und die saubere Trennung von freier und nichtfreier Software eine gute Grundlage für Ableger-Projekte. Einige popu- Ableger-Projekte läre solche Projekte sind Knoppix (eine »Live-CD«, die es möglich macht, Li- nux auf einem PC zu testen, ohne es zuerst installieren zu müssen), SkoleLi- nux (ein speziell auf die Anforderungen von Schulen ausgerichtetes Linux) oder kommerzielle Distributionen wie Xandros. Auch Limux, das Münch- ner Desktop-Linux, basiert auf Debian GNU/Linux. Einer der populärsten Debian-Ableger ist Ubuntu, das von der britischen Ubuntu Firma Canonical Ltd. des südafrikanischen Unternehmers Mark Shuttle- worth angeboten wird. (»Ubuntu« ist ein Wort aus der Zulu-Sprache und steht in etwa für »Menschlichkeit gegenüber anderen«.) Das Ziel von Ubu- Ziel von Ubuntu ntu ist es, auf der Basis von Debian GNU/Linux ein aktuelles, leistungsfähi- ges und verständliches Linux anzubieten, das in regelmäßigen Abständen erscheint. Dies wird zum Beispiel dadurch erreicht, dass Ubuntu im Ge- gensatz zu Debian GNU/Linux nur drei statt über zehn Rechnerarchitek- turen unterstützt und sich auf eine Teilmenge der in Debian GNU/Linux angebotenen Software beschränkt. Ubuntu basiert auf dem unstable -Zweig von Debian GNU/Linux und verwendet in weiten Teilen dieselben Werk- 28 1 Einführung zeuge etwa zur Softwareverteilung, allerdings sind Debian- und Ubuntu- Softwarepakete nicht notwendigerweise miteinander kompatibel. Ubuntu vs. Debian Einige Ubuntu-Entwickler sind auch im Debian-Projekt aktiv, so dass es ei- nen gewissen Austausch gibt. Andererseits sind nicht alle Debian-Entwick- ler begeistert von den Abkürzungen, die Ubuntu zuweilen im Namen des Pragmatismus nimmt, wo Debian vielleicht nach tragfähigeren, aber auf- wendigeren Lösungen suchen würde. Ubuntu fühlt sich auch nicht im sel- ben Maße der Idee der freien Software verpflichtet; während alle Infrastruk- turwerkzeuge von Debian (etwa das Verwaltungssystem für Fehlerberichte) als freie Software zur Verfügung stehen, ist das für die von Ubuntu nicht immer der Fall. Ubuntu vs. SUSE/Red Hat Ubuntu will nicht nur ein attraktives Desktop-System anbieten, sondern auch im Server-Bereich mit den etablierten Systemen wie RHEL oder SLES konkurrieren, also stabile Distributionen mit langem Lebenszyklus und gu- ter Wartung anbieten. Es ist nicht klar, wie Canonical Ltd. auf lange Sicht Geld zu verdienen gedenkt; einstweilen wird das Projekt vor allem aus Mark Shuttleworths Schatulle unterstützt, die seit dem Verkauf seiner Internet- Zertifizierungsstelle Thawte an Verisign gut gefüllt ist … Weitere Distributionen Außer diesen Distributionen gibt es noch viele weitere, etwa Mageia oder Li- nux Mint als kleinere »allgemein nützliche« Distributionen, zahlreiche »Live-Sys- teme« für verschiedene Zwecke von der Firewall bis hin zur Spiele- oder Multi- media-Plattform sowie sehr kompakte Systeme, die als Router, Firewall oder Ret- tungssystem einsetzbar sind. Gemeinsamkeiten Obwohl es eine Unzahl an Distributionen gibt, verhalten sie sich in der tägli- chen Arbeit recht ähnlich. Das liegt zum einen daran, dass sie die gleichen grund- legenden Programme benutzen – beispielsweise ist der Kommandozeileninter- preter fast immer die bash. Zum anderen gibt es Standards, die dem Wildwuchs entgegenwirken. Zu nennen sind hier der Filesystem Hierarchy Standard (FHS) oder die Linux Standard Base (LSB). Übungen C 1.7 Einige Linux-Hardwareplattformen wurden oben aufgezählt. Für welche Plattformen sind tatsächlich Linux-Distributionen auf dem Markt? (Tipp: http://www.distrowatch.org/ ) 1.6 Literaturverzeichnis 29 Zusammenfassung Linux ist ein Unix-artiges Betriebssystem. Die erste Version von Linux wurde von Linus Torvalds entwickelt und als »freie Software« im Internet zur Verfügung gestellt. Heute wirken Hunder- te von Entwicklern weltweit an der Aktualisierung und Erweiterung des Systems mit. Die GPL ist die bekannteste Freie-Software-Lizenz. Sie strebt danach, dass die Empfänger von Software diese modifizieren und weiterverteilen dürfen, diese »Freiheiten« dabei aber auch für künftige Empfänger erhalten bleiben. Verkaufen darf man GPL-Software trotzdem. »Open Source« bedeutet für den Anwender im Wesentlichen dasselbe wie »Freie Software«. Neben der GPL gibt es auch andere freie Lizenzen. Software kann vom Urheber auch unter mehreren verschiedenen Lizenzen gleichzeitig verteilt werden. Linux ist eigentlich nur der Betriebssystemkern. Man unterscheidet »stabi- le« und »Entwicklerkerne«. Stabile Kerne sind für Endanwender gedacht, während Entwicklerkerne nicht funktionieren müssen und Interimsversio- nen der Linux-Weiterentwicklung darstellen. Es gibt zahlreiche Linux-Distributionen, die einen Linux-Kern und zusätz- liche Software vereinigen, dokumentieren und bequem installier- und ad- ministrierbar machen sollen. Literaturverzeichnis DFSG »Debian Free Software Guidelines«. http://www.debian.org/social_contract GPL-Urteil06 Landgericht Frankfurt am Main. »Urteil 2-6 0 224/06«, Juli 2006. http://www.jbb.de/urteil_lg_frankfurt_gpl.pdf GPL91 Free Software Foundation, Inc. »GNU General Public License, Version 2«, Juni 1991. http://www.gnu.org/licenses/gpl.html LR89 Don Libes, Sandy Ressler. Life with UNIX: A Guide for Everyone. Prentice- Hall, 1989. ISBN 0-13-536657-7. Rit84 Dennis M. Ritchie. »The Evolution of the Unix Time-sharing System«. AT&T Bell Laboratories Technical Journal, Oktober 1984. 63(6p2):1577–93. http://cm.bell- labs.com/cm/cs/who/dmr/hist.html RT74 Dennis M. Ritchie, Ken Thompson. »The Unix Time-sharing System«. Com- munications of the ACM, Juli 1974. 17(7):365–73. Der klassische Artikel über Unix. TD01 Linus Torvalds, David Diamond (Hg.) Just for Fun: Wie ein Freak die Compu- terwelt revolutionierte. Hanser Fachbuch, 2001. ISBN 3-446-21684-7.

Use Quizgecko on...
Browser
Browser