web-dev-qa-db-fra.com

Quelle est la différence entre un PPA et un référentiel?

J'ai récemment posté une réponse où j'ai écrit ajouter le PPA. Mais je réalise maintenant que je n'ai aucune idée de la différence entre un PPA et un référentiel. Alors quelqu'un peut-il m'expliquer s'il vous plaît?

46
Alvar

Référentiels

Sur des systèmes comme Ubuntu, la plupart des logiciels sont fournis dans des fichiers Nice .deb (ou .rpm, comme dans Red Hat), qui contiennent les programmes et les bibliothèques dont vous avez besoin. Ces fichiers peuvent être téléchargés ou fournis sur des CD (le CD d'Ubuntu en est rempli). Les référentiels sont des serveurs contenant des ensembles de packages .

PPA

Les archives de paquets personnels (PPA) permettent de télécharger des paquets sources Ubuntu pour qu'ils soient construits et publiés en tant que référentiel apt par Tableau de bord .

Voir aussi Que sont les AAE et comment les utiliser?

Résumer:

  • Un référentiel a des packages.
  • Les PPA sont des packages (/ collections de logiciels).
  • Launchpad a un référentiel qui contient les PPA (/ collections de logiciels).
14
Rinzwind

Je ne suis pas d'accord avec le réponse acceptée à cette question. J'aurais écrit ce qui suit pour commenter cette réponse, mais c'est trop long.

  • Un référentiel est une collection de packages, hébergés sur un serveur quelconque.
  • Un PPA est aussi un ensemble de packages, hébergés sur les serveurs Launchpad.

    En particulier, un PPA n'est pas un package unique, car ce point très ambiguë est formulé "Les PPA sont des packages (/ collections de logiciels). " dans la réponse acceptée peut amener à croire. De plus, un package n'est pas (nécessairement) un collection de logiciels, ce qui rend ce point encore plus confus.

  • Ainsi, un PPA est un type particulier de référentiel. Comme un carré est un type spécial de rectangle.

La principale différence est l'hébergeur. En gros, si vous êtes un programmeur et que vous souhaitez développer et distribuer vos propres packages et que vous avez votre propre serveur racine sur Internet, vous pouvez configurer votre propre référentiel. Génial! Mais que se passe-t-il si vous n’avez pas de serveur racine et que vous ne voulez pas en payer un, mais que vous souhaitiez tout de même développer et distribuer vos propres paquets? Alors, il y a Launchpad. Il offre des PPA en tant que service pour exactement ce cas d'utilisation. Vous pouvez en principe créer votre propre référentiel sur Launchpad et y gérer vos propres packages.

Regardons un exemple illustratif.

  1. Tout d’abord, supposons que vous souhaitiez installer le MATE Desktop Environment (un fork de Gnome 2) sur Ubuntu Saucy Salamander. Il ne figure pas dans les mises en pension officielles, et les développeurs ne maintiennent pas de PPA. Au lieu de cela, ils ont leur propre repo. Vous pouvez l'ajouter comme ceci:

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

    Ceci entraînerait l'ajout de l'entrée suivante à /etc/apt/sources.list:

    deb http://packages.mate-desktop.org/repo/ubuntu saucy main
    
  2. Deuxièmement, supposons que vous souhaitiez également jeter un œil à Cinnamon (un autre fork de Gnome 2). Ceci est contenu dans les mises en pension officielles depuis le 13.04, mais il y a toujours un PPA maintenu par les développeurs, utile par exemple si vous souhaitez obtenir les nouvelles versions plus rapidement. Vous pouvez l'ajouter comme ceci:

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

    Ceci entraînerait l'ajout de l'entrée suivante à /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
    

    Comme vous pouvez le constater, cette dernière entrée est assez similaire à celle faite au point (1). En fait, les deux ne sont que des URL de référentiels du point de vue d'Ubuntu.

  3. En fait, vous pouvez même ajouter le PPA Cinnamon avec la même syntaxe que dans le point (1), bien que ce ne soit pas la méthode habituelle pour ajouter des PPA:

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

    Ceci entraînerait l'ajout de l'entrée suivante à /etc/apt/sources.list:

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

    C'est le exactement la même entrée comme au point (2). Seuls les fichiers dans lesquels ces entrées sont écrites sont traités légèrement différemment, mais au final, cela ne fait aucune différence. Dans les deux cas, vous obtiendrez les packages du PPA de Cinnamon disponibles sur votre système, toujours après le Sudo apt-get update canonique, bien sûr.

66
Malte Skoruppa

Il n'y a pas de différences techniques entre un référentiel et un PPA en ce qui concerne APT. Les deux sont des référentiels logiciels proposant des packages, du point de vue de APT les mêmes mécanismes d'installation de paquets.

PPA est un référentiel de packages qui utilise Launchpad en tant que backend. C’est juste un autre nom pour la même chose, c’est (du moins en principe) normalement utilisé pour des raisons personnelles, ce qui automatise la plupart des opérations que vous auriez autrement à faire manuellement ou la configuration de vos propres services.

Les référentiels sont partout où il y a des logiciels, dans ce cas, des listes de paquets et des paquets à installer dans les distributions basées sur Debian.

Vous pouvez avoir votre référentiel personnel, sans utiliser Launchpad et il pourrait s'appeler PPA, car c'est Personnel.

La seule différence dans l'utilisation réside uniquement dans la syntaxe de add-apt-repository qui utilise le mot clé magique ppa: au lieu de forcer l'utilisateur à écrire l'URL complète requise pour les référentiels autres que Launchpad.

10
Braiam

Un référentiel est un ensemble de logiciels variés qui permettent à des logiciels tels qu'apt-get, aptitude, etc. de télécharger et d'installer ce logiciel. Leur contenu est visible pour inspection par tous. Lisez le page d'aide Ubunt sur les référentiels d'Enlightenment.

Les PPA sont des référentiels spéciaux pour logiciels qui n'ont pas encore été adoptés par la direction de la distribution pour l'ensemble de la communauté. Les logiciels PPA peuvent avoir des défauts et peuvent même être utilisés contre les programmes malveillants, car ils ne sont pas analysés de manière exhaustive en tant que référentiels généraux. Pour plus d'informations, voir Explication du Launchpad sur les PPA et cette discussion sur les PPA .

8
mr2k

Référentiel est un endroit où les paquetages sont stockés ou conservés pour téléchargement ou mise à jour. Ce sont des serveurs contenant des ensembles de paquetages.

A Archive de paquets personnels (PPA) est un référentiel logiciel spécial pour le téléchargement de packages sources à construire et à publier en tant que APT référentiel par Launchpad ou une application similaire. Généralement, il est entretenu par des personnes qui ne sont pas des développeurs officiels Ubuntu.

7
g_p