AA_cord_goodmorph_sxc_1166496.jpg

© Goodmorph, sxc.hu

Paketbau in Eigenregie mit Checkinstall

Gut geschnürt

Ihr Lieblingsprogramm gibt es nur als Quelltext zum Selberbauen? Kein Problem: Mit Checkinstall bekommen Sie die Software sauber ins System und auch wieder heraus.

Linux-Anwender sehen sich heute selten mit der Situation konfrontiert, Software aus Quellcode übersetzen und installieren zu müssen. Die Paketquellen aller wichtigen Distributionen zeigen sich bestens bestückt, bei Debian "Squeeze" finden sich beispielsweise über 29 000 Pakete in den Repositories [1]. Hinzu kommen zahlreiche Spezialquellen mit launigen Namen wie Launchpad, Packman, RPM Fusion, Medibuntu oder Demudi, die weitere Pakete anbieten.

Manchmal kommt es trotzdem vor, dass Sie auf der Suche nach einem Programm auf Freecode [2] oder Sourceforge [3] nur auf den Quellcode stoßen. Dann heißt es selbst Hand anlegen. Gleiches gilt, wenn Sie auf die neuste Entwicklerversion angewiesen sind und diese direkt aus dem Versionskontrollsystem ausbuchen.

Licht und Schatten

Zwar erweist sich der Zugriff auf den Quellcode zweifelsohne als Vorteil von Linux gegenüber proprietären Plattformen, der Einsatz von Sourcen bringt aber – vom Aufwand des Übersetzens einmal ganz abgesehen – auch Probleme mit sich. Schließlich haben die Entwickler nicht umsonst das Paketmanagement erfunden und pflegen ihre Ansätze mit meist großen Aufwand.

Wer Software mit dem Compiler übersetzt und mit make install ins System integriert, der mogelt sich an den Paketmanagementsystemen vorbei. Diese bemerken solche Software schlicht nicht und berücksichtigen sie folglich nicht beim Prüfen von Abhängigkeiten. Dabei geht zwangsläufig irgendwann der Überblick über die installierte Software verloren. Zudem lässt sich auf diese Weise installierte Software nur mit Mühe wieder entfernen, weil viele Entwickler dem Makefile das dazu erforderliche Ziel uninstall nicht beifügen.

Das Aktualisieren einer direkt aus den Quellen eingerichteten Software fällt ebenfalls kompliziert aus. Weitere Probleme drohen bei selbst übersetzten Bibliotheken: Installieren Sie ein anderes Programm, das die selbe Bibliothek benötigt, ganz regulär mit Hilfe des Paketmanagements, bemerkt dies das Vorhandensein der Bibliothek nicht und behandelt sie als fehlende Abhängigkeit.

Gern führen Verfechter des manuellen Paketbaus das Argument des komfortablen Verteilens an, was für den Einsatz des im folgenden vorgestellten Tools Checkinstall [4] aber nicht zutrifft: Das Tool schafft Probleme mit Abhängigkeiten nicht oder nur bedingt aus der Welt.

Wer also den Bau von Paketen anstrebt, um Software für bestimmte Distributionen zu verteilen, dem bleibt kaum eine Alternative zu manuellen Verfahren wie Dpkg-deb (Debian/Ubuntu) oder Rpmbuild (Fedora/OpenSuse). Das bedeutet aber einen erheblichen Aufwand und setzt grundlegende Kenntnisse im Paketbau sowie im Umgang mit Entwicklungswerkzeugen voraus.

Funktionsumfang

Möchten Sie dagegen auf einem lokalen Rechner Software über das Paketmanagement verwalten, eignet sich die automatische Methode mit Checkinstall optimal – und genau dafür ist sie gedacht. Das pfiffige kleine Skript von Felipe Eduardo Sánchez Díaz Durán kursiert seit vielen Jahren – erste Versionen stammen aus dem Jahr 2000.

Checkinstall erstellt aus einem vorkompilierten Quelltextpaket automatisch ein Distributionspaket. Das funktioniert via Parameter wahlweise für Debian, OpenSuse oder sogar Slackware. In Abhängigkeit des zugehörigen Parameters spuckt es am Ende ein passendes Paket aus. Die über Jahre am häufigsten eingesetzte Checkinstall-Version 1.6.1 datiert auf 2006, die noch aktuelle und in nahezu allen Distributionen enthaltene Version 1.6.2 immerhin auf das Jahr 2008.

Gemäß Beschreibung in den Debian Paketquellen handelt es sich bei dem Programm um einen "Installations-Verfolger", was ziemlich treffend beschreibt, was das Skript tut: Checkinstall überwacht die Anpassungen von Installationsroutinen wie make install und erstellt aus den gesammelten Daten ein Paket. Sie können das erstellte Paket dann nutzen, um die Software bei Bedarf wieder vom System zu entfernen, theoretisch aber auch, um sie auf anderen Rechnern zu installieren.

Letzteres funktioniert nur bedingt, je nachdem ob das Programm Abhängigkeiten aufweist und welcher Art diese sind. Außerdem gibt es weitere Einschränkungen: Das Skript funktioniert nicht bei Programmen, die statisch gegen die Libc linken, oder bei solchen, bei denen das SUID/GUID-Bit gesetzt ist.

Checkinstall erledigt seine Aufgabe arbeitsteilig: Nach dem Sammeln der Informationen erstellt es ein weiteres, temporäres Skript und führt dieses wiederum mit dem Skript installwatch aus, das ebenfalls zum Umfang von Checkinstall gehört. Dieses wiederum greift auf eine Bibliothek zurück, die letztendlich die Dateizugriffe protokolliert.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Pakete bauen ohne Mehraufwand
    Selbst kompilierte Software fällt durch das Paketmanagement-Raster – oft mit unangenehmen Folgen. Hier schafft Checkinstall unkompliziert Abhilfe.
  • Baumeister
    Beim Bau von Softwarepaketen für eine bestimmte Distribution führen viele Wege zum Ziel. Checkinstall bietet vermutlich den einfachsten Weg, um selbst kompilierte Software mit der Paketverwaltung zu versöhnen.
  • checkinstall
    Wer unter Linux viel aktuelle Software ausprobiert, kennt das Problem: Neueste Programmversionen existieren oft nur als tar-Archiv und lassen sich lediglich unter Klimmzügen wieder deinstallieren. Checkinstall schafft Abhilfe.
  • Wie am Schnürchen
    In nur wenigen Schritten verwandeln Sie ein Quelltextarchiv in ein vollwertiges Debian-Paket.
  • RPM-Pakete selbst bauen
    Die meiste Software für Linux liegt im Quellcode vor und muss kompiliert werden. Dies geht schnell von der Hand, doch spätestens wenn man eine Anwendung wieder loswerden will, fangen die Probleme an.
Kommentare

Infos zur Publikation

LU 12/2016: Neue Desktops

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Drucker Epson XP-332 unter ubuntu 14.04 einrichten
Andrea Wagenblast, 30.11.2016 22:07, 1 Antworten
Hallo, habe vergeblich versucht mein Multifunktionsgerät Epson XP-332 als neuen Drucker unter...
Apricity Gnome unter Win 10 via VirtualBox
André Driesel, 30.11.2016 06:28, 2 Antworten
Halo Leute, ich versuche hier schon seit mehreren Tagen Apricity OS Gnome via VirtualBox zum l...
EYE of Gnome
FRank Schubert, 15.11.2016 20:06, 2 Antworten
Hallo, EOG öffnet Fotos nur in der Größenordnung 4000 × 3000 Pixel. Größere Fotos werden nic...
Kamera mit Notebook koppeln
Karl Spiegel, 12.11.2016 15:02, 2 Antworten
Hi, Fotografen ich werde eine SONY alpha 77ii bekommen, und möchte die LifeView-Möglichkeit nu...
Linux auf externe SSD installieren
Roland Seidl, 28.10.2016 20:44, 1 Antworten
Bin mit einem Mac unterwegs. Mac Mini 2012 i7. Würde gerne Linux parallel betreiben. Aber auf e...