Les PPA sont des dépôts de paquet .deb pour Ubuntu.

Personal Package Archives (PPA)

Les Personal Package Archives (abrégés PPA) sont des dépôts de paquets logiciels offerts aux individus et aux équipes de développeurs désireux de proposer facilement leurs logiciels pour les utilisateurs d'Ubuntu. Le service, proposé dans le cadre de la plate-forme LaunchPad, prend le code source déposé par les développeurs de logiciels et génère des paquets .deb que les utilisateurs d'Ubuntu pourront installer à travers leur gestionnaire de paquets logiciels.
Avantage d'un paquet provenant d'un PPA par rapport à un paquet isolé : Si un paquet installé à partir d'un PPA subit une mise à jour, vous en bénéficierez automatiquement.

Avertissement à lire avant toute utilisation des PPA
  • Bien que proposé dans le cadre de la plate-forme Launchpad, chaque PPA est maintenu par des contributeurs et des équipes de développement spécifiques à chaque projet. En activant l'accès dans votre ordinateur à un PPA, vous reconnaissez faire confiance aux mainteneurs de ce PPA spécifique.
  • En aucun cas, les paquets en provenance d'un PPA ne sont maintenus par Canonical, Ils ne bénéficient non plus de la validation officielle Ubuntu, ni du support des développeurs des équipes officielles Ubuntu . 1)
  • Les PPA contiennent généralement plusieurs logiciels et des bibliothèques mises à jour pour ces logiciels. Il est donc possible que des mises à jour ayant un impact majeur sur votre système Ubuntu vous soient proposées suite à l'activation de l'accès à un PPA. N'activez l'accès qu'à des PPA essentiels et pour lesquels vous avez confiance.2)
Une application non-officielle Y-PPA-Manager (en anglais uniquement) permet de gérer ses PPA facilement. 3) Pour plus d'information, se rendre sur la page dédiée pour Y-PPA-Manager.

Lister les dépôts PPA installés

Pour lister les dépôts PPA présents sur votre système, dans un terminal, saisir la commande suivante :

ls -l /etc/apt/sources.list.d/
Pour avoir le détail de tous les dépôts en une seule fois, saisir la commande suivante dans un terminal :
find /etc/apt -type f -name '*.list*' -exec bash -c 'echo -e "\n$1\n"; nl -ba "$1"' _ '{}' \;

Ajout d'un PPA à vos sources logicielles

  • Pour plus de sécurité, le service Launchpad génère une clé unique pour chaque PPA et l'utilise pour signer les paquets construits dans ce PPA. L'ajout d'un dépôt PPA et de sa clef GPG est simplifié en une seule opération. Si vous rencontrez des problèmes de validation de la clé, se reporter au chapitre Problèmes connus.
  • Une fois le PPA ajouté, il faut recharger la liste des paquets pour que vos gestionnaires de paquets le prennent en compte. Il ne reste plus alors qu'à installer le ou les paquets désirés.
A chaque ajout de PPA, deux fichiers sont générés, nommés respectivement <nom_du_ppa>.list et <nom_du_ppa.list>.save dans le dossier /etc/apt/sources.list.d

Graphiquement

Il suffit d'ajouter le nom du dépôt PPA (commençant par ppa:) à vos sources de mises à jour à l'aide de ce tutoriel.
Ajout d'un PPA

En ligne de commandes

Si la commande add-apt-repository n'est pas disponible il vous faut le paquet:

python-software-properties et au moins depuis ubuntu 14.04 software-properties-common

  • Ouvrir un terminal et saisir la commande suivante :
    sudo add-apt-repository ppa:<nom_du_dépôt>
  • Recharger la liste des paquets avec la commande suivante :
    sudo apt-get update

Par exemple pour l'ajout du PPA de Y PPA Manager :

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update

(Toujours saisir les commandes une à une. Celle qui ajoute un dépôt PPA bloque l'enchaînement automatique des deux autres.)

add-apt-repository derrière un proxy d'entreprise

  1. Ouvrir un terminal, vérifier les variables d'environnement en saisissant la commande suivante:
    env | grep -i proxy

    La réponse doit être quelque chose proche de

    HTTPS_PROXY=http://proxy:8080
    HTTP_PROXY=http://proxy:8080
    http_proxy=http://proxy:8080
    https_proxy=http://proxy:8080
  2. Lancer ensuite la commande suivante:
    sudo -E add-apt-repository ppa:linaro-maintainers/toolchain

    Vous aurez alors pour réponse

    Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 1DD749B890A6F66D050D985CF1FCBACA7BE1F97B
    gpg: requesting key 7BE1F97B from hkp server keyserver.ubuntu.com
    gpgkeys: HTTP fetch error 7: couldn't connect to host
    gpg: no valid OpenPGP data found.
    gpg: Total number processed: 0
    • Si votre Proxy d'entreprise bloque le port 11371 du serveur Launchpad PPA pour l’utilisation des clés, nous allons forcer la connexion sur le port 80 avec la commande:
      sudo -E gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 1DD749B890A6F66D050D985CF1FCBACA7BE1F97B
L'option -E donnée à la commande sudo permet de préserver l'environnement de l'utilisateur et donc la configuration proxy

Suppression d'un PPA

Sans désinstaller les paquets du PPA

Il suffit de saisir dans un terminal la commande suivante:

sudo add-apt-repository --remove ppa:<nom_du_dépôt>

ou

sudo rm /etc/apt/sources.list.d/<nom_du_fichier_dépôt>

En désinstallant les paquets de ce PPA

sudo ppa-purge ppa:<nom_du_dépôt>

Créer son dépôt PPA

Pour créer votre propre PPA, vous devez lire, accepter et signer le code de conduite Ubuntu.

Après avoir signé le code de conduite Ubuntu, rendez vous sur votre page Launchpad et cliquez sur "Create a new PPA". Vous devrez ensuite donner un nom à votre PPA (par défaut, le nom est ppa) et un nom d'affichage qui sera inclus dans la clé PGP de votre premier dépôt. Vous pouvez ensuite rentrer une description sur le contenu de votre PPA.

Votre PPA sera activé et vous pourrez ensuite y télécharger vos paquets grâce à la commande

dput ppa:<login launchpad>/<nom du ppa> <source.changes>

. Voir cette : page dédiée à la gestion d'un PPA.

Problèmes connus

Erreur du serveur de clés

FIXME à lier avec apt-key.

Si vous avez une erreur de type:

W: Erreur GPG : http://ppa.launchpad.net lucid Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY D6B6DB186A68F637

Ouvrir un terminal et saisir la commande suivante : (Vous remplacerez D6B6DB186A68F637 par la valeur qui suit NO_PUBKEY de votre message d'erreur).

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D6B6DB186A68F637

Recharger la liste des paquets:

sudo apt-get update

Si ça ne fonctionne toujours pas :

Pour pouvoir récupérer une clé PPA des dépôts Launchpad il est IMPÉRATIF d'avoir une connexion ouverte sur le port 11371. Voir cette discussion.

  • Une solution est possible en forçant le port 80 dans la requête de la clé. Il faut suivre la procédure 2 lien

Modification permanente : Pour ceux qui utilisent une version antérieure à natty:

  1. ouvrez avec les droits d'administration le fichier /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py
  2. Chercher la ligne où est mentionné :
    keyserver.ubuntu.com  (DEFAULT_KEYSERVER = "keyserver.ubuntu.com")
  3. Remplacez-la par
    hkp://keyserver.ubuntu.com:80/ (DEFAULT_KEYSERVER = "hkp://keyserver.ubuntu.com:80/")

Source

Vous pouvez sinon saisir:

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 3E5C1192
gpg --export --armor 3E5C1192 | sudo apt-key add -
sudo apt-get update

où 3E5C1192 sera remplacé par votre numéro de clé en erreur.

Voir aussi

1)
La création d'un PPA étant possible par n'importe qui, il donc est possible que vous activiez l'accès à des PPA contenant des logiciels en développement ou dont la qualité est discutable. De plus, ces PPA pourraient contenir des logiciels de type malwares (virus, vers, rootkits…), placés dans ces dépôts par inadvertance par les mainteneurs du PPA. Rappelez-vous néanmoins que chaque mainteneur de PPA a signé le code de conduite d'Ubuntu.
2)
À ce sujet, lisez la discussion dans le forum d'Ubuntu-FR.
  • ppa.txt
  • Dernière modification: Le 28/04/2018, 11:22
  • (modification externe)