Login
Newsletter
Mi, 10. Mai 2000, 18:23

RPM- und TGZ-Paket erzeugen mit Checkinstall

Aufgrund der Reaktionen zum Artikel »Eine Kurzeinführung in Encap« habe ich mir einmal das Programm »Checkinstall« angeschaut.

Es stellt eine weitere Möglichkeit zur Verfügung, die Kontrolle über selbstkompilierte Software im Sytem zu behalten. Außerdem wird das Erstellen von RPM- oder TGZ-Paketen aus Source-Paketen zum Kinderspiel.

Installation

Zuerst besorgt man sich die neuste Version von hier.

Nach dem Entpacken (z.B. mit dem Midnight-Commander) wechselt man ins Verzeichnis "checkinstall-[version]". Am besten liest man nochmal die Doku, die in den Dateien "INSTALL" und "README" enthalten ist. Installiert wird dann mit

make
make install

Nun ist das Programm installiert und könnte von sich selber mittels "checkinstall" ein Paket erzeugen. Hier taucht jedoch ein kleines Problem auf, denn die Dateien werden nach /usr/local installiert. Bei meiner Distribution befinden sich aber /usr/local/bin und /usr/local/sbin nicht im Pfad von root. Da jedoch nur root Programme installieren darf, muß entweder die Pfadvariable entsprechend geändert werden oder symbolische Links nach /usr/sbin und /usr/bin erzeugt werden.

Den Pfad im Makefile einzustellen habe ich auch probiert, die Datei "checkinstall" konnte nun zwar ausgeführt werden, jedoch wurde das ebenfalls geänderte lib-Verzeichnis /usr/lib nicht gefunden. Also habe ich kurzentschlossen die Variante mit den Links durchgeführt. Vielleicht weiß jemand anderes ja, wie man das ganze Programm korrekt ins /usr-Verzeichnis installieren kann.

ln -s /usr/local/bin/installwatch /usr/bin/installwatch
ln -s /usr/local/sbin/checkinstall /usr/sbin/checkinstall
ln -s /usr/local/sbin/makepak /usr/sbin/makepak

Wenn die Pfade nun stimmen, kann "checkinstall" von sich selber ein Paket erzeugen:

checkinstall

Dadurch wird "make install" wiederholt durchgeführt und alles protokolliert. Dann wird gefragt, ob man ein TGZ oder ein RPM Paket erzeugen will. Nach der Eingabe von "R" wurde auf meinem System im Verzeichnis /usr/src/packages/RPMS/i386/ ein RPM-Paket abgelegt und selbiges auch gleich nochmal installiert. Nun ist Checkinstall eingerichtet und kann über das Paketsystem auch wieder entfernt werden.

Anwendung

Anschließend habe ich gleich noch einmal einen Test gemacht mit dem Quellpaket des Midnight-Commanders:

Nach dem Entpacken:

cd mc-4.5.54
./configure
make
checkinstall

Es wird also ganz normal kompiliert, nur wird anstelle von "make install" "checkinstall" aufgerufen. Das fertige Paket landet wieder in /usr/src/packages/RPMS/i386.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten