Não há uma maneira confiável de fazer isso, já que os pacotes podem baixar arquivos durante a instalação que o dpkg não estaria ciente. O pacote seria limpo se desinstalado, de modo que, de certo modo, é gerenciado, mas dpkg não os rastreia. E enquanto dpkg conhece os tamanhos do pacote, os arquivos podem, é claro, ter mudado após a instalação.
Pacotes podem ter arquivos em /opt (Google Chrome, por exemplo), /var/ (muitos exemplos para listar, basta fazer dpkg -S /var ), /usr/local (certificados SSL devem ser instalados usando um diretório em /usr/local , por exemplo.
De forma confiável, os únicos diretórios que você pode excluir são /home , /cdrom , /mnt , /media (e /lost+found , mas isso é um artefato do sistema de arquivos, não padrão).
Para mim, o comando que você tentou e o seguinte estão em acordo razoável e diferem significativamente com o uso real do sistema de arquivos (a lista de arquivos de um pacote está em /var/lib/dpkg/info/<package>.list ):
$ (cat /var/lib/dpkg/info/*.list | sudo xargs -d '\n' stat -c '%s' | awk '{c+=$1}END{print int(c/1024)}') 2>/dev/null
5572166
Compare:
$ dpkg-query -W --showformat='${Installed-Size}\n' | awk '{c+=$1}END{print c}'
5462957
$ df /
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 18446076 6744528 10741500 39% /
Pessoalmente, basta verificar os tamanhos de /var/cache e /home .