Checkinstall Overview, installazione ed uso

Creazione di pacchetti rpm, tgz e deb partendo da una distribuzione sorgente.

OVERVIEW  
Checkinstall, scritto da Felipe Eduardo Sánchez Díaz Durán, permette di creare partendo da un software distribuito in formato sorgente, tipicamente un file tar.gz, un pacchetto binario per l'installazione su sistemi derivati da Debian (.deb), Slackware (.tgz) o Red Hat (.rpm). Creare un pacchetto nel formato gestito da una determinata distribuzione, comporta il vantaggio di avere un sistema più ordinato, in quanto viene mantenuta traccia delle applicazioni correntemente installate, con la possibilità di rimuoverle in modo pulito. Cosa che non potrebbe avvenire senza una regola di uninstall, che spesso manca, nei makefile delle applicazioni.

Il processo di installazione di un software mediante checkinstall, varia solamente nell'ultima sua fase. Dopo aver eseguito i classici, configure e make, checkinstall si sostituisce al make install, creando, secondo le esigenze dell'amministratore del sistema, un pacchetto che andrà installato poi con il tool apposito (rpm, apt o installpkg) a seconda della distribuzione di destinazione.

DOWNLOAD  
Il download può essere eseguito dalla home del progetto http://asic-linux.com.mx/~izto/checkinstall/:  
homer@enigma:/software$ wget http://asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.0beta4.tgz  
--13:37:35--  http://asic-linux.com.mx/%7Eizto/checkinstall/files/source/checkin  
stall-1.6.0beta4.tgz  
           => `checkinstall-1.6.0beta4.tgz'  
Resolving asic-linux.com.mx... 200.76.179.225  
Connecting to asic-linux.com.mx[200.76.179.225]:80... connected.  
HTTP request sent, awaiting response... 200 OK  
Length: 147,508 [application/x-tar]  
100%[===========================================================================>] 147,508        5.08K/s    ETA 00:00  
13:38:05 (5.04 KB/s) - `checkinstall-1.6.0beta4.tgz' saved [147508/147508]

  
INSTALLAZIONE  
Una volta scaricati i sorgenti è necessario scompattarli:  
homer@enigma:/software$ tar xvfz checkinstall-1.6.0beta4.tgz
checkinstall-1.6.0beta4/  
checkinstall-1.6.0beta4/FAQ  
checkinstall-1.6.0beta4/BUGS  
checkinstall-1.6.0beta4/TODO  
checkinstall-1.6.0beta4/Makefile  
checkinstall-1.6.0beta4/doc-pak/  
..

quindi eseguire il make:  
homer@enigma:/software/checkinstall-1.6.0beta4$ make  
make -C installwatch-0.7.0beta4  
make[1]: Entering directory `/software/checkinstall-1.6.0beta4/installwatch-0.7.0beta4'  
./create-localdecls  
...  
make[1]: Leaving directory `/software/checkinstall-1.6.0beta4/installwatch-0.7.0beta4'

ed il make install da root:  
homer@enigma:/software/checkinstall-1.6.0beta4$ sudo -s  
root@enigma:/software/checkinstall-1.6.0beta4# make install  
make -C installwatch-0.7.0beta4  
make[1]: Entering directory `/software/checkinstall-1.6.0beta4/installwatch-0.7.0beta4'  
...   at:\n\n\t/usr/local/lib/checkinstall/checkinstallrc-dist\n\n=========================================================\n\n";echo ;fi

E' bene sottolineare il fatto che solo in questo caso è necessario utilizzare make install, che non installa in realtà il software nel sistema, proprio perchè checkinstall non è ancora operativo.

UTILIZZO  
Attraverso l'ultima operazione da compiere per installare checkinstall, è possibile anche vederne l'utilizzo.
Nella cartella in cui sono stati compilati i sorgenti, è necessario a questo punto lanciare il comando checkinstall, l'utente sarà quindi guidato tramite una serie di domande:  
root@enigma:/software/checkinstall-1.6.0beta4# checkinstall  

checkinstall 1.6.0beta4, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.  

Please choose the packaging method you want to use.  
Slackware [S], RPM [R] or Debian [D]? S  
La prima richiesta del programma riguarda il tipo di pacchetto che si vuole andare a creare. In questo esempio la scelta è S ovvero il formato tgz di Slackware

********************************************  
**** Slackware package creation selected ***  
********************************************  

This package will be built according to these values:  

1 -  Summary: [ CheckInstall installations tracker, version 1.6.0beta4 ]  
2 -  Name:    [ checkinstall ]  
3 -  Version: [ 1.6.0beta4 ]  
4 -  Release: [ 1 ]  
5 -  License: [ GPL ]  
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ i386 ]  
8 -  Source location: [ checkinstall-1.6.0beta4 ]  
9 -  Alternate source location: [  ]  

Enter a number to change any of them or press ENTER to continue: 4  
Tramite un menu è possibile selezionare e modificare alcuni valori relativi all'installazione  
Enter new release number: 4  
>> Homer-02-01-2004  

This package will be built according to these values:  

1 -  Summary: [ CheckInstall installations tracker, version 1.6.0beta4 ]  
2 -  Name:    [ checkinstall ]  
3 -  Version: [ 1.6.0beta4 ]  
4 -  Release: [ Homer-02-01-2004 ]  
5 -  License: [ GPL ]  
6 -  Group:   [ Applications/System ]  
7 -  Architecture: [ i386 ]  
8 -  Source location: [ checkinstall-1.6.0beta4 ]  
9 -  Alternate source location: [  ]  

Enter a number to change any of them or press ENTER to continue:

Installing with make install...  
========================= Installation results ===========================  
make -C installwatch-0.7.0beta4  
make[1]: Entering directory `/software/checkinstall-1.6.0beta4/installwatch-0.7.0beta4'  
make[1]: Nothing to be done for `all'.  
...  

=============================================================================  
An existing checkinstallrc file has been found.  
The one from this distribution can be found at:  

        /usr/local/lib/checkinstall/checkinstallrc-dist  
=============================================================================  

======================== Installation successful ==========================  

Copying documentation directory...  
./  
FAQ  
BUGS  
TODO  
README  
installwatch-0.7.0beta4/  
installwatch-0.7.0beta4/BUGS  
installwatch-0.7.0beta4/TODO  
installwatch-0.7.0beta4/README  
installwatch-0.7.0beta4/CHANGELOG  
...  

Copying files to the temporary directory...OK  
Striping ELF binaries and libraries...OK  
Compressing man pages...OK  
Building file list...OK  
Preparing Slackware install directory...OK  
Writing package description...OK  
Creating package checkinstall-1.6.0beta4-i386-Homer-02-01-2004...OK  
NOTE: The package will not be installed.  
Erasing temporary files...OK  
Writing backup package...OK  
Deleting temp dir...OK  

**********************************************************************  
Done. The new package has been saved to  

/software/checkinstall-1.6.0beta4/checkinstall-1.6.0beta4-i386-Homer-02-01-2004.tgz  
You can install it in your system anytime using:  

      installpkg checkinstall-1.6.0beta4-i386-Homer-02-01-2004.tgz  
**********************************************************************  
Una volta in possesso di tutte le informazioni necessarie, checkinstall crea il pacchetto per la distribuzione scelta ed informa l'utente della sua locazione e di come fare per installarlo
  

Una volta creato, il pacchetto è pronto per l'installazione:  
root@enigma:/software/checkinstall-1.6.0beta4# installpkg checkinstall-1.6.0beta4-i386-Homer-02-01-2004.tgz  
Installing package checkinstall-1.6.0beta4-i386-Homer-02-01-2004...  
PACKAGE DESCRIPTION:  
Executing install script for checkinstall-1.6.0beta4-i386-Homer-02-01-2004...


DESCRIZIONE DEL PACCHETTO  
E' possibile creare una descrizione del pacchetto che si andrà ad installare inserendo le informazioni in un file chiamato description-pak. Qualora questo file risulti assente, Checkinstall provvederà ad inoltrare una richiesta all'utente per procedere ad una sua eventuale creazione. Le informazioni inserite verrano visualizzate durante l'utilizzo di pkgtool, in Slackware oppure tramite il comando rpm -qi nelle distribuzioni rpm based.
  
SCRIPT PRE E POST INSTALLAZIONE/RIMOZIONE  
Per i package di tipo .rpm o .deb, è possibile creare a seconda dell'occorrenza quattro tipi di shell script, che devono essere presenti nella directory dei sorgenti:  
preinstall-pak: eseguito prima dell'installazione;  
postinstall-pak: eseguito dopo l'installazione;  
preremove-pak: eseguito prima delle rimozione;  
postremove-pak: eseguito dopo la rimozione;  
questi tipi di script possono risultare utili, nell'automatizzare operazioni quali per esempio la creazione o cancellazioni di utenti, in relazione con il software che si andrà ad installare o rimuovere.

Privacy Policy