Vor einiger Zeit haben wir über ein Dienstprogramm namens Fpm geschrieben Das hilft beim einfachen Erstellen von Linux-Paketen für mehrere Linux-Plattformen. Heute werden wir über CheckInstall sprechen die auch verwendet wird, um Linux-Pakete aus dem Quellcode zu erstellen.
Eine kurze Einführung in CheckInstall
Normalerweise installieren wir Pakete mit den Paketmanagern der Distribution. Aber wenn eine Anwendung, die Sie installieren möchten, nicht in Ihren Distributions-Repositories verfügbar ist, haben Sie keine andere Wahl, als manuell aus dem Quellcode zu kompilieren und zu installieren.
Das Kompilieren und Installieren von Anwendungen aus dem Quellcode ist für manche Leute etwas schwierig, insbesondere für Neulinge. Hier helfen Programme wie FPM und CheckInstall.
CheckInstall ist ein Programm, das ein Programm aus dem Quellcode kompiliert und ein natives Paket für Ihre Linux-Distribution erstellt. Damit Sie die Pakete mit dem Paketverwaltungssystem Ihrer Distribution (dpkg, rpm oder installpkg) installieren können.
Derzeit erstellt CheckInstall native Pakete für DEB-basierte Systeme, RPM-basierte Systeme und Slackware. In diesem kurzen Tutorial werden wir besprechen, wie man mit dem CheckInstall-Programm Pakete aus dem Quellcode erstellt.
Installieren Sie CheckInstall unter Linux
CheckInstall ist in den Standard-Repositories der meisten Linux-Distributionen verfügbar. Sie können es also mit den Paketmanagern installieren.
Sagen wir zum Beispiel:In Debian-basierten Systemen können Sie es mit dem folgenden Befehl installieren:
$ sudo apt-get install checkinstall
Unter SUSE/openSUSE:
$ sudo zypper install checkinstall
Unter CentOS, RHEL, Fedora:
Laden Sie die CheckInstall-RPM-Datei von diesem Link herunter und installieren Sie sie .
# wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/ikoinoba/CentOS_CentOS-6/x86_64/checkinstall-1.6.2-3.el6.1.x86_64.rpm
# yum install checkinstall-1.6.2-3.el6.1.x86_64.rpmHerunterladen - Kostenloses eBook:"Linux®-Patch-Management:Linux®-Systeme auf dem neuesten Stand halten"
Pakete aus der Quelle mit CheckInstall erstellen
Hier sind die einfachen Schritte zum Erstellen eines DEB-Pakets von ‘hello’
Programm. Ich habe die folgenden Schritte in Ubuntu 16.04 LTS getestet.
Laden Sie zuerst den Tarball des 'hello'-Programms herunter.
$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz
Extrahieren Sie den Tarball mit dem Befehl:
$ tar -zxvf hello-2.10.tar.gz
Gehen Sie dann in das Verzeichnis, in das Sie hello tarball entpackt haben.
$ cd hello-2.10/
Führen Sie die folgenden Befehle nacheinander aus, um es zu kompilieren.
$ ./configure
$ make
Anstatt jetzt "make install"
einzugeben Um das Programm zu installieren, geben wir den folgenden Befehl ein:
$ sudo checkinstall --install=no
Dieser Befehl erstellt .deb
Paket, aber installiert es nicht. Drücken Sie Y um ein Paketdokumentationsverzeichnis mit dem Namen "doc-pak"
zu erstellen .
checkinstall 1.6.2, Copyright 2009 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 Preparing package documentation...OK Please write a description for the package. End your description with an empty line or EOF. >> Simple Hello Program ## Type your Program name and hit ENTER key. >> ***************************************** **** Debian package creation selected *** ***************************************** This package will be built according to these values: 0 - Maintainer: [ [email protected] ] 1 - Summary: [ Simple Hello Program ] 2 - Name: [ hello ] 3 - Version: [ 2.10 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ amd64 ] 8 - Source location: [ hello-2.10 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ hello ] 12 - Conflicts: [ ] 13 - Replaces: [ ] Enter a number to change any of them or press ENTER to continue: ## Hit ENTER key [...] Building file list...OK Building Debian package...OK NOTE: The package will not be installed Erasing temporary files...OK Deleting temp dir...OK ********************************************************************** Done. The new package has been saved to /home/sk/hello-2.10/hello_2.10-1_amd64.deb You can install it in your system anytime using: dpkg -i hello_2.10-1_amd64.deb **********************************************************************
Jetzt können Sie die neu erstellte .deb
installieren Paket mit dpkg
Paketmanager:
$ sudo dpkg -i hello_2.10-1_amd64.deb
Wenn Sie den obigen Befehl ohne "--install=no"
ausführen Flag, wird es automatisch das Deb-Paket erstellen und es auf Ihrem System installieren.
$ sudo checkinstall
Beispielausgabe:
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL. ***************************************** **** Debian package creation selected *** ***************************************** This package will be built according to these values: 0 - Maintainer: [ [email protected] ] 1 - Summary: [ Simple Hello Program ] 2 - Name: [ hello ] 3 - Version: [ 2.10 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ amd64 ] 8 - Source location: [ hello-2.10 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ hello ] 12 - Conflicts: [ ] 13 - Replaces: [ ] Enter a number to change any of them or press ENTER to continue: ##Press ENTER [...] Installing Debian package...OK Erasing temporary files...OK Writing backup package...OK OK Deleting temp dir...OK ********************************************************************** Done. The new package has been installed and saved to /home/sk/hello-2.10/hello_2.10-1_amd64.deb You can remove it from your system anytime using: dpkg -r hello **********************************************************************
Dieser Befehl erstellt die .deb-Datei und installiert sie automatisch auf Ihrem System. Sie können das Installationspaket jederzeit mit folgendem Befehl entfernen:
$ sudo dpkg -r hello
Installation prüfen erstellt eine .rpm
oder eine .deb
Paket automatisch, abhängig vom Typ Ihrer aktuellen Linux-Distribution, die Sie verwenden. Wenn Sie ein .rpm-Paket erstellen müssen, befolgen Sie einfach die obigen Schritte in allen RPM-basierten Systemen. Führen Sie dies für Slackware-Pakete auf dem Slackware-System aus.
Weitere Einzelheiten finden Sie in den Manpages:
$ man checkinstall
Oder sehen Sie im Hilfebereich nach.
$ checkinstall --help
Verwandte Lektüre:
- So konvertieren Sie Linux-Pakete mit Alien
- Wie man Debian-Pakete aus den Quellen erstellt