Debian GNU
Martin Schulze
Debian-Projekt
<joey@debian.de>
Seit über fünf Jahren arbeiten weltweit Entwickler im Debian
Projekt mit und erstellen Debian GNU (Linux sowie Hurd). Debian
GNU/Linux ist jedoch nicht nur eine weitere Distribution am
Linux-Firmament. Was es auszeichnet, beinhaltet dieser Vortrag.
Debian GNU/Linux zählt heutzutage zu einer der führenden
Linux-Distributionen. Technisch wird der Standard sehr hoch
gehalten. Im Gegensatz zu anderen Distributionen steht hinter
Debian jedoch keine Firma, sondern Ideologie und eine Gruppe
Freiwilliger.
Dennoch - oder gerade deswegen - hat es Debian weit gebracht:
- Die größte Anzahl Binärpakete.
- Die größte Anzahl unterstützter Architekturen unter Linux (i386,
m68k, alpha, sparc, arm, powerpc, mips in progress und hurd).
- Die größte Anzahl Mitarbeiter.
- Die längste Testphase vor einem Release.
- Öffentliches Bug Tracking System.
- Sehr hohe Qualität.
- Fünf Distributionen basierend auf Debian GNU.
Was ist Debian GNU?
Debian GNU ist ein freies (bzw. Open Source) Betriebssystem für
Computer verschiedener Architekturen. Herausgegeben wurde bisher
Debian GNU/Linux für vier Architekturen. Das System besteht zu 100%
aus freier Software. Es basiert auf dem Linux-Kernel und verwendet
GNU-Software.
Debian GNU/Hurd befindet sich noch in der Entwicklung. Dieses
System basiert anstelle des Linux-Kernels auf dem Hurd-Kernel von
der Free Software Foundation (FSF). Davon abgesehen, wird es jedoch
die gleichen Komponenten wie Debian GNU/Linux beinhalten. Auf dem
Debian-Stand im Foyer demonstriert ein Rechner den aktuellen Stand
von Debian GNU/Hurd.
Das Betriebssystem beinhaltet die umfassendste Sammlung freier
Software, die in einem System zusammengefaßt ist. Die einzelnen
Komponenten sind dabei sehr gut in das System integriert und
arbeiten über verschiedene Mechanismen zusammen.
Was ist das Debian Projekt?
Das Debian Projekt ist ein Zusammenschluß von Leuten, die sich zum
Ziel gesetzt haben, ein freies Betriebssytem herauszubringen sowie
Linux und Freie Software zu unterstützen und dabei auf technische
Ausgereiftheit wertlegen. Grundlage dazu bildet der
Gesellschaftsvertrag[1], der festschreibt, wie der eigene Beitrag
zur "Gemeinschaft für Freie Software" aussieht.
Das Projekt besteht zur Zeit aus ca. 500 Mitarbeitern im Alter von
13 und 70 Jahren. Im Gegensatz zu Herstellern anderer Systeme steht
bei Debian keine Firma im Hintergrund, sondern Idealismus. Alle
Projektteilnehmer arbeiten mit, um Freie Software zu unterstützen.
Die gesamte Distribution wird von Freiwilligen aus allen Ecken der
Welt zusammengestellt. In ihrer Freizeit beschäftigen sie sich mit
Linux und steuern ihren Teil zum System bei. Jeder bearbeitet die
Komponenten, die er selbst benutzt oder das Aufgabenfeld, in dem er
sich auskennt. Dadurch ist jeder Mitarbeiter ein Experte auf seinem
Gebiet, wodurch hohe Qualität dieser Komponenten gewährleistet
werden kann.
Wie es begann
Vor über fünf Jahren wurde Debian von Ian Murdock ins Leben gerufen.
Ian hatte 1993 im Usenet zur Mitarbeit an einer neuen
Linux-Distribution aufgerufen, nachdem er sich die bisherigen
Distributionen angesehen hat. Sie wurden teilweise von Firmen
erstellt oder von Einzelpersonen, denen die Arbeit über den Kopf
wuchs. Keine Distribution bot Entwicklern jedoch die Möglichkeit,
mitzuarbeiten. Keine der Distributionen folge dem GNU-Gedanken.
Mit den bisherigen Distributionen gab es mehrere Probleme. Zum
Beispiel war es teilweise nicht einfach möglich, den zu den
Binärpaketen passenden Quellcode zu finden. Zum anderen wurden
einige Fehler in neuere Versionen übertragen, obwohl Korrekturen
bereits verfügbar waren.
Es war zudem nicht klar ersichtlich, ob die Komponenten frei waren
oder ob dessen Benutzung oder Weitergabe durch besondere Lizenzen
eingeschränkt wurde. Es gab keine Unterscheidung zwischen »frei«
und »nicht frei«. Alle Programme lagen in einem Verzeichnis / auf
einer CD.
Abhängigkeiten zwischen einzelnen Komponenten waren zu dem Zeitpunkt
noch Fremdworte. Man installierte das »cron«-Paket, jedoch keinen
Mailserver - oder man installierte »sendmail« zusammen mit »smail« -
und wunderte sich, daß es Probleme gab.
Darüberhinaus konnte man keineswegs davon ausgehen, daß ein
installiertes Programm auch funktionierte, oder daß die
einkompilierten Pfade mit den Beispielen im System übereinstimmten.
Kurzum: Linux war eine Fundgrube für Hacker. Wer jedoch ernsthaft
arbeiten wollte, der benutze lieber etwas anderes - oder wurde zum
Hacker und arbeitete sich in alles ein. Für einen Endanwender war
das natürlich nicht akzeptabel.
Als Ian Murdock das Debian Projekt ins Leben rief, war man noch weit
von einer Distribution entfernt. Zu Anfang war es wichtig, die
benötigten Hilfsmittel zusammenzustellen. Zu Beginn waren ein
Dutzend Mitarbeiter am Projekt beteiligt, darunter Ian Jackson und
Bruce Perens. Überdies wurde Debian ein Jahr lang von der FSF
finanziell unterstützt
Organisation des Projektes
Geleitet wird das Projekt von einem Projektleiter, der jährlich neu
aus den Reihen der Mitarbeiter gewählt wird. Er deligiert einen
Teil der Aufgaben an weitere Personen oder Teams. Damit wird
kontinuierliche Arbeit gewährleistet.
Nach Gründung im August 1993 stand Ian Murdock selbst (bis März
1996) dem Projekt vor. Anschließend übernahm Bruce Perens die
Leitung, die im Januar 1998 an Ian Jackson übertragen wurde. Seit
Februar 1999 schließlich hält Wichert Akkerman die Zügel in der
Hand.
Der Projektleiter überträgt einen Teil seiner Verantwortung an
weitere Personen, die sich freiwillig für diese Aufgabe bereit
erklärt haben. So beschäftigen sich ein Teil der Mitarbeiter mit
Lizenzen und diskutieren ihre Freiheit und Auswirkungen auf das
Projekt (»debian-legal«). Eine weitere Gruppe befaßt sich mit der
Policy und überdenkt diese (»debian-policy«). Die Diskussionsforen
sind für jeden offen.
Hinzu kommen Personen, die für die Maschinen verantwortlich sind
(»debian-admin« bzw. lokale Betreiber), Listmaster,
Presse-Ansprechpartner, Webmaster, Release-Manager. Für die
verschiedenen Portierungen ist meist ebenfalls eine kleine Grupper
zuständig, der weitere Mitarbeiter zuarbeiten.
Mitarbeiten kann jeder
Wichtig in einem freien Projekt ist die Möglichkeit zur Mitarbeit.
Jeder sollte in der Lage sein, sich selbst einzubringen und selbst
etwas für die Qualität zu tun. Diese Möglichkeit ließen andere
Distribution vermissen.
Obwohl die meisten Mitarbeiter im Debian-Projekt als Paket-Betreuer
anfangen, sind viele weitere Aufgabenfelder vorhanden. Insbesondere
im Bereich Dokumentation liegt immer Arbeit an.
Der Paket-Betreuer wartet eine Reihe von Software-Paketen, die er
selbst benutzt. Da er ein persönliches Interesse an diesen Paketen
und an ihrem Funktionieren hat sie mit viel Sorgfalt
zusammengestellt und gepflegt.
Der Gesellschaftsvertrag
Kopiert von www.debian.org.
Die folgenden Punkte legt Debian im Gesellschaftsvertrag fest.
- Debian wird 100% freie Software bleiben
Wir versprechen, daß die Debian GNU/Linux Distribution auch
weiterhin vollständig aus freier Software bestehen wird. Da es
viele verschiedene Auslegungen des Begriffs "freie Software"
gibt, haben wir weiter unten die Richtlinien (nächster
Abschnitt) aufgeführt, nach denen wir freie Software
identifizieren. Trotzdem werden wir Anwender unterstützen, die
nicht-freie Programme einsetzen oder entwickeln. Wir werden
aber niemals das Gesamtsystem von nicht-freier Software
abhängig machen.
- Unser Beitrag zur Gemeinschaft für freie Software
Wenn wir neue Komponenten des Debian-Systems schreiben, so
werden wir sie als freie Software lizensieren. Wir werden das
bestmögliche System erstellen, so daß freie Software weit
verbreitet und genutzt wird. Wir werden Korrekturen,
Verbesserungen, Anwenderwünsche usw. an die ursprünglichen
("upstream") Autoren weiterleiten, deren Programme in unser
System integriert wurden.
- Wir werden Probleme nicht verbergen
Wir werden unsere Fehlerdatenbank für alle Zeiten öffentlich
betreiben. Fehlermeldungen, die von Anwendern online
abgeschickt werden, werden augenblicklich für andere sichtbar.
- Unsere Prioritäten sind unsere Anwender und freie Software
Wir orientieren uns an den Bedürfnissen unserer Anwender und
der Gemeinschaft für Freie Software. Ihre Interessen stehen an
erster Stelle. Wir werden unsere Nutzer bei ihrer Arbeit mit
den verschiedensten Rechnerumgebungen unterstützen. Wir haben
nichts dagegen, daß kommerzielle Software auf Debian-Systemen
eingesetzt wird. Außerdem erlauben wir anderen eine erweiterte
("Value-Added") Distribution zu erstellen, die Debian und
kommerzielle Software enthält, ohne dafür irgendwelche Gebühren
zu erheben. Um diese Ziele zu erreichen, werden wir ein
integriertes System von hoher Qualität und 100% freier Software
anbieten, die die gerade beschriebene Nutzung nicht durch
rechtliche Einschränkungen, wie z. B. durch Lizenzverträge,
verhindert.
- Programme, die nicht unseren Standards für freie Software genügen
Wir wissen, daß einige unserer Anwender unbedingt Programme
einsetzen müssen, die nicht den Debian-Richtlinien für Freie
Software entsprechen. Für solche Programme haben wird die
zusätzlichen Bereiche »contrib« und »non-free« auf unserem
FTP-Archiv eingerichtet. Die Software in diesen Verzeichnissen
ist nicht Bestandteil des Debian-Systems, wurde aber trotzdem
für den Einsatz in einem Debian-System vorbereitet. Wir
empfehlen den CD-Herstellern, die jeweiligen Lizenzbestimmungen
der Programmpakete in diesen Verzeichnissen zu studieren und
selbst zu entscheiden, ob sie die Programme mit ihren CDs
verteilen dürfen. Obwohl die Programme aus »non-free« nicht
Bestandteil der Debian-Distribution sind, unterstützen wir
ihren Einsatz und bieten Infrastruktur für diese nicht freien
Programme an, z. B. unsere Fehlerdatenbank und die
Mailing-Listen.
Die Debian-Richtlinien für freie Software
Auf Englisch »Debian Free Software Guidelines« (DFSG).
- Unbeschränkte Weitergabe
Ein Bestandteil der Debian-Distribution darf durch seine Lizenz
nicht verhindern, daß irgendjemand diese Software als
Bestandteil einer Software-Distribution, die Programme aus den
verschiedensten Quellen enthält, verkauft oder weitergibt. Die
Lizenz darf keine Abgaben oder sonstige Leistungen für einen
solchen Verkauf fordern.
- Quellcode
Das Programm muß im Quellcode vorliegen, und es muß die
Weitergabe sowohl im Quellcode als auch in compilierter Form
erlaubt sein.
- Weiterführende Arbeiten
Die Lizenz muß Veränderungen und weiterführende Arbeiten
gestatten und es erlauben, daß diese unter den gleichen
Lizenzbedingungen weitergegeben werden dürfen wie die
Original-Software.
- Integrität des ursprünglichen Quellcodes
Die Lizenz darf die Weitergabe von verändertem Quellcode nur
dann verbieten, wenn sie die Weitergabe von sogenannten
Patch-Dateien mit dem Quellcode erlaubt, die dazu dienen, das
Programm vor seiner Herstellung zu modifizieren. Die Lizenz
muß ausdrücklich die Weitergabe der aus dem veränderten
Quellcode erzeugten Programme erlauben. Die Lizenz darf
fordern, daß die veränderten Programme einen anderen Namen oder
eine andere Versionsnummer tragen müssen.
(Dies ist ein Kompromiß. Die Debian-Gruppe ermutigt alle
Autoren, Veränderungen an Dateien sowohl im Quellcode als auch
in Binärform zu erlauben)
- Keine Diskriminierung von Personen oder Gruppen
Die Lizenz darf keine Person oder Gruppe von Personen
diskriminieren.
- Keine Diskriminierung von Einsatzbereichen
Die Lizenz darf keine Einschränkungen hinsichtlich des
Einsatzbereichs vornehmen. Beispielsweise darf sie nicht
verhindern, daß das Programm geschäftlich oder für genetische
Forschungen verwendet wird.
- Weitergabe der Lizenz
Die mit einem Programm verbundenen Rechte müssen für alle gelten,
die das Programm erhalten, ohne daß es für sie notwendig ist, eine
zusätzliche Lizenz zu erwerben.
- Keine spezielle Lizenz für Debian
Die mit dem Programm verbundenen Rechte dürfen nicht davon
abhängig sein, daß das Programm Teil des Debian-Systems ist. Falls
das Programm aus der Debian-Distribution herausgenommen wird und
ohne Debian genutzt oder vertrieben werden soll, ansonsten aber im
Rahmen der Programmlizenz bleibt, so müssen alle Parteien, die das
Programm bekommen, die gleichen Rechte haben, wie sie im
Zusammenhang mit dem Debian-System gewährt wurden.
- Keine Auswirkungen auf andere Programme
Die Lizenz darf keine Beschränkungen besitzen, die Auswirkungen
auf andere Software hat, die mit diesem Programm weitergegeben
wird. Beispielsweise darf die Lizenz nicht vorschreiben, daß
alle anderen Programme auf dem gleichen Medium freie Software
sein müssen.
- Beispiellizenzen
Die "GPL", "BSD" und "Artistic" Lizenzen sind Beispiele für
Lizenzen, die wir als "frei" betrachten.
Ideologie
An den Formulierungen des Gesellschaftsvertrages und der Richtlinien
für Freie Software ist zu ersehen, daß die Mitarbeiter bei Debian
viel Wert auf Freiheit legen. Nur der Bereich »main« beinhaltet
Freie Software und ist Bestandteil von Debian GNU.
Eine enge ideologische Verwandtschaft zur Free Software Foundation
und zu Richard Stallman, dem Begründer Freier Software, läßt sich
nicht leugnen. Die FSF hat das Debian-Projekt anfangs zudem
unterstützt, dennoch ist es eigenständig und legt seine Regeln
selbst fest.
Die Mitarbeiter bei Debian haben eine starke Meinung für Freie
Software und vertreten diese auch in der Öffentlichkeit. Dadurch
definiert sich das Debian Projekt erst. Viele sind überhaupt durch
diese Garantie erst zu Debian gekommen. Ohne diese strengen
Richtlinien würden viele nicht im Debian-Projekt mitarbeiten.
Einige Male konnte sogar erreicht werden, daß Autoren ihre Lizenz
überdacht haben und in der neuen Version ihrer Software eine freiere
verwendet haben. Oftmals wollten die Autoren Freie Software
entwickeln, haben jedoch ihr Terrain verlassen und zusätzlich eine
Lizenz erarbeitet. Teilweise enthielt sie unerwünschte
Restriktionen, die auf Anhieb nicht zu erkennen waren. Beispiele
dafür sind ircII (sowie Erweiterungen BitchX und epic), vim und
ncftp.
Im Debian-Projekt wird sehr sorgfältig mit Lizenzen umgegangen.
Jede Lizenz wird auf jeden Fall vom Paketbetreuer selbst gelesen und
überprüft. Danach wird entschieden, ob das Paket in die
Distribution aufgenommen werden darf oder nicht. Wenn sich der
Paketbetreuer bei einer Lizenz nicht sicher ist, fragt er auf einer
entsprechenden Mailing-Liste nach. Dort lesen die Leute mit, die
sich ausführlich mit Lizenzen beschäftigt haben.
In jedem Binärpaket wird die Lizenz des Pakets oder ein Verweis
darauf in »/usr/doc/<paketname>/copyright« gespeichert. Die
Benutzer werden nicht im Unklaren darüber gelassen, woher das Paket
stammt und wer es entwickelt hat. Der Autor eines Pakets wird auf
jeden Fall genannt und damit seine Arbeit gewürdigt.
In dieser Datei steht zudem eine Adresse, von wo das ursprüngliche
Paket geholt wurde. Dadurch sind die Benutzer in der Lage, selbst
an der Entwicklung dieses Pakets mitzuwirken und ggf. Vorabversionen
zu installieren, bevor sie in die Debian-Distribution aufgenommen
werden.
Darüberhinaus werden sogenannte »changelog«-Dateien installiert, aus
denen die Entwicklung des Pakets zu ersehen ist, sowohl der
ursprünglichen als auch der Debian-Versionen. So kann jederzeit
nachvollzogen werden, wie sich die Pakete entwickeln.
Quellcode
Die Mitarbeiter von Debian vertreten die Ansicht, daß nur etwas frei
ist, was sie verändern und ohne die Lizenz zu verletzen weitergeben
dürfen. (siehe DFSG, 2. und 4.) Der Quellcode zu jedem in der
Distribution (»main«) enthaltenen Programm liegt in einem
Parallelverzeichnis »source« zu den Binärpaketen auf dem FTP-Server
und dessen Spiegelungen.
Auf den Quellcode zu einem Paket muß einfach zugegriffen werden
können. Die Hersteller der Distribution müssen dafür Sorge tragen,
daß die Quellcode-Pakete auf die gleiche Weise verfügbar gemacht
werden wie die Binärpaket.
Debian verfolgt dabei das Konzept des »Pristine Source«. Die
Quellcode-Pakete von Debian bestehen normalerweise aus drei
Komponenten:
- Einer ».orig.tar.gz«-Datei
Dieses ist der unverfälschte Quellcode, wie er von den
ursprünglichen Autoren geliefert wurde. Meistens wird nur der
Dateiname umbenannt. Im Falle von ».zip«- oder ».srpm«-Dateien
muß jedoch umgepackt werden.
- Einer ».diff.gz«-Datei
Diese Datei enthält alle Änderungen in Form eines Patches, die
vom Betreuer vorgenommen wurden, damit sich das compilierte
Paket in das System einpaßt.
- Einer ».dsc«-Datei
Dieses ist eine Kontrolldatei, in der beschrieben ist, aus
welchen Dateien sich der Quellcode des Debian-Pakets
zusammensetzt.
Debian hat Wert darauf gelegt, den Quellcode so weiterzugeben, wie
die ursprünglichen Autoren ihn freigegeben haben. Bei einer neuen
Version des Pakets wird die ».orig.tar.gz«-Datei nur dann neu auf
den Server gelegt, wenn sich komplett neuer Code benutzt wurde.
Wenn hingegen nur in den Anpassungen für das System etwas geändert
wurde, werden nur die beiden letzten Dateien auf dem Server
ausgetauscht.
Durch die separate ».diff.gz«-Datei wird zum einen verhindert, daß
zum Compilieren bei einer neuen Debian-Version das komplette
Quellcode-Paket neu aus dem Netz gezogen werden muß, zum anderen
wird so eine Möglichkeit geschaffen, die qualitativ hochwertigen
Debian-Pakete auch auf Nicht-Debian Systemen zu verwenden.
Paketverwaltung
Als Debian vor über fünf Jahren gegründet wurde, konnte keine
bisherige Distribution eine ordentliche Paketverwaltung aufweisen.
Zu Anfang mußte daher viel Energie in das Design und schließlich in
die Implementierung der Paketverwaltung gesteckt werden.
Da die Komponenten des Betriebssystems nicht aus einer Quelle
sondern von vielen verschiedenen Autoren oder Teams stammen, werden
sie als Pakete bezeichnet. Damit die Distribution nicht zu einem
Flickenteppich wird, sorgt die Paketverwaltung, ein zentrales
Instrument jeder Distribution.
Unter einer Paketverwaltung ist folgendes zu verstehen:
- Versionsverwaltung
Pakete können in unterschiedlichen Versionen vorliegen.
Software wird weiterentwickelt, dabei ändert sich der Inhalt,
was von der Paketverwaltung beachtet werden muß.
- Verwaltung der Dateien
Wird ein Paket installiert, dann muß festgehalten werden,
welche Dateien zu diesem Paket gehören, damit sie gelöscht
werden, wenn das Paket aus dem System entfernt wird.
Wenn eine neue Version eines Pakets installiert wird, müssen
normale Dateien überschrieben werden. Dateien, die im neuen
Paket nicht mehr enthalten sind, müssen jedoch gelöscht
werden.
- Abhängigkeiten und Konflikte
Die Paketverwaltung muß beachten, daß einige Pakete nicht
zusammen mit anderen installiert werden dürfen, da sie sich
gegenseitig behindern würden. Zwei »sendmail«-Derivate können
nicht problemlos zusammen auf einem System laufen.
Andere Pakete arbeiten nur dann richtig, wenn zusätzlich
weitere Software installiert ist. Ein »cron«-Paket kann nur
dann wie gewünscht arbeiten, wenn gleichzeitig ein Mailserver
installiert ist, da im Fehlerfall Mails verschickt werden.
- Verwaltung von Konfigurationsdateien
Konfigurationsdateien sind die wichtigsten Dateien in einem
Paket. Die Gesamtheit der Konfigurationsdateien beschreibt das
System. Ihnen muß besondere Beachtung geschenkt werden. Beim
Aktualisieren (Upgrade) von Komponenten dürfen
Konfigurationsdateien nicht einfach überschrieben werden, da
sie oft lokale Ergänzungen enthalten, die sonst verloren
gingen.
- Anpassung der Pakete
Teilweise ist es erforderlich, daß nach dem Kopieren der
Dateien aus den Paketen, Programme aufgerufen werden. Dateien
müssen in das System integriert werden (z.B. info-Dateien) oder
der Benutzer muß das Paket durch Eingabe von einigen Daten
konfigurieren. Bei sogenannten Shared Libraries muß z.B. nach
der Installation »ldconfig« aufgerufen werden, um sie im System
bekannt zu machen.
Die Qualität der Distribution hängt entscheidend von diesen
Werkzeugen ab. Bevor Debian richtig anlaufen konnte, mußte daher
die Paketverwaltung in Form des Programms »dpkg« entwickelt werden.
Es wurde sorgfältig entworfen, was dem Projekt heutzutage zugute
kommt.
Da Pakete der Distribution auf verschiedenen Medien vorliegen
(FTP-Server, Webserver, CD's, NFS-Server u.s.w.), sorgen sogenannte
Front-Ends (»dselect«, ¸>apt-get«, »apt-find«, »gnome-apt«, »swim«)
dafür, daß die Pakete geholt und der Paketverwaltung übergeben
werden. Diese Programme untersuchen Abhängigkeiten sowie Konflikte
zwischen Paketen und reagieren entsprechend.
Policy
Die Policy eines Systems legt grundlegende Richtlinien fest, wie das
System organisiert ist. Dazu gehört die Verwendung von speziellen
User-IDs für bestimmte Teilsysteme, die Verwendung von Runlevel, die
Organisation des xdm, von Cronjobs u.s.w. Darüberhinaus werden
allgemein akzeptierte Standards übernommen.
Debian GNU hält sich größtenteils an die von fast allen
Distributions-Herstellern akzeptierte »Linux Filesystem
Structure«[2] (FSSTND). Überdies hat das Debian Projekt weitere
Richtlinien aufgestellt, die im »Debian Policy Manual«[3]
niedergeschrieben wurden.
Diese Dokumente legen z.B. fest,
- daß Konfigurationsdateien komplett in »/etc« liegen und nicht
verteilt im System, und daß sie zudem als solche markiert
werden,
- daß ausführbare Programme in »/bin« und »/usr/bin« liegen, sofern
sie für Benutzer relevant sind und in »/sbin« bzw. »/usr/sbin«,
wenn sie für den Administrator oder das System selbst von
Bedeutung sind,
- daß in »/usr/doc/<paket>« in der Datei »copyright« das
Copyright des Pakets zu kopieren ist, sowie ein Hinweis, wo der
ursprüngliche Quellcode zu finden ist und »changelog«-Dateien,
in denen die Entwicklung des Pakets nachzulesen ist,
- daß veränderliche Daten unterhalb von »/var« gespeichert werden,
- daß zu einem Paket gehörende zusätzliche Daten, die sich
normalerweise jedoch nicht ändern, unterhalb von »/usr/lib«
gespeichert werden,
- wie Pakete zu nennen sind,
- wie zusätzliche Installationsskripte arbeiten,
- wie Abhängigkeiten einzutragen sind,
- welche UIDs und GIDs für welche Subsysteme verwendet
dürfen,
- daß Menüdateien verwendet werden sollen,
- welche Parameter Init-Skripte unterstützen müssen und wie sie
aktiviert werden,
- wie Pakete zu behandeln sind, die Programme beinhalten, dessen
Funktionalität ebenfalls von anderen Paketen angeboten wird
(alternatives, diversions)
- wie und wo Spiele ihre Statistk-Dateien anzulegen haben,
- u.s.w.
Was macht ein Debian-Paket aus
Allein aus der Tatsache, daß die Betreuer der Pakete eigenes
Interesse an funktionierenden Paketen haben, befinden sich die
meisten in einem sehr guten Zustand. Sie sind sehr gut in das
System integriert und nutzen die vielfältigen Mechanismen, die ein
Debian-System bietet.
Seine Stärke zeigt Debian z.B. mit dem Menüsystem. Viele Pakete
installieren Menüdateien und registrieren damit ihre Programme im
Menüsystem. Die meisten Debian-Pakete von Window-Manager für X11
unterstützen dieses System und erzeugen im Anschluß an eine
Installation speziell angepaßte Konfigurationsdateien für die
Window-Manager, so daß die Programe in fast allen im Menü
erscheinen.
Über spezielle Schnittstellen zu »dwww« und »doc-base« werden die in
den Paketen enthaltenen Texte zusätzlich als Dokumentation
registriert. Mit »dwww« erhält der Anwender eine einfache
Möglichkeit, auf die gesamte Dokumentation zuzugreifen:
http://localhost/dwww/ .
Zusätzliche Mechanismen sorgen dafür, daß sich neue Pakete in
das System einpassen. Dazu gehört z.B. ein Mechanismus, der
Anwendungsprogramme automatisch in die Menüstruktur aller
X11-Window-Manager und eines textbasierten Menüsystems »pdmenu« aufnimmt.
Zusätzliche Abstraktionsebenen und Kontrollstrukturen sorgen dafür,
daß verschiedene Systemeigenschaften transparent verwaltet und von
den Paketen manipuliert werden können. (so z.B. der Boot-Vorgang,
Window-Manager, Wörterbücher, gleichlautende Programme, Logdateien
etc.).
Hinzu kommt, daß sich die Betreuer auf vielen Mailing-Listen
austauschen und ihre Pakete weiter anpassen, wenn es nötig wird.
Über das öffentliche Bug Tracking System werden zudem weitere Fehler
berichtet oder Wünsche geäußert, die die Betreuer meistens relativ
zeitnah umsetzen.
Das Bug Tracking System ist ein Mail-gesteuertes System, über das
jeder Fehler oder Wünsche zu den Paketen berichten kann. Die
vermeintlichen Fehler sind solange als "ausstehend" (pending)
markiert, bis der Betreuer den Status auf "erledigt" (done). Sie
werden einen Monat nach der letzten Änderung gelöscht, wenn sie
erledigt sind. Die Berichte werden für das Web aufbereitet und sind
dort von jederman einzusehen.[4]
Da die komplette Entwicklung des Systems öffentlich stattfindet und
man sich jederzeit den aktuellen Stand vom FTP-Server[5] laden und
installieren kann, befindet es sich quasi zu jedem Zeitpunkt in
einer Testphase und wird beobachtet. So werden viele Fehler schon
sehr früh entdeckt und viele Verbesserungsvorschläge fließen in die
Distribution ein, lange bevor eine neue Gesamtversion (Release)
ansteht.
Kompatibilität
Die beiden Formate ».deb« und ».rpm« wurden wahrscheinlich ungefähr
zur gleichen Zeit entwickelt. Im Gegensatz zu ».rpm« wird eine
».deb«-Datei mit Standard- Werkzeugen unter Unix zusammengesetzt.
Sie kann daher auf jedem Unix-System mit den Befehlen »ar«, »tar«
und »gzip« in ihre Komponenten zerlegt werden.
Die beiden Formate sind keineswegs inkompatibel. Die im jeweiligen
System üblichen Werkzeuge unterstützen jedoch nur das eigene Format.
Um Pakete im jeweils anderen Format auf einem System zu
installieren, wird das Paket mit dem Befehl »alien« in das lokale
Format konvertiert und anschließend installiert.
Internationalität
Debian GNU ist zwar in Amerika geboren, jedoch keine rein
Amerikanische Distribution. Da die Mitarbeiter zum größten Teil
nicht in den U.S.A. wohnen und Englisch meisten nicht die
Muttersprache ist, wird viel Energie darauf verwendet, die
Distribution international zu halten.
Die Mitarbeiter übersetzen einen Teil der Dokumentation selbst in
ihre Muttersprache und geben die Übersetzung zurück ans Projekt.
Die Installationsanleitung ist in mehrere Sprachen übersetzt
worden. Die Texte auf den Installationsdisketten wurden in acht
Sprachen übersetzt.
Viel Energie wird in die Web-Präsenz des Projektes[8] gesteckt.
Verschiedene Teams übersetzen aktuelle News und allgemeine Texte in
ihre Muttersprache und pflegen sie ins Archiv ein. Die Web-Präsenz
ist eine der wenigen, die bisher Content-Negotiation nutzen.
Content-Negotiation bedeutet, daß der Browser des Benutzers bei
Anforderung einer Seite eine Liste gewünschter Sprachen überträgt.
Ist dort z.B. »de« vor »en« gestellt, dann wird die deutschprachige
Seite zurückgegeben anstelle der Englischen.
Support
Hinter Debian steht keine Firma. Erhält ein Anwender trotzdem
Unterstützung bei Problemen?
Der Anwender kann niemanden am Telefon regreßpflichtig machen, wenn
es Probleme gibt.
Verfügt er jedoch einen Internet-Anschluß, dann kann er auf
vielfältige Weise Kontakt zu hilfsbereiten Mitarbeitern und
Anwendern aufnehmen. Auch hier engagieren sich die Leute in ihrer
Freizeit und sind dadurch erheblich motivierter als wenn Sie für
Support angestellt wären.
Die klassische Adresse für allgemeine Probleme ist die
englischsprachige »debian-user« Mailing-Liste[6]. Für Deutsche
Anwender ist die Deutsche Mailing-Liste[7] gedacht. Auf beide
Listen kann sich jeder einschreiben. Beide Listen werden im Web
archiviert, so daß sie auch gelesen werden können, ohne auf ihnen
eingetragen zu sein.
Darüberhinaus treffen sich viele Entwickler im Internet Relay Chat
(IRC), einem Echtzeit-Diskussions-System, auf den Kanälen »#Debian«
(auf »irc.debian.org«) und auf »#Debian.DE« (auf »irc.fu-berlin.de«).
Zusammenarbeit mit weiteren Projekten
Das Debian-Projekt engagiert sich zusamen mit weiteren Herstellern
von Linux-Distributionen im Linux Standard Base (LSB). Ziel des LSB
besteht darin, einen Standard zu enwickeln, der die Kompatibilität
der verschiedenen Distributionen zueinander steigert. Die
standardisierte Basis soll von allen Linux-Distributionen
unterstützt werden. Dadurch soll es für Softwarehersteller
einfacher sein, Linux-Versionen zu entwickeln, da sie auf gewisse
Standardkomponenten (außer der libc) zurückgreifen können.
Der Erfolg von Debian spiegelt sich in einigen daraus
hervorgegangenen Projekten wieder. Die russische Distribution YeS,
das französisches "Projet Linux Edu", die italienische Prosa sowie
das deutsche Eagle Linux basieren direkt auf Debian GNU/Linux. In
Japan stellt Debian-JP Erweiterungen zur Distribution zur Verfügung,
die nach und nach in die reguläre Distribution integriert werden.
Corel erstellt darüberhinaus zur Zeit eine eigene
Linux-Distribution, die auf Debian GNU/Linux basiert. Der Corel
Linux Desktop (CLD) richtet sich direkt an Desktop-Computer.
Resources
[1] Gesellschaftsvertrag
http://www.debian.orgs/social_contract
[2] Filesystem Structure
ftp://ftp.infodrom.north.de/pub/Linux/Docs/FSSTND/fsstnd-1.2.txt.gz
[3] Debian Policy Manual
ftp://ftp.debian.de/pub/debian/doc/package-developer/policy.text.gz
[4] Bug Tracking System
http://bugs.debian.org
[5] Debian Archiv
ftp://ftp.debian.de
[6] Mailing List Subscription
http://www.debian.de/MailingLists/subscribe
[7] Deutche User-Mailing-Liste
http://www.Infodrom.North.DE/Debian/debian-user-de.html
[8] Debian Web-Präsenz
http://www.debian.de
[9] Projet Linux Edu
http://www.linuxedu.org
[10] Japanisches Debian
http://www.debian.or.jp
[11] YeS - Russisches Debian
http://eugene.mplik.ru/doc/lys
[12] Prosa
http://www.prosa.it
[13] Eagle Linux
http://www.eagle-cp.com
Martin Schulze
|