Como encontro um pacote que fornece um determinado arquivo no OpenSuSE?

11

Estou pensando em alguns como Contents-<arch>.gzno Debian. Um serviço de rede também foi bom. Isto existe?

Elaboração simples: por exemplo, precisamos de um binário chamado exampletool, que sabemos muito bem de outras distribuições ou sistemas operacionais. Queremos instalar isso, por exemplo, com o zypper. Mas o zypper pode instalar apenas um pacote. Para descobrir em qual pacote podemos encontrar o exampletoolbinário necessário , precisamos fazer praticamente uma pesquisa e, idealmente, uma pesquisa rápida e indexada na lista de arquivos dos pacotes atualmente não instalados, mas nos pacotes disponíveis dos repositórios . No debian, existe um arquivo de índice nos repositórios de pacotes nomeados Contents-amd64.gz, no qual podemos encontrar o pacote necessário com um único zgrepcomando. Também estou procurando uma solução de comando único semelhante para o OpenSUSE. Se não houver, um serviço da Web também será adequado para a mesma funcionalidade.

peterh - Restabelecer Monica
fonte

Respostas:

7

Para pesquisar em todos os pacotes disponíveis para encontrar um arquivo específico, você pode usar a opção wpou se --provides --match-exactcomo exemplo:

zypper se --provides --match-exact hg

Você verá uma saída semelhante ao seguinte:

Loading repository data...
Reading installed packages...

S | Name      | Summary                  | Type   
--+-----------+--------------------------+--------
  | mercurial | Scalable Distributed SCM | package

A partir desse ponto, você pode instalar o pacote através de uma instalação padrão do zypper

zypper in mercurial

Note-se que zypper wpé obsoleto e pode não estar mais disponível.

SailorCire
fonte
Isso nem sempre é confiável. Não sei por que, mas nomes de arquivos como zypper search --provides [--match-exact] getenforcenão retornam resultados, enquanto retornam zypper search --provides nslookup.
Lester
6

Para os googlers do futuro: ao lado da maravilhosa solução do @SailorCire :-), também existe uma ferramenta chamada scout, capaz de pesquisar em praticamente tudo, podemos encontrar rpm-s para um binário, assim como podemos encontrar o jars para uma determinada classe java.

Por exemplo, podemos usar o bincomando scout para descobrir qual pacote fornece o hgexecutável:

scout bin hg

O resultado desta pesquisa é o mercurialpacote:

 repository      | package   | path     | binary
-----------------+-----------+----------+--------
 zypp (repo-oss) | mercurial | /usr/bin | hg    
peterh - Restabelecer Monica
fonte
Você pode ser um pouco mais específico sobre a scoutferramenta? Você pode dar o código 'nome completo ou URL ao seu'?
SebMa
@SebMa Era possível baixar do RPM, provavelmente pelo zypper. É possível que ele estivesse em um repositório não padrão. Não me lembro muito bem :-( Eu não uso mais o SuSE. Mas é bem possível que eu seja, então irei verificar e explicar o que encontrei. É possível que o SuSE tenha mudado muito desde então.
peterh - Restabelece Monica
No meu dispositivo Jolla1 (SailFishOS), zypper wp scoutdiz:No matching items found.
SebMa
@SebMa pesquisando por "scout tool rpm" Encontrei este link no local, no momento atual não posso ajudar mais. Provavelmente você precisará instalá-lo a partir de algum repositório não padrão.
peterh - Reinstala Monica
No link que você forneceu, ele diz: "O Scout é uma interface para notas do Tomboy ou Gnote que usa o DBus para se comunicar". Não sei se essa é a ferramenta que estamos procurando.
SebMa
1

Estou usando o Gecko Linux XFCE. Abri o Yast2 e instalei o gnome-search-tool e o gnome-shell-search-provider-nautilus . Funciona bem, assim como o peixe-gato.

Ross Vassilev
fonte