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

title_2014_10

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

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...