Debian: Längst kein Kind mehr (iX 10/98)

Am 24. Juli wurde die Version 2.0 von Debian GNU/Linux offiziell freigegeben. Eine mehr als halbjährige Testphase stellt die stabile Umstellung auf die aktuelle GNU libc 2.0 sicher.
[Debianlogo]

Debian GNU/Linux 2.0 freigegeben

Während Debian GNU/Linux noch vor drei Jahren als echter Geheimtip galt, gehört sie heutzutage zu den drei größten Linux-Distributionen. Die neueste Version wurde gleichzeitig für intel-PCs und MC68000er-PCs freigegeben.

Debian nimmt einen besonderen Platz innerhalb der verschiedenen Distributionen ein. Sie besteht zu 100% aus freier Software. Was in diesem Zusammenhang "frei" bedeutet, definierten die Debian-Entwickler im eigenen Gesellschaftsvertrag. (siehe Quellen) Überdies wird Debian von Freiwilligen im Internet zusammengestellt und nicht von einer Firma oder Personengruppe in einer Universität.

Nach über einjähriger Entwicklungszeit basiert diese Version vollständig auf der aktuellen Version 2.0 der GNU C-Bibliothek alias libc6. Debian war die erste Distribution, bei der begonnen wurde, auf diese Bibliothek umzustellen. Die Umstellung zog sich jedoch länger hin, da sichere Wege entwickelt werden mußten, das System ohne Zusammenbruch aufzurüsten.

Diese Umstellung war erforderlich, da die neuere Version nicht nur Bugfixes und Erweiterungen enthielt, sondern auch dingend benötigte Unterstützung weiterer Architekturen. (siehe Kasten) Teilweise muß für die Portierung sogar eine Vorabversion von 2.1 verwendet werden.

Aus Gründen der Kompatibilität ist bei Debian ebenfalls eine libc5 enthalten sowie eine libc5-basierte Entwicklungsumgebung. Die verwendete Version 5.4.38 ist eine der neuesten Versionen der libc5. Wer auf kommerzielle Programme wie z.B. StarOffice angewiesen ist, der kann diese selbst nach Umstieg auf Debian 2.0 problemlos weiterbenutzen.

Ganz dem Linux-Gedanken folgend wird das System gemeinschaftlich im Internet erstellt. Die rund 400 Entwickler sind in allen Ecken der Erde verstreut. Das Projekt wird koordiniert über eine Reihe von Mailing-Listen und IRC-Kanäle. Ein Teil der Kommunikation zwischen Anwendern und Entwicklern findet über das öffentlichen Bug Tracking System statt, in dem jeder Fehler via Email berichten kann.

Das System besteht insgesamt aus rund 1100 Quellcode-Paketen und 1500 vorkompilierten Binärpaketen. Diese sind derart zusammengebaut und vorkonfiguriert, daß sie sich perfekt in das System eingliedern und ohne Modifikationen lauffähig sind. Die auffälligsten Eigenschaften bestehen in den gut definierten Abhängigkeiten zwischen einzelnen Paketen und dem Schutz der Konfigurationsdateien, die ausnahmslos in "/etc" gespeichert sind.

[Screenshot]

Abbildung 1: Desktop mit Debian GNU/Linux

Durchdachte Technik

In der Zusammenstellung von Paketen hat Debian ganz klar die Nase vorn. Dazu wird auch weiterhin auf das bewährte und eigens entwickelte Dateiformat .deb gesetzt, welches die benötigte Flexibilität bietet. Mit den regulären Unix-Werkzeugen "ar", "tar" und "gunzip" können Debian-Pakete auch auf nicht-Debian Systemen ausgepackt werden. Hinzu: Mit folgendem Befehl listete man z.B. den Inhalt eines Debian-Pakets auf:

ar -p roxen_1.2beta2-3_i386.deb data.tar.gz |tar tvfz -

Umgekehrt können fremde Pakete anderer Distributionen (.rpm, .tgz und .slp) mit dem Programm "alien" umgewandelt und installiert werden.

Technisch gesehen ist ein .deb nichts weiter als ein mit ar erstelltes Archiv von zwei komprimierten Archiven und einer Versionsdatei. Die eingepackte Kontrolldatei control.tar.gz enthält die zur Verwaltung benötigten Informationen wie Beschreibungen, Abhängigkeiten, Konflikte, Name des Betreuers, Belegter Speicherplatz, Konfigurationsdateien und bis zu vier zusätzliche Skripte. Diese werden während der Installation oder dem Löschen des Pakets aufgerufen, jeweils vorher oder im Anschluß daran. In ihnen werden alle nötigen Anpassungen des Pakets oder des Systems vorgenommen. Das zweite Archiv data.tar.gz enthält alle Dateien, die im System installiert werden. Die darin enthaltenen Konfigurationsdateien werden beim Auspacken gesondert betrachtet. Anhand der MD5-Quersumme wird überprüft, ob die Datei lokal verändert wurde und fragt den Benutzer ggf. bevor die neue Version installiert wird.

Das ausgeklügelte System von Abhängigkeiten zwischen den Paketen stellt sicher, daß alle von einem Paket benutzten Komponenten ebenfalls installiert sind. Das mag im Paketmanager etwas umständlich anmuten. Es beschert dem Anwender jedoch erheblich weniger Streß bei der Installation von großen Paketen (wie z.B. Gnome), die viele andere Pakete in ganz bestimmten Versionen voraussetzen.

Zusätzliche Mechanismen sorgen dafür, daß sich neue Pakete genau 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 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.).

Um dieses zu erreichen, sind auf einem Debian-System spezielle Programme vorhanden, die von den Installations-Skripten (siehe oben) aufgerufen werden können. update-menus erzeugt z.B. die Menüstruktur für die Window-Manager neu, update-alternatives sorgt dafür, daß eines von mehreren gleichartigen Programmen (z.B. fünf vi's) unter einem einheitlichen Namen aufgerufen wird. Die Kernel-Module werden mit update-modules, Wörterbücher mit update-ispell-dictionary, MIME-Betrachter mit update-mime verwaltet u.s.w.

Die Liste ließe sich noch weiterführen. Hinzu kommt eine Reihe von Konfigurationsprogrammen, mit denen der Anwender einzelne Pakete auf seine Bedürfnisse anpassen kann. Dazu gehören smailconfig für Smail, gpmconfig für GPM, bindconfig für den Nameserver, paperconfig für die eingestellte Papiergröße. Mit xbase-configure wird der X-Server eingerichtet u.s.w. Diese Programme werden normalerweise auf einem neuen System automatisch aufgerufen, Können jedoch später auch manuell gestartet werden.

Paketverwaltung nach wie vor gewöhnungsbedürftig

Während der Installation stößt man jedoch auf ein Manko. Das Programm zur Paketverwaltung war ursprünglich nur für einige Hundert Pakete vorgesehen. Es ist mit den über 1500 Paketen (oder sogar knapp 2000, wenn man nicht-freie Pakete hinzunimmt) leicht überfordert und stellt diese teilweise recht unübersichtlich dar. Die Tastaturbedienung ist ebenfalls leicht gewöhnungsbedürftig. Sich hier durchzubeißen lohnt sich jedoch, denn man erhält ein rundes und wohldurchdachtes GNU/Linux-System. Da zur Zeit ein neues Werkzeug zum Verwalten der Pakete entwickelt wird, darf man auf die nächsten Versionen gespannt sein.

Debian ist berühmt dafür, daß sich das System einfach über das Netz erneuern läßt. Neben der Möglichkeit, die Distribution von lokalen Speichermedien (CDROM, Festplatte, NFS-Server) aufzurüsten, wurden spezielle Methoden entwickelt, die auf FTP- und Webserver zugreifen. Damit kann das System einfach auf dem Laufenden gehalten werden, indem die Pakete nach der Installation hin und wieder mit diesen Servern abgeglichen werden. So können bequem Bugfixes eingespielt werden.

Portierungen

Ein Anliegen der "Macher" von Debian GNU/Linux ist es, das System auf verschiedenen Architekturen einsetzen zu können. Mit einem derartig universellen und qualitativ hochwertigen System lassen sich die Fähigkeiten verschiedener Rechner ausnutzen: Von herkömmlichen intel-basierten PC's über PowerPC- und Alpha-Systeme mit starken Rechenleistung und SPARCstation mit hervorragenden I/O-Eigenschaften bis hin zu speziellen Netwinder Terminals.

An jeder Portierung arbeiten meistens nur eine Handvoll bis zu einem Dutzend Personen mit. Sie haben aus historischen Gründen oder aus purem Interesse Rechner einer nicht-intel Architektur in ihrem Umkreis. Die Teil-Projekte werden zudem durch Spenden von Privatpersonen und Firmen unterstützt, die Rechner dieser Architektur zur Verfügung stellen. Auf diesen können alle Mitarbeiter von Debian Accounts erhalten und Software portieren.

Zudem laufen auf diesen teilweise sogenannte Auto-Compiler, die neu erstellte oder veränderte Pakete auspacken und selbstständig compilieren. Spezielle Werkzeuge kontrollieren diese. Damit können sich die Entwickler auf die "hartnäckigen" Fälle konzentrieren.

MC68000er

Dieses ist der erste Port des Systems auf eine neue Architektur. Daß sich die Mühe gelohnt hat, beweist die Freigabe von Debian GNU/Linux 2.0 für m68k sowie die auf der gleichen Arbeit basierende Eagle Linux Distribution.

Sun SPARC

Der zweite Port setzt Debian auf mehr oder weniger leistungsfähige SPARCstation (und sun4) um. Da fast alle Pakete portiert sind und an den Bootdisketten gearbeitet wird, ist eine Freigabe wahrscheinlich für Debian 2.1 zu erwarten.

Sun UltraSPARC

Diese Portierung - Codename UltraLinux - hat zur Zeit noch Probleme mit der GNU libc 2.1.

DEC Alpha

Auch die Portierung auf AXP-basierte Computer ist fast abgeschlossen. Das Team rechnet damit, es zusammen mit Debian 2.1 freizugeben.

PowerPC

Die Portierung auf Rechner mit PowerPC-Prozessor und PReP-, CHRP oder PowerMac-Architektur wurde 1996 durch Bereitstellung einer entsprechenden Maschine vorangetrieben. Da die meisten Pakete portiert sind, dar in einer der nächten Versionen mit einer Freigabe gerechnet werden.

ARM

Dieses ist der zweitjüngste Port. Vorangetrieben wird er durch Unterstützung von Corel-Computer, die ihre neuen Netwinder mit Debian GNU/Linux ausliefern möchten. Derzeit läuft auf diesen Rechnern ein kleines System samt Perl und einem X-Server.

Hurd

Dieses ist die wohl außergewöhnlichste Portierung, denn hier wird keine neue Architektur verwendet, sondern der Linux-Kernel wird durch den Mach Mikrokernel des aufkommenden GNU Hurd Systems ersetzt. Dieses Projekt befindet sich erst am Anfang enthält gerade einmal ein Basis-System mit Shell und dem Paketmanager dpkg.

Wer die vorherige Version 1.3.1 von Debian einsetzt, wird ebenfalls nicht zu einer Neu-Installation des Systems gezwungen. Selbst das u.U. gefährliche Aufrüsten der libc läßt sich im laufenden Betrieb durchführen. Zu diesem Zweck wurde ein spezielles "autoup"-Skript entwickelt, welches auf den offiziellen CD's enthalten ist.

Da sich Debian freier Software verschrieben hat, besteht die Distribution zu 100% aus freier Software. Nichtsdestotrotz akzeptieren die Entwickler, daß einige Benutzer auf nicht freie Software angewiesen sind. Diese Pakete sind zwar nicht Bestandteil von Debian, können jedoch über Infrastruktur von Debian gewartet werden. Sie werden auf dem FTP-Server ftp.de.debian.org in den speziellen Verzeichnissen "contrib" und "non-free" gespeichert.

Zu allen Paketen ist im "source"-Verzeichnis bzw. auf der Quellcode-CD der komplette Quellcode enthalten. Dieser ist fein säuberlich aufgeteilt in den ursprünglichen Teil (.orig.tar.gz) und in die von Debian vorgenommenen Änderungen (.diff.gz). Wer lieber kompiliert oder den Programmen hinter die Kulissen schauen möchte, braucht sich nur den ursprünglichen Teil auszupacken und ggf. den Debian-Patch darauf anzuwenden. Dieses kann automatisch mit "dpkg-source" geschehen oder mit allgemein unter Unix vorhandenen Werkzeugen wie "tar", "gunzip" und "patch".

Der Erfolg von Debian spiegelt sich in einigen daraus hervorgegangenen Projekten wider. Die russische Distribution YeS sowie ein französisches "Projet Linux Edu" basieren direkt auf Debian GNU/Linux. In Japan stellt Debian-JP Erweiterungen zur Distribution zur Verfügung, die nach und nach in das Original eingepflegt werden.

Lieferumfang und Preise

Anbieter

OfficialCD

Debian GNU/Linux 2.0 in Deutschland

Via FTP

Auf CD: JF Lehmanns
Lieferumfang: 4CD-Set, Debian GNU/Linux 2.0 mit KDE für intel-PC und m68k-PC, Booklet
Preis: 25,--

JF Lehmanns
Fachbuchhandlung
Hardenbergstr. 11
10623 Berlin
Te: 030/617911-0
Fax 030/61150-15

Alles in allem stellt Debian GNU/Linux ein sehr robustes und wohldurchdachtes System dar. Durch die Anzahl der Mitarbeiter ist die Aktualität und technische Qualität der Pakete sehr groß. Die Qualität des Systems macht den gewöhnungsbedürftigen Paketmanager jedoch allemal wett.

Referenzen
[1] Debian-Projekt/
[2] GNU General Public License (GPL)
[3] Social Contract / Debian Free Software Guidelines
[4] Bug Tracking System
[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] Anbieter
[12] Software in the Public Interest, Inc.
[13] Sönke Lange, Torsten Neumann, Martin Schulze; Linux-CD's; Wunschkiste; Komplett-Distributionen des freien PC-Unix im Vergleich; iX 11/95, S.97ff.
[14] André von Raison, Jens-Uwe Schmidt; Linux-Distributionen; Gut gemischt; Zehnmal Linux im Vergleich; iX 10/97, S.38ff.

Der Autor
studiert Informatik an der Universität Oldenburg. Er beschäftigt sich seit ca. fünf Jahren mit Linux und arbeitet an verschiedenen freien Softwareprojekten mit. (EMail: joey@infodrom.north.de)

Quelle: iX 10/98
Martin Schulze