Se hai dlocateinstallato, c'è un modo semplice per elencare tutti i comandi in un pacchetto installato:
dlocate -lsbin PACKAGE-NAME
Con just dpkg, puoi elencare i file nelle directory PATH standard (sono quasi tutti programmi eseguibili, con pochissime eccezioni):
dpkg -L PACKAGE-NAME… | sed -n 's!^\(/s\?bin\|/usr/s\?bin\|/usr/games\)/!!p' | sort -u
Le eccezioni sono un paio di directory - a partire da Debian wheezy, solo due: /usr/bin/mhe /usr/bin/nu-mh.
Se il pacchetto non è installato, sostituirlo dpkg -Lcon apt-file -F list:
apt-file -F list PACKAGE-NAME… | sed -n 's!^\(/s\?bin\|/usr/s\?bin\|/usr/games\)/!!p' | sort -u
Mentre ci sono file eseguibili in altre directory, non sono pensati per essere eseguiti direttamente, il che li rende irrilevanti qui.
Tutti questi metodi mancano di una serie di programmi: quelli forniti attraverso il meccanismo delle alternative . Ad esempio, solo per il ftppacchetto netkit-ftpe pftpvengono forniti, ma questo pacchetto fornisce effettivamente il ftpcomando, poiché /usr/bin/ftpè potenzialmente un collegamento simbolico al /etc/alternatives/ftpquale è un collegamento simbolico a una delle ftpimplementazioni sul sistema /usr/bin/netkit-ftp. Il seguente comando (che non è un esempio di buona programmazione, solo un grande one-liner) elenca i comandi forniti da un pacchetto tramite il meccanismo delle alternative, come attualmente configurato.
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 si desidera elencare i comandi che potrebbero essere forniti tramite un'alternativa attualmente configurata per puntare a un pacchetto diverso, è necessario analizzare i file /var/lib/dpkg/alternatives.
I collegamenti simbolici e i file di configurazione che implementano i meccanismi alternativi non sono registrati nei pacchetti ma registrati automaticamente postinst, il che rende difficile (e di fatto tecnicamente impossibile se lo script di installazione di un pacchetto non segue le convenzioni) per interrogare le alternative fornite da un pacchetto disinstallato .