sudo apt-get中的-E是什么意思

What does -E mean in sudo 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

这成功了!任何人都可以解释一下这个标志的含义以及为什么当你在代理后面时应该使用它吗?

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

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

$env
$sudo env
$sudo -E env

-E 选项(或 --preserve-env) 向安全策略表明用户希望保留其现有环境变量。如果用户没有保护环境的权限,安全策略可能 return 出错。

来自该文档https://www.sudo.ws/man/sudo.man.html

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