Apa perbedaan antara PPA dan repositori?

46

Saya baru-baru ini memposting jawaban di mana saya menulis tambahkan PPA . Tapi sekarang saya sadar, bahwa saya tidak tahu apa perbedaan antara PPA dan Repositori . Jadi bisakah seseorang tolong jelaskan kepada saya?

Alvar
sumber
Untuk PPA, lihat: askubuntu.com/questions/4983/…
Takkat

Jawaban:

14

Repositori

Pada sistem seperti Ubuntu, sebagian besar perangkat lunak dikemas dalam file .deb (atau .rpm, seperti Red Hat) yang bagus yang berisi program dan pustaka yang Anda butuhkan. File-file ini dapat diunduh atau datang dalam CD (CD Ubuntu penuh dengan mereka). Repositori adalah server yang berisi kumpulan paket .

AKP

Arsip Paket Pribadi (PPA) memungkinkan Anda untuk mengunggah paket sumber Ubuntu yang akan dibangun dan diterbitkan sebagai repositori yang tepat oleh Launchpad .

Juga lihat Apa itu PPA dan bagaimana cara menggunakannya?

Singkatnya:

  • Repositori memiliki paket.
  • AKP adalah paket (/ koleksi perangkat lunak).
  • Launchpad memiliki repositori yang menampung PPA (/ koleksi perangkat lunak).
Rinzwind
sumber
4
Bukankah PPA hanyalah repositori atau perangkat lunak yang dipilih dan dikelola oleh individu atau grup? (yang tidak terkait langsung dengan penyembah Ubuntu resmi atau Canonical). PPA seperti repositori dan bukan satu paket.
Fahad Yousuf
11
PPA bukan sebuah paket, ini adalah repositori. Setiap AKP dapat berisi beberapa paket. Launchpad adalah (atau lebih tepatnya host) kumpulan repositori yang disebut PPA.
Gilles 'SO- stop being evil'
penjelasan yang jelas. Jadi, penjelasan yang lebih jelas adalah Repositori adalah C: // ProgramFiles dan PPA adalah folder program yang terinstal di
dalamnya
@AbhimanyuAryan Tidak, C: \ ProgramFiles tidak seperti repo, dan dir di dalamnya tidak seperti PPA. Kecuali jika Anda membuat metafora, dalam hal ini saya pasti melewatkan maksudnya.
wjandrea
Jawaban ini salah. PPA bukan paket, mereka adalah repositori. Haruskah saya memperbaikinya?
Reinier Post
66

Saya harus tidak setuju dengan jawaban yang diterima untuk pertanyaan ini. Saya akan menulis yang berikut sebagai komentar untuk jawaban itu, tetapi terlalu panjang.

  • Repositori adalah kumpulan paket, yang dihosting di server yang sewenang-wenang.
  • PPA juga merupakan kumpulan paket yang di-host di server Launchpad.

    Secara khusus, PPA bukan paket tunggal, karena titik yang dirumuskan sangat ambigu "PPA adalah paket (/ koleksi perangkat lunak)." dalam jawaban yang diterima dapat menyebabkan kepercayaan. Selain itu, sebuah paket tidak (tentu saja) kumpulan perangkat lunak , yang membuat hal itu semakin membingungkan.

  • Dengan demikian, PPA adalah jenis repositori khusus. Seperti persegi adalah jenis persegi panjang khusus.

Perbedaan utama adalah hoster. Pada dasarnya, jika Anda adalah seorang programmer dan ingin mengembangkan dan mendistribusikan paket Anda sendiri, dan Anda memiliki server root sendiri di Internet, Anda dapat mengatur repositori Anda sendiri di sana. Bagus! Tetapi bagaimana jika Anda tidak memiliki server root, dan Anda tidak ingin membayar untuk itu, tetapi masih ingin mengembangkan dan mendistribusikan paket Anda sendiri? Nah, lalu ada Launchpad. Ia menawarkan PPA sebagai layanan untuk kasus penggunaan persis itu. Anda pada dasarnya dapat membuat repositori Anda sendiri di Launchpad, dan mengelola paket Anda sendiri di sana.

Mari kita lihat contoh ilustrasi.

  1. Pertama, anggap Anda ingin menginstal Lingkungan Desktop MATE (garpu Gnome 2) di Ubuntu Saucy Salamander. Itu tidak terkandung dalam repo resmi, juga para devs tidak memiliki AKP. Sebaliknya, mereka memiliki repo sendiri. Anda bisa menambahkannya seperti ini:

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

    Ini akan menghasilkan entri berikut yang ditambahkan ke /etc/apt/sources.list:

    deb http://packages.mate-desktop.org/repo/ubuntu saucy main
    
  2. Kedua, anggap Anda juga ingin melihat Cinnamon (garpu Gnome 2 lainnya). Ini terkandung dalam repo resmi sejak 13,04, tetapi masih ada PPA yang dikelola oleh devs, berguna misalnya jika Anda tertarik untuk mendapatkan rilis baru lebih cepat. Anda bisa menambahkannya seperti ini:

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

    Ini akan menghasilkan entri berikut yang ditambahkan ke /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
    

    Seperti yang Anda lihat, entri terakhir sangat mirip dengan yang dibuat pada poin (1). Faktanya, keduanya hanyalah URL repositori dari perspektif Ubuntu.

  3. Bahkan, Anda bahkan bisa menambahkan PPA kayu manis dengan sintaks yang sama seperti pada poin (1) , meskipun ini bukan cara khas untuk menambahkan PPA:

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

    Ini akan menghasilkan entri berikut yang ditambahkan ke /etc/apt/sources.list:

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

    Ini adalah entri yang sama persis seperti pada poin (2). Hanya file yang entri ini ditulis ditangani sedikit berbeda, tetapi pada akhirnya, itu tidak membuat perbedaan nyata. Dalam kedua kasus, Anda akan berakhir dengan paket-paket dari Cinnamon PPA tersedia di sistem Anda, selalu setelah kanonik sudo apt-get update, tentu saja.

Malte Skoruppa
sumber
Menurut manual add-apt-repositorydi Xenial, jika ppa:<user>/<ppa-name>formulir tersebut digunakan, "Kunci publik GPG dari PPA yang baru ditambahkan juga akan diunduh dan ditambahkan ke keyring apt." Saya kira ini bukan masalahnya, jika bentuk URL digunakan. Sebenarnya, manual ini tidak memberi tahu Anda bisa menggunakan jenis bentuk URL yang Anda gunakan dalam 1 dan 3, tetapi "sebuah baris yang dapat ditambahkan langsung ke sources.list". Namun demikian, formulir yang Anda gunakan tampaknya berfungsi.
jarno
1
@jarno Ya, halaman manual add-apt-repositorymemang tidak lengkap dalam hal itu. Silakan gunakan add-apt-repository --helpuntuk melihat bahwa bentuk URL yang saya gunakan dalam 1 dan 3 memang benar dan opsi yang dimaksudkan mungkin. Selain itu, asumsi Anda benar sekali: Kunci publik GPG dari PPA tidak akan ditambahkan saat menggunakan formulir URL. Itu tambahan yang bermanfaat, terima kasih! :) Harap dicatat bahwa saya tidak merekomendasikan menggunakan formulir yang dijelaskan dalam 3 untuk menambahkan AKP. Itu hanya dimaksudkan sebagai ilustrasi untuk menunjukkan bahwa pada kenyataannya, PPA hanyalah jenis repositori tertentu.
Malte Skoruppa
10

Tidak ada perbedaan teknis antara repositori dan PPA dalam hal APT. Keduanya adalah repositori perangkat lunak yang menawarkan paket, dari sudut pandang APT adalah mekanisme yang sama untuk menginstal paket.

PPA adalah gudang paket yang menggunakan Launchpad sebagai backend. Hanya nama lain untuk hal yang sama, yaitu (setidaknya pada prinsipnya) biasanya digunakan untuk alasan pribadi, yang mengotomatiskan sebagian besar operasi yang harus Anda lakukan secara manual atau mengatur layanan Anda sendiri.

Repositori adalah di mana pun ada perangkat lunak, dalam hal ini, daftar paket dan paket yang akan diinstal di distro berbasis Debian.

Anda dapat memiliki repositori pribadi Anda, tanpa menggunakan Launchpad dan itu bisa disebut PPA, karena bersifat Pribadi.

Satu-satunya perbedaan dalam penggunaan adalah semata-mata dalam sintaksis add-apt-repositoryyang menggunakan kata kunci ajaib ppa:alih-alih memaksa pengguna untuk menulis url penuh yang diperlukan untuk repositori non Launchpad.

Braiam
sumber
9

Sebuah repositori adalah kumpulan berbagai perangkat lunak yang memungkinkan perangkat lunak seperti apt-get, aptitude dll untuk men-download dan menginstal perangkat lunak kata. Konten mereka dapat dilihat oleh semua orang. Baca Halaman Bantuan Ubuntu tentang repositori untuk pencerahan.

AKP adalah repositori khusus untuk perangkat lunak yang belum diadopsi untuk seluruh komunitas oleh kepemimpinan distro. Perangkat lunak PPA dapat memiliki cacat dan bahkan dapat digunakan untuk malware karena mereka tidak ditinjau secara luas seperti repositori umum. Untuk lebih lanjut, lihat penjelasan Launchpad tentang PPA dan diskusi tentang PPA ini .

mr2k
sumber
8

Repositori adalah tempat di mana paket disimpan atau dikelola untuk diunduh atau diperbarui. Ini adalah server yang berisi kumpulan paket.

Sebuah Paket Personal Arsip (PPA) adalah software repositori khusus untuk paket sumber upload yang akan dibangun dan dipublikasikan sebagai repositori APT oleh Launchpad atau aplikasi serupa. Sebagian besar dikelola oleh orang-orang yang bukan pengembang Ubuntu resmi

g_p
sumber