ฉันควรติดตั้งโปรแกรมจากแหล่ง tarball (`.tar.gz`), จาก Ubuntu Software Center หรือจากที่อื่น?


29

มีหลายวิธีในการติดตั้งแอปพลิเคชันใน Ubuntu:

  • คุณสามารถดาวน์โหลด tarball แหล่งที่มา (โดยทั่วไป.tar.gzหรือ.tar.bz2ไฟล์) และติดตั้งด้วยตนเอง (ดูที่ฉันจะติดตั้งไฟล์. tar.gz (หรือ. tar.bz2) ได้อย่างไร )

  • คุณสามารถดาวน์โหลด.debไฟล์และติดตั้งด้วยตนเองโดยใช้dpkgหรือ Software Center

  • คุณสามารถค้นหาแอปพลิเคชันในศูนย์ซอฟต์แวร์ Ubuntu และติดตั้งที่นั่นหรือใช้aptกับที่เก็บ Ubuntu อย่างเป็นทางการ

  • คุณสามารถค้นหา PPA หรือ repo ของบุคคลที่สามและติดตั้งจากที่นั่น

ข้อดีและข้อเสียของแต่ละวิธีคืออะไร? โปรดหารือเกี่ยวกับผลกระทบด้านความปลอดภัยความถี่ของการอัปเดตและความน่าเชื่อถือของโปรแกรมของแต่ละวิธีในคำตอบของคุณ


1
นั่นเป็นคำถามจำนวนมากในหนึ่งเดียว มันอาจจะดีกว่าเล็กน้อยถ้าถามคำถามที่เน้น ค่าเริ่มต้นคือการใช้ศูนย์ซอฟต์แวร์ Ubuntu การเปรียบเทียบ / ความคมชัดที่ดีจะอยู่ระหว่างลูก tar (.tar.gz) และ apt-get + .deb ระบบนิเวศ (รวมถึงบรรทัดคำสั่งและศูนย์ซอฟต์แวร์ Ubuntu)
Warren P

หากถามว่าเป็นคำถามที่แยกกันสี่ข้อคำตอบจะเหมือนกันสำหรับทั้งสี่คำถาม: ควรติดตั้ง / อัปเดตโดยใช้ตัวจัดการ pkg จาก repo's (หลักหรือบุคคลที่สาม) หากนี่ไม่ใช่ตัวเลือกคุณสามารถเริ่มต้นใช้งานโปร & คอนของสิ่งนี้ - แต่ ณ จุดนั้นมันอาจทำให้แอพที่ใช้งานอยู่ & สิ่งที่คุณต้องการทำโดยเฉพาะ (เช่นฉันติดตั้งมาตรฐานที่ให้ "java" จาก repo สาธารณะ แต่ในฐานะนักพัฒนาฉันยังติดตั้ง 5 รุ่นที่แตกต่างกันใน / opt / java ผ่านทาง tar.gz)
ไมเคิล

คำตอบ:


33
  • ความน่าเชื่อถือ:
    • เมื่อติดตั้งจาก tarball ซอฟต์แวร์อาจลองเขียนทับซอฟต์แวร์อื่น สร้างการอ้างอิงที่จำเป็นและกระบวนการมีอัตราความล้มเหลวสูง หากคุณกำลังติดตั้งซอฟต์แวร์ที่แพ็คเกจในที่เก็บขึ้นอยู่กับสิ่งนี้จะไม่ตอบสนองการพึ่งพานั้นเพราะมันไม่ได้ลงทะเบียนด้วยdpkgเว้นแต่คุณcheckinstallจะใช้เพื่อแปลงมันเป็นแพคเกจเดเบียนชั่วคราว ด้วยวิธีนี้คุณจะมีความเสี่ยงทำลายdpkgแม้ว่ารหัสนั้นเป็นโอเพนซอร์สเว้นแต่คุณจะตรวจสอบให้แน่ใจว่าไม่ได้มีการเปลี่ยนแปลง แต่คุณควรดาวน์โหลดจากเว็บไซต์ที่เชื่อถือได้ คุณสามารถติดตั้งซอฟต์แวร์หลายเวอร์ชันได้ตราบใดที่ใช้ไดเรกทอรีต่างกัน คุณสามารถลบล้างสิ่งนี้ได้ใน makefile
    • การใช้แพคเกจเดเบียนจะช่วยให้มั่นใจได้ว่าไฟล์ไม่ได้เขียนทับโปรแกรมอื่น ๆ อย่างไรก็ตามหากใช้sudo dpkg -i file.debต้องติดตั้งการพึ่งพาก่อน เมื่อติดตั้งด้วยวิธีนี้คุณจะไม่ได้รับการอัปเดตเว้นแต่แพ็คเกจจะอยู่ในที่เก็บด้วย แต่แพ็คเกจนี้จะตอบสนองการพึ่งพาที่ต้องใช้กับซอฟต์แวร์นี้ นอกจากนี้ยังเป็นไปได้ที่จะให้รายการเมนูนี้หรืออย่างน้อยลงทะเบียน manpages แพคเกจเดเบียนมักจะทดสอบกับ Lintian ซึ่งทำให้แน่ใจว่าแพ็คเกจตรงตามหรือเกินกว่ามาตรฐานที่เข้มงวดมากเท่าที่ไฟล์บางไฟล์มีรหัสที่ปฏิบัติการได้หรือไม่ ไม่สามารถติดตั้งแพ็คเกจเดียวกันหลายเวอร์ชัน แพคเกจที่ทำไม่ดีสามารถติดตั้งล้มเหลวในการลบหรือแม้แต่ทำลาย DPKGนำไปสู่การซ่อมแซมที่ยากลำบากค้นหาข้อมูลสำรองหรือติดตั้งใหม่หากเกิดปัญหาร้ายแรง
    • การใช้aptเป็นตัวเลือกที่ดีที่สุดเมื่อเป็นไปได้ การอ้างอิงจะถูกดึงและติดตั้งโดยอัตโนมัติและแพคเกจนั้นถูกสร้างขึ้นโดยใช้การกำหนดค่าเซิร์ฟเวอร์ที่เชื่อถือได้ที่ launchpad เพื่อลดความล้มเหลวให้น้อยที่สุด สามารถค้นหาแพคเกจผ่านaptitudeหรือเครื่องมืออื่น ๆ และการปรับปรุงจะอำนวยความสะดวกได้อย่างง่ายดายผ่านตัวจัดการการปรับปรุง เนื่องจากการพึ่งพานั้นมาจากaptแพ็คเกจจึงมีแนวโน้มที่จะโต้ตอบกับการพึ่งพาได้อย่างเหมาะสม แพคเกจจะถูกทดสอบผ่าน Lintian เช่นเดียวกับ debs แต่การทดสอบรวมกับเซิร์ฟเวอร์ build ที่มีความเสถียรสูงทำให้เป็นแพ็คเกจที่มีเสถียรภาพมากยิ่งขึ้น เนื่องจากแพ็คเกจเหล่านี้ผ่านเซิร์ฟเวอร์บิลด์ของ Ubuntu เป็นไปได้มากว่าพวกเขาจะได้รับการปรับแต่งเพื่อรวมเข้ากับส่วนที่เหลือของระบบปฏิบัติการ แพ็คเกจเดียวกันหลายรุ่นไม่สามารถทำได้ติดตั้ง เนื่องจากการสร้างเซิร์ฟเวอร์ของ Ubuntu นั้นใช้สำหรับ PPA จึงมีการเปลี่ยนแปลงน้อยลงที่คุณจะแตกaptเนื่องจากการทำงานอัตโนมัติ
  • ปรับปรุง:
    • ด้วย tarball คุณจะไม่ได้รับการอัปเดตเว้นแต่ว่าโปรแกรมจะมีการตรวจสอบเป็นของตัวเอง ด้วยสิ่งนี้คุณจะต้องติดตั้งการอัปเดตดังกล่าวด้วยตนเองและจะไม่รวมอยู่ในที่เดียว คุณอาจจะสามารถรับซอร์สโค้ดหรือแม้แต่ตอนกลางคืนใน tarball เพื่อคอมไพล์และติดตั้งได้ หากคุณต้องการโค้ดระบุว่าอาจมีประโยชน์
    • ด้วย debian แพคเกจจะได้รับการปรับปรุงเฉพาะถ้าคุณมีที่เก็บสำหรับพวกเขา นักพัฒนาส่วนใหญ่มักจะทำแพ็คเกจเดเบียนสักเล็กน้อยด้านหลังแหล่งเลือดออกมา แต่มักพบกับ debs ออนไลน์
    • ด้วยaptแพ็คเกจจะอัปเดตได้ง่ายมาก การอัปเดตจะรวมอยู่ในที่เดียวผู้จัดการการอัปเดตและดำเนินการโดยอัตโนมัติหรือกึ่งอัตโนมัติ ถ้าคุณไม่ได้ใช้ Ubuntu หรือรุ่นเบต้าของ Ubuntu คุณจะใช้เวอร์ชั่นที่ผ่านการทดสอบอย่างดีแม้ว่าจะเป็นรุ่นหนึ่งหรือสองรุ่นอยู่เบื้องหลังแหล่งต้นน้ำปัจจุบัน การอัปเดตความปลอดภัยจะถูกผลักทันทีที่มีการทดสอบเบา ๆ เพื่อให้แน่ใจว่าพวกเขาจะไม่ทำให้สถานการณ์แย่ลง ซึ่งหมายความว่าการรักษาความปลอดภัยของคุณจะได้รับการปกป้องด้วยการอัปเดตตามกำหนดเวลา แต่การอัปเดตเหล่านี้จะถูกตรวจสอบเพื่อหลีกเลี่ยงการสูญเสียข้อมูล
  • การรักษาความปลอดภัย:
    • Tarballs ไม่ได้เซ็นชื่อแบบดิจิทัล แต่อย่างใด พวกเขาอาจถูกทำให้ยุ่งเหยิงหรือแก้ไขโดยบุคคลที่สามที่เป็นอันตราย แม้ว่าคุณจะทำแฮชซัม (หลีกเลี่ยง MD5) คุณก็ควรไว้วางใจเจ้าของไซต์และผู้เขียนแพ็คเกจเนื่องจากพวกเขาให้ผลรวมของ SHA- หรือ MD5
    • แพ็คเกจ Debian ไม่ได้ลงนาม แต่dpkgจะไม่อนุญาตให้แพคเกจเดเบียนเขียนทับไฟล์ของอีกไฟล์หนึ่งดังนั้นเด็มที่เป็นอันตรายจะไม่สามารถทำลายinitหรือยุ่งเหยิงด้วยการbashเขียนทับมัน คุณควรเชื่อถือเว็บไซต์และผู้เขียนแพ็คเกจเสมอ
    • aptใช้คีย์ที่เซ็นชื่อสำหรับที่เก็บดังนั้นพวกเขาจึงไม่สามารถถูก mangled โดยไม่มีการตั้งค่าสถานะสีแดง การอัปโหลด PPA มีการเซ็นชื่อแบบดิจิทัลดังนั้นผู้ที่ไม่ใช่เจ้าของ PPA จะไม่สามารถวางแพ็คเกจที่เสียหายหรือไม่ปลอดภัยได้ ห้ามเขียนทับไฟล์ของแพ็คเกจอื่นด้วยเช่นกัน แน่นอนคุณควรเชื่อถือ PPA หรือเจ้าของพื้นที่เก็บข้อมูลเนื่องจากแพ็คเกจที่ไม่ได้ตรวจสอบกับรหัสที่เป็นอันตรายจะทำงานเมื่อมีการเรียกใช้

1
ฉันขอแนะนำให้คุณเพิ่มการรวม ผู้จัดการแพคเกจ Ubuntu และอัปเดต Debian ตรวจสอบให้แน่ใจว่าแพคเกจมีส่วนร่วมในคุณสมบัติของระบบเช่นระบบทางเลือก (ฉันมีโปรแกรม X ที่สามารถเปิดหน้าเว็บได้ การติดตั้ง tarball แบบแมนนวลมักจะไม่ทำงานเช่นนั้น
Warren P

@WarrenP ฉันได้เพิ่มที่แน่นอน แต่อาจไม่ชัดเจน ขอบคุณ!
ζ--

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

1
@ vasa1 เรื่องนี้เกี่ยวข้องกับ tarballs เนื่องจาก Apt และ dpkg จะตรวจสอบฐานข้อมูลของพวกเขาไม่ใช่ระบบไฟล์ในการพิจารณาว่ามีการติดตั้งแพ็คเกจหรือไม่ คุณสามารถใช้checkinstallเพื่อหลีกเลี่ยงปัญหานั้นได้เสมอ
ζ--

19

คำตอบสั้น ๆ ก็คือการติดตั้งจาก Ubuntu Software Center นั้นเป็นวิธีที่ดีกว่าวิธีอื่นทั้งหมด อย่างไรก็ตามมีบางครั้งที่คุณอาจต้องการติดตั้งโปรแกรมจากที่อื่น


การติดตั้งจากแหล่งที่มา:

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

  • ความถี่ของการอัปเดต : คุณจะได้รับข้อมูลล่าสุดและดีที่สุดเสมอ! การอัปเดตจะบ่อยเหมือนที่ผู้แต่งดั้งเดิมเลือกไว้ อย่างไรก็ตามคุณจะต้องตรวจสอบการอัปเดตด้วยตนเอง

  • ความน่าเชื่อถือ : อาจไม่น่าเชื่อถือเท่ากับวิธีการอื่น ๆ เนื่องจากซอฟต์แวร์จะผ่านการทดสอบน้อยกว่าและอาจไม่ได้รับการทดสอบเลยสำหรับ Ubuntu เพียง Linux distros อื่น ๆ

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

การติดตั้งจาก.debแพ็คเกจ:

  • ผลกระทบด้านความปลอดภัย : เหมือนกับการติดตั้งจากแหล่งที่มา

  • ความถี่ในการอัปเดต : เหมือนกับการติดตั้งจากแหล่งที่มา

  • ความน่าเชื่อถือ : ดีกว่าการติดตั้งจากแหล่งเล็กน้อย หากผู้เขียนได้จัดทำ.debแพคเกจนั่นก็หมายความว่าพวกเขาอาจจะทำการทดสอบขั้นต่ำใน Debian หรือ Ubuntu

  • ความง่ายในการติดตั้งและถอนการติดตั้ง : ง่ายมาก เพียงดับเบิลคลิกและคลิก "ติดตั้ง"! ในทำนองเดียวกันง่ายสำหรับการถอนการติดตั้ง

การติดตั้งจากศูนย์ซอฟต์แวร์ Ubuntu:

  • ผลกระทบด้านความปลอดภัย : คุณต้องเชื่อถือผู้เขียนซอฟต์แวร์และผู้ดูแล repo ของ Ubuntu โดยรวมแล้วนี่เป็นการรักษาความปลอดภัยที่ดีกว่าการติดตั้งโดยตรงจากแหล่งที่มาเพราะโปรแกรมดังกล่าวได้รับการตรวจสอบโดย Debian และ / หรือ Ubuntu ผู้ดูแล Debian และ / หรือ Ubuntu สามารถแก้ไขโปรแกรมเพื่อแก้ไขข้อบกพร่องด้านความปลอดภัยได้เช่นกันหากโปรแกรมนั้นเป็นโอเพ่นซอร์ส

  • ความถี่ในการอัปเดต : ผู้ดูแล Debian และ / หรือ Ubuntu เลือกเฉพาะซอฟต์แวร์รุ่นที่วางจำหน่ายเท่านั้น (ตัวอย่างเช่นพวกเขาอาจเลือกอัปเดตที่เสถียรเท่านั้น) มีความล่าช้าระหว่างการเปิดตัวโปรแกรมและการรวมใน Debian และ / หรือ Ubuntu repos หากคุณต้องการล่าสุดและยิ่งใหญ่ที่สุดนี่ไม่ใช่ตัวเลือกที่ดีที่สุด หากคุณต้องการอัปเดตที่เสถียรซึ่งผ่านการตรวจสอบแล้วนี่เป็นตัวเลือกที่ดี apt-getการปรับปรุงจะมีการเสนอโดยอัตโนมัติผ่านผู้จัดการการปรับปรุงและ

  • ความน่าเชื่อถือ : ดีกว่าการติดตั้งจากแหล่งที่มาเนื่องจากโปรแกรมได้รับการตรวจสอบและปรับแต่งสำหรับ Ubuntu แล้ว

  • ความง่ายในการติดตั้งและถอนการติดตั้ง : ง่ายมาก

การติดตั้งจาก PPA หรือ repo ของบุคคลที่สาม:

  • ผลกระทบด้านความปลอดภัย : คุณต้องเชื่อถือผู้เขียนซอฟต์แวร์และผู้ที่ดูแล PPA ทุกคนสามารถโฮสต์ PPA ได้ดังนั้นอย่าเชื่อถือ PPA เพียงเพราะอยู่ใน Launchpad ผู้ใช้อาจขี้เกียจและไม่ได้ตรวจสอบซอฟต์แวร์เลย

  • ความถี่ในการอัปเดต : ขึ้นอยู่กับ PPA การตรวจหาการอัปเดตเป็นเรื่องง่าย

  • ความน่าเชื่อถือ : เชื่อถือได้น้อยกว่าการติดตั้งจากศูนย์ซอฟต์แวร์ Ubuntu PPA มีไว้สำหรับโปรแกรมที่ยังไม่ได้มาตรฐานสำหรับ Ubuntu Software Center ดังนั้นจึงรับประกันได้ว่าจะเชื่อถือได้น้อย

  • ความง่ายในการติดตั้งและถอนการติดตั้ง : มันไม่ยากที่จะเรียนรู้และเหมาะกับการจัดการแพ็คเกจของ Ubuntu


1
USC เป็นเพียงส่วนหน้าapt-getเท่านั้น อย่าเปลี่ยนสิ่งนี้ให้เป็นการอภิปรายบรรทัดคำสั่งกับ GUI หากคุณคิดว่าตัวเลือกนั้นคุ้มค่าที่จะพูดคุยเริ่มคำถามอื่น
Flimm

2
@Flimm: ไม่มาก USC ยังสามารถติดตั้งแพ็คเกจ. deb ดังนั้นจึงเหมาะสมกว่าที่จะเรียก USC เป็น frontend สำหรับ apt-get และ dpkg
Lie Ryan

1
ฉันไม่ได้พูดว่า "ถกเถียง" ฉันกำลังพูดว่า "ผู้ใช้มาที่นี่เพื่อรับความกระจ่างแจ้งและคำถามนี้และคำตอบนี้ดูเหมือนจะไม่ชัดเจนมากนัก"
Warren P

1
@LieRyan: เห็นด้วย
Flimm

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