====== 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