Dec 062011
 

Recentemente ho scoperto questo grande programma che aiuta molto ad evitare uno dei miei peggiori incubi, avere un sacco di pacchetti installati dalle fonti, e perdere le loro tracce nel mio sistema, come?

CheckInstall tiene traccia di tutti i file installati con un comando equivalente ad un “make install”, crea un pacchetto Slackware, RPM, o Debian con quei file, e lo aggiunge al database dei pacchetti installati, consentendo una facile rimozione del pacchetto o una sua distribuzione.

Per me è un sogno che diventa realtà e probabilmente lo è anche per altri amministratori di sistema.

Vediamo come usarlo.

Installazione

CheckInstall è disponibile in tutte le principali distribuzioni, quindi si può semplicemente utilizzare il vostro manager preferito per pacchetti per installarlo, sulla mia ubuntu ho usato

sudo aptitude install checkinstall

Come si usa

L’utilizzo di checkinstall è veramente semplice. Supponiamo di aver appena ricompilato un programma dai suoi sorgenti, mediante i classici due comandi:

./configure
make

A questo punto, invece di dare il make install utilizziamo il nostro checkinstall. Dopo essere diventati superutenti (root) occorre dare, nella cartella dei sorgenti dove ci troviamo, un comando simile a questo:

sudo checkinstall

Questo farà partire un wizard che vi farà alcune domande ed installerà il pacchetto

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]: 

Preparing package documentation...OK

Please write a description for the package.
End your description with an empty line or EOF.
>> pdfcrack
>> 

*****************************************
**** Debian package creation selected ***
*****************************************

This package will be built according to these values: 

0 -  Maintainer: [ linuxaria@xubuntu-home ]
1 -  Summary: [ pdfcrack ]
2 -  Name:    [ pdfcrack ]
3 -  Version: [ 0.11 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ pdfcrack-0.11 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ pdfcrack ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

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

Installing with make install...

========================= Installation results ===========================
make: *** No rule to make target `install'.  Stop.

****  Installation failed. Aborting package creation.

Cleaning up...OK

Bye.



Ok, per il mio esempio ho usato un pacchetto che non ha make install, quindi ho un errore, altrimenti il ​​pacchetto sarebbe installato e sarebbe stato aggiunto al database del mio gestore di pacchetti.

E’ inoltre possibile fornire le informazioni dalla linea di comando e saltare la procedura guidata con opzioni di questo tipo:

checkinstall -y --pkgname=pdfcrack --pkgversion=0.11 --pkgrelease=1 --pkglicense=GPL --pkgsource=http://sourceforge.net/projects/pdfcrack/
  • Nome pacchetto: pdfcrack
  • Versione pacchetto: 0.11
  • Release: 1
  • Licenza: GPL
  • Dove trovare il sorgente originale:http://sourceforge.net/projects/pdfcrack

Nota

Per default il formato predefinito di checkinstall è il formato Debian (*.deb). Nel caso volessimo creare un pacchetto per Slackware, il parametro aggiuntivo da passare a checkinstall sarà -S oppure -R nel caso si voglia creare un pacchetto per RedHat (*.rpm).

Conclusioni

Così, con uno sforzo da poco si può avere tutti i software presenti nel database del gestore dei pacchetti, una cosa che ha un grande valore a mio parere.
Lo si può interrogare per sapere quali pacchetti (e versione) sono stati installati e si può facilmente rimuovere un pacchetto con tutti i suoi file.
Non ho provato l’opzione require, ma sarebbe un buon plus se funzionasse correttamente e mantenesse correttamente la lista delle dipendenze

Popular Posts:

Flattr this!

  One Response to “Checkinstall, installare dai sorgenti ordinatamente”

  1. Great piece of information. keep it dude…

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*