{{tag>dépôts launchpad paquet ppa}} ---- {{ http://pix.toile-libre.org/upload/original/1298159427.png?80|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 **[[https://help.launchpad.net/Packaging/PPA|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 [[https://launchpad.net|LaunchPad]], qui prend le code source déposé par les développeurs de logiciels et génère des [[:paquet|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 [[:depots|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. * Bien lire les avertissements dans les paragraphes suivants Durant l'installation du ppa, le message suivant s'affiche : Fingerprint GUI is no longer maintained and is not compatible with Ubuntu 20.04 and newer **AVERTISSEMENT - Il est déconseillé d'utiliser le PPA de WebUpd8 en raison de [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22648194#p22648194|problèmes rapportés sur le forum]]** ===== Présentation des dépôts logiciels ===== **Avertissements à lire avant toute utilisation d'un PPA :** Lorsqu'on ajoute un PPA on accorde une grande confiance à l'organisme qui le propose. En effet : * Lors de l'installation d'un logiciel depuis un PPA, puis lors de chaque mise à jour, on télécharge du contenu depuis des serveurs externes. Si l'intention du prestataire ou que la sécurité de son infrastructure laissent à désirer, on met son système en danger. En effet, on fournit au prestataire un accès presque direct à sa machine. * Si le PPA est mal maintenu, à tout moment 2 paquets peuvent entrer en conflit à propos d'une librairie que chacun utilise, mais dans des versions différentes. Il peut très bien s'agir d'une librairie essentielle à son système, ce qui peut le rendre inutilisable. * 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 à divers projets. 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.((À ce sujet, lisez la discussion [[http://forum.ubuntu-fr.org/viewtopic.php?pid=2709442#p2709442|dans le forum d'Ubuntu-FR]].)) * **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. * Les PPA peuvent potentiellement contenir des logiciels de type //malwares// (virus, vers, rootkits, ransomwares...) placés dans ces dépôts par les mainteneurs du PPA ou par des hackers malveillants. Chaque mainteneur de PPA a toutefois signé le [[:codedeconduite|code de conduite d'Ubuntu]]. Dans ces conditions il est généralement préférable d'éviter l'installation d'un PPA, en particulier quand il n'est pas maintenu par un organisme officiel (l'éditeur du logiciel), et de s'orienter vers d'autres méthodes d'installation quand elles sont disponibles, comme [[:Flatpak]] et [[:Snap]]. ===== 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_shell|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_shell|commande]] suivante dans un [[:terminal]] : grep -Enrv --include='*.list' --include='*.sources' '^#|^$' /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 [[:gnupg|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 [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|recharger la liste des paquets]] pour que vos [[:gestionnaire_de_paquets|gestionnaires de paquets]] le prennent en compte. Il ne reste plus alors qu'à [[:tutoriel:comment_installer_un_paquet|installer le ou les paquets]] désirés. À chaque ajout de PPA, deux fichiers seront générés, nommés respectivement **.list** et **.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 [[:tutoriel:comment_modifier_sources_maj#avec_une_interface_graphique|ce tutoriel]].\\ {{ :tutoriel:ajouter_ppa.png?350 |Ajout d'un PPA}}\\ ====En lignes de commande==== Si la commande add-apt-repository n'est pas disponible il vous faut les paquets [[apt>python3-software-properties]] et [[apt>software-properties-common]] * Ouvrir un [[:terminal]] et saisir la [[:commande_shell|commande]] suivante : sudo add-apt-repository ppa: * Recharger la liste des paquets avec la [[:commande_shell|commande]] suivante : sudo apt update Par exemple pour l'ajout du PPA de [[:YPPaManager|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_shell|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_shell|commande]] suivante: sudo -E add-apt-repository ppa:linaro-maintainers/toolchainVous 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_shell|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_shell|commande]] suivante: sudo add-apt-repository --remove ppa: Par exemple pour l'appli KeepassXC : sudo add-apt-repository --remove ppa:phoerious/keepassxc ou sudo rm /etc/apt/sources.list.d/ Afin d'obtenir la liste des dépôts non officiels de votre système , passer la commande suivante : ls -l /etc/apt/sources.list.d ==== 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_shell|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 FIXME apt-key est déprécié sous [[:jammy]]! [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|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 [[http://forum.ubuntu-fr.org/viewtopic.php?pid=3315189#p3315189|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. [[https://superuser.com/questions/64922/how-to-work-around-blocked-outbound-hkp-port-for-apt-keys|Source]] ==== PPA-Purge : désinstaller un paquet automatiquement et proprement ==== * [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>ppa-purge|ppa-purge]]** * Puis dans un [[:terminal]], saisir la [[:commande_shell|commande]] suivante : sudo ppa-purge ppa: 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 ==== **Le ppa nilarimogard/webupd8 ne semble plus maintenu**, ne contient plus rien à l'attention des LTS en cours au 28 mars 2023.\\ De plus il contient un très grand nombre de paquets parfois inter-dépendants. Il suffit d'ajouter [[https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8|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 [[apt-key|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|Yad (Yet Another Dialog)]]**, [[xclip|XClip]] et [[ppa#PPA-Purge : désinstaller un paquet automatiquement et proprement|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 [[https://launchpad.net/~nilarimogard/+archive/webupd8|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'[[wpfr>hyperlien]] pour pouvoir //Enregistrer la cible du lien sous...//. Choisir une destination. * Dans la fenêtre [[:tutoriel:comment_modifier_sources_maj#avec_une_interface_graphique|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)** [[http://askubuntu.com/questions/13065/how-do-i-fix-the-gpg-error-no-pubkey-without-terminal#13088|« 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, [[:signer_le_code_de_conduite|accepter et signer]] [[https://launchpad.net/codeofconduct|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:/ //Voir cette : [[ :tutoriel:creer_et_administrer_un_ppa_sur_launchpad|page dédiée à la gestion d'un PPA]].// =====Voir aussi===== * Tutoriel [[:tutoriel:comment_modifier_sources_maj|Comment modifier les sources de mises à jour ?]] * [[https://launchpad.net/ubuntu/+ppas|Rechercher un PPA]] * [[:dépôts]] ---- //Contributeur : [[:utilisateurs:mathieu_comandon]] //