Se você dlocateinstalou, 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 os programas executáveis, com muito poucas 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 - a partir do Debian wheezy, apenas dois: /usr/bin/mhe /usr/bin/nu-mh.
Se o pacote não estiver instalado, substitua dpkg -Lpor 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 esses métodos perdem um conjunto de programas: aqueles que são fornecidos por meio do mecanismo de alternativas . Por exemplo, apenas para o ftppacote netkit-ftpe pftpsão fornecidos, mas esse pacote realmente fornece o ftpcomando, porque /usr/bin/ftpé um link simbólico ao /etc/alternatives/ftpqual é um link simbólico a uma das ftpimplementações no sistema, potencialmente /usr/bin/netkit-ftp. O comando a seguir (que não é um exemplo de boa programação, apenas uma grande linha) lista os comandos fornecidos por um pacote por meio do mecanismo de alternativas, conforme configurado atualmente.
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ê deseja listar os comandos que podem ser fornecidos por meio de uma alternativa atualmente configurada para apontar para um pacote diferente, é necessário analisar os arquivos /var/lib/dpkg/alternatives.
Links simbólicos e arquivos de configuração que implementam os mecanismos alternativos não são registrados nos pacotes, mas registrados automaticamente postinst, o que dificulta (e de fato tecnicamente impossível se o script de instalação de um pacote não seguir as convenções) consultar as alternativas fornecidas por um pacote desinstalado. .