APT

Configuration

Force IPv4

echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4

Limit download speed

To limit download speed to 250kBytes/s:

/etc/apt/apt.conf.d/75lowerspeed
Acquire
{
   Queue-mode "access";
   http
   {
      Dl-Limit "250";
   };
};

Use apt-cacher

/etc/apt/apt.conf.d/02proxy
Acquire::http { Proxy "http://192.168.0.231:3142"; };
Acquire::https::proxy "DIRECT";

or Replace all mirror hostnames with cachinghost/hostname in sources.list, so

deb http://ftp.uni-kl.de/debian etch main

should now become:

deb http://192.168.0.17:3142/ftp.uni-kl.de/debian etch main

Commandline

Disable fsync

This trick helps on BTRFS FS

apt-get install eatmydata
eatmydata apt-get update

Or wrap some commands permanently with eatmydata

ln -s /usr/bin/eatmydata /usr/local/bin/aptitude
ln -s /usr/bin/eatmydata /usr/local/bin/apt-get
ln -s /usr/bin/eatmydata /usr/local/bin/apt-cache

Playing with apt keys

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 8B48AD6246925553
sudo apt-get install debian-archive-keyring
wget http://ftp.pl.debian.org/debian/pool/main/p/pkg-mozilla-archive-keyring/pkg-mozilla-archive-keyring_1.1_all.deb
sudo dpkg -i pkg-mozilla-archive-keyring_1.1_all.deb
sudo apt-get update
gpg --keyserver pgpkeys.mit.edu --recv-key  8B48AD6246925553      
gpg -a --export 8B48AD6246925553 | sudo apt-key add -
apt-get update 2> /tmp/keymissing; for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do echo -e "\nProcessing key: $key"; gpg --keyserver keyserver.ubuntu.com --recv $key && sudo gpg --export --armor $key | apt-key add -; done

List all package versions

apt-cache policy lxc
lxc:
  Installed: 1:1.0.6-6+deb8u2
  Candidate: 1:1.1.5-1
  Version table:
     1:1.1.5-1 0
        500 http://ftp.pl.debian.org/debian/ stretch/main amd64 Packages
 *** 1:1.0.6-6+deb8u2 0
        100 /var/lib/dpkg/status

Install specified version

apt-get install backupninja=0.9.8.1-1
apt-mark hold backupninja

Install with low prio questions

To change dpkg-configure question priorities:

DEBIAN_PRIORITY=low apt-get install ...

Install from backports

List version and priorities:

apt-cache policy pulseaudio
apt-get install -t jessie-backports pulseaudio
aptitude -t jessie-backports
/etc/apt/preferences.d/backports
Package: *
Pin: release a=jessie-backports
Pin-Priority: 500

Package: *
Pin: release a=stretch-backports
Pin-Priority: 500

Hold package

echo package_name hold | sudo dpkg --set-selections

Errors

trying to overwrite

dpkg: error processing archive /var/cache/apt/archives/gstreamer1.0-plugins-base_1.18.4-2_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcompositor.so', which is also in package gstreamer1.0-plugins-bad:amd64 1:1.14.4-dmo7+deb10u1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/gstreamer1.0-plugins-base_1.18.4-2_amd64.deb
Config is in use.
apt-get -f -o Dpkg::Options::="--force-overwrite" install

BADSIG

Error:

http://httpredir.debian.org squeeze-lts Release: The following signatures were invalid: BADSIG 8B48AD6246925553 Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>
cd /var/lib/apt
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get update

This will rebuild the cache.

Error:

W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://repository.spotify.com stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 13B00F1FD2C19886
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 13B00F1FD2C19886

Download is performed unsandboxed

Warning:

W: Download is performed unsandboxed as root as file '/var/cache/apt/archives/partial/libnet-cidr-lite-perl_0.21-1_all.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
sudo chown -Rv _apt:root /var/cache/apt/archives/
sudo chmod -Rv 774 /var/cache/apt/archives/