Ambas as respostas já fornecidas têm seus prós e contras.
Começando com debfoster , é apresentada uma lista de pacotes que é simples de analisar, de modo que o seguinte forneça o resultado solicitado:
apt-cache policy $(debfoster -q -d tcpdump|tail -n +2)|awk '/^[^ ]/ { package=$0 } / Installed/ { print package " " $2 }'
usando tail para pular a primeira linha e awk para processar o resultado em uma única operação. (Usar uma substituição de comando evita a necessidade de processar novas linhas.) Começando com debfoster significa que só podemos fazer isso com um pacote que já está instalado, então podemos usar dpkg para fornecer mais informações:
dpkg -l $(debfoster -q -d tcpdump|tail -n +2)
Começando com apt-rdepends , fornece uma lista de pacotes que é um pouco mais difícil de processar, com duplicatas; mas tem a vantagem de poder processar pacotes que ainda não estão instalados:
apt-cache policy $(apt-rdepends -p tcpdump 2>| /dev/null|awk '/Depends/ {print $2}'|sort -u)|awk '/^[^ ]/ { package=$0 } / Installed/ { print package " " $2 }'
Isso também pode ser usado com dpkg -l :
dpkg -l $(apt-rdepends -p tcpdump 2>| /dev/null|awk '/Depends/ {print $2}'|sort -u)
mas isso requer que dpkg saiba sobre todos os pacotes envolvidos, o que pode não ser o caso se o pacote que está sendo processado não estiver instalado.
debfoster inclui Recommends por padrão; isso pode ser desativado usando --option UseRecommends=no :
debfoster -q --option UseRecommends=no -d tcpdump
apt-rdepends não inclui Recommends por padrão; isso pode ser ativado usando -f Depends,PreDepends,Recommends -s Depends,PreDepends,Recommends :
apt-rdepends -f Depends,PreDepends,Recommends -s Depends,PreDepends,Recommends -p tcpdump
embora não forneça todas as dependências debfoster encontradas nesse caso. (Por exemplo, debfoster descobre que tcpdump depende de apt via libssl1.0.0 , debconf e apt-utils , mas apt-rdepends não.)