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:
- None Found
Great piece of information. keep it dude…