O que significa "LSB" quando se refere a arquivos executáveis ​​na saída de / bin / file?

23

Encontrei o termo " LSB executável" ou " LSB shared object" na saída do filecomando no Linux. Por exemplo:

$ 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

O que significa "LSB" neste contexto?

yoyo_fun
fonte

Respostas:

43

"LSB" aqui significa "byte menos significativo" (primeiro), em oposição a "MSB", "byte mais significativo". Isso significa que o binário é little-endian.

file determina isso a partir do sexto byte do cabeçalho ELF .

Stephen Kitt
fonte
A outra resposta afirmou algo completamente diferente ... Linux Standard Base .... Por que há confusão sobre esse assunto? Eu acho que você está provavelmente certo. Parece uma explicação mais razoável.
yoyo_fun
7
Há confusão porque "LSB" é um acrônimo que cobre significados diferentes. Pode significar "Linux Standard Base" em outros contextos; no entanto, na filesaída de significa "byte menos significativo" (como evidenciado pelo código-fonte ao qual vinculei).
Stephen Kitt
Muitas siglas significam muitas coisas diferentes. No entanto, minha pergunta não foi: "O que significa LSB?" , mas mais específico em relação a arquivos estritamente executáveis ​​no formato ELF.
precisa saber é o seguinte
4
Sim, exatamente; Não acho que sua pergunta seja clara. No entanto, muitas pessoas simplesmente param no "LSB" e respondem no "Linux Standard Base".
Stephen Kitt
1
Espero que a confusão decorra de algumas coisas. 1. Escrever "LSB" por si só para indicar little endian é bastante incomum. 2. A base de padrões do Linux padronizou bastante os sistemas linux modernos. 3. A maioria dos usuários de Linux provavelmente nunca usou um sistema Linux de grande porte.
plugwash