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.
- 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.
- 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)
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/
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.
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.
En ligne de commandes
python-software-properties et au moins depuis ubuntu 14.04 software-properties-common
- 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
- 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
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
à 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.
- Ceci a été corrigé dans la version 11.04 d'Ubuntu : https://launchpad.net/ubuntu/natty/+source/software-properties/0.78.1
Modification permanente : Pour ceux qui utilisent une version antérieure à natty:
- ouvrez avec les droits d'administration le fichier /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py
- Chercher la ligne où est mentionné :
keyserver.ubuntu.com (DEFAULT_KEYSERVER = "keyserver.ubuntu.com")
- Remplacez-la par
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.