web-dev-qa-db-fra.com

Erreur lors de l'ajout du référentiel ppa: keyserver.ubuntu.com: hôte introuvable

Je devais réinstaller Ubuntu aujourd'hui et, malgré la configuration du proxy pour Apt, lors de l'ajout d'un nouveau PPA, l'étape qui communique avec keyserver.ubuntu.com échoue:

$ Sudo add-apt-repository ppa:webupd8team/sublime-text-3
 Sublime Text 3 Installer: the package in this PPA downloads and installs the latest Sublime Text 3 beta builds.

For more info, see: http://www.webupd8.org/2013/07/sublime-text-3-ubuntu-ppa-now-available.html
 More info: https://launchpad.net/~webupd8team/+archive/ubuntu/sublime-text-3
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmp_wo9o6sl/secring.gpg' created
gpg: keyring `/tmp/tmp_wo9o6sl/pubring.gpg' created
gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
?: keyserver.ubuntu.com: Host not found
gpgkeys: HTTP fetch error 7: couldn't connect: Success
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

Je n'ai aucun problème à installer le paquet via Apt, donc, pour autant que je sache, le proxy est correctement configuré:

$ cat /etc/apt/apt.conf
Acquire::http::proxy "http://my-proxy:8080/";
Acquire::ftp::proxy "ftp://my-proxy:8080/";
Acquire::https::proxy "https://my-proxy:8080/";
Acquire::socks::proxy "socks://my-proxy:8080/";

$ env | grep proxy
http_proxy=http://my-proxy:8080/
ftp_proxy=ftp://my-proxy:8080/
https_proxy=http://my-proxy:8080/

Je peux également communiquer avec le keyserver.ubuntu.com:

$ curl keyserver.ubuntu.com

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>SKS OpenPGP Public Key Server</title>
  </head>
  ...

Je ne me souviens pas d'avoir fait autre chose dans le passé. Je n'avais qu'à configurer la variable d'environnement http/s_proxy ainsi que la configuration de /etc/apt/apt.conf.

Des idées ce qui me manque ici?

2
Behrang

Duh! Afin de vérifier que les paramètres de proxy sont configurés correctement pour Sudo, je suis entré en mode interactif:

$ Sudo -i
$ env | grep proxy
https_proxy=http://my-proxy:8080

Il s'est avéré que seul https_proxy était défini pour root. Comme j'avais défini les variables env du proxy dans /etc/environment, c'était un peu étrange, car Sudo devrait utiliser la source /etc/environment.

Puis je suis tombé sur # 1301557 . 14.04.1 étant une version LTS, il est un peu décevant que ce bogue n’ait pas été corrigé alors qu’il avait déjà été signalé en 2014-04-02.

Afin de résoudre ce problème, les deux http_proxy et https_proxy doivent être ajoutés à env_keep dans sudoers:

Defaults        env_keep +="http_proxy"
Defaults        env_keep +="https_proxy"

Cela a résolu le problème.

6
Behrang