Que signifie «LSB» lorsque l'on se réfère à des fichiers exécutables dans la sortie de / bin / file?

23

J'ai trouvé le terme « exécutable LSB » ou « objet partagé LSB » dans la sortie de la filecommande sous Linux. Par exemple:

$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=4637713da6cd9aa30d1528471c930f88a39045ff, stripped

Que signifie "LSB" dans ce contexte?

yoyo_fun
la source

Réponses:

43

«LSB» signifie ici «octet de poids faible» (premier), par opposition à «MSB», «octet de poids fort». Cela signifie que le binaire est peu-endian.

file détermine cela à partir du sixième octet de l'en- tête ELF .

Stephen Kitt
la source
L'autre réponse indiquait quelque chose de complètement différent ... Linux Standard Base .... Pourquoi y a-t-il une confusion à ce sujet? Je pense que vous avez probablement raison. Cela ressemble à une explication plus raisonnable.
yoyo_fun
7
Il y a confusion car «LSB» est un acronyme couvrant différentes significations. Cela peut signifier «Linux Standard Base» dans d'autres contextes; cependant, dans filela sortie de, cela signifie «octet de poids faible» (comme en témoigne le code source auquel j'ai lié).
Stephen Kitt
De nombreux acronymes signifient beaucoup de choses différentes. Mais ma question n'était pas: "Que signifie LSB?" , mais plus spécifique concernant les fichiers strictement exécutables au format ELF.
yoyo_fun
4
Oui, exactement; Je ne pense pas que votre question ne soit pas claire. Cependant, beaucoup de gens s'arrêteront à «LSB» et répondront «Linux Standard Base».
Stephen Kitt
1
Je pense que la confusion vient de plusieurs choses. 1. Ecrire "LSB" seul pour indiquer que le petit endian est assez inhabituel. 2. La base de normes Linux standardise un peu les systèmes Linux modernes. 3. La plupart des utilisateurs de Linux n'ont probablement jamais utilisé de système Linux big-endian.
plugwash