40 votes

Apt update lance une erreur de signature dans le conteneur Ubuntu 20.04 sur bras

Je cherche à construire des images docker pour Raspberry Pi mais je rencontre toujours la même erreur, similaire à celle-ci, celle-ci et celle-ci.

Lorsque j'exécute la commande apt update en tant que root dans un arm32v7/ubuntu:20.04 (ou simplement ubuntu:latest), j'obtiens la sortie suivante :

root@273d63597ce6:/# apt update
Get:1 http://ports.ubuntu.com/ubuntu-ports focal InRelease [265 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease [111 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease [98.3 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease [107 kB]
Err:1 http://ports.ubuntu.com/ubuntu-ports focal InRelease
  Au moins une signature invalide a été rencontrée.
Err:2 http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease
  Au moins une signature invalide a été rencontrée.
Err:3 http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease
  Au moins une signature invalide a été rencontrée.
Err:4 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease
  Au moins une signature invalide a été rencontrée.
Reading package lists... Done
W: Erreur de GPG : http://ports.ubuntu.com/ubuntu-ports focal InRelease : Au moins une signature invalide a été rencontrée.
E: Le dépôt 'http://ports.ubuntu.com/ubuntu-ports focal InRelease' n'est pas signé.
N: La mise à jour à partir d'un tel dépôt ne peut pas être réalisée de manière sécurisée et est donc désactivée par défaut.
N: Voir la page de manuel apt-secure(8) pour la création du dépôt et les détails de configuration de l'utilisateur.
( ... )

J'ai essayé les solutions suggérées pour nettoyer apt, nettoyer docker et supprimer/recréer /var/lib/apt/lists sans succès. La carte SD est de 32 Go et le système d'exploitation est une installation fraîche. df montre qu'il reste 26 Go libres.

Quelques informations supplémentaires :

  • Ceci se produit sur une installation fraîche de 2020-05-27-raspios-buster-lite-armhf sur un Raspberry Pi 4 B
  • La même erreur se produit sur un autre Raspberry Pi 4 B exécutant HypriotOS
  • La même commande dans la même image fonctionne correctement sur un Raspberry Pi 3 B où Arch Linux est installé
  • L'erreur ne se produit pas si j'utilise une version plus ancienne d'ubuntu (ubuntu:18.04, 16.04, 14.04)

49voto

TSpark Points 1149

La cause principale du problème se trouve dans libseccomp. La version plus récente corrige le problème, mais n'est pas encore disponible dans les dépôts stables de Debian. Il y a deux façons de résoudre ce problème :

Méthode 1

Démarrer le conteneur avec --privileged. Cela contourne les mesures de sécurité de Docker, donc ce n'est pas recommandé. Ou avec --security-opt seccomp:unconfined pour un peu plus de sécurité. docker run -it --security-opt seccomp:unconfined ubuntu:latest

Méthode 2

Mettre à jour manuellement libseccomp sur le système hôte. Téléchargez la version des dépôts instables (j'ai testé avec la version 2.4.3-1) ici.

Installez la nouvelle version :

sudo dpkg -i libseccomp2_2.4.3-1+b1_armhf.deb

Note : Les méthodes ci-dessus ont résolu les problèmes pour les systèmes basés sur Raspbian. L'erreur se produisait également sur un système Ubuntu 20.04 aarch64, pour lequel la réponse de @NeonLines a pu aider.

2voto

kenorb Points 8840

Au moins une signature non valide a été rencontrée

L'erreur suggère qu'un des fichiers dans /var/lib/apt/lists contient au moins une signature invalide/corrompue (qui pourrait être le résultat d'une mauvaise utilisation de apt-key ou autre chose).

Essayez d'exécuter Apt mise à jour avec les messages de débogage:

apt-get -oDebug::pkgAcquire::Worker=1 update

qui devrait vous indiquer le fichier corrompu, par exemple.

0% [Working] <- gpgv:400%20URI%20Failure%0aMessage:%20Au%20moins%20une%20signature%20non%20valide%20a%20été%20rencontrée.%0aURI:%20gpgv:/var/lib/apt/lists/partial/CorruptedFile_InRelease

Modifiez le fichier, trouvez et supprimez les parties corrompues, ou supprimez le fichier entier pour qu'il puisse être recréé.

1voto

Simon Points 185

Les réponses de TSpark's, HyperCreeks et ibster1st123s ont fonctionné pour moi sur un Rasbian 10 et la dernière version de docker provenant des dépôts officiels. Comme l'a souligné NeonLines, vous devez installer une version récente, car elles ne souffrent pas de ce problème.

La plupart des utilisateurs configurant les dépôts de Docker et installant à partir d'eux, pour des tâches d'installation et de mise à jour simplifiées. C'est l'approche recommandée, sauf pour Raspbian. Pour Raspbian, l'installation à l'aide du dépôt n'est pas encore prise en charge. Vous devez donc utiliser le script de commodité. - docs.docker.com

tl;dr

Obtenez une version récente de docker en utilisant le script de commodité. Assurez-vous toutefois de consulter le lien ci-dessus, car il y a quelques réserves.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

-2voto

NeonLines Points 81

La mise à niveau vers la version 19.03.12 de docker a résolu ce problème pour moi.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X