Gratiszugabe

Pakete bauen ohne Mehraufwand

01.07.2006
Selbst kompilierte Software fällt durch das Paketmanagement-Raster – oft mit unangenehmen Folgen. Hier schafft Checkinstall unkompliziert Abhilfe.

Viele Programme und Bibliotheken sind unter Linux nicht als fertiges Paket, sondern nur im Quelltext verfügbar. Haben Sie die Software erfolgreich übersetzt, bleibt dennoch ein elementares Problem: Das Paketmanagement sieht die mit make install hinzugefügten Dateien nicht, der Überblick über die installierte Software geht leicht verloren. Darüber hinaus lässt sich die Software oft nur schwer wieder entfernen – längst nicht alle Entwickler fügen dem Makefile das dafür erforderliche Ziel uninstall hinzu. Besondere Schwierigkeiten ergeben sich bei selbst übersetzten Bibliotheken. Benötigt ein via Paketmanager einzurichtendes Programm ein solche Library, wird sie als fehlende Abhängigkeit gemeldet, obwohl sie installiert ist.

Als Ausweg bleibt nur, ein passendes Paket zu bauen. Wollen Sie die übersetzten Binärdateien aber nicht weiterverteilen, lohnt es kaum, ein Paket händisch zu erzeugen – das Programm läuft schließlich auch ohne diesen zusätzlichen Aufwand.

Eine Lösung bietet Checkinstall: Nach der Installation des Skripts [1] bauen Sie RPM-, Debian- oder Slackware-Pakete mit minimalem Aufwand. Im Idealfall genügt es, als Root aus dem Quellverzeichnis heraus checkinstall statt make install aufzurufen, den Pakettyp zu wählen und eine Beschreibung für das Paket einzugeben. Weitere Informationen liefert checkinstall --help.

Checkinstall zapft bestimmte System-Calls an, während make install abläuft. So findet es heraus, welche Dateien in das Paket gehören. In manchen Fällen funktioniert dieses Verfahren nicht. Doch wenn alles glatt geht, stehen Ihnen ohne Zusatzaufwand Pakete zur Verfügung, die mit dem Paketmanager Ihrer Distribution zusammenarbeiten.

Feinabstimmung

Die meisten Informationen wie Version oder Paketname findet Checkinstall selbst heraus. Vor dem Bau des Pakets zeigt es diese Informationen an und ermöglicht es, sie zu verändern. Zwei der Werte verdienen besondere Aufmerksamkeit: Group bezeichnet die Software-Kategorie, in der der Paketmanager das Programm anzeigt. Hier trägt Checkinstall standardmäßig checkinstall ein, sodass alle mit dem Tool gebauten Pakete in einer eigenen Gruppe landen. Möchten Sie das nicht, dann geben Sie stattdessen übliche Kategorien wie Application/Text ein. Unter Requires geben Sie bei Bedarf Paketabhängigkeiten an: Verwenden Sie den Paketnamen in Kleinbuchstaben ohne Versionsnummer und trennen Sie mehrere Einträge durch ein Komma. Fehlen die Abhängigkeiten, kann es wie bei mit make install installierter Software passieren, dass das Programm nicht mehr läuft, wenn Sie benötigte Komponenten deinstallieren.

Wenn Sie Checkinstall zum Erstellen von RPM-Paketen benutzen, schwächt das intern genutzte rpmbuild die Abhängigkeitsproblematik etwas ab: Es untersucht Programm-Binaries auf Bibliotheken, gegen die sie gelinkt sind. Das erfasst allerdings nicht unbedingt alle Abhängigkeiten: Grafische Frontends für Kommandozeilen-Tools zum Beispiel rufen zwar andere Programme auf, sind aber nicht gegen Sie gelinkt.

Mit Checkinstall gebaute Debian-Pakete beschreiben grundsätzlich keine Abhängigkeiten. Auch die manuelle Eingabe von Abhängigkeiten funktioniert im Moment nicht. Einziger Ausweg: Sie rufen Checkinstall mit der Option --review-control auf. Wenn Sie sich mit den Interna von Debian-Paketen auskennen, können Sie hier die control-Datei anpassen und unter anderem Abhängigkeiten spezifizieren. Die entsprechende Option für RPM-Pakete heißt review-spec.

Ob Sie die Abhängigkeitsproblematik nun per Hand korrigieren oder nicht – zwei Vorteile bietet die Installation von selbst kompilierter Software mit Checkinstall auf jeden Fall: Der Paketmanager weiß, dass die Software installiert ist und Sie können sie auf jeden Fall wieder deinstallieren.

Infos

[1] Checkinstall-Homepage: http://asic-linux.com.mx/~izto/checkinstall/

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Paketbau in Eigenregie mit Checkinstall
    Ihr Lieblingsprogramm gibt es nur als Quelltext zum Selberbauen? Kein Problem: Mit Checkinstall bekommen Sie die Software sauber ins System und auch wieder heraus.
  • 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.
  • Software
Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.