Que signifie BuildID SHA1?

12

J'explorais dans la fenêtre du terminal de l'unité ubuntu quand cela est apparu:

Quand je tapais:

file /bin/ls

la sortie est la suivante:

/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x214a38d0db472db559f0dabf0ae97f82fea83e03, stripped

Je voulais vérifier que le SHA1 est correct et donc je tapé ceci:

openssl sha1 /bin/ls

, La sortie est cependant en tant que tel:

SHA1(/bin/ls)= 8800fee57584ed1c44b638225c2f1eec818a27c2

Bien qu'ils soient de la même longueur en hexadécimal, ils ne semblent pas correspondre. Ai-je oublié quelque chose? Ou le fait-il BuildID[sha1]référence à autre chose?

vern
la source

Réponses:

15

Ou le BuildID [sha1] fait-il référence à autre chose?

BuildID n'est pas le hachage d'un binaire ou qui s'y rapporte. Il est un identifiant pour la session « build » (ou la compilation) qui a produit que binaire. Il est principalement présent à des fins de débogage, afin que les développeurs puissent consulter les journaux, l'environnement, etc. à partir du numéro de session $ BuildID et essayer de résoudre le problème, le reproduire, etc.

BTW, hash SHA1 de quoi que ce soit sont toujours 160 bits de long :)

ish
la source
Cela pourrait - il être utilisé dans la construction fingerprinting cache outil? Par exemple, scons pourrait simplement lire cet identifiant au lieu d'avoir à recalculer les hachages MD5 d'objets et de bibliothèques intermédiaires pour les utiliser dans la vérification des dépendances.
Nordlöw