Detectar símbolos binários ausentes no repositório do Linux

1

Existe alguma ferramenta que é capaz de validar que um repositório linux contém todos os símbolos binários necessários? Eu preciso verificar a integridade do repositório sobre símbolos binários.

Ou seja. Eu preciso saber que para cada arquivo executável no repositório todos os seus símbolos externos (conforme relatado por nm -g ) são fornecidos por alguma biblioteca compartilhada deste repositório.

Por enquanto, meu repositório de destino não está restrito a rpm ou deb, ou a qualquer distribuição em particular, eu só preciso saber se existe alguma ferramenta desse tipo?

Não tive sucesso em pesquisar isso, então ficarei grato por pelo menos palavras-chave para o google.

    
por gluk47 14.09.2014 / 21:31

1 resposta

2

O ALT linux implementou algo chamado set: versions como um tipo de dependência,

O set: versions é uma codificação de símbolo compacta que pode fazer subconjuntos de forma eficiente. O que isso significa é que um executável que usa apenas alguns dos símbolos nas bibliotecas tem um conjunto: version que pode detectar se é um subconjunto apropriado, ou seja, sem símbolos ausentes.

A implementação do set: version foi escrita por Alexey Tourbin.

Entretanto, não é muito difícil usar o nm (1) para gerar listas de todos os símbolos da biblioteca fornecidos e todos os símbolos executáveis necessários.

Se você usar um formato de arquivo comum para símbolos fornecidos / requeridos, e alfabetizar e remover duplicatas usando "sort -u", então você pode simplesmente divida os dois arquivos para garantir que não haja símbolos não resolvidos.

    
por 19.09.2014 / 11:52

Tags