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
,
welches bis heute ein robuster Grundstein des Systems geblieben ist.
Dabei steht d für Debian und pkg für Package. 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.4, „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“) 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).