Co oznacza BuildID SHA1?


12

Kiedy to się pojawiło, eksplorowałem okno terminalu Ubuntu Unity:

Kiedy pisałem:

file /bin/ls

dane wyjściowe to:

/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

Chciałem sprawdzić, czy sha1 jest poprawny i dlatego napisałem:

openssl sha1 /bin/ls

Jednak wynik jest taki:

SHA1(/bin/ls)= 8800fee57584ed1c44b638225c2f1eec818a27c2

Mimo że mają tę samą długość w systemie szesnastkowym, nie pasują do siebie. Przegapiłem coś? Czy BuildID[sha1]odnosi się to do czegoś innego?

Odpowiedzi:


15

Czy może BuildID [sha1] odnosi się do czegoś innego?

BuildID NIE jest skrótem pliku binarnego ani z nim powiązanego. Jest to identyfikator sesji „kompilacji” (lub kompilacji), która wygenerowała ten plik binarny. Przeważnie służy on do celów debugowania, dzięki czemu programiści mogą przeglądać dzienniki, środowisko itp. Z numeru sesji $ BuildID i próbować naprawić problem, odtworzyć go itp.

BTW, skróty SHA1 czegokolwiek mają zawsze 160 bitów :)


Czy można tego użyć do pobierania odcisków palców pamięci podręcznej narzędzia do budowania? Na przykład scons może po prostu odczytać ten identyfikator zamiast konieczności ponownego obliczania skrótów MD5 obiektów pośrednich i bibliotek do użycia w sprawdzaniu zależności.
Nordlöw
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.