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.
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/
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.
python-software-properties et au moins depuis ubuntu 14.04 software-properties-common
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.)
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
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
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>
sudo ppa-purge ppa:<nom_du_dépôt>
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.
à 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.
Modification permanente : Pour ceux qui utilisent une version antérieure à natty:
keyserver.ubuntu.com (DEFAULT_KEYSERVER = "keyserver.ubuntu.com")
hkp://keyserver.ubuntu.com:80/ (DEFAULT_KEYSERVER = "hkp://keyserver.ubuntu.com:80/")
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.