-E在sudo apt-get中意味着什么

时间:2017-08-22 12:57:31

标签: linux proxy apt-get

我有一个位于代理服务器后面的linux-mint虚拟机。我一直在尝试使用以下命令安装vsftpd:

sudo apt-get install vsftpd

这给了我错误

Cannot initiate the connection to archive.ubuntu.com:80

所以我记得有人曾告诉我使用-E标志

sudo -E apt-get install vsftpd

这很有效!任何人都可以解释一下这个标志的含义以及当你在代理人后面时应该使用它的原因吗?

2 个答案:

答案 0 :(得分:1)

-E保留环境变量。 您的代理连接设置存储在当前用户的env中。 如果你通过sudo升级到root,那些连接设置就不再出现在apt-get中了。使用该选项,env变量对于用户和root都保持相同,因此apt-get可以看到您的代理设置。

您可以使用以下命令比较定义的内容:

$env
$sudo env
$sudo -E env

答案 1 :(得分:1)

-E选项(或--preserve-env) 向安全策略指示用户希望保留其现有环境变量。如果用户没有保留环境的权限,安全策略可能会返回错误。

从此文档https://www.sudo.ws/man/sudo.man.html

vsftpd可能会在安装时设置环境变量