В чем разница между PPA и репозиторием?

Недавно я опубликовал ответ, в котором я написал, добавив PPA. Но теперь я понимаю, что я не знаю, какая разница между PPA и репозиторием. Так может кто-нибудь объяснить это мне?

1
задан 12 January 2015 в 19:04

4 ответа

Я должен не согласиться с принятым ответом на этот вопрос. Я бы написал в качестве комментария к этому ответу, но он слишком длинный.

Репозиторий представляет собой набор пакетов, размещенных на произвольном сервере. PPA также представляет собой набор пакетов, размещенных на серверах Launchpad. В частности, PPA - это не один пакет, поскольку это очень неоднозначно сформулированная точка «PPA - это пакеты (/ коллекции программного обеспечения)». в принятом ответе может привести к вере. Кроме того, пакет не является (обязательно) набором программного обеспечения, что делает этот пункт еще более запутанным. Таким образом, PPA является особым видом репозитория. Подобно квадрату, это особый вид прямоугольника.

Основное отличие - это хостер. В принципе, если вы программист и хотите разрабатывать и распространять свои собственные пакеты, и у вас есть собственный корневой сервер в Интернете, вы можете настроить свой собственный репозиторий на нем. Большой! Но что, если у вас нет корневого сервера, и вы не хотите платить за него, но все же хотите разрабатывать и распространять свои собственные пакеты? Ну, тогда есть Launchpad. Он предлагает PPA как услугу именно для этого случая использования.

Давайте посмотрим на иллюстративный пример.

Сначала предположим, что вы хотите установить MATE Desktop Окружающая среда (вилка 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
Во-вторых, предположим, что вы также хотите посмотреть на Cinnamon (другая вилка 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. Фактически, вы даже можете добавить PPA Cinnamon с тем же синтаксисом, что и в пункте (1), хотя это не типичный способ добавления PPA:
$ sudo add-apt-repository http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu
Это приведет к добавлению следующей записи в /etc/apt/sources.list: [ f6] Это то же самое, что и в пункте (2). Только файлы, в которые записываются эти записи, обрабатываются несколько иначе, но в конце концов, это не имеет никакого значения. В обоих случаях вы получите пакеты из Cinnamon PPA, доступные в вашей системе, всегда после канонического sudo apt-get update, конечно.
56
ответ дан 24 May 2018 в 18:09
  • 1
    Согласно руководству add-apt-repository в Xenial, если используется форма ppa:<user>/<ppa-name>, «открытый ключ GPG недавно добавленного PPA также будет загружен и добавлен в keyring apt». Я полагаю, что это не так, если используется форма URL. На самом деле в руководстве не говорится, что вы можете использовать вид URL-формы, который вы используете в 1 и 3, но «строка, которая может быть добавлена ​​непосредственно в sources.list». Тем не менее, форма, которую вы используете, кажется, работает. – jarno 29 November 2016 в 19:23
  • 2
    @jarno Да, manpage из add-apt-repository действительно неполна в этом отношении. Пожалуйста, используйте add-apt-repository --help, чтобы увидеть, что форма URL, которую я использовал в 1 и 3, действительно является правильной и предполагаемой возможной опцией. Кроме того, ваше предположение абсолютно корректно: открытый ключ GPG для PPA не будет добавлен при использовании формы URL. Это полезное дополнение, спасибо! :) Обратите внимание, что я не рекомендую использовать форму, описанную в 3, чтобы добавить PPA. Это было просто иллюстрацией, чтобы показать, что на самом деле PPA - это просто определенный репозиторий. – Malte Skoruppa 29 November 2016 в 22:31

Не существует технических различий между репозиторием и PPA в отношении APT. Оба являются репозиториями программного обеспечения, которые предлагают пакеты, с точки зрения APT - это те же механизмы установки пакетов.

PPA - это хранилище пакетов, в которых используется Launchpad в качестве backend. Это просто другое имя для одного и того же, то есть (по крайней мере в принципе), обычно используемого по личным причинам, которое автоматизирует большинство операций, которые вам в противном случае приходилось делать вручную или настраивать собственные службы.

Хранилища находятся где угодно есть программное обеспечение, в этом случае списки пакетов и пакеты, которые будут установлены в дистрибутивах на основе Debian.

У вас может быть ваш личный репозиторий без использования Launchpad, и его можно назвать PPA, потому что это Personal.

Единственное отличие в использовании заключается исключительно в синтаксисе add-apt-repository, который использует магическое ключевое слово ppa: вместо того, чтобы заставить пользователя писать полный URL-адрес, который требуется для репозиториев без Launchpad. [ ! d5]

9
ответ дан 24 May 2018 в 18:09

Репозиторий представляет собой набор различных программ, которые позволяют программному обеспечению, например apt-get, aptitude и т. д. загружать и устанавливать указанное программное обеспечение. Их содержание видимо для проверки всеми. Прочитайте страницу справки Ubuntu в репозиториях для просвещения.

репозиторий - это специальные хранилища для программного обеспечения, которое еще не принято для всего сообщества лидером дистрибутива. Программное обеспечение PPA может иметь дефекты и может даже использоваться для вредоносного ПО, поскольку они не рассматриваются как общие репозитории. Более подробно см. страницу справки Ubuntu и это обсуждение PPA.

7
ответ дан 24 May 2018 в 18:09

Репозиторий - это место, где пакет хранится или поддерживается для загрузки или обновления. Это серверы, которые содержат наборы пакетов.

Репозиторий - это специальный программный репозиторий для загрузки исходные пакеты, которые будут созданы и опубликованы в виде репозитория APT с помощью Launchpad или аналогичного приложения. В основном это поддерживается людьми, которые не являются официальными разработчиками Ubuntu

7
ответ дан 24 May 2018 в 18:09

Другие вопросы по тегам:

Похожие вопросы: