GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear paquetes desde el origen mediante CheckInstall

Hace un tiempo, escribimos sobre una utilidad llamada Fpm eso ayuda a crear fácilmente paquetes de Linux para múltiples plataformas de Linux. Hoy hablaremos sobre CheckInstall que también se utiliza para crear paquetes de Linux a partir del código fuente.

Una breve introducción a CheckInstall

Por lo general, instalamos paquetes utilizando los administradores de paquetes de la distribución. Pero si una aplicación que le gustaría instalar no está disponible en sus repositorios de distribución, no tiene más remedio que compilarla manualmente e instalarla usted mismo desde el código fuente.

Compilar e instalar aplicaciones desde el código fuente es un poco difícil para algunas personas, especialmente para los novatos. Aquí es donde programas como FPM y CheckInstall vienen en ayuda.

CheckInstall es un programa que compila un programa a partir del código fuente y crea un paquete nativo para su distribución de Linux. Para que pueda instalar los paquetes utilizando el sistema de gestión de paquetes de su distribución (dpkg, rpm o installpkg).

Actualmente, CheckInstall crea paquetes nativos para sistemas basados ​​en DEB, sistemas basados ​​en RPM y Slackware. En este breve tutorial, discutiremos cómo crear paquetes desde el origen utilizando el programa CheckInstall.

Instalar CheckInstall en Linux

CheckInstall está disponible en la mayoría de los repositorios predeterminados de la distribución de Linux. Entonces, puede instalarlo usando los administradores de paquetes.

Digamos, por ejemplo, en los sistemas basados ​​en Debian, puede instalarlo usando el siguiente comando:

$ sudo apt-get install checkinstall

En SUSE/openSUSE:

$ sudo zypper install checkinstall

En CentOS, RHEL, Fedora:

Descargue e instale el archivo rpm de CheckInstall desde este enlace .

# 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
Descargar - Libro electrónico gratuito:"Gestión de parches de Linux®:mantener los sistemas Linux® actualizados"

Crear paquetes desde el origen usando CheckInstall

Estos son los pasos simples para crear un paquete DEB de ‘hello’ programa. Probé los siguientes pasos en Ubuntu 16.04 LTS.

Primero descargue el tarball del programa 'hola'.

$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz

Extrae el tarball usando el comando:

$ tar -zxvf hello-2.10.tar.gz

Luego, vaya al directorio donde extrajo hello tarball.

$ cd hello-2.10/

Ejecute los siguientes comandos uno por uno para compilarlo.

$ ./configure
$ make

Ahora, en lugar de escribir "make install" comando para instalar el programa, escribimos el siguiente comando:

$ sudo checkinstall --install=no

Este comando creará .deb paquete, pero no lo instalará. Presiona Y para crear el directorio de documentación del paquete llamado "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

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

Ahora, puede instalar el .deb recién creado paquete usando dpkg administrador de paquetes:

$ sudo dpkg -i hello_2.10-1_amd64.deb

Si ejecuta el comando anterior sin "--install=no" flag, creará automáticamente el paquete deb y lo instalará en su sistema.

$ sudo checkinstall

Salida de muestra:

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

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

Este comando creará el archivo .deb y lo instalará automáticamente en su sistema. Puede eliminar el paquete de instalación en cualquier momento usando el comando:

$ sudo dpkg -r hello

Comprobar instalación creará un .rpm o un .deb paquete automáticamente, según el tipo de distribución de Linux actual que utilice. Si necesita crear un paquete .rpm, simplemente siga los pasos anteriores en cualquier sistema basado en RPM. Para los paquetes de Slackware, haga esto en el sistema Slackware.

Para obtener más detalles, consulte las páginas man:

$ man checkinstall

O consulta la sección de ayuda.

$ checkinstall --help

Lectura relacionada:

  • Cómo convertir paquetes de Linux con Alien
  • Cómo compilar paquetes Debian desde el código fuente

Linux
  1. Cómo construir paquetes rpm

  2. ¿Cómo hacer un paquete .deb desde Github?

  3. Debian:Cómo instalar o eliminar paquetes DEB usando dpkg

  4. Cómo instalar MongoDB desde la fuente (y usando YUM) en Linux

  5. 7 pasos para crear un paquete RPM desde el origen en CentOS/RedHat

Cómo crear un paquete de Ubuntu desde la fuente

Cómo instalar un programa desde la fuente en Linux

Cómo instalar paquetes de forma segura usando Npm o Yarn en Linux

Cómo compilar paquetes Debian desde el código fuente

Cómo compilar el kernel de Linux desde el origen para crear un kernel personalizado

Cómo enumerar los paquetes instalados en Linux mediante la administración de paquetes