‘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