“ LSB” หมายถึงอะไรเมื่ออ้างถึงไฟล์ที่สามารถใช้งานได้ในเอาต์พุตของ / bin / ไฟล์?


23

ฉันได้พบคำว่า" LSB executable"หรือ" LSB shared object"ในผลลัพธ์ของfileคำสั่งใน Linux ตัวอย่างเช่น:

$ 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

"LSB" หมายถึงอะไรในบริบทนี้

คำตอบ:


43

“ LSB” ที่นี่หมายถึง“ ไบต์ที่มีนัยสำคัญน้อยที่สุด” (แรก) ตรงข้ามกับ“ MSB”,“ ไบต์ที่สำคัญที่สุด” หมายความว่าไบนารีนั้นเป็น endian น้อย

file กำหนดนี้จากไบต์ที่หกของส่วนหัวของเอลฟ์


คำตอบอื่น ๆ ระบุบางสิ่งที่แตกต่างอย่างสิ้นเชิง ... ฐานมาตรฐาน Linux .... ทำไมจึงมีความสับสนเกี่ยวกับเรื่องนี้? ฉันคิดว่าคุณพูดถูก ดูเหมือนคำอธิบายที่สมเหตุสมผลมากขึ้น
yoyo_fun

7
มีความสับสนเพราะ“ LSB” เป็นตัวย่อที่ครอบคลุมความหมายต่างกัน มันอาจหมายถึง "ฐานมาตรฐาน Linux" ในบริบทอื่น ๆ อย่างไรก็ตามในfileผลลัพธ์ของมันหมายถึง“ ไบต์ที่มีนัยสำคัญน้อยที่สุด” (ตามที่เห็นได้จากซอร์สโค้ดที่ฉันเชื่อมโยง)
Stephen Kitt

ตัวย่อหลายตัวหมายถึงสิ่งต่าง ๆ มากมาย อย่างไรก็ตามคำถามของฉันไม่ได้: "LSB หมายถึงอะไร" แต่อีกหนึ่งไฟล์ที่เฉพาะเจาะจงมากขึ้นเกี่ยวกับไฟล์ที่ใช้งานได้อย่างเคร่งครัดในรูปแบบ ELF
yoyo_fun

4
ใช่แล้ว ฉันไม่คิดว่าคำถามของคุณไม่ชัดเจน อย่างไรก็ตามหลายคนจะหยุดที่ "LSB" และตอบกลับ "ฐานมาตรฐาน Linux"
Stephen Kitt

1
ฉันคาดหวังว่าความสับสนเกิดขึ้นจากบางสิ่ง 1. การเขียน "LSB" ด้วยตัวเองเพื่อระบุว่า endian น้อยเป็นเรื่องผิดปกติ 2. มาตรฐานลินุกซ์พื้นฐานสร้างมาตรฐานเล็กน้อยเกี่ยวกับระบบลินุกซ์ที่ทันสมัย 3. ผู้ใช้ Linux ส่วนใหญ่มี probabblly ไม่เคยใช้ระบบ Linux ตัวใหญ่
plugwash
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.