msoliver
(usa Debian)
Enviado em 28/10/2022 - 19:02h
SamL escreveu:
Uma coisa importante que vc precisa saber é: se não foi programada ou inserida a versão dentro do programa, fica impossível saber qual versão se trata.
Mas como é Linux, aqui tudo dá-se um jeito:
Vc pode pegar e extrair o executável dessa aplicação e então fazer o md5sum dele ou shasum:
Exemplo:
md5sum /usr/bin/firefox
42b33a4578e4a51d8a5d1010c466a9d7 /usr/bin/firefox
Pronto, essa strring aí é única pro executável do firefox que está instaldo no meu sistema.
E com ela, você pode diferenciar se o que está instalado é uma versão 02.06.18 ou não.
A desvantagem é que não dá pra ter certeza se a versão que está instalada é mais antiga ou mais recente. Mas apenas saber se é outra versão.
Se o md5sum for diferente então não é a versão que vc especificou como padrão.
----------------------------------------------------------------------------------------------------------------
Boa noite Samuel,
seguindo sua lógica, uma outra opção:
"Pegar" o "BuildID[sha1]" da compilação:
Exemplos:
file /usr/bin/bash|grep -Eo 'BuildID\[sha1\]=[[:alnum:]]+'
BuildID[sha1]=31c321f9f0c1f86a379f7efaaeb75f707998f27f
file /usr/bin/bash|awk -F"[:,]" '{for(n=1;n<=NF;n++) print n,$n}'
1 /usr/bin/bash
2 ELF 64-bit LSB pie executable
3 x86-64
4 version 1 (SYSV)
5 dynamically linked
6 interpreter /lib64/ld-linux-x86-64.so.2
7 BuildID[sha1]=31c321f9f0c1f86a379f7efaaeb75f707998f27f
8 for GNU/Linux 3.2.0
9 stripped
----------------------------------------------------------------------------------------------------------------
É isso....
Fica a dica.... :)
______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________