Odpowiedzi:
http_proxy="http://host:port" apt-get something
powinno działać.
Jeśli potrzebujesz uwierzytelnienia, spróbuj
http_proxy="http://user:pass@host:port" apt-get something
A jeśli chcesz, aby było to stałe, prawdopodobnie powinieneś ustawić zmienne http_proxy (i ftp_proxy?) W swoim ~/.bashrc, aby wszystkie aplikacje obsługujące proxy działały w przyszłości, np. „Wget”.
w /etc/apt/apt.conf dodaj linię:
Acquire::http::Proxy "http://MYDOMAIN\MYNAME:MYPASS@MY.PROXY.COM:MYPORT"
Od: http://ubuntuforums.org/showthread.php?t=96802
(Uwaga: całkowicie skradziony z tej odpowiedzi na moje podobne pytanie dotyczące SF. Podziękowania dla Grizzly )
;
/etc/apt/apt.conf.d/01proxy
Pełnomocnik jest określony przez ustawienie http_proxy, ftp_proxya all_proxyśrodowisko zmienne lokalnie (np ~/.bashrc) lub globalnie (np /etc/bash.bashrc). Te ustawienia są honorowane przez praktycznie wszystkie pakiety oprogramowania sieciowego (takie jak apt-get, wget, curl itp.):
# HTTP proxy without authentification
export http_proxy="http://host:port"
# HTTP proxy with authentification
export http_proxy="http://user:pass@host:port"
Jednak ustawienie ich w ten sposób nie pomaga podczas działania sudo apt-get ...- i wynika to z tego wiersza w /etc/sudoers:
Defaults env_reset
Ten wiersz resetuje wszystkie zmienne środowiskowe podczas używania sudo, ze względów bezpieczeństwa. W celu utrzymania wartości http_proxyitd. W sudoinwokacji, można określić wyjątki env_resetpoprzez env_keep:
# Exception specific to the command apt-get
Defaults!/usr/bin/apt-get env_keep="http_proxy https_proxy ftp_proxy"
# Exception specific to the user joe
Defaults:joe env_keep="http_proxy https_proxy ftp_proxy"
W ten sposób będziesz apt-gethonorować globalne ustawienie dla http_proxy, zamiast powielać ustawienie dla apt-getjakiegoś tajemniczego pliku konfiguracyjnego specyficznego dla apt.
sudo apt-get ...do wszystkiego. Więc bez tego wpisu /etc/sudoersnie będzie działać.
env_resetlinia /etc/sudoersjest bardzo ważna!
apt-geti specjalnie dla zmiennych niezbędnych, zamiast powiedzieć „po prostu usunąć wiersz”.