ผมเพิ่งโพสต์คำตอบที่ผมเขียนเพิ่ม PPA แต่ตอนนี้ฉันรู้แล้วว่าฉันไม่รู้ว่าPPAกับRepositoryแตกต่างกันอย่างไร ใครบางคนช่วยอธิบายให้ฉันฟังหน่อยได้ไหม?
ผมเพิ่งโพสต์คำตอบที่ผมเขียนเพิ่ม PPA แต่ตอนนี้ฉันรู้แล้วว่าฉันไม่รู้ว่าPPAกับRepositoryแตกต่างกันอย่างไร ใครบางคนช่วยอธิบายให้ฉันฟังหน่อยได้ไหม?
คำตอบ:
สำหรับระบบเช่นอูบุนตูซอฟต์แวร์ส่วนใหญ่บรรจุอยู่ในไฟล์. deb (หรือ. rpm อย่างดีใน Red Hat) ซึ่งบรรจุโปรแกรมและไลบรารีที่คุณต้องการ ไฟล์เหล่านี้สามารถดาวน์โหลดหรือมาในแผ่นซีดี (ซีดีของ Ubuntu เต็มไปด้วยพวกเขา) ที่เก็บเซิร์ฟเวอร์ที่มีชุดของแพคเกจ
แพคเกจส่วนบุคคลหอจดหมายเหตุ (PPA) อนุญาตให้คุณอัปโหลดแพคเกจที่มาอูบุนตูที่จะสร้างและเผยแพร่เป็นพื้นที่เก็บข้อมูลที่ฉลาดโดย Launchpad
ดูที่ PPAs คืออะไรและฉันจะใช้ได้อย่างไร
หากต้องการสรุป:
ฉันไม่เห็นด้วยกับคำตอบที่ได้รับการยอมรับสำหรับคำถามนี้ ฉันจะเขียนสิ่งต่อไปนี้เป็นความคิดเห็นสำหรับคำตอบนั้น แต่มันยาวเกินไป
PPA เป็นยังคอลเลกชันของแพคเกจโฮสต์บนเซิร์ฟเวอร์ Launchpad
โดยเฉพาะอย่างยิ่ง PPA ไม่ใช่แพ็คเกจเดียวเนื่องจากจุดที่กำหนดอย่างคลุมเครือ"PPA คือแพ็คเกจ (/ คอลเลกชันของซอฟต์แวร์)" ในคำตอบที่ยอมรับอาจนำไปสู่ความเชื่อ นอกจากนี้แพคเกจไม่ได้ (จำเป็น) ชุดซอฟต์แวร์ซึ่งทำให้จุดที่สับสนมากขึ้น
ความแตกต่างที่สำคัญคือลูกไก่ โดยทั่วไปถ้าคุณเป็นโปรแกรมเมอร์และต้องการพัฒนาและแจกจ่ายแพ็คเกจของคุณเองและคุณมีรูทเซิร์ฟเวอร์ของคุณเองในอินเทอร์เน็ตคุณสามารถตั้งค่าที่เก็บของคุณเองได้ ที่ดี! แต่ถ้าคุณไม่มีรูทเซิร์ฟเวอร์และคุณไม่ต้องการจ่าย แต่ยังต้องการพัฒนาและแจกจ่ายแพ็คเกจของคุณเอง ถ้าอย่างนั้นจะมี Launchpad มันเสนอ PPAs เป็นบริการสำหรับกรณีการใช้งานที่แน่นอน โดยทั่วไปคุณสามารถสร้างพื้นที่เก็บข้อมูลของคุณเองบน Launchpad และจัดการแพ็คเกจของคุณเองที่นั่น
ลองมาดูตัวอย่างที่เป็นตัวอย่าง
ขั้นแรกให้สมมติว่าคุณต้องการติดตั้ง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
ประการที่สองสมมติว่าคุณต้องการดู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
ในความเป็นจริงคุณสามารถเพิ่ม 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-repository
Xenial หากใช้ppa:<user>/<ppa-name>
แบบฟอร์ม "รหัสสาธารณะ GPG ของ PPA ที่เพิ่งเพิ่มใหม่จะถูกดาวน์โหลดและเพิ่มลงในพวงกุญแจของ apt" ฉันคิดว่านี่ไม่ใช่กรณีหากใช้แบบฟอร์ม URL จริงๆแล้วคู่มือไม่ได้บอกว่าคุณสามารถใช้รูปแบบ URL ที่คุณใช้ใน 1 และ 3 แต่ "บรรทัดที่สามารถเพิ่มโดยตรงไปยังแหล่งที่มารายการ" อย่างไรก็ตามแบบฟอร์มที่คุณใช้ดูเหมือนจะใช้ได้
add-apt-repository
นั้นไม่สมบูรณ์ในแง่นั้น โปรดใช้add-apt-repository --help
เพื่อดูว่าแบบฟอร์ม URL ที่ฉันใช้ใน 1 และ 3 นั้นถูกต้องและเป็นไปได้ นอกจากนี้สมมติฐานของคุณถูกต้องอย่างแน่นอน: กุญแจสาธารณะ GPG ของ PPA จะไม่ถูกเพิ่มเมื่อใช้แบบฟอร์ม URL นั่นเป็นส่วนเสริมที่มีประโยชน์ขอบคุณ! :) โปรดทราบว่าฉันไม่แนะนำให้ใช้แบบฟอร์มที่อธิบายไว้ใน 3 เพื่อเพิ่ม PPAs มันเป็นเพียงภาพประกอบเพื่อแสดงให้เห็นว่าอันที่จริง PPA เป็นเพียงแหล่งเก็บข้อมูลประเภทหนึ่ง
ไม่มีความแตกต่างทางเทคนิคระหว่างที่เก็บกับ PPA เท่าที่ APT เกี่ยวข้อง ทั้งสองเป็นที่เก็บซอฟต์แวร์ที่มีแพ็คเกจจากมุมมองของ APT เป็นกลไกเดียวกันของการติดตั้งแพ็กเกจ
PPA เป็นที่เก็บของแพคเกจที่ใช้ Launchpad เป็นแบ็กเอนด์ เป็นอีกชื่อหนึ่งสำหรับสิ่งเดียวกันนั่นคือ (อย่างน้อยก็ในหลักการ) โดยปกติแล้วจะใช้เพื่อเหตุผลส่วนตัวซึ่งเป็นการดำเนินการส่วนใหญ่ที่คุณต้องทำด้วยตนเองโดยอัตโนมัติหรือตั้งค่าบริการของคุณเอง
ที่เก็บข้อมูลอยู่ที่ใดก็ตามที่มีซอฟต์แวร์ในกรณีนี้รายการแพคเกจและแพคเกจที่จะติดตั้งใน Distros ตาม Debian
คุณสามารถมีพื้นที่เก็บข้อมูลส่วนบุคคลของคุณโดยไม่ต้องใช้ Launchpad และอาจเรียกว่า PPA เนื่องจากเป็นส่วนบุคคล
ความแตกต่างเพียงอย่างเดียวในการใช้งานคือในรูปแบบของadd-apt-repository
คำหลักที่ใช้คำหลักวิเศษppa:
แทนการบังคับให้ผู้ใช้เขียน URL แบบเต็มซึ่งจำเป็นสำหรับที่เก็บ Launchpad ที่ไม่ใช่
พื้นที่เก็บข้อมูลคือชุดของซอฟต์แวร์ต่างๆซึ่งจะช่วยให้ซอฟต์แวร์เช่น apt-get, ความถนัด ฯลฯ เพื่อดาวน์โหลดและติดตั้งซอฟแวร์กล่าวว่า เนื้อหาของพวกเขาสามารถมองเห็นได้สำหรับการตรวจสอบทั้งหมด อ่านหน้าช่วยเหลือของ Ubuntuบนที่เก็บเพื่อการตรัสรู้
PPAsเป็นที่เก็บพิเศษสำหรับซอฟต์แวร์ซึ่งยังไม่ได้นำมาใช้กับชุมชนทั้งหมดโดยผู้นำ distro ซอฟต์แวร์ PPA สามารถมีข้อบกพร่องและสามารถใช้กับมัลแวร์ได้เนื่องจากไม่ได้รับการตรวจสอบอย่างกว้างขวางเหมือนกับที่เก็บข้อมูลทั่วไป สำหรับข้อมูลเพิ่มเติมโปรดดูคำอธิบาย Launchpad ของสัญญาซื้อขายไฟฟ้าและการอภิปรายของสัญญาซื้อขายไฟฟ้านี้
พื้นที่เก็บข้อมูลเป็นสถานที่ที่จัดเก็บหรือบำรุงรักษาแพคเกจสำหรับการดาวน์โหลดหรือการปรับปรุงเหล่านี้เป็นเซิร์ฟเวอร์ที่มีชุดของแพคเกจ
แพคเกจส่วนบุคคล Archive (PPA)เป็นพื้นที่เก็บข้อมูลซอฟต์แวร์พิเศษสำหรับแพคเกจที่มาอัปโหลดไปยังถูกสร้างขึ้นและเผยแพร่เป็นพื้นที่เก็บข้อมูล APT โดย Launchpad หรือโปรแกรมที่คล้ายกัน ส่วนใหญ่ดูแลโดยผู้ที่ไม่ใช่นักพัฒนา Ubuntu อย่างเป็นทางการ