เหตุใดที่เก็บ Ubuntu จึงไม่มีซอฟต์แวร์รุ่นล่าสุด


145

ทำไมแพ็คเกจในที่เก็บของ Ubuntu อย่างเป็นทางการที่เก่ากว่าเวอร์ชั่นล่าสุด (อัปสตรีม) จาก Debian Sid, PPAs ผู้แต่งเป็นต้น


2
สิ่งนี้เกิดขึ้นจริงสำหรับdistro ใด ๆไม่ใช่แค่ Ubuntu
dr01

9
@ dr01 มีดิสทริบิวชันที่มีการแจกแจงแบบหมุนซึ่งมักจะได้รับการอัพเดทอยู่เสมอดังนั้นการแจกแจงทั้งหมดไม่เป็นไปตามคำถามนี้หรือวัฏจักรการพัฒนาของ Ubuntu
Thomas Ward

คำตอบ:


120

Ubuntu เปิดตัวผ่านหลายขั้นตอนก่อนที่จะเผยแพร่สู่สาธารณะในฐานะผลิตภัณฑ์สำเร็จรูป:

  • บางครั้งก่อนที่ Ubuntu จะเปิดตัวรีลีสมันจะหยุดแพ็คเกจในบางจุด

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

  • เมื่อรีลีสเกิดการเปลี่ยนแปลงเพิ่มเติมกับแพ็คเกจเหล่านี้จะเกิดขึ้นเฉพาะสำหรับการแก้ไขข้อบกพร่องและปัญหาด้านความปลอดภัย ไม่มีการอัพเกรดเพิ่มเติมที่ทำกับแพ็คเกจในที่เก็บอย่างเป็นทางการแม้ว่าจะมีการเปิดตัวแพ็คเกจใหม่

แพ็คเกจใหม่จะถูกนำเข้าอย่างต่อเนื่อง (จาก Debian) สำหรับ Ubuntu รุ่นถัดไปจนกว่าจะเกิดการค้างครั้งต่อไปและกระบวนการเดียวกันซ้ำตัวเอง

ตัวอย่างเช่นคุณสามารถมีลักษณะที่มีกำหนดการปล่อยของ 12.04

คุณจะเห็นได้ว่าแม้ว่าจะมีการปล่อย 12.04 ในเดือนเมษายน แต่ในเดือนมกราคม 12 มีบางสิ่งที่เรียกว่าการระงับการนำเข้า Debianเกิดขึ้น

นี่เป็นเพียงช่วงแรกของการหยุดหลายครั้งที่เกิดขึ้นก่อนการเปิดตัวจริงและหมายความว่า ณ จุดนั้นการนำเข้าแพคเกจจากการทดสอบ Debian หรือการหยุดที่ไม่เสถียรและการทำงานเริ่มที่พวกเขาเพื่อปรับแต่งและแก้ไขปัญหา

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

ดังนั้นแม้ว่าจะมีแพ็คเกจเดียวกันในเวอร์ชั่นที่สูงกว่าใน PPAs ของนักพัฒนาซอฟต์แวร์หรือในที่เก็บ Ubuntu + 1 ซึ่งจะรวมอยู่ใน Ubuntu รุ่นถัดไปเท่านั้น

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

Ubuntu รุ่นใหม่ออกทุก 6 เดือนดังนั้นทุก ๆ 6 เดือนแพคเกจใหม่ได้เตรียมทดสอบปรับแต่งและเผยแพร่ด้วยเวอร์ชันใหม่ แพ็คเกจเวอร์ชันอนาคตสามารถติดตั้งในระบบของคุณผ่าน PPA หรือเพียงแค่ดาวน์โหลดจากเว็บไซต์ แต่เวอร์ชันของแพ็คเกจในที่เก็บอย่างเป็นทางการยังคงเหมือนเดิม

เพื่อความเข้าใจเพิ่มเติมและภาพรวมที่น่าสนใจของสิ่งที่เกิดขึ้นกับ Ubuntu ตั้งแต่ 10.04 จนถึงการเปิดตัว 12.04 ให้ดูที่ReleaseSchedule - หน้า LTS to LTSและStable Release Updatesเพื่อดูภาพรวมที่สมบูรณ์และคำอธิบายของ Ubuntu ที่เสถียร


2
ดูเหมือนจะมีข้อยกเว้นสำหรับนโยบายนี้โดยเฉพาะอย่างยิ่งสำหรับเว็บเบราว์เซอร์ (Firefox, Chromium) แม้ว่าแพคเกจมากกว่า 95% อาจปฏิบัติตามสิ่งบ่งชี้ด้านล่าง แต่เว็บเบราว์เซอร์อาจเป็นแอปพลิเคชั่นที่ใช้มากที่สุดสำหรับผู้ใช้ส่วนใหญ่
dotpush

หากคุณต้องการซอฟต์แวร์ล่าสุดให้ใช้ที่เก็บ Launchpad PPA
iBug

@iBug หรือใช้การกระจายอื่นเช่นArch LinuxหรือNixOSหรือติดตั้งHomebrewบนระบบ Ubuntu ของคุณ
บอริส

16

ด้วยเหตุผลสองประการ สิ่งแรกคือความชัดเจน: มนุษย์ต้องการใช้เวลาในการอัปเดตแพ็กเกจเมื่ออัปสตรีมใหม่ออกมา อย่างที่สองก็คือถ้าคุณใช้งานรีลีสที่เสถียรซึ่งต่างจากเวอร์ชั่นการพัฒนาปัจจุบันแพคเกจจะไม่ได้รับการปรับปรุงโดยเจตนาเพื่อหลีกเลี่ยงการแตกหัก ดูhttp://wiki.ubuntu.com/StableReleaseUpdates


3
"ต้องใช้เวลาในการอัปเดตแพ็กเกจเมื่อมนุษย์อัปสตรีมใหม่ออกมา"นี่เป็นสิ่งที่ผิดอย่างชัดเจนทุกอย่างสามารถทำได้โดยอัตโนมัติ เหตุผลที่แท้จริงคือเหตุผลข้อที่สองที่คุณพูดถึง
เริ่ม

15

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

  • อาจนำข้อบกพร่องใหม่มาซึ่งทำให้ฟังก์ชั่นการถอยหลังที่มีอยู่ในช่วงเวลาของการวางจำหน่าย
  • ต้องการกำลังคนในการทำแพ็คเกจทดสอบและอัพโหลด
  • ต้องการชุดการปรับปรุงความปลอดภัยของตัวเอง
  • จะต้องมีการแปลที่อัปเดตสำหรับ UI
  • จะต้องมีเอกสารที่อัปเดต (และการแปล)
  • ทำให้การสนับสนุนด้านเทคนิคมีความท้าทายมากขึ้น
  • อาจรบกวนผู้ใช้ที่เคยชินกับคุณสมบัติในเวอร์ชั่นเก่า
  • อาจต้องการการพึ่งพาที่ใหม่กว่าซึ่งอาจทำลายแอปอื่น ๆ หากมีการเปลี่ยนแปลงในที่เก็บ
  • อาจทำลายแพ็คเกจอื่น ๆ ที่ขึ้นอยู่กับแพ็คเกจนี้
  • อาจทำลายสคริปต์ผู้ใช้แม่แบบเครื่องมือ ฯลฯ ที่สร้างขึ้นสำหรับรุ่นเก่า

ทั้งหมดที่กล่าวว่าทราบว่ามีกรณีที่อูบุนตูไม่ทำการปรับปรุงเต็มรูปแบบของรุ่นในพื้นที่เก็บข้อมูล ตัวอย่างเช่น Firefox

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

นอกจากนี้ทีม SRU ได้ปรับปรุงนโยบายของตำรวจเมื่อไม่นานมานี้ซึ่งหวังว่าจะทำให้ตรงไปตรงมามากขึ้นในการรับแพ็คเกจอัพเดตบั๊กเท่านั้น


11

โดยปกติการอัปเดตใน Ubuntu รุ่นที่วางจำหน่ายนั้นมีไว้เพื่อความปลอดภัยและแก้ไขข้อผิดพลาดตัวอย่างของข้อผิดพลาดดังกล่าว ได้แก่ :

  • ข้อบกพร่องที่อาจทำให้เกิดความเสี่ยงด้านความปลอดภัยโดยตรงภายใต้สถานการณ์จริง สิ่งเหล่านี้ทำโดยทีมรักษาความปลอดภัยและมีการบันทึกไว้ที่ SecurityTeam / UpdateProcedures

  • ข้อบกพร่องซึ่งแสดงถึงการถดถอยอย่างรุนแรงจาก Ubuntu รุ่นก่อนหน้า ซึ่งรวมถึงแพ็คเกจที่ใช้ไม่ได้โดยสิ้นเชิงเช่นถอนการติดตั้งหรือหยุดทำงานเมื่อเริ่มต้น

  • ข้อบกพร่องที่อาจทำให้ข้อมูลของผู้ใช้สูญเสียไปในทางที่เป็นจริงโดยตรงข้อบกพร่องที่ไม่เหมาะสมภายใต้หมวดหมู่ข้างต้น แต่ (1) มีแพทช์ที่ปลอดภัยอย่างเห็นได้ชัดและ (2) ส่งผลต่อแอปพลิเคชันมากกว่าแพ็คเกจโครงสร้างพื้นฐานที่สำคัญ หรือเคอร์เนล)

  • สำหรับการสนับสนุนในระยะยาวเราต้องการเปิดใช้งานฮาร์ดแวร์ใหม่เป็นประจำ การเปลี่ยนแปลงดังกล่าวมีความเหมาะสมโดยที่เราสามารถมั่นใจได้ว่าจะไม่ส่งผลกระทบต่อการอัพเกรดฮาร์ดแวร์ที่มีอยู่ ตัวอย่างเช่น modaliases ของไดรเวอร์ที่แนะนำใหม่ต้องไม่ซ้อนทับกับไดรเวอร์ที่จัดส่งก่อนหน้านี้ - ซอฟต์แวร์เชิงพาณิชย์รุ่นใหม่ในไฟล์เก็บถาวรของพันธมิตร Canonical

    -FTBFS (ไม่สามารถสร้างจากแหล่งที่มา) ได้อีกด้วย โปรดทราบว่าในหลักกระบวนการปล่อยให้แน่ใจว่าไม่มีไบนารีที่ไม่ได้สร้างจากแหล่งปัจจุบัน โดยปกติแล้วข้อบกพร่องเหล่านั้นควรจะถูกใช้ร่วมกับการแก้ไขข้อผิดพลาดอื่นเท่านั้น

    - สำหรับแพ็คเกจอัปสตรีมใหม่ที่มีคุณสมบัติใหม่ แต่ไม่แก้ไขข้อบกพร่องที่สำคัญควรขอ backport แทน

นำมาจากหน้าวิกิพีเดียที่ดีเยี่ยมStableReleaseUpdates


11

ฉันจะพยายามตอบคำถามของคุณตามประสบการณ์ที่ผ่านมาจากฟอรัม Ubuntu และดาวเคราะห์ Ubuntu

ฉันเดาว่าฉันแค่สงสัยว่าที่เก็บของ apt ได้รับการอัปเดตอย่างไรและโดยใคร

APT repos ได้รับการอัพเดตจากทีมบรรจุภัณฑ์ที่ Ubuntu ทีมบรรจุภัณฑ์ได้รับแพ็คเกจต้นน้ำทั้งหมดจากนักพัฒนาที่ทำการทดสอบบรรจุภัณฑ์เริ่มต้นและสิ่งอื่น ๆ จากนั้นทีมทดสอบทำการทดสอบขั้นสุดท้ายเพื่อส่งสัญญาณไป แต่ทีมบรรจุภัณฑ์และทีมทดสอบมีความระมัดระวังอย่างมากเกี่ยวกับการพึ่งพาและผลกระทบที่มีต่อระบบเสถียร

เมื่อมีความล่าช้าเป็นเพราะนักพัฒนาซอฟต์แวร์ไม่ได้ผลักดันการเปิดตัวล่าสุดไปยังเซิร์ฟเวอร์ที่เกี่ยวข้องหรือไม่?

หากคุณเห็นการเปลี่ยนแปลงต้นน้ำมีนักพัฒนาซอฟต์แวร์หลายพันคนที่ต้องการผลักดันแพ็คเกจของพวกเขา แต่ไม่ใช่ว่าทุกคนจะประสบความสำเร็จในกระแสหลักนี่เป็นเพราะเหตุผลหลายประการ สมมติว่าแอปพลิเคชัน Gedit รุ่น 2.2 นั้นเหมาะสมและใช้งานได้ดีกับ Dbus 2.1 และ Gtk 2.4 เป็นต้นซึ่งหากเป็นรุ่น Gedit 2.4 (ใหม่มาก) ต้องใช้ Gtk 2.5 และ Dbus2.3 ในการทำงาน ตอนนี้ทีมทดสอบและบรรจุภัณฑ์ (ทีมวางจำหน่ายยัง) ไม่ยอมรับสิ่งนี้เพราะการเปลี่ยนระบบที่มีอยู่เดิมซึ่งมี dbus และ gtk เก่าโดยที่ระบบใหม่จะหยุดทุกสิ่ง หวังว่าคุณจะได้รับจุดพึ่งพานรก

มีงานอีกมากสำหรับนักพัฒนาในการปล่อยให้เป็นแบบฟอร์มที่เก็บสามารถใช้?

ไม่ให้ช่องทางต้นน้ำ แต่ไปที่ช่องปล่อยใช่ :)

PS: อาจมีการเปลี่ยนแปลงเล็กน้อยในกระบวนการตอนนี้ในมาตรฐานซึ่งเป็นที่ยอมรับเมื่อเทียบกับสิ่งที่อธิบายไว้ข้างต้น แต่มันมากหรือน้อยเหมือนกัน


6

คำตอบที่ได้รับการยอมรับในลิงค์ fossfreedom โพสต์เป็นความคิดเห็นดีมาก

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

คุณอาจพบว่ามีการเปิดตัวแพคเกจบางส่วนไปยังที่เก็บของ backports หากมีการรวมอยู่ในการเปิดตัว Ubuntu ในอนาคตและหากนักพัฒนาเชื่อว่าจะสามารถใช้งานได้กับแพ็คเกจก่อนหน้า สามารถเปิดใช้งานและปิดการใช้งาน Backport ได้ในศูนย์ซอฟต์แวร์ (แก้ไข -> แหล่งซอฟท์แวร์ -> แท็บอัปเดต -> อัพเดตที่ไม่สนับสนุน)


1
ดังที่กล่าวไว้ที่อื่น backport เป็นเรื่องแปลกและมีไม่มาก
Thomas Ward

-3

คำตอบนั้นไม่เต็ม

มีบางแพ็กเกจซึ่งสามารถติดตั้งได้ในเวอร์ชัน backport จาก Software Center ที่ด้านขวาของหน้าต่างทางด้านซ้ายของปุ่มติดตั้ง / เปลี่ยนมีกล่องตัวเลือกที่คุณสามารถเปลี่ยนรุ่นได้

Exempli gratia: ค่าเริ่มต้นconkyคือตอนนี้1.8.xและคุณมี1.9.0 (precise-backports)เป็น backport แน่นอนว่าควรเปิดใช้งาน backport ก่อน

ที่มา: http://bugs.launchpad.net/ubuntu/+source/conky/+bug/1003727

แก้ไข: ตามที่ระบุไว้ด้านล่างไม่ใช่ทุกแพ็คเกจที่มี backport แต่คุณอาจเข้าใช้ก่อนเวลาได้หากคุณโชคดีพอ


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