Pour rechercher les clés de référentiel expirées et leurs ID, utilisez apt-key
les méthodes suivantes:
LANG=C apt-key list | grep expired
Vous obtiendrez un résultat similaire à celui-ci:
pub 4096R/BE1DB1F1 2011-03-29 [expired: 2014-03-28]
L'ID clé est le bit après le /
ie BE1DB1F1
dans ce cas.
Pour mettre à jour la clé, exécutez
sudo apt-key adv --recv-keys --keyserver keys.gnupg.net BE1DB1F1
Remarque: La mise à jour de la clé ne fonctionnera évidemment pas si le responsable du paquet n'a pas (encore) téléchargé une nouvelle clé. Dans ce cas, vous ne pouvez rien faire d'autre que de contacter le responsable, de déposer un bogue contre votre distribution, etc.
Une doublure pour mettre à jour toutes les clés expirées: (grâce à @ryanpcmcquen)
for K in $(apt-key list | grep expired | cut -d'/' -f2 | cut -d' ' -f1); do sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $K; done
for K in $(apt-key list | grep expired | cut -d'/' -f2 | cut -d' ' -f1); do sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $K; done
Vous devez obtenir la clé la plus récente et l'ajouter. A ce stade, apt la détectera et ne se plaindra pas. Cela ne devrait normalement pas arriver, mais cela arrive parfois. Ce dont vous avez vraiment besoin, c'est de connaître le code hexadécimal de la clé à ajouter. une fois que vous avez cela, c'est à peu près en descente.
Quelques exemples:
ajout de clés pour les portages : les premières lignes correspondent à ce que vous recherchez, bien que vous ayez besoin de la clé souhaitée.
ajout de clés ala Ubuntu
la source
J'ai eu une erreur similaire, mais le problème était dans l'heure du système. L'année était 1961 :)
J'ai corrigé la date / heure système et après cela pourrait mettre à jour sans un pro
la source
Sur le wiki Debian à propos de SecureAPT , j’ai constaté que je devais supprimer la ligne contenant
non-us
/etc/apt/sources.list.En fait, je l'ai fait et cela a fonctionné.
la source
Cela peut aussi arriver quand la date n'est pas correcte.
Vérifiez la date avec
Si la configuration est incorrecte, procédez comme suit pour définir votre fuseau horaire et la synchronisation automatique de la date.
la source
Cette erreur est très peu probable, mais parfois possible, si vous avez ajouté la même clé deux fois avec des dates d'expiration différentes. Vous sauriez probablement l'avoir fait pour que cette réponse soit pertinente pour vous.
Cela peut arriver, comme cela m’a été fait pour moi, lorsque vous hébergez votre propre référentiel avec vos propres clés. Si, lorsque la clé est sur le point d'expirer, prolongez simplement sa durée de vie plutôt que de la changer, et si vous avez installé la clé d'origine à l'aide de la préconfiguration, mais avec la clé mise à jour à l'aide d'un paquet deb, l'ancienne clé sera
/etc/apt/trusted.gpg
alors insérée , tandis que la nouvelle se termine sous un fichier séparé sous/etc/apt/trusted.gpg.d/
. L'ancienne clé occultera la nouvelle, qui sera complètement ignorée parapt-key
. Supprimez l'ancienne clé en cours d'exécutiongpg --keyring /etc/trusted.gpg --delete-keys <keyid>
et votre nouvelle clé sera détectée.Il s’agit là d’une configuration de coin non standard, mais j’espère que ma réponse permettra d’éviter toute confusion au cas où une autre personne se heurterait à ce problème pour la même raison que moi.
la source
Un oneliner plus simple:
for key in $(sudo apt-key list | awk -v FS='[ /:]+' '/expire[sd]/ {print $3}'); do sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $key; done
Je pense juste que si vous utilisez des choses comme utiliser
cut
plus d'une fois, il existe un meilleur outil. (En outre, j'ai créé ceci basé sur une question différente .)la source
Tu n'as rien à faire. C'est juste un avertissement, ça se voit depuis le
W:
préfixe.la source