Jaka jest różnica między PPA a repozytorium?

46

Niedawno opublikowałem odpowiedź, w której napisałem, dodaj PPA . Ale teraz zdaję sobie sprawę, że nie mam pojęcia, jaka jest różnica między PPA a repozytorium . Czy ktoś może mi to wyjaśnić?

Alvar
źródło
W sprawie PPA patrz: askubuntu.com/questions/4983/...
Takkat

Odpowiedzi:

14

Repozytoria

W systemach takich jak Ubuntu większość oprogramowania jest pakowana w ładne pliki .deb (lub .rpm, jak w Red Hat), które zawierają potrzebne programy i biblioteki. Pliki te można pobrać lub dostarczyć na dyskach CD (płyta CD Ubuntu jest pełna). Repozytoria to serwery zawierające zestawy pakietów .

PPA

Archiwa opakowania osobisty (PPA) pozwoli Ci przesyłać pakiety źródłowe Ubuntu mają zostać zbudowane i opublikowane jako apt repozytorium przez Launchpad .

Zobacz także Co to są umowy PPA i jak ich używać?

Podsumowując:

  • Repozytorium zawiera pakiety.
  • Umowy PPA to pakiety (/ kolekcje oprogramowania).
  • Launchpad ma repozytorium, które przechowuje PPA (/ kolekcje oprogramowania).
Rinzwind
źródło
4
Czy umowa PPA nie jest tylko repozytorium lub oprogramowaniem wybranym i utrzymywanym przez osobę lub grupę? (którzy nie są bezpośrednio związani z twórcami oprogramowania Canonical lub Official Ubuntu). PPA jest jak repozytorium, a nie pojedynczy pakiet.
Fahad Yousuf,
11
PPA to nie pakiet, to repozytorium. Każdy PPA może zawierać wiele pakietów. Launchpad to (a raczej hostuje) zbiór repozytoriów zwanych PPA.
Gilles 'SO - przestań być zły'
takie jasne wytłumaczenie. Bardziej przejrzystym wyjaśnieniem byłoby Repozytorium to C: // ProgramFiles i PPA to zainstalowane foldery programów w tym
Abhimanyu Aryan
@AbhimanyuAryan Nie, C: \ ProgramFiles nie przypomina repozytorium, a zawarte w nim katalogi nie przypominają PPA. Chyba że robisz metaforę, w którym to przypadku musiałem nie rozumieć sedna sprawy.
wjandrea
Ta odpowiedź jest zła. Umowy PPA nie są pakietami, są repozytoriami. Mam to naprawić?
Reinier Post
66

Nie mogę zgodzić się z przyjętą odpowiedzią na to pytanie. Jako komentarz do tej odpowiedzi napisałbym następujące, ale jest ona zbyt długa.

  • Repozytorium to zbiór pakietów hostowany na dowolnym serwerze.
  • PPA to także zbiór pakietów hostowanych na serwerach Launchpad.

    W szczególności PPA nie jest pojedynczym pakietem, ponieważ ten bardzo niejednoznacznie sformułowany punkt „PPA to pakiety (/ kolekcje oprogramowania)”. w przyjętej odpowiedzi może prowadzić do uwierzenia. Dodatkowo, pakiet nie jest (koniecznie) kolekcją oprogramowania , co czyni ten punkt jeszcze bardziej zagmatwanym.

  • Dlatego PPA jest szczególnym rodzajem repozytorium. Jak kwadrat to specjalny rodzaj prostokąta.

Główną różnicą jest hosting. Zasadniczo, jeśli jesteś programistą i chcesz opracowywać i dystrybuować własne pakiety, a także masz własny serwer root w Internecie, możesz na nim skonfigurować własne repozytorium. Wspaniały! Ale co, jeśli nie masz serwera root i nie chcesz za niego płacić, ale nadal chcesz opracowywać i dystrybuować własne pakiety? No to jest Launchpad. Oferuje umowy PPA jako usługę dla dokładnie tego przypadku użycia. Możesz w zasadzie stworzyć własne repozytorium na Launchpad i zarządzać tam własnymi pakietami.

Rzućmy okiem na ilustrujący przykład.

  1. Najpierw załóżmy, że chcesz zainstalować środowisko MATE Desktop Environment (widelec Gnome 2) na Ubuntu Saucy Salamander. Nie jest zawarte w oficjalnych repozytoriach, a deweloperzy nie utrzymują umów PPA. Zamiast tego mają swoje własne repozytorium. Możesz dodać to tak:

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

    Spowodowałoby to dodanie następującego wpisu do /etc/apt/sources.list:

    deb http://packages.mate-desktop.org/repo/ubuntu saucy main
    
  2. Po drugie, załóż, że chcesz też spojrzeć na Cinnamon (kolejny widelec Gnome 2). Jest to zawarte w oficjalnych repozytoriach od 13.04, ale deweloperzy utrzymują PPA, przydatne na przykład, jeśli chcesz szybciej otrzymywać nowe wersje. Możesz dodać to tak:

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

    Spowodowałoby to dodanie następującego wpisu do /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
    

    Jak widać, ten ostatni wpis jest dość podobny do tego dokonanego w punkcie (1). W rzeczywistości oba są tylko adresami URL repozytoriów z perspektywy Ubuntu.

  3. W rzeczywistości można nawet dodać PPA cynamonu o takiej samej składni jak w punkcie (1) , chociaż nie jest to typowy sposób dodawania PPA:

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

    Spowodowałoby to dodanie następującego wpisu do /etc/apt/sources.list:

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

    Jest to dokładnie ten sam wpis, co w pkt 2. Tylko pliki, w których zapisywane są te wpisy, są obsługiwane nieco inaczej, ale ostatecznie nie robi to żadnej różnicy. W obu przypadkach skończysz na tym, że pakiety z PPA cynamonowego będą dostępne w twoim systemie, sudo apt-get updateoczywiście zawsze po kanonicznym .

Malte Skoruppa
źródło
Zgodnie z instrukcją add-apt-repositoryw Xenial, jeśli ppa:<user>/<ppa-name>formularz jest używany, „Klucz publiczny GPG nowo dodanego PPA zostanie również pobrany i dodany do kluczy apt”. Przypuszczam, że tak nie jest, jeśli użyty zostanie formularz URL. W rzeczywistości instrukcja nie mówi, że możesz użyć rodzaju adresu URL, którego używasz w punktach 1 i 3, ale „wiersz, który można dodać bezpośrednio do source.list”. Niemniej jednak forma, której używasz, wydaje się działać.
jarno
1
@jarno Tak, strona internetowa add-apt-repositoryjest pod tym względem naprawdę niekompletna. Proszę add-apt-repository --helpsprawdzić, czy formularz URL użyty w 1 i 3 jest rzeczywiście poprawny i jest zamierzoną możliwą opcją. Co więcej, twoje założenie jest absolutnie prawidłowe: klucz publiczny GPG PPA nie zostanie dodany podczas korzystania z formularza URL. To przydatny dodatek, dzięki! :) Należy pamiętać, że nie polecam korzystania z formularza opisanego w punkcie 3 w celu dodania umów PPA. Miał on jedynie na celu zilustrowanie, że w rzeczywistości PPA jest po prostu specyficznym rodzajem repozytorium.
Malte Skoruppa
10

W przypadku APT nie ma technicznych różnic między repozytorium a umową PPA. Oba są repozytoriami oprogramowania, które oferują pakiety, z punktu widzenia APT istnieją te same mechanizmy instalowania pakietów.

PPA to repozytorium pakietów, które wykorzystują Launchpad jako backend. To po prostu inna nazwa tego samego, czyli (przynajmniej w zasadzie) zwykle używanego z powodów osobistych, które automatyzuje większość operacji, które w innym przypadku musiałbyś wykonać ręcznie lub konfigurując własne usługi.

Repozytoria są wszędzie tam, gdzie jest oprogramowanie, w tym przypadku list pakietów i pakietów do zainstalowania w dystrybucjach opartych na Debianie.

Możesz mieć swoje osobiste repozytorium, bez użycia Launchpada, i może być nazwane PPA, ponieważ jest osobiste.

Jedyną różnicą w użyciu jest wyłącznie składnia add-apt-repositorysłowa kluczowego magia ppa:zamiast zmuszania użytkownika do napisania pełnego adresu URL wymaganego w przypadku repozytoriów innych niż Launchpad.

Braiam
źródło
9

Repozytorium jest zbiorem różnych oprogramowanie, które umożliwia oprogramowanie jak apt-get, aptitude itd., Aby pobrać i zainstalować tego oprogramowania. Ich zawartość jest widoczna dla wszystkich. Przeczytaj stronę pomocy Ubuntu dotyczącą repozytoriów do oświecenia.

Umowy PPA to specjalne repozytoria oprogramowania, które nie zostało jeszcze przyjęte dla całej społeczności przez kierownictwo dystrybucji. Oprogramowanie PPA może mieć defekty, a nawet może być wykorzystywane w przypadku złośliwego oprogramowania, ponieważ nie jest poddawane szczegółowej weryfikacji jako ogólne repozytoria. Aby uzyskać więcej informacji, zobacz wyjaśnienie PPA dotyczące Launchpad i omówienie tych umów .

mr2k
źródło
8

Repozytorium to miejsce, w którym pakiet jest przechowywany lub utrzymywany do pobrania lub aktualizacji. Są to serwery zawierające zestawy pakietów.

Prywatne Package Archive (PPA) jest specjalnym repozytorium oprogramowania dla pakietów źródłowych Zamieszczanie być zbudowany i opublikowane jako repozytorium APT przez Launchpad lub podobnego wniosku. Przeważnie jest utrzymywany przez osoby, które nie są oficjalnymi programistami Ubuntu

g_p
źródło