Se você tem dlocate instalado, há uma maneira fácil de listar todos os comandos em um pacote instalado:
dlocate -lsbin PACKAGE-NAME
Com apenas dpkg , você pode listar os arquivos nos diretórios PATH padrão (eles são quase todos programas executáveis, com pouquíssimas exceções):
dpkg -L PACKAGE-NAME… | sed -n 's!^\(/s\?bin\|/usr/s\?bin\|/usr/games\)/!!p' | sort -u
As exceções são alguns diretórios - do Debian wheezy, apenas dois: /usr/bin/mh e /usr/bin/nu-mh .
Se o pacote não estiver instalado, substitua dpkg -L por apt-file -F list :
apt-file -F list PACKAGE-NAME… | sed -n 's!^\(/s\?bin\|/usr/s\?bin\|/usr/games\)/!!p' | sort -u
Embora existam arquivos executáveis em outros diretórios, eles não devem ser executados diretamente, o que os torna irrelevantes aqui.
Todos estes métodos perdem um conjunto de programas: aqueles que são fornecidos através do mecanismo alternativas . Por exemplo, para o pacote ftp , apenas netkit-ftp e pftp são fornecidos, mas esse pacote realmente fornece o comando ftp , porque /usr/bin/ftp é um link simbólico para /etc/alternatives/ftp , que é um link simbólico para uma das implementações ftp no sistema, potencialmente /usr/bin/netkit-ftp . O seguinte comando (que não é um exemplo de boa programação, apenas um grande one-liner) lista os comandos fornecidos por um pacote através do mecanismo de alternativas, como atualmente configurado.
perl -lwe 'foreach ('dpkg -L @ARGV') {chomp; ++$p{$_}} foreach (</bin/* /sbin/* /usr/bin/* /usr/sbin/*>) {$e = readlink; next unless defined $e and $e =~ m!^/etc/alternatives/!; $t = readlink $e; print if $p{$t}}' PACKAGE_NAME…
Se você quiser listar os comandos que podem ser fornecidos por meio de uma alternativa que está atualmente configurada para apontar para um pacote diferente, será necessário analisar os arquivos em /var/lib/dpkg/alternatives .
Links simbólicos e arquivos de configuração que implementam os mecanismos alternativos não são registrados em pacotes, mas registrados automaticamente em postinst , o que torna difícil (e tecnicamente impossível se o script de instalação de um pacote não seguir as convenções) para consultar o alternativas fornecidas por um pacote desinstalado.