ทำไม Ubuntu ใช้ eglibc แทน glibc


13

ฉันจะตรวจสอบสำหรับรุ่น libc บน Ubuntu ของฉันเครื่องโดยการออกคำสั่ง64bit 12.10ldd --version

ผมเห็นว่าใช้อูบุนตูแทนeglibc glibcในฐานะที่egiblcเป็นสำหรับเครื่องที่ฝังตัวมีเหตุผลที่เฉพาะเจาะจงว่าทำไมอูบุนตูใช้มันแทนการ glibc มาตรฐาน

คำตอบ:


13

Ubuntu ขึ้นอยู่กับเดเบียน นี่คือบทย่อของWikipedia :

ในวันที่ 6 พฤษภาคม 2009 มีการประกาศว่า Debian จะย้ายจาก GNU C Library ไปยัง EGLIBC โดยอ้างถึงปัญหากับกระบวนการพัฒนา glibc Debian และอนุพันธ์หลายตัวในขณะนี้ส่ง EGLIBC แทน glibc EGLIBC เป็นซอฟต์แวร์ฟรีที่ได้รับอนุญาตภายใต้ GNU LGPL

นี่คือเหตุผล (แบบฟอร์มDebian เปลี่ยนเป็น EGLIBC ):

EGLIBC เป็นตัวแปรหนึ่งของ GLIBC ซึ่งยังคงแหล่งสัญญาณและไบนารีที่เข้ากันได้กับ GLIBC ดั้งเดิม แม้ว่าเป้าหมายหลักสำหรับสถาปัตยกรรมแบบฝังจะมีจุดดีอยู่บ้าง:

  • เป็นมิตรมากขึ้นต้นน้ำ (โดยเฉพาะอย่างยิ่งเกี่ยวกับสถาปัตยกรรมแบบฝังตัว): "ส่งเสริมความร่วมมือการสื่อสารความสุภาพและ
    ความเคารพในหมู่นักพัฒนา" (ตรงข้ามกับสิ่งนี้)
  • สาขาที่มีเสถียรภาพพร้อมการแก้ไขข้อบกพร่องที่สำคัญ (ของจริงไม่เหมือน GLIBC ที่ไม่มีการเปลี่ยนแปลง)
  • การสนับสนุนที่ดีกว่าสำหรับสถาปัตยกรรมแบบฝัง
  • รองรับเชลล์ที่แตกต่างกัน (GLIBC รองรับเฉพาะการทุบตีเท่านั้น)
  • รองรับการสร้างด้วย -Os
  • ส่วนประกอบที่กำหนดค่าได้ (เราต้องการการสนับสนุน NIS หรือ RPC ในตัวติดตั้งเดเบียนจริง ๆ )
  • การทดสอบที่ดีกว่าสำหรับแพ็คเกจที่ได้รับการปรับแต่งหรือดีที่สุด

หนึ่งในผลที่ตามมาของกระบวนการพัฒนา "แตกหัก" และการขาดความเข้มงวดด้านความปลอดภัยอย่างสมบูรณ์: ชุมชนที่แฝงตัวของ GHOST.qualys.com/blogs/laws-of-vulnerabilities/2015/01/27/ ส่วนที่ฉันชอบที่สุดจากด้านบน บทความกำลังปฏิเสธภัยคุกคามความปลอดภัย codebase ที่มีขนาดใหญ่เกินไปออกแบบมาไม่ดีและขาดความสามารถในการทำงานชุมชนที่น่าจะมีช่องโหว่มากมาย ... เช่นการเล่น whac-a-โมลใน POODLE หมัดกัด อย่าใช้ glibc ระยะเวลา
dhchdhd

glibc เป็น pita แน่นอนฉันกำลังต่อสู้กับมันไม่สามารถที่จะเชื่อมโยงแบบคงที่ซึ่งทำให้การรวบรวมข้ามที่น่ารำคาญมากขึ้น สิ่งที่เป็นทางเลือกแม้ว่าตอนนี้ที่ eglibc ตีจุดสิ้นสุดของชีวิต?
moodboom

4

ยกเว้นตอนนี้พวกเขาได้เปลี่ยนกลับ:

นับตั้งแต่ต้นปี 2557 หน้าแรกของทางการระบุว่า EGLIBC ไม่ได้รับการพัฒนาอีกต่อไปเนื่องจาก "ตอนนี้เป้าหมายได้รับการแก้ไขโดยตรงใน GLIBC" และ Debian ได้เปลี่ยนกลับไปเป็น glibc [4] สำหรับเดเบียน 8.0 (เจสซี) - วิกิพีเดีย


4
Ubuntu ได้เปลี่ยนกลับมาแล้วในรุ่นล่าสุด การค้นหา libc6 นี้ (ซึ่งเป็นชื่อของแพ็คเกจไบนารีหลักที่ให้ libc ใน Ubuntu) แสดง eglibc ในรุ่นสูงถึง 14.04 LTS Trusty Tahr จากนั้น glibc ในรุ่นถัดมา 14.10 Utopic Unicorn และ 15.04 Vivid Vervet (ซึ่งอยู่ในรุ่นเบต้าเป็น ฉันเขียนสิ่งนี้) ดูหน้าแพคเกจแหล่งที่มาeglibcและglibcเพื่อดูรายละเอียด โปรดเพิ่มข้อมูลนี้ในคำตอบของคุณ
Eliah Kagan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.