out of the box
Es gibt tausende Tools und Utilities für Linux. "out of the box" pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten.
Den Dreisatz ./configure; make; make install kennt wohl jeder, der schon ein Programm aus seiner Quelltext-Form installiert hat. Nur wenige Quellpakete unterstützen aber die saubere Deinstallation der mit make install ins Dateisystem kopierten Dateien [3]. Hier setzt checkinstall von Felipe Eduardo Sanchez Diaz Duran an.
Unter Verwendung der installwatch-Bibliothek überwacht das Programm alle Schreibaktionen, die bei make install oder einem entsprechenden Installationskommando getätigt werden, und merkt sich so eine Liste der neuen Dateien und Verzeichnisse.
Henne oder Ei?
Wenn Sie den GNU-C-Compiler bei der Hand und das fürs Kompilieren nötige Development-Paket glibc-dev (je nach Distribution kann es leicht verändert heißen) installiert haben, brauchen Sie nur noch eine virtuelle Reise nach Mexiko zu unternehmen, um sich von http://asic-linux.com.mx/~izto/checkinstall/ die Quellen für checkinstall zu besorgen.
Es klingt etwas verrückt, aber zur Installation von checkinstall benötigen Sie checkinstall. Natürlich gibt es einen Trick dabei: Das Programm wird zunächst mit dem üblichen Kommando make install installiert. Danach steht das neue Kommando checkinstall zur Verfügung, mit dem Sie die Installation wiederholen:
tar xzf checkinstall-1.5.1.tgz cd checkinstall-1.5.1 make su (root-Passwort eingeben) make install checkinstall exit
Bevor das neue Tool als Paket installiert wird, will checkinstall ein paar Informationen darüber haben, welcher Paketmanager auf dem System normalerweise eingesetzt wird. Auf dem System in Abbildung 1 kommt Debian GNU/Linux zum Einsatz, so dass sich dort die Auswahl d anbietet. Im nachfolgenden Menü zeigt checkinstall diverse Informationsfelder zum Paket, die meist mit sinnvollen Werten gefüllt sind. Über die entsprechende Ziffer ändern Sie den Inhalt eines Feldes.
Abschließend teilt checkinstall Ihnen mit, wie Sie das soeben installierte Paket wieder loswerden können. Im Beispiel lautet das Kommando dpkg -r checkinstall.
Trickserei
Allerdings haben wir checkinstall nicht installiert, um es sofort wieder zu entfernen. Diese Behandlung soll das Programm eher zukünftigen Softwarepaketen zukommen lassen, die sich als noch zu instabil oder zuwenig benutzbar herausstellen. Aber wie arbeitet checkinstall überhaupt?
Die Bibliothek installwatch ersetzt alle Dateifunktionen der Standard-C-Bibliothek durch eigene. Checkinstall benutzt nun den Preload-Mechanismus, um den Funktionen aus installwatch Vorrang vor den "echten" Funktionen zu geben. Die vorgeschalteten Funktionen protokollieren alle Schreibvorgänge und übergeben die so gewonnene Dateiliste an checkinstall. Dieses setzt wiederum den ausgewählten Paketmanager ein, um aus der Liste ein Slackware-, Red Hat- oder Debian-Paket zu erzeugen. Zum Schluss wird das frisch gebaute Paket mit dem distributionseigenen Paketmanager installiert.



