Cosa significa BuildID SHA1?


12

Stavo esplorando la finestra del terminale Ubuntu Unit quando è venuto fuori questo:

Quando ho digitato:

file /bin/ls

l'output è:

/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

Volevo verificare che sha1 sia corretto e quindi ho digitato questo:

openssl sha1 /bin/ls

Tuttavia, l'output è come tale:

SHA1(/bin/ls)= 8800fee57584ed1c44b638225c2f1eec818a27c2

Sebbene abbiano la stessa lunghezza in esadecimali, non sembrano corrispondere. Ho dimenticato qualcosa? O si BuildID[sha1]riferisce a qualcos'altro?

Risposte:


15

O BuildID [sha1] fa riferimento a qualcos'altro?

BuildID NON è l'hash di un file binario o ad esso correlato. È un identificatore per la sessione "build" (o compilazione) che ha prodotto quel file binario. È principalmente lì per scopi di debug, in modo che gli sviluppatori possano guardare i registri, l'ambiente, ecc. Dal numero di sessione $ BuildID e provare a risolvere il problema, riprodurlo, ecc.

A proposito, gli hash SHA1 di qualsiasi cosa sono sempre lunghi 160 bit :)


Questo potrebbe essere usato nel fingerprinting della cache dello strumento di compilazione? Ad esempio gli scons potevano semplicemente leggere questo id invece di dover ricalcolare gli hash MD5 di oggetti e librerie intermedie da utilizzare nel controllo delle dipendenze.
Nordlöw,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.