apt-file search filename
ou
apt-file search /path/to/file
Para instalar apt-file
, use:
sudo apt-get install apt-file
Você precisará atualizar seu banco de dados antes de poder usá-lo:
sudo apt-file update
Eu frequentemente me sinto perdendo um programa, uma página de manual ou outro arquivo quando estou trabalhando no meu sistema Ubuntu 8.04. Existe alguma maneira simples de procurar o pacote que contém um determinado arquivo (se já está instalado ou não)? Talvez alguma opção obscura para o apt ou dpkg?
apt-file search filename
ou
apt-file search /path/to/file
Para instalar apt-file
, use:
sudo apt-get install apt-file
Você precisará atualizar seu banco de dados antes de poder usá-lo:
sudo apt-file update
(Debian / Ubuntu) Descubra qual pacote arquivo pertence a :
dpkg -S /usr/bin/ls
'dpkg -S' just matches the string you supply it, so just using 'ls' as an argument matches any file from any package that has 'ls' anywhere in the filename. So usually it's a good idea to use an absolute path. You can see in the second example that 12 thousand files that are known to dpkg match the bare string 'ls'.
packages.debian.org é o que eu sempre uso para realizar essa tarefa. É superior ao apt-file porque também pode encontrar partes de nomes de arquivos. Ele também está ligado à lista de pacotes principais, que listará descrições, bugs, etc. Tudo em um bom site. Não é tão útil na linha de comando, mas ainda é bastante útil.
Para velocidade, eu marquei o URL:
http://packages.debian.org/search?searchon=contents&keywords=%s&mode=filename&suite=unstable&arch=any
no Firefox, e acrescentou "debfind" como uma palavra-chave (clique em "mais" no gerenciador de favoritos com ele hilighted), para que eu possa digitar "debfind" e ele funcionará. Você pode alterar o 'suite' de instável para estável ou testar, se desejar, para outras versões da distribuição.
Você também pode usar o dlocate. Da página do manual;
$ dlocate [ PATTERN ]
List all records where either the package name or the filename matches PATTERN.
Eu encontrei o Wajig ...
wajig whichpackage /path/to/file
por exemplo.
wajig whichpackage /etc/apt/sources.list
O Wajig é uma linha de comando ou ferramenta de console útil que envolve toda a bondade do apt-get, dpkg que você nunca quis aprender. .
Para instalar o uso do wajig:
apt-get install wajig
Esse comando 'whichpackage' depende do apt-file
você ainda precisará atualizar seu banco de dados antes de poder usá-lo: - Eu não sei ainda se wajig update whixh faz uma atualização do apt-get também atualiza o cache de arquivos, mas eu espero que isso ocorra.
sudo wajig update
sudo apt-file update
(e Super Cow, Easter egss ?!)
Similar à resposta do jamuraa para o Debian, você também pode acessar o link para o Ubuntu. Você terá que rolar um pouco para encontrar a caixa de pesquisa "Pesquisar nos conteúdos dos pacotes" onde você pode inserir o caminho de um arquivo.
Tente pesquisar arquivos usando o link
Esta é uma aplicação para procurar por arquivos que estão contidos em diferentes pacotes rpms / linux, e é muito útil quando você não tem sequer o rpm instalado em sua máquina.
O pacote command-not-found fornece dicas sobre possíveis comandos e o nome do pacote debian. Ele funciona digitando o comando no bash shell e olhando sua saída.
Por exemplo, se o nome do comando for conhecido:
zer@ivy:~ 10:45 $ zsh5
The program 'zsh5' is currently not installed. To run 'zsh5' please ask
your administrator to install the package 'zsh'
zsh5: command not found
e se o comando não é conhecido, algumas suposições são aplicadas:
zer@ivy:~ 09:46 $ zsh
No command 'zsh' found, did you mean:
Command 'lsh' from package 'lsh-client' (main)
Command 'osh' from package 'omake' (main)
Command 'ysh' from package 'libyaml-shell-perl' (main)
Command 'ssh' from package 'openssh-client' (main)
Command 'vsh' from package 'crystalspace' (main)
Command 'dsh' from package 'dsh' (main)
Command 'ash' from package 'ash' (main)
Command 'msh' from package 'nmh' (main)
Command 'zssh' from package 'zssh' (main)
Command 'qsh' from package 'gridengine-client' (main)
Command 'sh' from package 'dash' (main)
Command 'bsh' from package 'bsh' (main)
zsh: command not found