PPA กับที่เก็บข้อมูลแตกต่างกันอย่างไร


46

ผมเพิ่งโพสต์คำตอบที่ผมเขียนเพิ่ม PPA แต่ตอนนี้ฉันรู้แล้วว่าฉันไม่รู้ว่าPPAกับRepositoryแตกต่างกันอย่างไร ใครบางคนช่วยอธิบายให้ฉันฟังหน่อยได้ไหม?


สำหรับ PPA ดู: askubuntu.com/questions/4983/…
Takkat

คำตอบ:


14

คลัง

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

PPA

แพคเกจส่วนบุคคลหอจดหมายเหตุ (PPA) อนุญาตให้คุณอัปโหลดแพคเกจที่มาอูบุนตูที่จะสร้างและเผยแพร่เป็นพื้นที่เก็บข้อมูลที่ฉลาดโดย Launchpad

ดูที่ PPAs คืออะไรและฉันจะใช้ได้อย่างไร

หากต้องการสรุป:

  • ที่เก็บมีแพ็คเกจ
  • PPAs เป็นแพ็คเกจ (/ ชุดซอฟต์แวร์)
  • Launchpad มีที่เก็บที่เก็บ PPAs (/ ชุดซอฟต์แวร์)

4
PPA ไม่ได้เป็นเพียงแค่พื้นที่เก็บข้อมูลหรือซอฟต์แวร์ที่เลือกและดูแลโดยบุคคลหรือกลุ่ม (ที่ไม่เกี่ยวข้องโดยตรงกับ Canonical หรือ Ubuntu Ubuntu อย่างเป็นทางการ) PPA เป็นเหมือนที่เก็บและไม่ใช่แพ็คเกจเดียว
Fahad Yousuf

11
PPA ไม่ใช่แพ็คเกจ แต่เป็นที่เก็บ PPA แต่ละรายการสามารถมีได้หลายแพ็คเกจ Launchpad คือ (หรือโฮสต์) ชุดของที่เก็บที่เรียกว่า PPAs
Gilles 'หยุดความชั่วร้าย'

คำอธิบายที่ชัดเจน ดังนั้นคำอธิบายที่ชัดเจนยิ่งขึ้นก็คือ Repository คือ C: // ProgramFiles และ PPA เป็นโฟลเดอร์โปรแกรมที่ติดตั้งในนั้น
Abhimanyu Aryan

@AbhimanyuAryan ไม่, C: \ ProgramFiles ไม่มีอะไรเหมือน repo โฆษณา dirs ภายในมันไม่มีอะไรเหมือน PPAs นอกจากว่าคุณกำลังทำการอุปมาอุปมัยซึ่งในกรณีนี้ฉันต้องพลาดจุดนั้น
wjandrea

คำตอบนี้ผิด PPA ไม่ใช่แพ็คเกจ แต่เป็นที่เก็บ ฉันจะแก้ไขไหม
Reinier โพสต์

66

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

  • ที่เก็บคือชุดของแพคเกจโฮสต์บนเซิร์ฟเวอร์โดยพลการ
  • PPA เป็นยังคอลเลกชันของแพคเกจโฮสต์บนเซิร์ฟเวอร์ Launchpad

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

  • ดังนั้น PPA จึงเป็นที่เก็บชนิดพิเศษ เช่นเดียวกับสี่เหลี่ยมเป็นสี่เหลี่ยมชนิดพิเศษ

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

ลองมาดูตัวอย่างที่เป็นตัวอย่าง

  1. ขั้นแรกให้สมมติว่าคุณต้องการติดตั้งMATE Desktop Environment (ส้อม Gnome 2) บน Ubuntu Saucy Salamander มันไม่ได้มีอยู่ใน repos อย่างเป็นทางการและ devs ไม่รักษา PPA แต่พวกเขามี repo ของตัวเอง คุณสามารถเพิ่มได้เช่น:

    $ sudo add-apt-repository http://packages.mate-desktop.org/repo/ubuntu
    

    สิ่งนี้จะส่งผลให้มีการเพิ่มรายการต่อไปนี้ใน/etc/apt/sources.list:

    deb http://packages.mate-desktop.org/repo/ubuntu saucy main
    
  2. ประการที่สองสมมติว่าคุณต้องการดูCinnamon (ส้อม Gnome 2 อีกอัน) สิ่งนี้มีอยู่ใน repos อย่างเป็นทางการตั้งแต่ 13.04 แต่ยังมี PPA ที่ดูแลโดย devs ซึ่งมีประโยชน์เช่นถ้าคุณสนใจที่จะรับการเผยแพร่ใหม่เร็วขึ้น คุณสามารถเพิ่มได้เช่น:

    $ sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable
    

    สิ่งนี้จะส่งผลให้มีการเพิ่มรายการต่อไปนี้ใน/etc/apt/sources.list.d/gwendal-lebihan-dev-cinnamon-stable-saucy.list:

    deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu saucy main
    

    อย่างที่คุณเห็นรายการหลังนั้นค่อนข้างคล้ายกับรายการที่ทำในจุด (1) ที่จริงแล้วทั้งคู่เป็นเพียง URL ของแหล่งเก็บข้อมูลจากมุมมองของ Ubuntu

  3. ในความเป็นจริงคุณสามารถเพิ่ม Cinnamon PPA ด้วยไวยากรณ์เดียวกับในจุด (1)ถึงแม้ว่านี่ไม่ใช่วิธีทั่วไปสำหรับการเพิ่ม PPA:

    $ sudo add-apt-repository http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu
    

    สิ่งนี้จะส่งผลให้มีการเพิ่มรายการต่อไปนี้ใน/etc/apt/sources.list:

    deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu saucy main
    

    นี่เป็นรายการเดียวกับในจุด (2) เฉพาะไฟล์ที่รายการเหล่านี้จะถูกเขียนไปจัดการแตกต่างกันเล็กน้อย แต่ในที่สุดมันก็ไม่ได้แตกต่างกันจริง ในทั้งสองกรณีคุณจะจบลงด้วยแพคเกจจากอบเชย PPA เป็นที่มีอยู่บนระบบของคุณเสมอหลังจากที่ยอมรับsudo apt-get updateของหลักสูตร


ตามคู่มือของadd-apt-repositoryXenial หากใช้ppa:<user>/<ppa-name>แบบฟอร์ม "รหัสสาธารณะ GPG ของ PPA ที่เพิ่งเพิ่มใหม่จะถูกดาวน์โหลดและเพิ่มลงในพวงกุญแจของ apt" ฉันคิดว่านี่ไม่ใช่กรณีหากใช้แบบฟอร์ม URL จริงๆแล้วคู่มือไม่ได้บอกว่าคุณสามารถใช้รูปแบบ URL ที่คุณใช้ใน 1 และ 3 แต่ "บรรทัดที่สามารถเพิ่มโดยตรงไปยังแหล่งที่มารายการ" อย่างไรก็ตามแบบฟอร์มที่คุณใช้ดูเหมือนจะใช้ได้
jarno

1
@jarno ใช่ manpage ของadd-apt-repositoryนั้นไม่สมบูรณ์ในแง่นั้น โปรดใช้add-apt-repository --helpเพื่อดูว่าแบบฟอร์ม URL ที่ฉันใช้ใน 1 และ 3 นั้นถูกต้องและเป็นไปได้ นอกจากนี้สมมติฐานของคุณถูกต้องอย่างแน่นอน: กุญแจสาธารณะ GPG ของ PPA จะไม่ถูกเพิ่มเมื่อใช้แบบฟอร์ม URL นั่นเป็นส่วนเสริมที่มีประโยชน์ขอบคุณ! :) โปรดทราบว่าฉันไม่แนะนำให้ใช้แบบฟอร์มที่อธิบายไว้ใน 3 เพื่อเพิ่ม PPAs มันเป็นเพียงภาพประกอบเพื่อแสดงให้เห็นว่าอันที่จริง PPA เป็นเพียงแหล่งเก็บข้อมูลประเภทหนึ่ง
Malte Skoruppa

10

ไม่มีความแตกต่างทางเทคนิคระหว่างที่เก็บกับ PPA เท่าที่ APT เกี่ยวข้อง ทั้งสองเป็นที่เก็บซอฟต์แวร์ที่มีแพ็คเกจจากมุมมองของ APT เป็นกลไกเดียวกันของการติดตั้งแพ็กเกจ

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

ที่เก็บข้อมูลอยู่ที่ใดก็ตามที่มีซอฟต์แวร์ในกรณีนี้รายการแพคเกจและแพคเกจที่จะติดตั้งใน Distros ตาม Debian

คุณสามารถมีพื้นที่เก็บข้อมูลส่วนบุคคลของคุณโดยไม่ต้องใช้ Launchpad และอาจเรียกว่า PPA เนื่องจากเป็นส่วนบุคคล

ความแตกต่างเพียงอย่างเดียวในการใช้งานคือในรูปแบบของadd-apt-repositoryคำหลักที่ใช้คำหลักวิเศษppa:แทนการบังคับให้ผู้ใช้เขียน URL แบบเต็มซึ่งจำเป็นสำหรับที่เก็บ Launchpad ที่ไม่ใช่


9

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

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


8

พื้นที่เก็บข้อมูลเป็นสถานที่ที่จัดเก็บหรือบำรุงรักษาแพคเกจสำหรับการดาวน์โหลดหรือการปรับปรุงเหล่านี้เป็นเซิร์ฟเวอร์ที่มีชุดของแพคเกจ

แพคเกจส่วนบุคคล Archive (PPA)เป็นพื้นที่เก็บข้อมูลซอฟต์แวร์พิเศษสำหรับแพคเกจที่มาอัปโหลดไปยังถูกสร้างขึ้นและเผยแพร่เป็นพื้นที่เก็บข้อมูล APT โดย Launchpad หรือโปรแกรมที่คล้ายกัน ส่วนใหญ่ดูแลโดยผู้ที่ไม่ใช่นักพัฒนา Ubuntu อย่างเป็นทางการ

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