====== Gestione dei pacchetti in Linux e FreeBSD ======
===== Tool per la gestione dei pacchetti =====
RedHat Linux rpm
Debian GNU/Linux dpkg
FreeBSD pkg_*
===== Installazione di un pacchetto =====
rpm -i[vh] archive.rpm
dpkg -i archive.deb
pkg_add archive.tgz
===== Aggiornamento di un pacchetto =====
rpm -U[vh] archive.rpm
dpkg ???
pkg_???
===== Disinstallazione di un pacchetto =====
rpm -e package
dpkg -r package (lascia i file di configurazione)
dpkg -P package (rimuove i file di configurazione)
pkg_delete package
===== A quale pacchetto appartiene un file =====
rpm -qf /path/to/file
dpkg --search /path/to/file
pkg_info -W /path/to/file
===== Informazioni su un pacchetto installato =====
rpm -qi package
dpkg --status package
pkg_info -v package
===== Informazioni su un pacchetto da installare, comprese le dipendenze =====
rpm -qpi archive.rpm
dpkg --info archive.deb
pkg_info -v archive.tgz
===== Lista concisa di tutti i pacchetti installati =====
rpm -qa
dpkg --get-selections
pkg_info
===== Lista di tutti i file installati da un pacchetto =====
rpm -ql package
dpkg --listfiles package
pkg_info -L package
===== Estrarre (senza installare) il contenuto di un paccheto =====
rpm ????
dpkg --extract archive.deb directory
dpkg --control archive.deb directory/DEBIAN
tar zxvf archive.tgz
===== Controllo integrità file appartenenti a un pacchetto =====
**NOTA**: non tutti i pacchetti .deb hanno l'md5sum
rpm -V package
debsums package
# In alternativa al precedente:
cd /; md5sum -c /var/lib/dpkg/info/package.md5sums
pkg_info -g package
===== Elenco dei pacchetti che dipendono da uno dato =====
rpm -q --whatrequires package
apt-cache showpkg package
pkg_info -R package
====== Uso di apt e dpkg in Debian GNU/Linux ======
Aggiorna la lista del software disponibile alla sorgente. Le fonti sono indicate in ''**/etc/apt/sources.list**''.
apt-get update
Tenta di aggiornare automaticamente e gentilmente il sistema. Non installa ne' rimuove pacchetti.
apt-get upgrade
Tenta di aggiornare da una release all'altra. Per fare questo aggiorna, installa o rimuove pacchetti.
apt-get dist-upgrade
Lista dettagliata dei pacchetti installati, loro stato e breve descrizione:
dpkg --list
Come ottenere la lista dei pacchetti installati e come usare la lista per installare gli stessi pacchetti:
dpkg --get-selections > lista
dpkg --set-selections < lista
====== Ricompilare un pacchetto Debian GNU/Linux ======
Nella directory corrente: scarica, scompatta e applica le patch Debian ai sorgenti di un pacchetto. Bisogna che in ''**/etc/apt/sources.list**'' sia indicata una sorgente ''deb-src''.
apt-get source packagename
Se i sorgenti li abbiamo già scaricati (nella directory corrente ci devono essere i tre file: ''**.diff.gz**'', ''**.dsc**'' e ''**.orig.tar.gz**''):
dpkg-source -x filename.dsc
Installa i pacchetti necessari a compilare un pacchetto:
apt-get build-dep package
Compila i sorgenti e crea il pacchetto .deb:
cd packagedir
dpkg-buildpackage -rfakeroot -b
====== Installazione dai Sorgenti ======
Sotto Linux è molto più facile trovare i programmi in formato sorgente.
Spesso questi sorgenti sono in formato compresso //**tar**//.
tar –xvzf Apackage.tar.gz
cd Apackage
./configure
make
make install
===== Installazione da Archivio Compresso =====
Per tutte quelle distribuzioni che non hanno un proprio formato installativo, spesso si trovano gli applicativi in formato //.tar//, //.tar.gz// o //.tar.bz2//.
tar –xvf APackage.tar.gz
cd APackage
./install.sh
tar –xvzf APackage.tar.gz
cd APackage
./install.sh
tar –xvjf APackage.tar.gz
cd APackage
./install.sh
===== Creare un Semplice Archivio Compresso =====
Come creare un semplice archivio compresso.
tar –cvf miotar.tar miadir/
Aggiungere //z// per creare un //.tar.gz// o //j// per creare un //.tar.bz2//.
===== Creare un Pacchetto Installativo da Archivio Compresso =====
E' possibile creare un pacchetto installativo dall'installazione di un archivio compresso.
Dopo aver decompresso ed installato il contenuto dell'archivio compresso, usare [[http://asic-linux.com.mx/~izto/checkinstall/ | checkinstall]].
\\ Un esempio di utilizzo
~/Path/to/folder:$ ./configure
when that is done
~/path/to/folder:$ make
let that finish, then, instead of doing a 'make install' do this:
~/path/to/folder:$ sudo checkinstall