在执行apt-get update时跳过InRelease步骤(直接进入Release)。

我刚刚在服务器上安装了一个全新的Xenial,并立即尝试在上面安装Docker。 Docker安装页面上说,你需要创建一个/etc/apt/sources.list.d/docker.list文件,并在其中只添加docker仓库源。
deb https://apt.dockerproject.org/repo ubuntu-xenial main

然后,只需按照正常的apt-get update & install过程进行操作。 这一步通常非常简单,但在这个全新的xenial版本中,update步骤总是超时。
Failed to fetch https://apt.dockerproject.org/repo/dists/ubuntu-xenial/InRelease  Connection timed out after 120000 milliseconds

这里的重点是Docker 告诉我他们没有一个 InRelease 仓库。 通常,apt-get update 应该尝试InRelease 步骤,找不到已签名的内联源,然后应该尝试 Release 源。
我的问题是,我的全新 Xenial 在那一步停下来,而没有尝试 Release 源。
我如何强制 Ubuntu 检查 https://apt.dockerproject.org/repo/dists/ubuntu-xenial/Release 源,而不是 https://apt.dockerproject.org/repo/dists/ubuntu-xenial/InRelease
如果需要,这里是 uname -a 的结果:
Linux sd-83589 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

我安装其他软件包(如zsh、screen等)没有遇到任何问题。
请随时向我询问任何额外的信息:我对此已经超出了我的知识范围,所以可能有些事情我忘记了...
1个回答

多亏了 Law29在ServerFault上的评论,我才知道有些更新是使用HTTPS进行的,而另一些则使用HTTP:/

我可以用curl检查HTTPS请求是否能够到达服务器。

事实证明,是我的防火墙没有配置为接受443端口的请求...添加正确的行解决了这个问题!谢谢Law29!


解决方案是什么? - Dombi Szabolcs
如果您已经在服务器上安装和配置了防火墙,就像我在回复中所说的那样,您需要修改其配置以接受443端口的请求。具体操作方法取决于您使用的防火墙,所以很抱歉我无法给出一个通用的答案 :/ - gfd
源列表中的任何链接都无法使用端口443,但是升级到17.04后一切正常运作。 - Dombi Szabolcs