1.4. Debians Paketsystem

Aus diesen Erfahrungen heraus startete 1993 das Debian-Projekt unter Ian Murdock [Debian-History] mit einer revolutionären Idee: dem Bereitstellen kompilierter, vorkonfigurierter und sauber aufeinander abgestimmter Softwarepakete. Es folgte die Entwicklung von dpkg (d für Debian und pkg für Package), welches bis heute ein robuster Grundstein des Systems geblieben ist. Das verwendete deb-Paketformat und die dazugehörigen Werkzeuge wurden später von etlichen Linux-Distributionen übernommen. Ausführlicher beleuchten wir diesen Aspekt in Abschnitt 1.5, „Welche UNIX-artigen Betriebssysteme verwenden das Paketformat und das APT-Paketmanagement“.

Bald aber stieß das Werkzeug dpkg an Grenzen: Es installiert lediglich deb-Pakete, löst aber die Abhängigkeiten zwischen einzelnen Paketen nicht automatisch auf. Zudem muss das Paket bereits lokal vorliegen, d.h. dpkg kann es nicht direkt aus einem FTP- oder HTTP-Archiv beziehen.

Daraufhin begann die Entwicklung von dselect, welches aus dem Quellcode von dpkg gebaut wird, aber als eigenständiges Programm gilt. Später folgten console-apt (inzwischen aufgegeben) und tasksel (siehe Abschnitt 6.3.1, „tasksel“), ab 1998 APT (Advanced Packaging Tool) sowie ab 1999 aptitude als Ncurses-basierte Oberfläche für dpkg. dselect wurde später weiterentwickelt und konnte somit auch APT als Backend benutzen.

Dabei lag die Zielrichtung auf der konsequenten Anwendung des UNIX-Prinzips „Ein Werkzeug für eine Aufgabe“. Das zeigt sich insbesondere darin, dass sich APT und aptitude an dpkg andocken und die verfügbaren Funktionen integrieren, indem die Programme bereits bestehende dpkg-Bibliotheken mitnutzen. Weitere Details dazu finden Sie in Abschnitt 2.3, „Softwarestapel und Ebenen“.

Heute stehen weitere textbasierte und graphische Benutzeroberflächen für dpkg zur Verfügung. Neben aptitude sind das Synaptic (siehe Abschnitt 6.4.1, „Synaptic“), PackageKit (siehe Abschnitt 6.4.5, „PackageKit“) – als Basis für Gnome-PackageKit und Apper bei KDE – sowie Muon (siehe Abschnitt 6.4.2, „Muon“), PackageSearch (siehe Abschnitt 13.4, „Debtags-Werkzeuge“), Xara [Debian-Paket-xara-gtk] und SmartPM (siehe Abschnitt 6.4.3, „Smart Package Management (SmartPM)“). Einen genaueren Blick werfen wir auf diese Programme in Kapitel 6, Werkzeuge zur Paketverwaltung (Überblick).