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

Les dépôts personnels de paquets logiciels ou Personal Package Archives (PPA)

Les dépôts personnels de paquets logiciels ou Personal Package Archives (abrégés PPA) sont un service, proposé dans le cadre de la plate-forme LaunchPad, qui 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.

  • Avantages pour les développeurs : proposer facilement et rapidement les versions récentes de leurs logiciels aux utilisateurs d'Ubuntu.
  • Avantages pour les utilisateurs : les PPA sont des dépôts de paquets logiciels dont le contenu est très récent.
    Contrairement à un paquet isolé, si un paquet installé à partir d'un PPA subit une mise à jour, vous en bénéficierez automatiquement.

Configurer Ubuntu selon vos besoins

Pour aller plus loin dans la configuration globale de votre poste de travail, vous pouvez consulter la documentation complète
Ubuntu à votre image : Configurer votre ordinateur selon vos besoins

Présentation des dépôts logiciels

Avertissements à 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 pas non plus de la validation officielle Ubuntu, ni du support des développeurs des équipes officielles Ubuntu.
  • N'activez l'accès qu'à des PPA essentiels, digne de confiance.1)
  • la création d'un PPA est libre et sans restrictions. Par conséquent, il 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 peuvent potentiellement 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 bonne conduite d'Ubuntu.

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 (PPA ou non) en une seule fois, saisir la commande suivante dans un terminal :
grep -Rn --include=\*.list ^[^\#] /etc/apt/

Ajout d'un PPA à vos sources logicielles

L'ajout d'un PPA peut présenter de nombreux dangers pour votre système :
  • Instabilité ;
  • Mises à jour du système bloquées ;
  • Installation potentielle de code malveillant ;
  • Installation potentielle de bibliothèques incompatibles (système inutilisable) ;
  • etc.

N'utilisez les PPA qu'en cas de besoin, si et seulement si vous avez une confiance totale envers les développeurs qui s'occupent de ce PPA !

  • 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.
À chaque ajout de PPA, deux fichiers seront 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 logiciels à l'aide de l'utilitaire "Logiciels & Mises à jour", comme décrit dans ce tutoriel.
Ajout d'un PPA

En lignes de commande

Si la commande add-apt-repository n'est pas disponible il vous faut les paquets python3-software-properties et 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 update

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

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

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

  • 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
  • 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

Gestion des PPA en lignes de commandes

La méthode classique « apt »

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>

Par exemple pour l'appli KeepassXC :

sudo add-apt-repository --remove ppa:phoerious/keepassxc

ou

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

Gestion des erreurs du serveur de clés

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 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.

Vous pouvez sinon saisir:

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

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

Source

La méthode propre — les paquets de gestion automatique : PPA-Purge & Launchpad-Getkeys

PPA-Purge : désinstaller un paquet automatiquement et proprement

sudo ppa-purge ppa:<nom_du_dépôt>
Concernant le dépôt de PPA-Purge, veuillez consulter la note ci dessous, dédiée au logiciel complémentaire Launchpad-Getkeys.

Nous vous conseillons une installation conjointe

Launchpad-Getkeys : La gestion automatique des erreurs de clés

Il suffit d'ajouter le dépôt de Alin Andréï avec la commande :

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update

puis :

sudo apt-get install launchpad-getkeys
sudo launchpad-getkeys

La note suivante — présentée pour une référence et une gestion rapides — est mentionnée sur la page dédiée Gestion des erreurs de trousseau de clés que vous pouvez consulter pour plus de précisions.

launchpad-getkeys.
Une fois installé et lancé en ligne de commandes :
  • il récupère automatiquement l'ensemble des clés d'authentification manquantes, évitant du coup toutes les manipulations décrites plus haut.
  • Il répare donc les erreurs de type « missing GPG » de façon très simple.

FIXME le dépôt contient d'autres logiciels, dont Yad (Yet Another Dialog), XClip et PPA-Purge : désinstaller un paquet automatiquement et proprement qui sont des dépendances de Launchpad-getkeys.

Pour le faire de de façon graphique, procéder comme suit:

  • Sur la page web de l'archive, donc pour l' exemple dépôt de launchpad-getkeys, cliquer sur Technical details about this PPA.
  • Un espace de texte est déroulé, cliquer sur le code inscrit sous Signing key.
  • Dans la nouvelle page, faire un clic droit sur l'hyperlien pour pouvoir Enregistrer la cible du lien sous…. Choisir une destination.
  • Dans la fenêtre Sources de logiciels prévue à cette effet, choisir l'onglet Authentification puis cliquer sur Importer la clé….
  • Rechercher et sélectionner le fichier qui vient d'être enregistré (le nom par défaut est 'lookup'). Fermer la fenêtre des sources de logiciels.

Les captures d'écrans associées à cette manipulation peuvent être trouvées sur :
(en) « How do I fix the GPG error “NO_PUBKEY”? » —{ « Comment corriger une erreur GPG "AUCUNE CLÉ PUBLIQUE" » } ;
source : forum AskUbuntu.com ; auteur : Agmenor ; 13 novembre 2010.

Créer son propre 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.

Voir aussi

1)
À ce sujet, lisez la discussion dans le forum d'Ubuntu-FR.