Читать книгу UNIX bis Linux - Axel Bruns - Страница 5

Kapitel 2 – von UNIX zu Debian

Оглавление

Debian ist ein seit 1993 gemeinschaftlich entwickeltes, freies Betriebssystem. Debian GNU/Linux, das auf den grundlegenden Systemwerkzeugen des GNU-Projektes sowie dem Linux-Kernel basiert, ist eine der ältesten, einflussreichsten und am weitesten verbreiteten GNU/Linux-Distributionen. Das heute bekannteste Debian-GNU/Linux-Derivat ist Ubuntu.

Seit Version 6.0 (Squeeze) ist mit Debian GNU/kFreeBSD die erste offizielle Portierung auf einen anderen Betriebssystemkern – jenen des FreeBSD-Projektes – als Technologievorschau verfügbar. Für Version 7.0 (Wheezy) wurde die Veröffentlichung von Debian GNU/Hurd, einer offiziellen Portierung auf den GNU Hurd, diskutiert. Dies wurde jedoch verworfen.

Debian enthält eine große Auswahl an Anwendungsprogrammen und Werkzeugen; derzeit sind es über 37.500 Programmpakete.

Debian wurde im August 1993 von Ian Murdock ins Leben gerufen und wird seitdem aktiv weiterentwickelt. Heute hat das Projekt über 1000 offizielle Entwickler. Debian-Entwickler kann jeder werden, der den sogenannten New-Member-Prozess erfolgreich durchläuft: Bewerber werden hinsichtlich ihrer Kenntnisse und Fähigkeiten geprüft, außerdem wird sichergestellt, dass sie mit der Ideologie des Projektes vertraut sind.

Der Name des Betriebssystems leitet sich von den Vornamen des Debian-Gründers Ian Murdock und seiner damaligen Freundin und späteren Ehefrau Debra Lynn ab. Bereits wenige Monate nach der Gründung, im Mai 1994, entschied sich das Projekt zu einer Änderung des offiziellen Namens von Debian Linux zu Debian GNU/Linux, womit es der Auffassung der Free Software Foundation folgte, dass das häufig als Linux bezeichnete Betriebssystem eine Variante des GNU-Systems sei (zu den Hintergründen der diesbezüglichen Meinungsverschiedenheiten siehe GNU/Linux-Namensstreit). Da Debian seit Version 6.0 (Squeeze) offiziell in zwei Varianten – GNU/Linux und GNU/kFreeBSD – verfügbar ist, wird seitdem nur noch in Bezug auf diese der jeweilige Namenszusatz genannt; allgemein wird heute also nur noch von Debian gesprochen.

Das System ist bekannt für seine Paketverwaltung Dpkg und dessen Frontend APT. Mit diesen ist es möglich, alte Versionen von Debian GNU/Linux durch aktuelle zu ersetzen oder neue Softwarepakete zu installieren. Sie sind ebenfalls dafür zuständig, alle von einem Programm benötigten Abhängigkeiten aufzulösen, also alle Programmpakete zu laden und zu installieren, welche die gewünschte Software benötigt.

Am 16. August 1993 wurde von Ian Murdock das „Debian Linux Release“ angekündigt. Er hatte versucht, SLS, das eine der ersten umfassenden Linux-Distributionen war, zu nutzen. Da er jedoch mit deren Qualität unzufrieden war, konzipierte er sein eigenes System, ließ sich aber von SLS inspirieren. Im selben Jahr veröffentlichte er auch das Debian-Manifest, eine Zusammenstellung seiner Sichtweise zu Debian. Im Vordergrund stand hier eine offene Entwicklung „im Geiste von Linux und GNU“.

Bis 1995 veröffentlichte das Projekt die ersten Entwicklungsversionen mit den Versionsnummern 0.9x. In dieser Zeit wurde es auch von der Free Software Foundation gesponsert. Zu dieser Zeit zählte das Projekt etwa 60 Entwickler. 1996 wurde letztlich die erste stabile Version 1.1 veröffentlicht. Weil ein CD-ROM-Verkäufer versehentlich eine Vorversion unter der Nummer 1.0 veröffentlicht hatte, kam es – um Verwirrung zu vermeiden – nie zu einer tatsächlichen Version 1.0. Im April 1996 wurde Murdock von Bruce Perens als Leiter des Projekts abgelöst. In den darauffolgenden Jahren wechselte diese Position einige Male. Am 17. Juni 1996 folgte mit Buzz (Version 1.1) das erste Release, welches einen Aliasnamen trug. Alle weiteren Veröffentlichungen wurden ebenfalls mit einem solchen versehen, wobei sich dieser immer nach einer Figur aus dem Film Toy Story richtet. 1997 wurde nach vorheriger Diskussion der Debian-Gesellschaftsvertrag ratifiziert.

Am 24. Juli 1998 wurde die Version 2.0 Hamm veröffentlicht, welche erstmals für mehrere Architekturen zur Verfügung stand. Das Projekt umfasste zu diesem Zeitpunkt 1500 Pakete und 400 Entwickler.

Es folgten weitere 2.x-Veröffentlichungen mit neuen Portierungen zu anderen Architekturen sowie einer steigenden Zahl von Paketen. Besonders hervorzuheben ist die Entwicklung von APT. Auch entstand mit Debian GNU/Hurd die erste Portierung zu einem Nicht-Linux-Kernel.

Im Jahr 2000 wurde der Testing-Zweig gegründet. In der nachfolgenden Zeit wurde die Debian-Webseite in 20 Sprachen übersetzt. Es kam zur Gründung der Unterprojekte Debian-Junior und Debian-Med, die sich an Kinder bzw. medizinische Forschung und Praxis richteten. 2001 fand erstmals die Entwicklerkonferenz DebConf statt. An ihr nahmen 40 Entwickler teil.

Die Version 3.0 Woody vom 19. Juli 2002 enthielt erstmals das K Desktop Environment, nachdem die Lizenzproblematik von Qt geklärt war. Das Projekt war auf 900 Entwickler und 8500 Binärpakete angewachsen. Die offizielle Distribution bestand aus 7 CDs.

Erst knappe drei Jahre später, am 6. Juni 2005, kam es zur Veröffentlichung von Version 3.1 Sarge. Der lange Zeitraum brachte dem Projekt einige Kritik ein. Mit Ubuntu entstand zwischenzeitlich auch das heute bedeutendste Debian-Derivat. Sarge enthielt etwa 15.400 Pakete und benötigte damit 14 CDs.[ Es beteiligten sich etwa 1500 Entwickler an dieser Veröffentlichung. Neben der Masse an aktualisierten und neu hinzugekommenen Paketen ist vor allem das neu geschriebene Installationsprogramm hervorzuheben, das in 40 Sprachen übersetzt wurde. Erstmals wurde auch OpenOffice.org aufgenommen.

2006 wurde in Oaxtepec, Mexiko, die siebte DebConf abgehalten. Zudem wurde nach dem Namensstreit zwischen Debian und Mozilla seitens Debian das entsprechende Paket des Mozilla Firefox in Iceweasel, sowie das von Mozilla Thunderbird in Icedove umbenannt.

Am 8. April 2007 wurde von etwa 1000 Entwicklern Version 4.0 Etch veröffentlicht. Diese enthielt rund 18.200 Binärpakete. Im Februar 2009 folgte 5.0 Lenny, und im Februar 2011 wurde Lenny oldstable und 6.0 Squeeze mit über 29.000 Softwarepaketen als stable veröffentlicht.

Am 4. Mai 2013 wurde mit "Wheezy" die Version 7.0 als "stable" gesetzt.

Das Debian-Projekt konstituiert sich durch die Debian-Verfassung. Sie regelt die demokratische Organisationsstruktur mit regelmäßigen Wahlen. Darüber hinaus verpflichtet sich das Projekt mit dem Gesellschaftsvertrag Debian Social Contract zu freier Software.

Seit dem 26. April 2004 ist die Version 1.1 des Gesellschaftsvertrages gültig. Die eigentliche inhaltliche Änderung besagt, dass alle Komponenten des Debian-Systems (im Hauptzweig main) frei sein müssen, nicht mehr nur die Software. Die Debian-Richtlinien für freie Software beziehen sich also nicht mehr nur auf freie Software, sondern allgemein auf freie Werke. Da diese Auswirkungen einer als „editoriell“ bezeichneten Änderung für viele Entwickler überraschend war, wurde in einer zusätzlichen Abstimmung im Juli 2004 beschlossen, dass diese Änderung erst nach dem Release von Sarge im Juni 2005 wirksam wird.

Aktueller Leiter des Debian-Projekts ist Lucas Nussbaum. Er hat diesen Posten am 17. April 2013 von Stefano Zacchiroli übernommen. Der Posten wird einmal im Jahr per Wahl neu vergeben. Alle Wahlen und Abstimmungen erfolgen elektronisch (mit Hilfe einer digitalen Signatur) nach der Schulze-Methode.

Als eine Dachorganisation für Debian und weitere Freie-Software-Projekte wurde 1997 Software in the Public Interest gegründet.

Der Debian-Gesellschaftsvertrag (engl. Debian Social Contract) ist eine vom Debian-Projekt beschlossene öffentliche Richtlinie, die Grundlagen regelt, wie die freie Software Debian hergestellt, verteilt und betreut wird. Der Gesellschaftsvertrag geht auf einen Vorschlag von Ean Schuessler zurück. Bruce Perens entwarf eine erste Version des Dokumentes, das dann mit anderen Debian-Entwicklern im Juni 1997 verfeinert wurde, bevor es als öffentliche Richtlinie akzeptiert wurde. Version 1.0 wurde am 5. Juli 1997 ratifiziert. Am 26. April 2004 wurde die überarbeitete Version 1.1 ratifiziert. Sie ersetzt seitdem ihren Vorgänger.

Ein besonders bedeutender, auch über das Debian-Projekt hinaus genutzter Teil des Vertrages sind die Debian-Richtlinien für freie Software (DFSG). Die Gemeinschaft um die Etablierung des Begriffes Open Source in der Öffentlichkeit verwendete diese als Grundlage, um ihre Definition von Open Source zu verfassen. Bruce Perens verallgemeinerte die Richtlinien, indem er Debian aus dem Text strich, um The Open Source Definition (dt. Die Open Source Definition) zu schaffen. Sie wird seitdem von der Open Source Initiative (OSI) verwendet. Mit der Zeit haben sich hier allerdings einige Unterschiede ergeben.

Die im Vertrag festgehaltene Verpflichtung zur Bereitstellung von freier Software wird vom Debian-Projekt sehr ernst genommen. Zentrale Diskussionen im Linux-Umfeld werden maßgeblich vom Projekt bestimmt, wie die konsequent freie Dokumentation der Programme (Diskussion über die GFDL) oder die Vermeidung von Markennamen, weil ein Hersteller darüber das Projekt beeinflussen kann. Eine Auswirkung dieser Politik war der Namensstreit zwischen Debian und Mozilla, der zu einer Umbenennung der Anwendung Firefox in Iceweasel innerhalb von Debian führte.

Softwareprobleme werden öffentlich behandelt, so auch sämtliche Sicherheitsprobleme. Aspekte der Sicherheit werden öffentlich auf der debian-security-announce-Mailingliste diskutiert. Debians Sicherheitsgutachten werden über eine öffentliche Mailingliste gesendet (sowohl innerhalb als auch außerhalb) und auf einem öffentlichen Server bekanntgegeben. Von dieser Verfahrensweise verspricht man sich ein schnelleres Auffinden von Sicherheitslücken und damit die Möglichkeit, diese eher beheben zu können. Die entgegengesetzte Herangehensweise des Security through obscurity wird dagegen als unpraktikabel angesehen. Die Tatsache, dass die Weiterentwicklung der Distribution öffentlich sichtbar unter Beteiligung einer Vielzahl von Personen geschieht, erfordert besondere Sicherheitsmaßnahmen. Beispielsweise werden Änderungen an Paketen grundsätzlich mit einem verifizierbaren Schlüssel digital signiert. Beim Anwender wird dann vor der Installation die Gültigkeit der Signatur überprüft. Diese Maßnahme soll es Dritten erschweren, schädliche Software in Debian-Pakete einzuschleusen.

Die Paketbetreuer passen die Sicherheitsaspekte ihrer jeweiligen Software an die allgemeinen Grundsätze von Debian an. Daher sind Dienste nach der Installation oft „sicher“ voreingestellt, was von einem Benutzer als „Einschränkung“ empfunden werden kann. Dennoch versucht Debian, Sicherheitsaspekte und einfache Administration abzuwägen. Zum Beispiel werden Dienste wie ssh und ntp nicht inaktiv installiert, wie es bei den Distributionen der BSD-Familie üblich ist.

Wenn ein Sicherheitsproblem in einem Debian-Paket entdeckt wurde, wird es zusammen mit einer Einschätzung der dadurch entstehenden Gefahr direkt veröffentlicht. Parallel wird so schnell wie möglich ein Sicherheitsupdate dieses Pakets vorbereitet und auf speziellen Servern veröffentlicht. Kritische Sicherheitslücken werden auf diese Weise häufig innerhalb von Stunden geschlossen.

Die von Debian angepasste Implementierung des für die Schlüsselerstellung zuständigen Zufallsgenerators der OpenSSL-Bibliothek arbeitete von September 2006 bis 13. Mai 2008 mit einer erheblichen Sicherheitslücke. Die generierten geheimen Schlüssel konnten abgeschätzt und damit in kurzer Zeit (vor-)berechnet werden (1024- und 2048-Bit-Schlüssel in ungefähr zwei Stunden). Insbesondere OpenSSH und die sichere Kommunikation in Webbrowsern waren davon betroffen – GnuPG hingegen nicht.

Das Sicherheitsrisiko besteht weiterhin für alle RSA-Schlüssel, die in diesem Zeitraum auf betroffenen Systemen erstellt wurden und seit der Aktualisierung der Bibliothek nicht neu erstellt wurden. Auch alle DSA-Schlüssel, die jemals von einem Rechner (Client) mit fehlerhaftem Zufallszahlengenerator verwendet wurden, sind seitdem unsicher, selbst wenn diese ursprünglich auf einem Rechner mit korrekt arbeitendem Zufallszahlengenerator erstellt wurden.

Von Debian werden zu jedem Zeitpunkt drei Varianten (Releases) parallel angeboten: stable (‚stabil‘), testing (‚Erprobung‘) und unstable (‚instabil‘). Nach der Veröffentlichung jeder stable-Version wird die vorige stable-Version als oldstable (‚alt-stabil‘) für mindestens ein Jahr weitergeführt.

oldstable ist der Vorgänger der jeweils aktuellen stable, solange Sicherheitsupdates zur Verfügung gestellt werden. Debian empfiehlt zwar, mit der jeweils aktuellen stable zu arbeiten, unterstützt oldstable aber noch mindestens ein weiteres Jahr mit Sicherheitsaktualisierungen.

stable ist die jeweils aktuelle offizielle Version. Dort sind alle Pakete gründlich getestet und aufeinander abgestimmt, Sicherheitsaktualisierungen sind schnell verfügbar. Debian veröffentlichte seit 2000 etwa alle zwei Jahre eine neue stable. Danach wird die Vorgänger-stable als oldstable noch weiterunterstützt. stable gilt daher als geeigneter Kandidat für Server-Systeme, die lange Zeit zuverlässig laufen müssen und einen Einsatz im Unternehmensumfeld ermöglichen.

Testing ist der Kandidat für die nächste stable. Direkt nach der Veröffentlichung einer neuen stable sind testing und stable identisch. Während sich die stable danach – abgesehen von Sicherheitsaktualisierungen – nicht mehr ändert, werden in testing nach und nach Aktualisierungen bzw. Fehlerkorrekturen und neue Anwendungspakete eingebunden. testing entwickelt sich also ständig weiter. Dabei bleibt das System im Normalfall aber voll einsatzfähig; die installierten Pakete können täglich auf Aktualisierungen geprüft und diese gegebenenfalls aufgespielt werden. Dieses Verfahren wird häufig für Arbeitsplatzrechner genutzt, wo man weniger auf Stabilität als auf neueste Software und Unterstützung aktueller Hardware Wert legt.

Beispielsweise konnte die Unterstützung von OpenDocument in stable erst rund zwei Jahre später als in anderen Distributionen angeboten werden, während es für die Anwender von testing zu keiner wesentlichen Verzögerung kam.

Einige Monate vor der Veröffentlichung einer neuen stable-Version wird testing in Bezug auf neue Programme und Programmversionen eingefroren („freeze“). Änderungen beziehen sich dann in der Regel nur noch auf die Beseitigung von beim Test aufgetretenen Fehlern. Für die Veröffentlichung müssen „als schwer eingestufte“ Fehler behoben sein, wodurch sich diese bisweilen um mehrere Monate verzögern kann.

Die ständigen Änderungen an testing bergen das Risiko von Installationsfehlern, die das laufende System beeinträchtigen können. Wie dieses Risiko im Vergleich zu den ebenfalls nicht fehlerfreien statischen Veröffentlichungen anderer Distributionen einzuschätzen ist, ist Gegenstand emotionaler Diskussionen.

Unstable ist der erste Anlaufpunkt für neue Versionen von Paketen und Programmen, bevor sie in testing integriert werden. Dort werden sie auf Fehler geprüft. unstable ist weniger für den produktiven Einsatz gedacht als für das Testen neuer Paketversionen. Wer unstable verwendet, muss damit rechnen, mit Programmfehlern konfrontiert zu werden, die aus mangelndem Zusammenspiel mit anderen Softwarekomponenten resultieren. Wurden innerhalb der Testzeit (meistens zehn, gelegentlich fünf, bei dringenden Paketen zwei oder sogar null Tage) keine schweren, für das Release entscheidenden Fehler („release-critical bugs“, „RC-Bugs“) gefunden und sprechen keine anderen Gründe wie das Zurückhalten einzelner Pakete durch das Release-Team oder nichterfüllte Abhängigkeiten dagegen, wird das Paket in testing aufgenommen.

Experimental wird als Vorstufe für unstable benutzt. In experimental werden Änderungen ausprobiert, die umfangreiche Auswirkungen auf das gesamte System haben können. So wurde der Übergang des X Window Systems von XFree86 auf X.Org in experimental erprobt. experimental ist keine vollständige Sammlung von Paketen. Es enthält nur, was gerade einer besonderen Untersuchung bedarf.

Jede Version hat einen Codenamen, der von Charakteren des Films Toy Story stammt. Derzeit ist „Squeeze“ (6.0) oldstable, „Wheezy“ (7.0) stable und „Jessie“ (8.0) der Name des testing-Zweigs. unstable wird immer „Sid“ genannt. Sid war im Film Toy Story der Junge von nebenan, der Spielzeuge kaputtgemacht hat. Viele sehen es auch als Backronym für „still in development“ (noch in Entwicklung) oder als rekursives Akronym für „sid is dangerous“ (sid ist gefährlich).

Der Codename Buzz (Debian 1.1, 17. Juni 1996) war die erste Debian-Veröffentlichung mit einem Aliasnamen. Sie wurde, wie bis jetzt alle weiteren, nach einer Figur des Films Toy Story benannt, in diesem Fall nach Buzz Lightyear. Zu diesem Zeitpunkt hatte Bruce Perens die Leitung des Projekts von Ian Murdock übernommen. Bruce arbeitete bei Pixar, der Firma, die den Film produzierte.

Zeitweise lagen große Zeiträume zwischen den Veröffentlichungen. Darauf gab es verschiedene Reaktionen, etwa wurden Pakete verschiedener Veröffentlichungen gemischt. Dies wird jedoch unmöglich, wenn sich zentrale Teile des Systems zu stark unterscheiden. So gab es zwischen Sarge und Etch eine Änderung der glibc-ABI, die für die meisten Pakete eine Aktualisierung nötig machte. Für einige Aufgaben wie Spam- und Virenerkennung bot Debian zeitweise eine Paketquelle namens „volatile“ (unbeständig) an, die mit Squeeze durch eine neue Paket-Quelle „updates“ ersetzt wurde. Für einige Programme kann man sich auch mit sogenannten Backports behelfen. Das sind Pakete von neueren Programmversionen, die für eine alte Veröffentlichung kompiliert wurden.

Innerhalb eines Releases enthält die Abteilung main das eigentliche Debian-System. main besteht komplett aus freier Software und sonstigen Werken gemäß DFSG. Es ist möglich, allein mit Paketen aus main ein funktionstüchtiges System zu installieren. non-free enthält Software, die proprietär ist, und contrib beherbergt Software, die selbst frei ist, jedoch ohne Software aus non-free nicht lauffähig ist, wie früher Java-Programme, die die Java-Laufzeitumgebung von Sun Microsystems benötigten. contrib und non-free sind kein offizieller Teil von Debian, werden jedoch unter anderem durch Bereitstellung der für main üblichen Infrastruktur unterstützt.

Debian unterstützt eine Anzahl verschiedener Hardware-Architekturen. Dabei wird zwischen offiziellen Release-Architekturen und Ports unterschieden. Um als Release-Architektur offiziell unterstützt zu werden, muss eine Anzahl Bedingungen erfüllt sein. So ist ein ausreichend großes Team nötig, eine ausreichende Anzahl entsprechender Rechner muss dem Debian-Projekt zum Erstellen von Paketen zur Verfügung stehen, und fast alle Pakete müssen auf der Architektur gebaut werden können und die Software benutzbar sein. Jede Architektur wird zunächst als Port unterstützt und kann zu einer offiziell unterstützten Architektur aufgewertet werden. Umgekehrt kann eine offizielle Release-Architektur zum Port abgewertet werden, wenn die Anforderungen an Release-Architekturen nicht mehr erfüllt sind. Für Ports gibt es keine stable-Veröffentlichungen, sondern es existiert nur die unstable-Variante.

UNIX bis Linux

Подняться наверх