sudo 時的環境變數繼承問題

環境: ubuntu 16.04 (雖然 沒有在 centos/rhel 上驗證過但相信解法是一樣的)
這幾天在幫忙設置一台 配置雙 Telsa P40 GPU 要做為 AI 學習模型用的計算主機, 因為這的網路環境複雜到一層卡一層的, 什麼都要透過 Proxy 才能出去,設置好後交給 同事反應他透過 sudo 無法使用 pip 抓取套件,但沒有透過 sudo 就可以, 記得我有將環境變數設置妥當,一查才發現 sudo 時預設會將環境變數清理, 所以有幾種解法,一種解決方式是在 /etc/sudoer 上加入 “env_keep” 的保留並複製變數至該 sudo session 上.

同事反應,在透過 sudo pip 安裝時會報的錯誤訊息.2018-09-11_9-08-17-sudo-pip-abnormal

不透過 sudo,  pip 安裝時是正常的,可以直接到下載的進度條訊息.

2018-09-11_9-08-17-pip-get-normal

在 /etc/sudoers 上加入一行

Defaults env_keep += “ftp_proxy http_proxy https_proxy no_proxy”

2018-09-11_9-08-17-modify-sudoers

logoff & login /  sudo 搞定收工.

[PS] 補充, 這次上的機器真的是強大, CPU 48 Cores / Memory 256 G / SSD Disk 3TB + Telsa P40 x 2

2018-09-11_9-17-51-gpu-server

Author: jerryw1974

learning and focus on computer science, cloud infrastructure, virtualization and information security, technical, networking,platform system and cyber-security related topic.