Před chvílí jsme psali o nástroji s názvem Fpm což pomáhá snadno vytvářet linuxové balíčky pro více platforem Linuxu. Dnes budeme diskutovat o CheckInstall který se také používá k sestavování linuxových balíčků ze zdrojového kódu.
Stručný úvod do CheckInstall
Obvykle instalujeme balíčky pomocí správců balíčků distribuce. Pokud však aplikace, kterou byste chtěli nainstalovat, není k dispozici ve vašich distribučních repozitářích, nemáte jinou možnost, než se ručně zkompilovat a nainstalovat ze zdrojového kódu.
Kompilace a instalace aplikací ze zdrojového kódu je pro některé lidi, zejména pro nováčky, trochu obtížná. Zde pomáhají programy jako FPM a CheckInstall.
CheckInstall je program, který zkompiluje program ze zdrojového kódu a vytvoří nativní balíček pro vaši distribuci Linuxu. Abyste mohli instalovat balíčky pomocí systému správy balíčků vaší distribuce (dpkg, rpm nebo installpkg).
V současné době CheckInstall vytváří nativní balíčky pro systémy založené na DEB, systémy založené na RPM a Slackware. V tomto krátkém tutoriálu budeme diskutovat o tom, jak sestavit balíčky ze zdroje pomocí programu CheckInstall.
Instalovat CheckInstall v Linuxu
CheckInstall je k dispozici ve většině výchozích úložišť distribuce Linuxu. Můžete jej tedy nainstalovat pomocí správců balíčků.
Řekněme například, V systémech založených na Debianu jej můžete nainstalovat pomocí následujícího příkazu:
$ sudo apt-get install checkinstall
Na SUSE/openSUSE:
$ sudo zypper install checkinstall
Na CentOS, RHEL, Fedora:
Stáhněte a nainstalujte soubor CheckInstall rpm z tohoto odkazu .
# 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.rpmStáhnout – Zdarma e-kniha:„Linux® Patch Management:Udržování systémů Linux® v aktuálním stavu“
Vytváření balíčků ze zdroje pomocí CheckInstall
Zde jsou jednoduché kroky k vytvoření DEB balíčku ‘hello’
program. Testoval jsem následující kroky v Ubuntu 16.04 LTS.
Nejprve si stáhněte tarball programu 'ahoj'.
$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz
Extrahujte tarball pomocí příkazu:
$ tar -zxvf hello-2.10.tar.gz
Přejděte do adresáře, kde jste extrahovali hello tarball.
$ cd hello-2.10/
Spusťte následující příkazy jeden po druhém a zkompilujte jej.
$ ./configure
$ make
Nyní místo psaní "make install"
příkaz k instalaci programu, zadáme následující příkaz:
$ sudo checkinstall --install=no
Tento příkaz vytvoří .deb
balíček, ale nenainstaluje jej. Stiskněte Y k vytvoření adresáře s dokumentací balíčku s názvem "doc-pak"
.
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 **********************************************************************
Nyní můžete nainstalovat nově vytvořený .deb
balíček pomocí dpkg
správce balíčků:
$ sudo dpkg -i hello_2.10-1_amd64.deb
Pokud výše uvedený příkaz spustíte bez "--install=no"
flag, automaticky vytvoří deb balíček a nainstaluje jej do vašeho systému.
$ sudo checkinstall
Ukázkový výstup:
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 **********************************************************************
Tento příkaz vytvoří soubor .deb a automaticky jej nainstaluje do vašeho systému. Instalační balíček můžete kdykoli odebrat pomocí příkazu:
$ sudo dpkg -r hello
Zkontrolujte instalaci vytvoří .rpm
nebo .deb
balíček automaticky v závislosti na typu vaší aktuální distribuce Linuxu, kterou používáte. Pokud potřebujete vytvořit balíček .rpm, postupujte podle výše uvedených kroků v jakémkoli systému založeném na RPM. U balíčků Slackware to udělejte na systému Slackware.
Další podrobnosti naleznete na manuálových stránkách:
$ man checkinstall
Nebo se podívejte do sekce nápovědy.
$ checkinstall --help
Související čtení:
- Jak převést balíčky Linuxu pomocí aplikace Alien
- Jak sestavit balíčky Debianu ze zdroje