Яка різниця між PPA і сховищем?


46

Нещодавно я опублікував відповідь, де писав, додаю PPA . Але тепер я розумію, що я не маю поняття, в чому полягає різниця між PPA і сховищем . Тож хтось може мені про це пояснити?


Про PPA дивіться: askubuntu.com/questions/4983/…
Таккат

Відповіді:


14

Сховища

У таких системах, як Ubuntu, більшість програмного забезпечення упаковується у файли .deb (або .rpm, як у Red Hat), які містять потрібні програми та бібліотеки. Ці файли можна завантажити або поставити на компакт-дисках (компакт-диск Ubuntu їх повний). Репозиторії - це сервери, що містять набори пакетів .

PPA

Архіви Особистого пакету (PPA) дозволяють вам завантажити Ubuntu пакетів з вихідним кодом будуть побудовані і опубліковані в якості міткою репозиторії Launchpad .

Також див. Що таке PPA і як я їх використовую?

Підсумовуючи це:

  • У сховищі є пакети.
  • PPA - це пакети (/ колекції програмного забезпечення).
  • Launchpad має сховище, яке містить PPA (/ колекції програмного забезпечення).

4
Чи не PPA - це лише сховище чи програмне забезпечення, яке обирає та підтримує особа чи група? (які не пов'язані безпосередньо з Canonical або Official Ubuntu розробниками). PPA - як сховище, а не окремий пакет.
Фахад Юсуф

11
PPA не є пакетом, це сховище. Кожен PPA може містити кілька пакетів. Launchpad - це (точніше хости) колекція сховищ під назвою PPA.
Жил 'ТАК - перестань бути злим'

таке чітке пояснення. Отже, більш чітке пояснення було б сховищем: C: // ProgramFiles і PPA - це встановлені в цьому папки програми
Abhimanyu Aryan

@AbhimanyuAryan Ні, C: \ ProgramFiles - це не що інше, як РЕПО. Якщо ви не створюєте метафору, тоді я, мабуть, пропустив суть.
wjandrea

Ця відповідь неправильна. PPA не є пакетами, вони є сховищами. Чи потрібно це виправити?
Reinier Post

66

Я повинен не погодитися з прийнятою відповіддю на це питання. Я б написав наступне як коментар до цієї відповіді, але це занадто довго.

  • Репозиторій - це сукупність пакетів, розміщених на довільному сервері.
  • PPA - це також колекція пакетів, розміщених на серверах Launchpad.

    Зокрема, PPA не є єдиним пакетом, оскільки дуже неоднозначно сформульований пункт "PPA - це пакети (/ колекції програмного забезпечення)". у прийнятій відповіді може призвести до віри. Крім того, пакет не є (обов'язково) колекцією програмного забезпечення , що робить це ще більш заплутаним.

  • Таким чином, PPA - це особливий вид сховища. Як квадрат - це особливий вид прямокутника.

Основна відмінність - хостер. В основному, якщо ви програміст і хочете розробляти та розповсюджувати власні пакунки, а у вас є власний кореневий сервер в Інтернеті, ви можете створити на ньому власне сховище. Чудово! Але що робити, якщо у вас немає кореневого сервера, і ви не хочете платити за нього, але все ж хочете розробляти та розповсюджувати власні пакети? Ну, тоді є Launchpad. Він пропонує послуги PPA як послугу саме для цього випадку. Ви можете створити власне сховище на Launchpad і керувати своїми пакунками там.

Давайте розглянемо ілюстративний приклад.

  1. Спочатку припустимо, що ви хочете встановити MATE Desktop Environment (виделка Gnome 2) на Ubuntu Saucy Salamander. Він не міститься в офіційних репортажах, а також розробки не підтримують PPA. Натомість у них є власне репо. Ви можете додати його так:

    $ 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. По-друге, припустімо, що ви також хочете подивитися на Корицю (ще одну вилку Gnome 2). Це міститься в офіційних репортажах з 13.04, але все ще є PPA, що підтримується розробниками, корисний, наприклад, якщо ви зацікавлені в тому, щоб швидше отримувати нові випуски. Ви можете додати його так:

    $ 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. Насправді ви можете навіть додати PPA 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). Тільки файли, до яких записуються ці записи, обробляються дещо інакше, але, зрештою, це не має жодної реальної різниці. В обох випадках ви, нарешті, отримаєте пакунки з Cinnamon PPA, доступні у вашій системі, завжди після канонічних sudo apt-get update, звичайно.


Згідно з посібником від add-apt-repositoryXenial, якщо використовується ppa:<user>/<ppa-name>форма, "відкритий ключ GPG щойно доданого PPA також буде завантажений і доданий до ключового слова apt." Я припускаю, що це не так, якщо використовується URL-форма. Насправді в посібнику не вказано, що ви могли б використовувати тип URL-адреси, яку ви використовуєте в 1 і 3, але "рядок, який можна додати безпосередньо до source.list". Тим не менш, форма, яку ви використовуєте, здається, працює.
jarno

1
@jarno Так, сторінка сайту add-apt-repositoryдійсно неповна в цьому відношенні. Будь ласка, використовуйте, add-apt-repository --helpщоб переконатися, що форма URL-адреси, яку я використовував у 1 та 3, дійсно правильна та можлива можлива можливість. Крім того, ваше припущення абсолютно правильне: відкритий ключ GPG PPA не буде доданий при використанні форми URL. Це корисне доповнення, дякую! :) Зверніть увагу, що я не рекомендую використовувати форму, описану в 3, для додавання PPA. Це було просто призначено як ілюстрацію, щоб показати, що насправді, PPA - це просто певний тип сховища.
Malte Skoruppa

10

Немає технічних відмінностей між сховищем та PPA, що стосується APT. Обидва - це сховища програм, що пропонують пакети, з точки зору APT - це однакові механізми установки пакетів.

PPA - це сховище пакетів, яке використовує Launchpad як бекенд. Це лише інша назва тієї ж речі, яка (принаймні в принципі) зазвичай використовується з особистих причин, яка автоматизує більшість операцій, які в іншому випадку вам довелося робити вручну або налаштовувати власні послуги.

Репозиторії - там, де є програмне забезпечення, в цьому випадку списки пакунків і пакети, які потрібно встановити в дистрибутивах на базі Debian.

Ви можете мати свій особистий сховище без використання Launchpad, і це можна назвати PPA, оскільки це Особистий.

Єдина відмінність у використанні полягає виключно в синтаксисі, add-apt-repositoryякий використовує магічне ключове слово, ppa:а не змушує користувача писати повну URL-адресу, необхідну для сховищ, які не є Launchpad.


9

Сховище являє собою набір різного програмного забезпечення , яке дозволяє програмне забезпечення , як APT-GET, доречності і т.д. , щоб завантажити і встановити програмне забезпечення зазначеного. Їх зміст видно для перевірки всіма. Прочитайте сторінку довідки Ubuntu на сховищах для просвітлення.

PPA - це спеціальні сховища для програмного забезпечення, яке ще не прийняте для всієї громади керівництвом distro. Програмне забезпечення PPA може мати дефекти і навіть може бути використане для зловмисного програмного забезпечення, оскільки воно не розглядається як загальні сховища. Більше див. У поясненні Launchpad щодо PPA та цього обговорення PPA .


8

Репозиторій - це місце, де зберігається або підтримується пакет для завантаження або оновлення. Це сервери, що містять набори пакетів.

Особистий пакет Archive (PPA) являє собою спеціальне сховище програмного забезпечення для джерела завантаження пакетів , які будуть побудовані і опубліковані як APT репозиторії Launchpad або аналогічного застосування. Переважно його підтримують люди, які не є офіційним розробником Ubuntu

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.