Se o pacote estiver instalado, você deseja dpkg -S /path/to/file
. Se o pacote não estiver instalado, use o utilitário apt-file ( apt-file update; apt-file search /path/to/file
).
Frequentemente sei o nome do programa de linha de comando que preciso, mas não sei o nome do pacote que fornece o programa. Como faço para encontrar o nome do pacote que contém o programa que eu preciso? Em sistemas baseados em RPM, eles têm a whatprovides
option rpm -q --whatprovides /usr/X11R6/bin/xclock
que encontrará o pacote correto. Existe algo similar para sistemas baseados em Debian?
O Ubuntu tem um utilitário de comando não encontrado que lhe dirá qual pacote instalar para obter um comando específico. Se configurado corretamente (talvez na instalação padrão?), Ele será exibido quando você inserir um comando que não esteja instalado. No entanto, você também pode executá-lo manualmente:
$ /usr/lib/command-not-found --ignore-installed test
The program 'test' is currently not installed. You can install it by typing:
sudo apt-get install coreutils
O Ubuntu, assim como o Debian, vem com o aplicativo apt-file. Isto permite-lhe, bastante semelhante ao apt-get, apenas procurar por arquivos em pacotes.
Assim, você teria
$ apt-file update
$ apt-file search xclock
E lá vai você. Se tiver sorte, você também pode usar a interface na parte inferior do site Pacotes Debian . Isso funcionará se os mantenedores do Ubuntu não tiverem mudado muito em comparação com a versão original do Debian.
Você também pode usar o apt-cache search [file] para verificar os caches locais do aplicativo.