สิ่งที่ป้องกันไม่ให้การกระจายใช้เคอร์เนล Linux ล่าสุด [ปิด]


13

Linux ดิสทริบิวชันส่วนใหญ่มาพร้อมกับเคอร์เนลเวอร์ชันที่แน่นอนและอัปเดตเฉพาะในรุ่นที่วางจำหน่าย ( x.y.zถึงx.y.(z+1)) และสำหรับการปรับปรุงความปลอดภัย

ในอีกด้านฉันรู้ว่า Linux มีนโยบายที่เข้มงวดมากเกี่ยวกับการไม่เปลี่ยนเคอร์เนล ABI และไม่ทำลายพื้นที่ผู้ใช้ ในความเป็นจริง Linus มีความโกรธเคืองสาธารณะจำนวนมากกำกับที่นักพัฒนาที่ต้องการเปลี่ยน (โดยเจตนาหรือไม่ตั้งใจ) เคอร์เนลเป็นวิธีที่เข้ากันไม่ได้ย้อนหลัง

ฉันไม่เข้าใจว่าทำไมการกระจายใช้เคอร์เนล "เสถียร" แทนที่จะอัปเดตเป็นเคอร์เนลล่าสุดเสมอ นี่ไม่ใช่การวิจารณ์ฉันแค่อยากรู้อยากเห็นเกี่ยวกับเหตุผล


1
เพราะเมล็ดล่าสุดขาดการทดสอบ มันอาจมีข้อบกพร่องที่สามารถส่งผลกระทบต่อเสถียรภาพของระบบและความมั่นคงเป็นจุดสนใจหลักของผู้ดูแลการจัดจำหน่ายใด ๆ

คำตอบ:


8

อินเตอร์เฟสการเรียกใช้ระบบของเคอร์เนล Linux มีความเสถียรมาก แต่เคอร์เนลมีอินเทอร์เฟซอื่น ๆ ที่ไม่เข้ากันเสมอ

  • /procส่วนใหญ่จะมีความเสถียร แต่มีการเปลี่ยนแปลงเล็กน้อยในอดีต (เช่นอินเทอร์เฟซบางอย่างย้ายไป/sysบางเวลาหลังจาก/sysสร้าง)
  • มีการลบอินเตอร์เฟสที่เกี่ยวข้องกับอุปกรณ์จำนวนมากในอดีต
  • /sysมีอินเทอร์เฟซที่เสถียร (อยู่ในรายการDocumentation/ABI/stable) และบางอินเทอร์เฟซนั้นไม่ใช่ คุณไม่ควรใช้สิ่งที่ไม่ใช่ แต่บางครั้งผู้คนก็ทำได้และการอัพเกรดความปลอดภัยและความมั่นคงแบบง่ายไม่ควรทำลายสิ่งต่าง ๆ สำหรับพวกเขา
  • ความไม่ลงรอยกันกับ modutils ในอดีต (เมล็ดใหม่ที่ต้องการ modutils รุ่นใหม่กว่า) ถึงแม้ว่าฉันคิดว่ามันค่อนข้างจะผ่านมานานแล้ว
  • นอกจากนี้ยังมีความไม่เข้ากันเกี่ยวกับกระบวนการบูตในการกำหนดค่าบางอย่างที่ผิดปกติ แม้การเพิ่มขนาดของเคอร์เนลอาจทำให้เกิดปัญหาในระบบฝังตัวบางระบบ
  • ในขณะที่อินเทอร์เฟซภายนอกของเคอร์เนลค่อนข้างเสถียรอินเทอร์เฟซภายในไม่ กฎสำหรับอินเทอร์เฟซภายในคือทุกคนสามารถทำลายได้ตราบใดที่พวกเขาแก้ไขการใช้ภายใน แต่การแก้ไขโมดูลของบุคคลที่สามเป็นความรับผิดชอบของผู้เขียนโมดูลดังกล่าว โดยรวมแล้วการติดตั้งค่อนข้างมากรันโมดูลของบุคคลที่สาม: ไดรเวอร์เพิ่มเติมสำหรับฮาร์ดแวร์ที่ไม่ได้รับการสนับสนุนโดยเคอร์เนล (หากฮาร์ดแวร์ได้รับการสนับสนุนโดยเคอร์เนลใหม่นั่นก็ดี แต่ถ้ามันไม่ได้) ไดรเวอร์ที่เป็นกรรมสิทธิ์ ( ในขณะที่โลกจะเป็นสถานที่ที่ดีกว่าถ้าไดรเวอร์ทั้งหมดเป็นโอเพ่นซอร์สนี่ไม่ใช่กรณีตัวอย่างเช่นหากคุณต้องการประสิทธิภาพ 3D GPU ที่ดีคุณติดอยู่กับไดรเวอร์ที่เป็นกรรมสิทธิ์) และอื่น ๆ
  • บางคนต้องการคอมไพล์เคอร์เนลใหม่หรือบางโมดูลของบุคคลที่สาม เมล็ดล่าสุดมักจะไม่สามารถรวบรวมกับคอมไพเลอร์รุ่นเก่า

โดยรวมแล้วเหตุผลหลักที่จะไม่เปลี่ยนเป็นเคอร์เนลเวอร์ชันที่ใหม่กว่าคือโมดูลของบุคคลที่สาม

การแจกแจงบางอย่างยังเสนอเมล็ดล่าสุดเป็นตัวเลือก ตัวอย่างเช่น Debian ทำให้เมล็ดจากการทดสอบพร้อมใช้งานสำหรับผู้ใช้รุ่นเสถียรผ่าน backport ในทำนองเดียวกันบน Ubuntu LTS จะมีเคอร์เนลจากรุ่นล่าสุดของ Ubuntu แต่ไม่มีการใช้งานตามค่าเริ่มต้น สิ่งนี้มีประโยชน์มากที่สุดสำหรับการติดตั้งใหม่บนฮาร์ดแวร์ที่ไม่ได้รับการสนับสนุนเมื่อการกระจายเสร็จสิ้น


9

ฉันไม่ได้ทำงานเพื่อการแจกจ่าย แต่ฉันสามารถคิดถึงเหตุผลอย่างน้อยสองข้อ:

  • ดิสทริบิวชันบางตัวใช้แพตช์ที่กำหนดเองกับเคอร์เนลซึ่งยังไม่ถูกรวมเข้ากับการฉีด ซึ่งหมายความว่าสำหรับการอัปเดตเคอร์เนลทุกครั้งที่พวกเขาต้องการเพื่อให้แน่ใจว่าแพตช์ของพวกเขาจะไม่แตกและยังทำงานได้อย่างถูกต้อง
  • แม้แต่เคอร์เนลรุ่นล่าสุดที่มีความเสถียรสามารถมีข้อบกพร่องการกระจายที่มีความน่าเชื่อถืออย่างจริงจังจะต้องผ่านขั้นตอนการทดสอบ / กระบวนการก่อนที่จะส่งมอบเคอร์เนลให้กับลูกค้า

2
โปรแกรมแก้ไขเฉพาะการแจกจ่ายไม่จำเป็นต้องมีไว้สำหรับอัปสตรีม และเคอร์เนลอัพสตรีมล่าสุดโดยเฉลี่ยจะมีข้อบกพร่องมากกว่าเคอร์เนล "หุ้น" ที่ได้รับการทดสอบแล้วของการกระจาย เคอร์เนลส่วนใหญ่ที่แจกจ่ายโดยการกระจายนั้นพยายามกำจัด / แก้ไขข้อบกพร่องให้มากที่สุดเท่าที่จะทำได้ในขณะที่ไม่เปลี่ยนรหัสเกินความจำเป็น
Faheem Mitha

0

กระจายอนุรักษ์นิยมมากกว่าทำตาม (และมีส่วนร่วมใน) เดอะมั่นคงรุ่นเคอร์เนลเพื่อเห็นแก่ความมั่นคงของ คนที่ชอบการผจญภัยมากขึ้นใช้เคอร์เนลหนึ่งเวอร์ชันหรือมากกว่านั้นหลังวานิลลาที่ยอดเยี่ยมที่สุดรวมถึงแพทช์ที่โปรยลงมาจากเคล็ดลับการพัฒนา

นโยบายการพัฒนาเคอร์เนลในปัจจุบันคือเวอร์ชั่นของ Linus ก้าวไปข้างหน้าด้วยของเล่นใหม่มันวาวและไม่กลัวการเปลี่ยนแปลงขายส่ง บางรุ่นถือว่ามีความเสถียรเพียงพอ (ใช้การพัฒนาอย่างชาญฉลาด) เพื่อสร้างพื้นฐานสำหรับการทดสอบและการทำให้เสถียรที่เข้มงวด

ทั้งหมดนี้เป็นไปได้เนื่องจากเครื่องมือในการใช้งานทุกคนสามารถตัดแต่งต้นไม้gitของตัวเองรักษากิ่งไม้ต้นน้ำและต้นไม้ที่น่าสนใจให้ตรงกันในพื้นที่ผู้บุกรุกจากผู้อื่น


เคอร์เนลเสถียรไม่ได้ถูกเลือกตามความเสถียรของรุ่นใดรุ่นหนึ่งโดยพลการ เริ่มต้นปีนี้ซีรีย์ที่เสถียรจะขึ้นอยู่กับเวอร์ชั่นแรกที่เปิดตัวในแต่ละปี ... การปล่อยเคอร์เนลทุกครั้งควรจะมีเสถียรภาพและไม่ทำลายความเข้ากันได้ย้อนหลัง
สตีเฟ่น Kitt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.