aggiornare un solo pacchetto:

apt-get install --only-upgrade $packagename

simula installazione, utile per pianificare e verificare

apt-get upgrade -s
apt-get upgrade --dry-run --download-only

passare a una versione successiva

nano /etc/apt/sources.list
# than change version, eg. "squeeze" to "wheezy"
apt-get update
apt-get upgrade

Connessioni persistenti

per lanciare un aggiornamento di sistema senza che si blocchi a metà a causa della rete

# start a screen session
screen
# If you are disconnected from your server, you can reconnect to the screen session
screen -Dr

convertire da altre distro:

sudo alien --to-deb Your_PackAge.rpm
sudo dpkg -i packagename.deb

fix any dependency problems:

sudo apt-get install -f

trovare il pacchetto a cui corrisponde un eseguibile installato

apt-file find bin/programname

lista dei files installati da un pacchetto

dpkg -L pacchetto

lista tutti i pacchetti installati

apt list --installed | awk '{ print $1 }'
 
# cleaner list
apt list --installed | awk '{ print $1 }' | sed  's/now//g' | sed 's/trusty-updates//g' | sed  's/trusty-security//g' | sed 's/trusty//g' | sed 's/,//g' | sed 's/\///g'
 
# cleaner list - shorter command
apt list --installed | awk '{ print $1 }' | sed  's/now//g;s/trusty-updates//g;s/trusty-security//g;s/trusty//g;s/,//g;s/\///g'

visualizzare gli aggiornamenti disponibili

apt-get upgrade --simulate
# installa anche apticron per un controllo automatizzato

rimuovere pacchetti

apt-get --purge remove package

dpkg : Debian packaging tool which can be use to install, query, uninstall packages. aptitude: It is a text-based interface to the Debian GNU/Linux package system.

You can find out debian package name with the following command:

apt-cache search {package-name}
# keep the configuration files
apt-get remove {package-name}
 
# apt-get remove (erase) package and configuration file
apt-get --purge remove {package-name}
 
apt-get upgrade
 
 
 
# aggiorna un singolo pacchetto
apt-get upgrade samba
 
# informazioni dettagliate su un singolo pacchetto
dpkg --info {.deb-package-name}
 
 
# List all installed packages with version
dpkg -l
# verificare che un pacchetto sia installato, -l da info di un pacchetto se è installato, nulla se non installato
dpkg -l apache
dpkg -l | grep -i 'sudo'
# list installed con regexp
dpkg -l '*apache*'
dpkg -l | grep openssl
 
# List files provided / installed by the installed package
dpkg -L {package-name}
dpkg --contents {.deb-package-name}
 
# trovare quale pacchetto hainstallato un file specifico
# Find, what package owns the file /bin/netstat?
dpkg -S {/path/to/file}
 
 
# cercare un apcchetto per nome e descrizione
apt-cache search "web server"
 
# Display dependencies(pacchetti dipendenze) for un pacchetto specifico
 
apt-cache depends mysql-server

prima di fare il ".configure" per una ricompilazione manuale si può cercare di caricare tutte le librerie ed i tool necessari utilizzando il comando

apt-get build-dep <nome_del_pacchetto>

"The following packages have been kept back:"

# forza l'installazione anche se le dipendenze sono incerte
sudo apt-get install packagename
# forza l'aggiornamento: ATTENZIONE: tutta la distro verrà aggiornata e aggiornare
# fare molta attenzione che sources.list sia corettamente impostata
sudo apt-get dist-upgrade

Fixing a missing ppa key

error:

W: GPG error: http://ppa.launchpad.net trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY BC3E0682A5A1D6B2
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8BAF9A6F

Non Free packages

Google packages: installare .deb da google, installa automaticamente la source list per l'aggiornamento

Automated security updates

sudo apt-get install unattended-upgrades
 
sudo nano /etc/apt/apt.conf.d/10periodic
 
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

only enable security updates:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
 
Unattended-Upgrade::Allowed-Origins {
    "Ubuntu lucid-security";
    //"Ubuntu lucid-updates";
};