GNU/Linux >> Znalost Linux >  >> Linux

Jak sestavit balíčky ze zdroje pomocí CheckInstall

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.rpm
StáhnoutZdarma 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

Linux
  1. Jak sestavit rpm balíčky

  2. Jak vytvořit balíček .deb z Github?

  3. Jak nainstalovat MongoDB ze zdroje (a pomocí YUM) na Linuxu

  1. Debian:Jak nainstalovat nebo odebrat balíčky DEB pomocí dpkg

  2. 7 kroků k vytvoření balíčku RPM ze zdroje na CentOS / RedHat

  3. Jak nainstalovat balíčky pomocí dnf v CentOS/RHEL 8

  1. Jak odinstalovat nebo odebrat softwarové balíčky z Ubuntu

  2. Jak odinstalovat nebo odebrat balíčky z CentOS

  3. Jak převést z RPM na DEB a DEB na RPM balíček pomocí Alien