Instalei recentemente o java6 na minha caixa debian. Fui usar o javac e percebi que não estava instalado. Eventualmente descobri (depois de pesquisar online) que javac faz parte do pacote java6-sdk. Esta não é a primeira vez que conheço o comando que desejo, mas não sei em que pacote(s) ele está.
Minha pergunta é: existe uma maneira de descobrir qual arquivo pertence a quais pacotes na linha de comando? Então, se eu quisesse ver a quais pacotes o javac pertence, ele listaria java6-sdk, java5-sdk, .. já que todos eles contêm javac.
Responder1
apt-file
é o comando que você está procurando.
Responder2
Você pode usararquivo apt pesquisar nome do arquivopor isso. Você poderia simplesmente ir paraPacotes Debiane pesquise a versão online.
Responder3
Eu sei que não é exatamente isso que você está procurando, mas:
dpkg -L packagename
listará todos os arquivos pertencentes a umpacote instalado. (mas você quer isso para pacotes desinstalados)
Não sei como isso acontece, mas o Ubuntu (derivado do Debian) irá sugerir um pacote como segue:
$ chkrootkit
The program 'chkrootkit' is currently not installed. You can install it by typing:
sudo apt-get install chkrootkit
bash: chkrootkit: command not found
E muitas vezes fiz o óbvio e digitei o nome do arquivo, junto com "Debian" no Google para encontrar o pacote.
Responder4
você também pode querer dar uma olhada no pacote dlocate. possui muitas opções úteis para listar pacotes e arquivos dentro de pacotes. foi originalmente escrito para ser uma versão muito mais rápida do dpkg -L, dpkg -S etc, mas ganhou muitos recursos úteis ao longo dos anos (embora ainda mantendo a velocidade :)
AVISO LEGAL: Sou o autor e mantenedor debian do dlocate.
Aliás, instale a versão do dlocate em teste ou instável. ele tem inúmeras melhorias em relação à versão estável (em particular, não depende mais da localização do GNU) e ainda funciona bem no estável (não depende de nenhuma biblioteca nova/atualizada, etc.).