RedHat Linux rpm Debian GNU/Linux dpkg FreeBSD pkg_*
rpm -i archive.rpm dpkg -i archive.deb pkg_add archive.tgz
rpm -e package dpkg -r package (lascia i file di configurazione) dpkg -P package (rimuove i file di configurazione) pkg_delete package
rpm -qf /path/to/file dpkg --search /path/to/file pkg_info -W /path/to/file
rpm -qi package dpkg --status package pkg_info -v package
rpm -qpi archive.rpm dpkg --info archive.deb pkg_info -v archive.tgz
Elenca i pacchetti richiesti, cioè le dipendenze, di un pacchetto già installato:
rpm -qR package
rpm -qa dpkg --get-selections pkg_info
rpm -ql package dpkg --listfiles package pkg_info -L package
rpm ???? dpkg --extract archive.deb directory dpkg --control archive.deb directory/DEBIAN tar zxvf archive.tgz
Estrarre gli script da un archivio rpm:
rpm -qp --scripts archive.rpm > ListOfScripts
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
rpm -q --whatrequires package apt-cache showpkg package pkg_info -R package
Nelle moderne distribuzioni Debian (a partire da Debian 8) esistono i comandi apt-get e apt per interagire con il gestore di pacchetti APT (Advanced Package Tool). Il secondo è più moderno, include le funzionalità di apt-get e apt-cache, più alcune funzionalità esclusive. Quindi conviene aggiornarsi a questa nuova sintassi.
Aggiorna la lista del software disponibile alla sorgente. Le fonti sono indicate in /etc/apt/sources.list
.
atp update
Tenta di aggiornare automaticamente e gentilmente il sistema. Non installa ne' rimuove pacchetti.
apt upgrade
Aggiorna i pacchetti anche per l'eventuale passaggio ad una nuova release Debain. Eventualmente rimuove pacchetti non più necessari o che impediscono l'aggiornamento:
apt full-upgrade
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
Elenco dei pacchetti aggiornabili:
apt list --upgradable
Finding the origin of a package installed by APT. In breve, usare:
apt-cache policy <pkgname>
Quando una installazione ha subito diversi aggiornamenti, alcuni pacchetti potrebbro trovarsi in condizioni non ottimali, segnalati durante le varie operazioni di apt oppure dpkg.
Con questo script si dovrebbero risolvere automaticamente tutte le situazioni indicate sopra:
# Sistema "The following packages have been kept back" apt-get --assume-yes dist-upgrade # Sistema "The following packages were automatically installed and are no longer required" apt -y autoremove # Rimuovere i pacchetti in stato diverso da "install": dpkg --get-selections | egrep -v '\binstall\b' | awk '{print $1}' | xargs dpkg --purge
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
Con aptitude è semplice e non richiede permessi di root. Il file viene salvato nella directory corrente:
aptitude download packagename
Disponibile in Fedora, CentOS (ed altre derivate RedHat?).
Cerca un pacchetto nella lista di quelli disponibili e lo installa:
yum search <string> yum install <package>
Yum attinge ai repository on-line, l'elenco dei repository è indicato nei file presenti in /etc/yum.repos.d/
.
Per vedere l'elenco dei pacchetti installati, gli aggiornamenti disponibilie e per installarli:
yum list installed yum list updates yum update
Per aggiungere il repository EPEL ad una CentoOS 5:
wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm rpm -ivh epel-release-5-4.noarch.rpm yum repolist
Per vedere quali repository attivi ci sono in yum:
yum repolist enabled
Per sapere da quale repository è arrivato un pacchetto si usa il comando repoquery fornito dal pacchetto yum-utils:
repoquery -i php55w-common
Per scaricare un pacchetto senza installarlo si usa il comando yumdownloader fornito dal pacchetto yum-utils:
yumdownloader php55w-common
Per installare pacchetti da repository non ufficiali è opportuno installare la chiave con la quale vengono firmati. Ad esempio:
rpm --import https://mirror.webtatic.com/yum/RPM-GPG-KEY-webtatic-el7
In alternativa è possibile scaricare il file della chiave ed eseguire l'opzione --import sul file scaricato in locale.
Il risultato è l'installazione di un pacchetto con nome del tipo gpg-pubkey-62e74ca5-539c878e, che non contiene alcun file. Per vedere quali chiavi sono state installate nel sistema:
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
Per rimuovere la chiave si deve rimuovere il pacchetto con rpm:
rpm -e gpg-pubkey-62e74ca5-539c878e