Sometimes I write things, sometimes I don't.

To content | To menu | To search

Problème de signatures avec les PPA

Si vous aussi vous utilisez des dépôts fournis par Launchpad via le système de PPA, vous avez peut-être remarqué une erreur lors de l'exécution d'une commande d'update via APT ou Aptitude. Depuis quelques temps maintenant, certains PPA vous proposent des paquets signés. Il vous faut donc récupérer la clé PGP comme vous le feriez pour d'autres dépôts tels que Medibuntu.

Voici le type d'erreur que vous avez peut-être vous aussi.
W: GPG error: http://ppa.launchpad.net intrepid Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 4874D3686E80C6B7
W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes.


En ce qui me concerne le PPA me donnant cette erreur était celui de Banshee. Si comme moi vous êtes un(e) grand(e) flemmard(e), j'ai trouvé sur ce sujet du forum Ubuntu, un script vous permettant de récupérer toutes les clés des PPA dont vous avez besoin.
Ouvrez un fichier nommé launchpad-update, mettez-y le code suivant :
#!/bin/bash
sudo aptitude install curl
for i in `cat /etc/apt/sources.list | grep "deb http" | grep ppa.launchpad | grep intrepid | cut -d/ -f4`; do
    curl `curl https://launchpad.net/~$i/+archive/ppa | grep "http://keyserver.ubuntu.com:11371/pks/" | cut -d'"' -f2 ` | grep "pub  " | cut -d'"' -f2 >> keyss
done
for i in `cat keyss` ; do
    curl "http://keyserver.ubuntu.com:11371$i" | grep -B 99999 END |grep -A 9999 BEGIN > keyss2
    sudo apt-key add keyss2
    rm keyss2
done
rm keyss


Rendez ce script exécutable et utilisez-le :
~$ chmod +x launchpad-update
~$ ./launchpad-update


Il ne vous reste plus qu'à attendre puis une fois l'exécution terminée, vous pourrez recharger la liste des paquets.
~$ sudo aptitude update

Attention ! Je vous rappelle que l'utilisation de dépôts non-officiels peut mettre en péril votre système. Dans la même veine, le script ci-dessus vous demandera les droits d'administration via sudo, vous l'utilisez donc à vos risques et périls.

Comments

1. On Saturday 24 January 2009, 21:48 by magnetik

Niquel, merci !

2. On Sunday 1 February 2009, 12:38 by PhilippeP

Il y a un truc qui foire chez moi (ai copié/collé le script) :

philippe@albert:~$ ./launchpad-keys-update.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 —:—:— —:—:— —:—:— 0
curl: try ‘curl —help’ or ‘curl —manual’ for more information
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 —:—:— —:—:— —:—:— 0
curl: try ‘curl —help’ or ‘curl —manual’ for more information
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 —:—:— —:—:— —:—:— 0
curl: try ‘curl —help’ or ‘curl —manual’ for more information
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 —:—:— —:—:— —:—:— 0
curl: try ‘curl —help’ or ‘curl —manual’ for more information
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 —:—:— —:—:— —:—:— 0
curl: try ‘curl —help’ or ‘curl —manual’ for more information

3. On Sunday 1 February 2009, 15:41 by Guillaume

Les adresses des PPAs sont bien dans le sources.list ? Tu utilises Intrepid Ibex ?

4. On Sunday 1 February 2009, 15:54 by PhilippeP

Intrepid,oui et la premiere instruction me retourne bien la liste de mes ppa :
cat /etc/apt/sources.list | grep “deb http” | grep ppa.launchpad | grep intrepid | cut -d/ -f4

kubuntu-members-kde4
adamspain
baudm
digikam-experimental
kubuntu-experimental

5. On Sunday 1 February 2009, 16:17 by PhilippeP

Ai probablement trouvé , il manque ‘/ppa’ au bout de l’url la commande curl :

curl `curl https://launchpad.net/~$i/+archive | grep “http://keyserver.ubuntu.com:11371/p…” | cut -d’”’ -f2 ` | grep “pub ” | cut -d’”’ -f2 » keyss

curl `curl https://launchpad.net/~$i/+archive/… | grep “http://keyserver.ubuntu.com:11371/p…” | cut -d’”’ -f2 ` | grep “pub ” | cut -d’”’ -f2 » keyss

6. On Sunday 1 February 2009, 17:25 by PhilippeP

Je comfirme qu’en rajoutant le /ppa cela fonctionne !

7. On Sunday 1 February 2009, 17:42 by Guillaume

Exact je corrige, j’avais d’ailleurs reçu un mail (d’un développeur de Launchpad) me signalant que les URLs avaient changés. Merci pour la correction.

8. On Monday 2 February 2009, 08:58 by PhilippeP

J’ai corrigé dans la documentation sur ubuntu-fr ou le script était repris.

9. On Monday 9 February 2009, 17:15 by Ssedba

Correction :

#! /bin/sh
if [ “`whoami`” != “root” ];
then
echo “Please run with SUDO”
exit 1
fi
RELEASE=`cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d”=” -f2`
echo Release: $RELEASE
echo Please Wait…
for q in `find /etc/apt/ -name *.list`; do
cat $q » fullsourceslist
done
for i in `cat fullsourceslist | grep “deb http” | grep ppa.launchpad | grep $RELEASE | cut -d/ -f4`; do
wget -q —no-check-certificate `wget -q —no-check-certificate https://launchpad.net/~$i/+archive -O- | grep “http://keyserver.ubuntu.com:11371/p…” | cut -d’”’ -f2 ` -O- | grep “pub ” | cut -d’”’ -f2 » keyss
done
for j in `cat keyss` ; do
wget -q —no-check-certificate “http://keyserver.ubuntu.com:11371$j” -O- | grep -B 999999 END |grep -A 999999 BEGIN > keyss2
sudo apt-key add keyss2
rm keyss2
done
rm keyss
rm fullsourceslist