แพคเกจเด็บและลูกทาร์แตกต่างกันอย่างไร? ข้อดี / ข้อเสียของแต่ละข้อคืออะไร?


9

ฉันไม่รู้เกี่ยวกับลูกบอลทาร์ แพ็คเกจส่วนใหญ่มีอยู่ในรูปแบบ tar ball แต่แพ็คเกจ Ubuntu เป็นแพ็คเกจ Debian

แพคเกจเด็บและลูกทาร์แตกต่างกันอย่างไร?

ข้อดี / ข้อเสียของแต่ละข้อคืออะไร?

คำตอบ:


7

ลูกบอล Tar มักเป็นซอร์สโค้ดที่คุณต้องรวบรวม Debs เป็นโปรแกรมที่รวบรวมไว้ล่วงหน้าซึ่งสร้างและกำหนดค่าสำหรับ Ubuntu / Debian แล้ว

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

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

การติดตั้งจากแหล่งสามารถทำให้ไฟล์ของคุณในสถานที่ที่ไม่คาดคิดเนื่องจาก distros ต่าง ๆ วางสิ่งต่าง ๆ เล็กน้อย

เมื่อฉันต้องการติดตั้งโปรแกรมฉันลองตัวเลือกของฉันตามลำดับนี้:

  1. ดูในศูนย์ซอฟต์แวร์ นี่เป็นสิ่งที่ง่ายที่สุดแม้ว่าศูนย์ซอฟต์แวร์จะไม่รวมทุกอย่างและไม่ทันสมัยกับเวอร์ชันล่าสุด

  2. ลองหาที่เก็บที่มีให้ การเพิ่มที่เก็บข้อมูลจะทำให้โปรแกรมแสดงใน Software Center, รับการอัพเกรดในเวลาที่เหมาะสม ฯลฯ

  3. มองหาแพ็คเกจ. deb

  4. ติดตั้งจากแหล่งที่มา (ลูก tar)


6

ลูก tar เป็นอีกรูปแบบหนึ่งของการบีบอัดอย่าง zip แม้ว่ารูปแบบและเทคนิคของการบีบอัดจะแตกต่างกัน แต่โดยทั่วไปจะเป็นคอนเทนเนอร์สำหรับกลุ่มของไฟล์และโฟลเดอร์

โดยปกติแล้วซอร์สโค้ดและไฟล์ที่ต้องการโดยจะมีให้ในอินเทอร์เน็ตโดยบุคคล / กลุ่มที่เขียนซอฟต์แวร์ในรูปแบบของ tar ball ดังนั้นคุณสามารถดาวน์โหลดได้รวบรวมและติดตั้งซอฟต์แวร์

อย่างไรก็ตามสิ่งที่แพคเกจ deb ทำคือการทำให้กระบวนการติดตั้งนี้ง่ายสำหรับคุณโดยการรักษามาตรฐาน ซอฟต์แวร์ที่มีอยู่บนอินเทอร์เน็ตจะถูกควบคุมโดยผู้ดูแลแพคเกจเดเบียนทำไว้ในแพ็คเกจ. deb ที่สอดคล้องกันและใส่ลงในที่เก็บ Debian

ป้อนคำอธิบายรูปภาพที่นี่

คุณสามารถอ่านได้จากบล็อกของผู้ดูแลแพ็คเกจ Debian ที่นี่: http://www.j4v4m4n.in/2012/05/01/debian-utsavam-at-mes-kuttippuram-kerala-2/

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

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

แต่ apt ทำทุกอย่างให้คุณ

นอกจากนี้การติดตั้งจากแหล่งที่มา (การติดตั้งจากลูก tar) จะมีวิธีการที่แตกต่างกันสำหรับซอฟต์แวร์ที่แตกต่างกัน มีปรัชญาของ GNU ในการติดตั้งแบบปรับแต่งและมีวิธีการอื่น ๆ ขึ้นอยู่กับการเขียนซอฟต์แวร์

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

อีกจุดหนึ่ง คุณจะต้องติดตั้งจากแหล่งเมื่อใด นั่นคือจากลูกบอลทาร์? โดยทั่วไปมีสองสถานการณ์

  1. หากทีมบรรจุภัณฑ์ debian ยังไม่ได้บรรจุซอฟต์แวร์
  2. หากคุณต้องการมีส่วนร่วมในโครงการ นั่นหมายความว่าคุณสามารถทำการเปลี่ยนแปลงซอร์สโค้ดรวบรวมและทดสอบการเปลี่ยนแปลง

หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับบรรจุภัณฑ์เดเบียนคุณสามารถอ่านได้จากที่นี่: http://www.debian.org/doc/manuals/maint-guide/

หวังว่านี่จะช่วยได้


1

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

แหล่งที่มาของ tarballs (ไฟล์ที่มีนามสกุล.tar.gzหรือ.tar.bz2- หรือแม้กระทั่ง.tgz หรือ .tbz2 ) เป็นเพียงชุดของไฟล์และไดเรกทอรีที่ได้รับการบรรจุร่วมกับtarสาธารณูปโภคและการบีบอัดยังมีอย่างใดอย่างหนึ่งหรือgzip bzip2ในการสร้างซอร์สโค้ดคุณต้อง:

  1. แยกไฟล์ด้วยtar xvfz file.tar.gzหรือtar xvfj file.tar.bz2(ในไดเรกทอรีว่าง)
  2. กำหนดค่าแพคเกจด้วย./configure(แพคเกจทดสอบระบบเพื่อดูว่าทุกอย่างโอเคก่อนเริ่มการรวบรวม)
  3. เริ่มการรวบรวมด้วย make
  4. หากคุณต้องการให้รันmake installเพื่อติดตั้งแอปพลิเคชันไปยังตำแหน่ง "เริ่มต้น" (โดยปกติจะอยู่ใน / usr / {s} bin หรือ / usr / local / {s} bin แต่ขึ้นอยู่กับแอปพลิเคชันและการกระจาย)

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

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


1
จุดเล็ก ๆ ขั้นตอน "กำหนดค่าสร้างติดตั้ง" นั้นใช้สำหรับโปรแกรมที่ใช้ปรัชญาการสร้างอัตโนมัติของ GNU มีซอฟต์แวร์ที่สามารถสร้างจากแหล่งที่มา (จากลูก tar) ในรูปแบบต่างๆ ดังนั้นจึงอาจไม่ถูกต้องที่จะพูดว่า "ในการสร้างแหล่งข้อมูลให้กำหนดค่าสร้างทำการติดตั้ง" วิธีที่ดีที่สุดที่จะกล่าวได้ว่า "ในการติดตั้งจากแหล่งที่มาอ่านไฟล์ README หรือ INSTALL ภายในแหล่งที่มาและทำตามขั้นตอนที่กล่าวถึงในนั้นอย่าอ้างถึงสิ่งนี้: sosaysharis.wordpress.com/2011/11/28/ เป็นต้น
harisibrahimkv

ใช่ฉันเพิ่งพูดถึงวิธีการแบบนี้เพราะมันเป็นลูกบุญธรรมส่วนใหญ่ของแหล่ง tarballs
Avio

ไม่มีการอภิปราย :)
harisibrahimkv

1

ฉันเห็นคำตอบที่ดีงามอยู่แล้ว แต่มีบางสิ่งที่ต้องแก้ไข

ตรงกันข้ามกับสิ่งที่เรียกว่า "นรกพึ่งพา" เมื่อพูดถึงการรวบรวมจากแหล่งที่มาคุณสามารถกำหนดค่า Ubuntu ในลักษณะที่มันจะติดตั้งการพึ่งพาเหล่านั้นโดยอัตโนมัติเมื่อคุณรวบรวมจาก tarball / แหล่งใด ๆ

อ่านวิธีการทำที่นี่:

http://www.howtogeek.com/106526/how-to-resolve-dependencies-while-compiling-software-on-ubuntu/

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

นอกจากนี้คำว่า "แพ็คเกจ Debian" อาจทำให้คุณสับสนในบริบทนี้ โปรดจำไว้ว่าแพ็คเกจ Debian มีสองประเภทเหมือนที่บอกไว้ที่นี่:

http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html

แน่นอนถ้าคุณกำลังพูดถึงไฟล์ deb เท่านั้นโดยทั่วไปแล้วพวกเขาเป็นซอฟต์แวร์ที่รวบรวมเช่นคำตอบข้างต้นแล้วกล่าวว่า

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