มีการติดตั้งแพคเกจจริง ๆ ผ่าน apt-get install อย่างไร


29

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

ในที่สุด (อาจไม่มีคำตอบ) วิธีหนึ่งดีกว่าวิธีอื่นหรือไม่ สิ่งที่ฉันกำลังตกปลาที่นี่คือการสร้างด้วยตัวคุณเองจากซอร์สโค้ดมีข้อได้เปรียบหรือไม่ดีกว่าที่จะปล่อยให้apt-getทำสิ่งนั้น?

คำตอบ:


25

ข้อดีของระบบการจัดการแพกเกจเช่น apt, yum, pacman, emerge, etc รวมถึง:

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

แม้ว่ามันจะเป็นของ Fedora โปรดดูเพิ่มเติมที่:

https://fedoraproject.org/wiki/Package_management_system

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

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

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

IMO หากคุณต้องการรวบรวมแพ็คเกจทั้งหมดหรือส่วนใหญ่ของฉันฉันจะแนะนำ Gentoo


1
เพื่อชี้แจงคำตอบที่ยอดเยี่ยมนี้หากคุณรวบรวมตัวเอง Update Manager จะไม่ทราบและจะไม่อัปเดตแอปพลิเคชันของคุณเมื่อมีการเปิดตัวการปรับปรุง นอกจากนี้ apt (ตัวจัดการแพ็กเกจที่เลือกของ Ubuntu) ไม่ได้รวบรวม มันทำการดาวน์โหลดไบนารีที่คอมไพล์แล้ว สุดท้าย apt จะดูแลระบบเมนูของคุณโดยอัตโนมัติเมื่อคุณติดตั้งหรือลบโปรแกรม เมื่อคุณคอมไพล์ด้วยตนเองคุณจะต้องทำด้วยตัวเอง
Paddy Landau

1
ข้อดีอีกข้อหนึ่งที่มักจะรวบรวมแพ็กเกจด้วยตัวคุณเองคือพวกเขาจะรวบรวมความรู้เพิ่มเติมเกี่ยวกับฮาร์ดแวร์ที่แน่นอนของคุณและอาจทำงานได้เร็วขึ้น หากคุณไปเส้นทางนี้ให้พิจารณาใช้ checkinstall asic-linux.com.mx/~izto/checkinstall จะติดตามสิ่งที่ติดตั้งไว้และช่วยในการลบออกอย่างหมดจดในภายหลังหากจำเป็น
Joe

ฉันยืนแก้ไขเกี่ยวกับส่วนที่ทำงานได้เร็วขึ้น
Joe

18

apt-getคือการจัดการยูทิลิตี้ (CLI) แพคเกจ APT, back-end เพื่อSynapticและความถนัด

apt-getวิธีการเกี่ยวกับการเรียกจากการตรวจสอบระบบของคุณแหล่งที่มาอย่างเป็นทางการหรือที่เก็บที่ระบุไว้ในแฟ้ม

etc/apt/sources.list

สำหรับเช่น ในการทำงาน(ซึ่งฉันใช้)ทำงานบางอย่างเช่นsudo apt-get update && sudo apt-get upgrade

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

โดยที่Ign (ละเว้น) ด้านหน้าของ Link ระบุว่าไม่มีการเปลี่ยนแปลงใด ๆ ตั้งแต่การเยี่ยมชมที่เก็บนั้นครั้งสุดท้ายและGetระบุการดึงไฟล์ Sources ที่ระบุการเปลี่ยนแปลงของแพ็คเกจที่มีอยู่ใหม่ใน Repository นั้น

ไม่โปรแกรมอรรถประโยชน์apt-getไม่ดาวน์โหลดซอร์สไฟล์มันค่อนข้างดาวน์โหลดแพ็คเกจ. deb ที่จัดทำและเผยแพร่โดยOfficial Ubuntu Packagersซึ่งได้รับการทดสอบความเสถียรและการใช้งานร่วมกับระบบของคุณ

apt-get ดาวน์โหลดแพคเกจที่สามารถพบได้ใน

/var/cache/apt

ที่คุณสามารถดูทั้งหมดUpdatesเป็นแพคเกจ .debและคุณยังสามารถเปรียบเทียบกับข้ามตรวจสอบรุ่นของพวกเขาโดยการเยี่ยมชมนี้แพคเกจที่แม่นยำการอัปเดต

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

มันจะดีกว่าที่จะรวบรวมจากแหล่งที่มาหรือติดตั้งจากแพคเกจ. deb?

การคอมไพล์โปรแกรมจากซอร์สโค้ดทำให้ระบบปฏิบัติการเร็วขึ้นหรือไม่

ข้อดี / ข้อเสียของการติดตั้งจากซอร์สโค้ด

สำหรับการอ้างอิงเพิ่มเติม: apt-get , sources.list


จริงๆแล้วทั้ง 3 โปรแกรม apt-get, aptitude และ synaptic นั้นเป็น back-end สำหรับdpkg
Javier López

1
ความถนัดเป็น front-end สำหรับdpkg โดยที่ dpkg สามารถใช้เป็น front-end สำหรับdpkg-debและ dpkg-query
atenz

2

หากคุณสร้างจากแหล่งที่มาคุณมีตัวเลือกเพิ่มเติมในสิ่งที่รวมอยู่ การติดตั้งจากapt-getเพียงแค่ติดตั้งแพ็คเกจสำเร็จรูป

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


apt-get ไม่ได้สร้างอะไรเลย - แค่ดาวน์โหลดไบนารี่เป็นหลัก?
นักคณิตศาสตร์

3
เผง มันกำลังดาวน์โหลดไบนารีที่สร้างไว้ล่วงหน้าสำหรับสถาปัตยกรรมของคุณ (amd64, i386, armel และอื่น ๆ )
tgm4883

2

ฉันคิดว่าคุณสามารถใช้ apt-get เพื่อติดตั้งซอร์สของแพ็คเกจ

  1. คุณต้องเปิดใช้งานที่เก็บซอร์สโค้ด

    เปิดไฟล์ /etc/apt/sources.list คุณจะเห็นบรรทัดแสดงความคิดเห็น (ขึ้นต้นด้วย #) ซึ่งมี "source" อยู่

    ยกเลิกข้อคิดเห็นพวกเขา

  2. ติดตั้งการพึ่งพาของโปรแกรมที่คุณต้องการ:

    sudo apt-get build-dep "program"

  3. ดาวน์โหลดและรวบรวมโปรแกรมของคุณ:

    sudo apt-get -b source "program"

หลังจากนั้นคุณจะได้รับแพ็คเกจ. deb บนโฮมไดเร็กตอรี่ของคุณ

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