Procurando pelo caminho de um arquivo específico fornecido por um rpm específico em uma especificação

1

Eu quero saber o caminho de apxs fornecido por httpd-devel , em uma máquina que pode ter outras cópias de apxs , que seriam resolvidas por which primeiro. Eu posso estar razoavelmente confiante de que este comando funcionará:

rpm -ql httpd-devel | egrep 's?bin/apxs2?$'

No entanto, existe uma maneira de testar sem canalizar grep e regex?

    
por Justin Dearing 20.12.2013 / 15:47

2 respostas

2

Essa é a maneira unix de fazer isso - canalizar a saída de um programa para outro, a fim de usar pequenos blocos de construção para obter o que você precisa.

    
por 20.12.2013 / 16:15
1

Diretório do arquivo no RPM

Suas perguntas são um pouco confusas. Se você está perguntando sobre como determinar o caminho do arquivo que está contido em um RPM específico, então não, não há como fazer isso usando apenas rpm ou yum .

Esta é uma maneira de obter o caminho de apxs de um RPM.

$ dirname $(rpm -ql httpd-devel | grep "apxs$")
/usr/bin

Arquivos contidos em uma RPM

Se a sua pergunta for sobre como descobrir se um arquivo está presente em um determinado RPM, existem três métodos que eu estou acostumado a determinar quando um arquivo no disco pertence a um RPM.

Método 1 - Consultar o banco de dados do RPM

$ rpm -ql httpd-devel | grep "apxs$"
/usr/bin/apxs

Método 2 - ver em qual RPM um arquivo pertence

$ rpm -qf /usr/sbin/apxs
httpd-devel-2.2.22-jason.1

Método # 3 - o que fornece

Você pode consultar o banco de dados do RPM dessa forma usando yum whatprovides .. .

Exemplo

$ yum whatprovides '*apxs'
Loaded plugins: langpacks, refresh-packagekit
httpd-devel-2.4.4-6.fc19.i686 : Development interfaces for the Apache HTTP server
Repo        : fedora
Matched from:
Filename    : /usr/bin/apxs



httpd-devel-2.4.4-6.fc19.x86_64 : Development interfaces for the Apache HTTP server
Repo        : fedora
Matched from:
Filename    : /usr/bin/apxs



httpd-devel-2.4.6-2.fc19.i686 : Development interfaces for the Apache HTTP server
Repo        : updates
Matched from:
Filename    : /usr/bin/apxs



httpd-devel-2.4.6-2.fc19.x86_64 : Development interfaces for the Apache HTTP server
Repo        : updates
Matched from:
Filename    : /usr/bin/apxs



httpd-devel-2.4.6-2.fc19.x86_64 : Development interfaces for the Apache HTTP server
Repo        : @updates
Matched from:
Filename    : /usr/bin/apxs
    
por 20.12.2013 / 16:16

Tags