今日、Ubuntuを再インストールする必要があり、Aptのプロキシを構成したにもかかわらず、新しいPPAを追加しようとすると、keyserver.ubuntu.com
と通信するステップが失敗します。
$ 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
私はApt経由でパッケージをインストールするのに問題はないので、私が知る限り、プロキシは適切にセットアップされています:
$ 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/
私も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>
...
過去に何か違うことをしたことを思い出せません。 http/s_proxy
環境変数と/etc/apt/apt.conf
を設定するだけで済みました。
ここに何が欠けていますか?
ああ! Sudo
のプロキシ設定が正しく設定されていることを確認するために、インタラクティブモードに入りました。
$ Sudo -i
$ env | grep proxy
https_proxy=http://my-proxy:8080
ルートにはhttps_proxy
のみが設定されていることが判明しました。 /etc/environment
でプロキシ環境変数を設定したので、Sudo
が/etc/environment
をソースする必要があるため、これは少し奇妙でした。
それから私は #1301557 につまずいた。 14.04.1はLTSバージョンであるため、2014-04-02に報告されたにもかかわらず、このバグが修正されていないことは少し残念です。
この問題を修正するには、http_proxy
とhttps_proxy
の両方をsudoers
のenv_keep
に追加する必要があります。
Defaults env_keep +="http_proxy"
Defaults env_keep +="https_proxy"
これにより問題が修正されました。