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_proxy
a 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_proxy
itd. W sudo
inwokacji, można określić wyjątki env_reset
poprzez 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-get
honorować globalne ustawienie dla http_proxy, zamiast powielać ustawienie dla apt-get
jakiegoś tajemniczego pliku konfiguracyjnego specyficznego dla apt.
sudo apt-get ...
do wszystkiego. Więc bez tego wpisu /etc/sudoers
nie będzie działać.
env_reset
linia /etc/sudoers
jest bardzo ważna!
apt-get
i specjalnie dla zmiennych niezbędnych, zamiast powiedzieć „po prostu usunąć wiersz”.