2017-08-22 26 views
0

我有一個坐在代理之後的linux-mint虛擬機。我一直在試圖安裝vsftpd的使用以下命令:-E在sudo中的含義apt-get

sudo apt-get install vsftpd 

這給我的錯誤

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

於是我記得有人曾經告訴我使用-E標誌

sudo -E apt-get install vsftpd 

這工作!任何人都可以請解釋一下這個標誌的含義,以及爲什麼它應該用在代理之後?

回答

1

-E保留環境變量。 您的代理連接設置存儲在當前用戶的env中。 如果您通過sudo提升爲root,那麼這些連接設置不會再出現在apt-get中。使用該選項,env變量對用戶和root都保持不變,因此apt-get可以看到您的代理設置。

您可以比較什麼被定義使用以下命令:

$env 
$sudo env 
$sudo -E env 
+0

感謝,這是一個輝煌的答案 – Tone

1

-E選項(或--preserve-ENV) 表示該用戶希望保留他們現有的環境變量中的安全策略。如果用戶沒有權限保留環境,則安全策略可能會返回錯誤。

從這個文檔https://www.sudo.ws/man/sudo.man.html

vsftpd的可以設置環境變量上安裝