‘sudo apt-get’和’sudo -E apt-get’之间的区别

我在VMWare Player(7.1.3 build-3206955)上使用Ubuntu 15.10 guest,Windows 10作为主机操作系统。 我可以使用Firefox浏览访客内部的网页,但是我无法在终端上使用apt 。 每当我调用命令sudo apt-get update ,它都会停留在0% [connecting to in.archive.ubuntu.com] ,最终失败。 此外,使用sudo apt-get install 总是导致甚至找不到包。 另一方面,在sudo上使用带-E标志的相同命令可以使它们工作。 有人能解释一下这里发生了什么吗?

编辑 :我忘了添加我正在使用多个互联网连接; 一个有代理,一个没有。 常规sudo适用于没有代理但没有代理的那个。

这里神奇的词是proxy 。 在您的环境中,您将拥有允许您访问互联网的代理信息集。

环境变量http_proxy包含您的代理设置。
执行echo $http_proxy来查看它们(可能是$HTTP_PROXY )。

如果运行sudo ,该命令将以root身份在其自己的环境中执行。 如果将-E选项添加到sudo ,则该命令将以root身份执行,但会复制大部分环境。

您可以通过执行以下三个命令来检查:

  • env
  • sudo env
  • sudo -E env