Linux-Magazin: Pinguine werden flügge
Debian GNU/Linux 2.0 freigegebenAm 24ten Juli wurde Debian GNU/Linux 2.0 offiziell freigegeben. Damit ist die größte Linux-Distribution wieder als stabile Version auf dem Markt. Mit der Freigabe ging eine halbjährige intensive Testphase sowie eine gut einjährige Entwicklungszeit einher. |
|
Erstmalig in der Geschichte von Debian wurde die Distribution mit dieser Version nicht nur für intel-basierte Computer freigegeben, sondern gleichzeitig auch für Rechner mit Prozessoren der Motorola 68000er Serie (Amiga, Atari, MacII).
Debian GNU/Linux wurde vor fünf Jahren mit dem Ziel ins Leben gerufen, eine freie Linux-Distribution zu schaffen. Die damaligen Distributionen wurden jeweils von Firmen kontrolliert oder stellten Nischenlösungen mit begrenzten Ausbaumöglichkeiten dar. Keine dieser wurde unter der GNU General Public License veröffentlicht und an Mitarbeit war ebenfalls nicht zu denken.
Diese Distribution besteht zu 100% aus freier Software. Die "Macher" haben daher Richtlinien aufgestellt, anhand derer entschieden wird, ob die jeweilige Software im Sinne von Debian frei ist oder nicht. Die sogenannten "Debian Free Software Guidelines" sind im Gesellschaftsvertrag von Debian enthalten. Sie wurden bereits in einem anderen Artikel im Linux-Magazin bereits vorgestellt.
Insgesamt besteht Debian aus rund 1100 Paketen im Quellcode und gut 1500 vorkompilierten Binärpaketen. Die Binärpakete sind derart zusammengepackt worden, daß sie direkt nach der Installation voll funktionstüchtig sind und sich genau in das System einpassen. Diese Pakete entsprechen allesamt den obigen Richtlinien freier Software. Damit handelt es sich bei Debian GNU/Linux um die umfangreichste Linux-Distribution.
Die herausragendsten Eigenschaften von Debian als Distribution bestehen in der sicheren Verwaltung von Konfigurationsdateien, in den wohldefinierten Abhängigkeiten und den gut durchdachten zusätzlichen Mechanismen, die ein rundes System erst rund machen.
Parallel zur Veröffentlichung der neuen Version wurden neue offizielle CD-Images erstellt. Von diesen CD's kann natürlich gebootet und installiert werden. Ausgehend von http://cdimage.debian.org/ können diese vorgefertigten CD-Images gezogen und gebrannt werden. Natürlich steht das komplette System auch weiterhin unter ftp://ftp.de.debian.org/ zum Download bereit.
Mit der Freigabe dieser Version von Debian GNU/Linux ist ein langersehnter Wunsch vieler Entwickler und noch mehr Benutzer in Erfüllung gegangen. Vorausgegangen ist eine halbjährige ausgiebige Testphase des kompletten Systems. Alle Entwickler haben bereits vor langer Zeit auf das neue System umgestellt und setzen es privat und auf der Arbeit ein. Viele Benutzer sind diesem Beispiel gefolgt und kamen schon lange vor Freigabe in den Genuß dieses Systems.
Abbildung 1: Desktop mit Debian GNU/Linux
Umstieg auf libc6
Debian GNU/Linux war die erste Distribution, bei der angefangen wurde, auf die GNU libc version 2.0 alias libc6 umzusteigen. Zu dem Zeitpunkt wurden von allen Distributionen die libc5 oder gar noch die libc4 verwendet. Es war ein Weg in die richtige Richtung, denn die neue System-Bibliothek enthielt Anpassungen für weitere Architekturen und Erweiterungen in vielen Bereichen.
Der Umstieg auf das neue System zog sich jedoch länger hin als ursprünglich vorgesehen. Der Grund dafür liegt in den Problemen, die beim Aufrüsten der System-Bibliothek auftreten können. Durch Unachtsamkeit beim Umstieg kann das komplette System außer Gefecht gesetzt werden. Daher wurde mehr Zeit und Energie in die Entwicklung des Systems gesteckt.
Herausgekommen ist ein GNU/Linux System, welches komplett auf der libc6 basiert ist. Wie üblich, können auch ältere libc5-basierte Debian-Systeme problemlos auf die neue Bibliothek aufgerüstet werden. Zu diesem Zweck wurde das sogenannte autoup-Skript entwickelt. Dieses kann sogar im laufenden Betrieb erfolgen.
Features
Wann immer ein Teil der Distribution erneuert wird, die Konfigurationsdateien werden nicht ohne weiteres überschrieben. Selbst wenn sich die Position der Dateien im System ändert, nimmt das Paket darauf Rücksicht und kopiert die alten Dateien.
Debian GNU/Linux war ebenfalls die erste Linux Distribution, bei der begonnen wurde, Abhängigkeiten zwischen Paketen zu definieren. Glücklicherweise haben viele andere nachgezogen. Im Debian-System sind jedoch immer noch die feinsten Abhängigkeiten und Konflikte definiert, so daß man keine unvollständigen oder kaputte Systeme erhalten kann.
Dank eines ausgeklügelten Menüsystems können Einträge systemweit in Menüs erzeugt werden. Diese werden automatisch in (fast) alle Fenstermanager unter X11 integriert. Ein Teil der Menüpunkte steht sogar auf der Textkonsole zur Verfügung. Die Menüpunkte werden bei Deinstallation der entsprechenden Pakete automatisch wieder entfernt. Dieses Menüsystem setzt hohe Maßstäbe unter den Distributionen.
Das Boot-System bei Debian GNU/Linux entspricht prinzipiell dem von Unix System V. Nichtsdestotrotz unterstützt Debian ebenfalls einen neuen alternativen Mechanismus, der auf Ideen basiert, die noch in weiteren Artikeln (von Winfried Trümper) vorgestellt werden. Dabei wird die Reihenfolge der zu startenden Programme nicht mehr aus den symbolischen Links in bis zu acht Verzeichnissen bestimmt, sondern aus einer einzigen Konfigurationsdatei. Dieser Mechanismus wird durch das Paket file-rc aktiviert.
Debian GNU/Linux ist konform mit der Linux Filesystem Structure (FSSTND). Daher befinden sich alle Konfigurationsdateien ausnahmslos unterhalb des Verzeichnisses /etc. So muß nicht lange auf der Festplatte gesucht werden, sondern lediglich in einem einzigen Verzeichnis. Um ein Backup der zweitwichtigsten Daten zu erhalten, reicht es aus, dieses Verzeichnis regelmäßig auf einem anderen Medium zu sichern
Obwohl Debian dieses Mal nur für zwei Architekturen freigegeben wurde, bedeutet es noch lange nicht, daß die Distribution nicht auch auf anderen läuft. Es gibt wohl nur wenige Architekturen, für die kein Port in Arbeit ist. Dank Unterstützung von außerhalb stehen den Entwicklern für die Portierung der Distribution verschiedene Maschinen zur Verfügung. Direkt am Netz befinden sich zu diesem Zweck Amiga, PowerPC, Netwinder (ARM) und UltraSPARC Maschinen. Weitere Rechner stehen bei den Portierern Zuhause oder auf der Arbeit.
Die Portierung des Systems hat seit Veröffentlichung des stabilen Hurd-Kernels einen weiteren Höhepunkt erreicht. Eine Reihe vom Leuten arbeitet zusammen mit dem Hurd-Team an der Portierung von Debian auf dieses System. Wir dürfen also Debian GNU/Hurd erwarten. Irgendwer hatte dpkg doch auch schon auf HP-UX portiert...
Aus Gründen der Kompatibilität enthält diese Distribution auch weiterhin eine libc5 sowie Werkzeuge, um auch fortan Programme mit dieser älteren System-Bibliothek zu erzeugen. Für die Benutzer ändert sich daher nach Umstieg auf die neue Version nichts. Zusätzliche Pakete (StarOffice, Netscape, Applix), die noch auf der libc5 basieren werden auch weiterhin wie gewohnt funktionieren.
Wer mit seinem Rechner am Internet angeschlossen ist, der kann sein Debian-System jederzeit auf den neuesten Stand bringen. Für das Paketverwaltungsprogramm dselect sowie dessen Nachfolger apt und apt-get wurden spezielle Methoden entwickelt, die neben CDROM, Festplatten und NFS auch Zugriffe auf die Debian-Archive via FTP und HTTP ermöglichen.
Obwohl Debian GNU/Linux zu 100% aus freier Software besteht, akzeptieren die Entwickler dennoch, daß einige Anwender auf nicht freie Software angewiesen sind. Leider sind noch nicht alle Programme in der entsprechenden Qualität durch freie Versionen ersetzt worden.
Daher stellt Debian seine Infrastruktur (FTP-Server, Mailing Listen, Bug Tracking System, Mail Aliase) auch für diese Pakete zur Verfügung. Auf dem FTP-Server werden daher zwei weitere Bereiche gepflegt, in der diese nicht freie Software enthalten ist. Sie wird unterhalb der Verzeichnisse contrib und non-free einsortiert.
Im Bereich contrib liegen Pakete, die gemäß o.g. Richtlinien zwar frei wären (bzw. dessen Quellcode frei ist), die jedoch zur Arbeit nicht-freie Komponenten benötigen. Dieses kann z.B. ein nicht freies Widget-Set sein oder eine nicht freie SQL Datenbank.
Diese beiden Teile sind keine Bestandteil von Debian GNU/Linux. Da jedoch akzptiert wurde, daß einige Anwender diese benötigen, werden diese Pakete innerhalb der Infrastruktur von Debian GNU/Linux gewartet.
Paketverwaltung
Debian setzt auch weiterhin auf das bewährte .deb-Format. Dieses wurde speziell für die Bedürfnisse von Debian GNU/Linux entwickelt und erweitert. Erst durch die damit gebotenen Möglichkeiten und darin verwendeten Werkzeugen wurden Debian-Pakete so flexibel und wohl durchdacht wie sie sich dem Benutzer darstellen.
Ein Debian-Paket ist erheblich mehr als nur ein compiliertes und mit dpkg-deb eingepacktes Paket. Ein solches muß sich in das bestehende System einpassen. Das bedeutet als erstes, daß die Konfigurationsdateien ausschließlich innerhalb von /etc gespeichert werden.
Zusätzliche Programmdateien werden in /usr/lib/paket abgelegt. Die im Paket enthaltenen Programme werden sauber getrennt in /usr/bin und /usr/sbin plaziert. Die Dokumentation des Pakets teilt sich auf in Manual-Seiten, Info-Seiten und weitere Dateien. Letztere werden in /usr/doc/paket gespeichert.
Jedes installierte Paket muß direkt nach der Installation einsatzfähig sein. Gegebenenfalls müssen die Konfigurationsdateien während der Installation vollautomatisch auf die lokalen Gegebenheiten angepaßt werden. Es kann nicht angehen, daß sich der Anwender erst durch einen wilden Haufen Dokumentation arbeiten muß, bevor er überhaupt Resultate sieht. Dieses Grundverständnis dem Benutzer gegenüber zieht sich durch die gesamte Paket-Erzeugung.
Pro Paket werden innerhalb eines Headers Abhängigkeiten und Konflikte definiert. So wird z.B. ausgeschlossen, daß Smail und sendmail gleichzeitig installiert werden. Da beide Pakete die gleiche Funktionalitäten bieten, würden sie sich sonst gegenseitig in die Quere kommen.
Gleichzeitig wird durch die Abhängigkeiten zu jeder Zeit gewährleistet, daß alle von einem Pakete benötigten Komponenten auch installiert sind. Dieses macht sich insbesondere bei großen Applikationen positiv bemerkbar, da sie oftmals auf einer ganzen Reihe von Bibliotheken und System-Programmen aufsetzen.
Das Gnome-Panel benötigt zum Beispiel 10 unterschiedliche Bibliotheken in bestimmten Versionen. Das entsprechende Debian-Paket läßt sich daher nur dann installieren, wenn diese Bibliotheken ebenfalls installiert sind. Ohne diese Abhängigkeiten stellt es sich erheblich schwieriger dar, aktuelle Software zu installieren. Man müßte sich selbst darum kümmern, daß alle benötigten Bibliotheken in den passenden Versionen vorliegen. Solch stupide Tätigkeiten sollten Programmen überlassen werden.
Eine weitere Besonderheit besteht in Abstraktionsebenen verschiedener Systemeigenschaften. In einem Unix-System gibt es verschiedene Mechanismen oder Dateien, die von mehreren Programmen gleichzeitig benutzt oder "gefüttert" werden. Zudem kann es vorkommen, daß mehrere Pakete die gleichen Mechanismen und Funktionalitäten zur Verfügung stellen.
Wenn alle beteiligten Programme jedoch anfangen würden, die entsprechenden Daten eigenmächtig zu verändern, dann wird man schnell ein inkonsistentes System erhalten. Der Grund dafür läge in der Verwendung nicht einheitlicher Methoden, diese Mechanismen zu manipulieren.
Auch dieses wird innerhalb von Debian GNU/Linux beachtet. Für derartige Mechanismen wurden Abstraktionsebenen eingeführt. Zur Verwaltung wurden Werkzeuge entwickelt, die von den Paketen aufgerufen werden können. Damit wird eine einheitliche Schnittstellen geboten und das Paket muß sich nicht mehr um Dateiformate oder jeweils aktivierte Mechanismen kümmern.
Auf diese Weise wird z.B. der alternative Boot-Mechanismus realisiert. Die Pakete selbst verwalten die Links im herkömmlichen SysV Stil nicht selbst. Sie rufen lediglich das Programm update-rc.d mit entsprechenden Parametern auf. Analog dazu werden beim Booten eines Debian-Systems zwei Skripte verwendet, die diese Struktur interpretieren und die Programme starten.
Um diesen Mechanismus auf /etc/runlevel.conf umzustellen, mußten daher lediglich diese Programme neu geschrieben bzw. auf die geänderte Konfigurations-Grundlage angepaßt werden. Der neue Mechanismus paßt sich daher problemlos in das bestehende System ein.
Gleiches gilt für zwei alternative Internet Super-Server: inetd und xinetd. Um Programme vom inetd starten zu lassen, werden diese mit dem Programm update-inetd eingetragen. Dieses Programm wird derzeit für die Steuerung des xinetd umgeschrieben.
Zu jedem Debian-Paket gehören bis zu vier verschiedene Skripte, die vor bzw. nach der Installation und Deinstallation ausgeführt werden. Dadurch erlangen die Pakete ihre maximale Flexibilität. In diesen Skripten können Justierungen der Pakete vorgenommen werden. Müssen Konfigurationsdateien den lokalen Gegebenheiten angepaßt oder kopiert werden, so geschieht das hier.
Diese Skripte sorgen zudem dafür, daß Konfigurationsdateien übernommen werden, wenn sich dessen Ort im Dateisystem geändert hat. In diesen Skripten werden verschiedene Mechanismen verwendet, um Dateien im System zu registrieren. So z.B. Info-Dateien, Wörterbücher, Programme, die Dateien gemäß MIME-Typen darstellen u.s.w.
Überdies lassen sich mit dem Programm alien auch Pakete anderer Systeme auf einem Debian-System installieren. So können transparent Pakete von z.B. RedHat, Slackware, SuSE, Stampede etc. eingespielt werden.
Abbildung 2: Zutaten eines Debian-Paketes
Mitarbeit erwünscht
Wie bisher gesehen, wurde sehr viel Energie in das System und seine Komponenten gesteckt. Dieser Aufwand kann kaum von einer Firma getrieben werden. Hinter Debian steht auch keine einzelne Firma. Diese Distribution wird gemeinschaftlich im Internet zusammengestellt, von Leuten, die freie Software fördern möchten.
Mittlerweile arbeiten ca. 400 Leute aus allen Teilen der Erde an Debian GNU/Linux mit. Damit ist Debian wohl das weltweit größte Software-Projekt, das ausschließlich aus freiwilliger Arbeit besteht und zusammengehalten wird. Koordiniert wird die Arbeit über Mailinglisten und einigen Channels im IRC.
Bei Debian GNU/Linux handelt es sich um die einzige Distribution, an der jeder selbst mitarbeiten kann. Dabei legt jeder für sich selbst fest, wieviel und was er übernehmen möchte. Es müssen auch nicht nur Programmierer sein, die Pakete warten. Fast noch wichtiger sind kompetente Leute, die Spaß haben, Dokumentation zu erstellen und das System auf Herz und Nieren zu testen.
Interessierte Leute sind daher eingeladen, selbst am System mitzuarbeiten. Der beste Grund, selbst Debian-Entwickler zu werden, ist immer noch das Fehlen eines Pakets freier Software, das selbst verwendet wird. Dazu sollte man sich auf der wichtigsten Mailingliste debian-devel einschreiben und die auf http://www.de.debian.org/developers_corner angegebene Dokumentation durchlesen.
Nur auf diese Weise kann gewährleistet werden, daß dieses komplexe System weiterentwickelt und auf dem Laufenden gehalten wird. Die Paketbetreuer behalten neue Versionen von den Paketen im Auge, die sie selbst betreuen. Meistens wird bereits kurz nach Veröffentlichung einer neuen Version auch ein neues Paket für Debian auf den Server geladen.
Zusätzlich stellt das Bug Tracking System eine Schnittstelle für Tester und Anwender zur Verfügung. Das System steht für jeden offen und E-Mail genügt, um über das System Fehler berichten oder den Status abfragen zu können. Jeder Benutzer hat damit die einmalige Chance, selbst dafür zu sorgen, daß etwaige Fehler und Unstimmigkeiten beseitigt werden. Die Betreuer der Pakete werden über Eingänge und Ergänzungen benachrichtigt und beheben die Probleme ihrerseits.
Selbstredend werden die von Debian-Entwicklern erarbeiteten Bugfixes jeweils an die eigentlichen Autoren der Pakete geschickt. Damit kann die gesamte Freie Software Gemeinde davon provitieren und nicht nur Benutzer dieser Linux Distribution.
Support
Da Debian nicht von einer Firma hergestellt wird, ist auch keine einzelne Firma für die Verbreitung verantwortlich. Debian, als freies Software-Projekt im Internet, stellt die komplette Distribution per FTP auf ftp.debian.org sowie auf zahlreichen weiteren Servern (z.B. ftp.de.debian.org) zur Verfügung.
Da die Distribution beliebig kopiert und weitergegeben werden darf, können sich CD Hersteller einen Abzug erstellen und auf CD's veröffentlichen oder direkt die offiziellen CD-Images verkaufen. Den Herstellern der CD's entsteht daher selbst nur wenig Arbeit bei der Zusammenstellung der CD's. Daher sind CD's mit Debian GNU/Linux entgegen der Qualität der Distribution oftmals für wenig Geld zu haben.
Die Unterstützung von Anwendern und Entwicklern bei ihren Problemen, ist ein wichtiger Punkt einer Distribution. Da für diese Distribution jedoch keine Firma verantwortlich ist, wird man vergeblich nach eine Telefon-Hotline suchen.
Dieses stellt jedoch keineswegs einen Nachteil dar, denn so stehen ganz andere Möglichkeiten und Foren zur Verfügung. Die meisten Probleme werden via Mail auf internationalen und deutschsprachigen User-Listen behandelt. Die Adressen sind debian-user@lists.debian.org für die internationale und debian-user-de@jfl.de für die deutschsprachige Mailing-Liste.
Beide Mailing-Listen werden im Web archiviert. Auf http://www.jfl.de/cgi-bin/debian/debian wird die deutschsprachige und auf http://lists.debian.org/ die internationale archiviert. Auf beiden Mailing-Listen kann man sich zudem direkt eintragen. Um sich auf die deutschsprachige Liste einzutragen, muß eine Mail an Majordomo@jfl.de geschickt werden mit den Worten subscribe debian-user-de in der Mail. Auf die internationale Liste kann man sich über http://www.de.debian.org/MailingLists/subscribe eintragen.
Für Entwickler steht zudem noch debian-devel@lists.debian.org zur Verfügung. Probleme beim Portieren auf nicht-intel Architekturen werden auf speziell dafür vorgesehenen Listen diskutiert.
Noch schnelleren Support als über die Mailing-Listen kann man oft über einen IRC-Channel erhalten. Im Openprojects-Net, mit dem auch irc.eu.debian.org verbunden ist, tummeln sich meistens einige aktive Debian-Entwickler im Kanal #Debian. Dieser Kanal ist zudem querverlinkt mit gleichnamigen Kanälen im Efnet, IRCnet und Undernet.
Blick in die Zukunft
Während diese Distribution noch vor 2 Jahren eher als Geheimtip galt, erfreut sie sich inzwischen weiter Verbreitung. Dieses spiegelt sich sowohl im Umfang als auch in der Qualität wieder. Zudem steigt die Zahl der aktiv an Debian - und an anderen Projekten - entwickelnden Leute.
Seit einiger Zeit existieren zudem zwei weitere Distributionen, die auf Debian GNU/Linux basieren. Eine davon ist die in Deutschland entwickelte Eagle Linux Distribution für Rechner mit Motorola MC68000er Prozessor. Die zweite ist für Deutsche weniger interssant, denn es ist die russische Linux-Distribution YeS.
Unabhängig davon wird in Japan an Debian-JP gearbeitet. Dieses ist keine vollkommen eigenständige Distribution, denn es wird versucht, die Pakete in die Hauptdistribution zu integrieren. Hinzugekommen ist in den letzten Wochen ist zudem das französisches "Projet Linux Edu". Dort wird eine französische Distribution für den Einsatz im Bildungsbereich auf Basis von Debian erstellt.
Die hohe Qualität von Debian GNU/Linux hatte innerhalb der letzten 18 Monate zur Folge, daß immer mehr Leute diese Distribution ausprobiert haben und bei ihr geblieben sind. Durch die Möglichkeit Feedback zu geben, wirkt sich dieses natürlich positiv auf die Qualität aus.
Der Erfolg von Debian hat weitführende Auswirkungen gezeigt. Nicht zuletzt durch den positiven Einfluß und die große Akzeptanz des Bug Tracking Systems, betreibt inzwischen eine weitere große Distribution ebenfalls ein öffentlilches Bug Tracking System.
Durch die positiven Auswirkungen von Debian im Bereich freier Software wurde der Dachverband "Software in the Public Interest" (SPI) gegründet. Dieser fördert neben der Debian-Distribution weitere Projekte freier Software wie z.B. Gnome und Berlin.
Referenzen
[1] Debian GNU/Linux
[2] GNU General Public License (GPL)
[3] Social Contract / Debian Free Software Guidelines
[4] Linux Filesystem Structure (FSSTND)
[5] Portierungen von Debian GNU/Linux
[6] Eintragen auf den Mailing-Listen
[7] Eagle Linux
[8] Projet Linux Edu
[9] Japanisches Debian GNU/Linux
[10] YeS - Russisches Debian GNU/Linux
[11] Software in the Public Interest, Inc.
![[Screenshot]](debscreen-small.png)