Debian Pakete mit checkinstall erstellen

2010-03-25 - kostaki 2 Kommentare »

Setzt man selbst kompilierte Software in einem Debian System ein umgeht man damit den Paketmanager, was zu Problemen führen kann. Außerdem bringen nur die wenigsten selbst kompilierten Programme eine Deinstallationsroutine mit, also muss man sie wenn nötig mühsam selbst aus dem System entfernen. Bei diesen Problemen kann einem checkinstall weiterhelfen. Checkinstall überwacht die Anpassungen von Installationsroutinen (z.B. make install) und erstellt aus den gesammelten Daten ein Paket. Im Fall von Debian natürlich ein .deb File, aber es kann auch .rpm oder Slackware Pakete erstellen. Dieses Paket kann man dann zum Deinstallieren der Software benutzen oder zum Installieren auf weiteren Systemen. Die Installation und Benutzung von checkinstall ist in Debian wie immer äußerst einfach.

$ aptitude install checkinstall

Anstelle eines make install, startet man checkinstall mit den nötigen Parametern. Wenn man kein Kommando übergibt, führt es Standardmäßig ein make install aus. Man kann das zu beobachtende Script aber auch angeben z.B. checkinstall -D install.sh. Ein weiterer Vorteil bei der Benutzung von checkinstall ist das man das kompilieren auf einem nicht Live System machen kann und das fertige Paket dann auf dem Live System nur noch installieren muss. Abhängigkeiten muss man selbst dabei selbst auflösen oder man gibt sie mit --requires an. Diese Funktion wird leider nirgends richtig beschrieben, aber sollte wie folgt funktionieren: --requires='make,gcc,bash'.

$ cd /tmp
$ apt-get source nano
dpkg-source: extracting nano in nano-2.0.7
dpkg-source: info: unpacking nano_2.0.7.orig.tar.gz
dpkg-source: info: applying nano_2.0.7-4.diff.gz
$ aptitude install libncurses5-dev
$ cd nano-2.0.7/
$ ./configure --prefix=/opt/nano
$ make

Anstelle von make install gibt man nun checkinstall -D (-D für Debian Paket) an.

$ checkinstall -D

Man wird nun nach einem doc-pak Folder gefragt. In diesem kann man Readme usw. Files ablegen.

checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.

The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs?  [y]: y

Dann soll man noch eine Beschreibung für das Paket angeben und im Anschluss ist es möglich weitere Parameter des Pakets anzupassen.

Preparing package documentation...OK

Please write a description for the package.
End your description with an empty line or EOF.
>> Beispiel Nano
>>

*****************************************
**** Debian package creation selected ***
*****************************************

This package will be built according to these values:

0 -  Maintainer: [  ]
1 -  Summary: [ Beispiel Nano ]
2 -  Name:    [ nano ]
3 -  Version: [ 2.0.7 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ nano-2.0.7 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ nano ]

Enter a number to change any of them or press ENTER to continue:

Installing with make...Installing with install...

**********************************************************************

 Done. The new package has been installed and saved to

 /tmp/nano-2.0.7/nano_2.0.7-1_amd64.deb

 You can remove it from your system anytime using:

      dpkg -r nano

**********************************************************************

Das fertige Paket kann man dann verschieben und per dpkg installieren oder deinstallieren.

# installation
$ dpkg -i nano_2.0.7-1_amd64.deb

# deinstallation
dpkg -r nano

Related Links

Ähnliche Artikel

  1. 2 Kommentare

  2. Munirzohbi
    schrieb am 04.09.2011 um 14:15 Uhr

    wer eiß wie man sich Micraft runterläd

  1. Trackback(s)

  2. Mrz 25, 2010:Pakete mit Checkinstall erstelle - #!/bin/tech

Kommentar schreiben

*

*