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

9

Estou pensando em alguns como Contents-<arch>.gz no debian. Um serviço de rede também estava bem. 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 só pode instalar um pacote. Para descobrir, em qual pacote podemos encontrar o binário exampletool necessário, precisamos fazer praticamente uma pesquisa e, idealmente, uma pesquisa indexada rápida na lista de arquivos atualmente não instalada, mas nos repositórios disponíveis pacotes . No debian, há um arquivo de índice nos repositórios de pacotes chamado Contents-amd64.gz , no qual podemos encontrar o pacote necessário com um único comando zgrep . Também estou procurando uma solução similar de comando único para o OpenSUSE. Se não houver nenhum, um serviço da Web também foi aprovado para a mesma funcionalidade.

    
por peterh 28.09.2014 / 17:51

3 respostas

7

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

zypper se --provides --match-exact hg

Você verá uma saída semelhante à 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 por meio de uma instalação padrão do zypper

zypper in mercurial

Deve-se notar que zypper wp está obsoleto e pode não estar mais disponível.

    
por 29.09.2014 / 22:18
3

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

Por exemplo, podemos usar o comando bin do scout para descobrir qual pacote fornece o executável hg :

scout bin hg

O resultado dessa pesquisa é o pacote mercurial :

 repository      | package   | path     | binary
-----------------+-----------+----------+--------
 zypp (repo-oss) | mercurial | /usr/bin | hg    
    
por 29.09.2014 / 22:55
1

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

    
por 29.01.2018 / 23:29