เหตุใดจึงไม่มีผู้จัดการแพคเกจรวมสำหรับ Linux อย่างแท้จริง


31

ทำไมไม่จะมีการจัดการแพคเกจแบบครบวงจรที่ทำหน้าที่เป็นส่วนติดต่อระหว่างผู้ใช้ปลายทางและผู้จัดการแพคเกจระดับต่ำพื้นฐาน ( apt, yast, pacmanฯลฯ )?

มันยากที่จะทำและดังนั้นจึงไม่สามารถใช้งานได้จริงหรือมีสิ่งกีดขวางที่แท้จริงทำให้มันเป็นไปไม่ได้ที่จะทำ?


14
ฉันเดาว่าเราจะได้รับทฤษฎีภาคสนามที่เป็นเอกภาพมานานก่อนที่เราจะได้เป็นผู้จัดการแพคเกจแบบครบวงจร ...


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

2
คุณไม่ได้หมายถึงผู้จัดการแพ็คเกจระดับต่ำ rpm, dep, source หรือ สิ่งที่คุณระบุไว้คือส่วนหน้าของตัวเอง
frogstarr78

คำตอบ:


35

ก่อนอื่นมี ปัญหาไม่ได้อยู่ที่ว่าไม่มีผู้จัดการแพคเกจแบบรวมปัญหาคือมีสิบคน - จริงจัง

มาทำสิ่งที่ฉันชอบ: poldek. เป็นส่วนหน้าของผู้ใช้สำหรับการจัดการบรรจุภัณฑ์ที่สามารถทำงานบน distros ที่แตกต่างกันและจัดการอย่างใดอย่างหนึ่งrpmหรือdebแพคเกจ Poldek ไม่ได้ทำสิ่งที่รอบต่อนาทีทำ (มันปล่อยให้เป็นรอบต่อนาที) และเพียงแค่ส่งคำสั่งที่ถูกต้องโดยที่ผู้ใช้ไม่ต้องคิดออกทั้งหมด

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

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

ยังคงมีข้อเสนอที่โดดเด่นสำหรับวิธีการเขียนแพคเกจสากลหรือมีผู้จัดการที่เข้าใจพวกเขาทั้งหมดหรือมี API สำหรับการแปลงหนึ่งไปยังอีก ... แต่ในที่สุดUnix ดีที่สุดเมื่อใช้ตามปรัชญา ... แต่ละเครื่องมือ ไม่สิ่งหนึ่งและไม่ได้ดี

เมื่อใดก็ตามที่คุณมีเครื่องมือที่พยายามทำมากกว่าหนึ่งอย่างมันจะไม่ดีเท่าที่ควร ตัวอย่างเช่นpoldekแย่ที่จัดการการพึ่งพาแพคเกจ deb


1
ค่อนข้างมากในสิ่งที่ฉันจะพูด และตรงไปตรงมาตราบใดที่สิ่งต่าง ๆ ทำงานร่วมกันอย่างเหมาะสมภายใต้ประทุน (พูดโดยยึดมั่นในมาตรฐาน LSB) จากนั้นฉันก็ไม่เห็นปัญหา
Shadur

10
++ สำหรับ "UNIX ดีที่สุดเมื่อ ... แต่ละเครื่องมือทำสิ่งหนึ่งและทำได้ดี" บางครั้งฉันคิดว่าเครื่องมือจำนวนมากเกินไปกำลังจะออกนอกเส้นทางนั้น ...
ktf

ใส่ลิงก์ไปยังpoldek.pld-linux.org --- อาจเป็นประโยชน์ในการตรวจสอบบางอย่างที่มีการอัปเดตครั้งล่าสุดในปี 2005
โซริน 15

10

กล่าวโดยย่อ: เนื่องจากการแจกจ่ายแต่ละครั้งใช้วิธีการที่แตกต่างกันในการจัดการบรรจุภัณฑ์ มันเข้ากันไม่ได้ กลยุทธ์การจัดการที่ทำงานได้ดีที่สุดสำหรับ Ubuntu จะมีความเข้าใจน้อยเกี่ยวกับ Arch เป็นต้นตัวจัดการแพ็กเกจ "universal" (ไม่ขึ้นกับการแจกจ่าย) จะเป็นเพียงส่วนเพิ่มเติมของอินเทอร์เฟซผู้ใช้

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


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

8

เหตุผลทางประวัติศาสตร์ส่วนใหญ่ ระบบการจัดการบรรจุภัณฑ์หลายระบบได้รับการจัดตั้งขึ้นในเวลาเดียวกันโดยเฉพาะอย่างยิ่ง. rpm และ. deb แต่ละคนมีสมัครพรรคพวกและแต่ละคนก็ดีพอที่ไม่มีผู้จัดการแพคเกจเดียวมีข้อได้เปรียบที่น่าสนใจ ผู้จัดจำหน่ายจะไม่เห็นจุดในการสร้างระบบใหม่เพื่อนำไปใช้กับผู้จัดการแพคเกจอื่น

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

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

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

โดยพื้นฐานแล้วมันลงมาที่: การเมืองเกินไปยากเกินไปเสี่ยงเกินไปและไม่มีประโยชน์ที่จะรับรู้โดยการทำมัน


8

สิ่งที่คุณอธิบาย

ที่ทำหน้าที่เป็นอินเทอร์เฟซระหว่างผู้ใช้ปลายทางและผู้จัดการแพคเกจคันโยกต่ำพื้นฐาน

เสียงเล็ก ๆ น้อย ๆ เช่น PackageKit ให้ฉันเป็นที่อยู่ ,

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

แก้ไข: ดูที่นี่สำหรับรายการแบ็กเอนด์ที่รองรับ แก้ไข 2:นำคำพูดที่ไร้ประโยชน์ออก


6

ก่อนอื่นให้ทำความเข้าใจว่า "Linux" ไม่ใช่ระบบปฏิบัติการ มันเป็นเคอร์เนล ตัวจัดการแพ็กเกจเป็นแนวคิดระดับ OS ไม่ใช่ระดับเคอร์เนล ดังนั้นการถามผู้จัดการแพคเกจรวมสำหรับ Linux จึงไม่สมเหตุสมผลจริงๆ

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

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

คำตอบ: จังหวะที่แตกต่างกันสำหรับแต่ละคน


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