L'exécution de Sudo apt-get update
sur mon instance AWS EC2 Ubuntu 18.04.01 LTS échoue car mon échec de la vérification du certificat: le certificat n'est PAS approuvé. L'émetteur du certificat est inconnu lors d'une tentative d'accès à la version deb.nodesource.com/node_10.x bionic
Voici le résultat après l'exécution de Sudo apt-get update
Hit:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease
Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Ign:3 https://deb.nodesource.com/node_10.x bionic InRelease
Get:4 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Err:5 https://deb.nodesource.com/node_10.x bionic Release
Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification. [IP: XX.XXX.XX.XX 443]
Get:6 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Reading package lists... Done
W: https://deb.nodesource.com/node_10.x/dists/bionic/InRelease: No system certificates available. Try installing ca-certificates.
W: https://deb.nodesource.com/node_10.x/dists/bionic/Release: No system certificates available. Try installing ca-certificates.
E: The repository 'https://deb.nodesource.com/node_10.x bionic Release' no longer has a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Il semble que mon installation actuelle de Node.js soit à l'origine du problème.
J'ai essayé d'installer et de mettre à jour ca-certificates
dans etc/ssl/certs
, mais cela n'a pas aidé. Je ne sais pas exactement comment procéder à partir de là pour résoudre ce problème.
Je ne cherche pas une solution rapide qui compromettrait la sécurité du serveur.
Merci d'avance!
Vous pouvez ajouter [trusted=yes]
dans le sources.list
. Par exemple:
deb [trusted=yes] http://ppa.launchpad.net/repo_name/pkg/ubuntu vivid main
deb-src [trusted=yes] http://ppa.launchpad.net/repo_name/pkg/ubuntu vivid main
Quelle est la cause du problème
J'essayais à l'origine d'installer Node.js sur Ubuntu 18.04.01 LTS via PPA et curl via:
curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh
Cependant, l'exécution de cette commande a généré un fichier nodesource.list
dans etc/apt/sources.list.d/
avec le contenu suivant:
deb https://deb.nodesource.com/node_10.x xenial main
deb-src https://deb.nodesource.com/node_10.x xenial main
Ainsi, lors de l'exécution de Sudo apt update
, ces sources ne pouvaient pas être approuvées via une liaison SSL, ce qui entraînait l'échec de la mise à jour.
Comment je l'ai corrigé
/etc/apt/nodesource.list.d
Suppression du fichier nodesource.list
du système avec
Sudo rm nodesource.list
Purgé le système de toute installation actuelle de Node.js avec
Sudo apt-get purge nodejs
Sudo apt-get autoremove
Installé la version Distro-Stable de Node.js pour Ubuntu avec:
Sudo apt update
Sudo apt install nodejs
Sudo apt install npm
Vous pouvez remplacer https://
par http://
à partir du script d'installation à l'aide de sed.
curl -sL https://deb.nodesource.com/setup_10.x | sed 's|https://|http://|' | Sudo -E bash -
Cela devrait être utilisé comme la dernière alternative bien sûr.