apt-get za proxy na VirtualBox Ubuntu

Odpowiedzi:

8
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”.

Drogie
źródło
2
należy jeszcze zauważyć, że jeśli hasło zawiera „@”, zastąp je „% 40” (bez cudzysłowów), w przeciwnym razie nie zadziała
dotslash,
8

w /etc/apt/apt.conf dodaj linię:

Acquire::http::Proxy "http://MYDOMAIN\MYNAME:[email protected]: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 )

squillman
źródło
Linia musi kończyć się;
Verma
Moja nazwa pliku była inna, ale to działało dla mnie/etc/apt/apt.conf.d/01proxy
Jackie
4

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.

DevSolar
źródło
To jest prawdziwa odpowiedź, moim zdaniem, ponieważ będziesz cały czas używać sudo apt-get ...do wszystkiego. Więc bez tego wpisu /etc/sudoersnie będzie działać.
mliebelt,
Ta env_resetlinia /etc/sudoersjest bardzo ważna!
Ari
1
@Ari: Tak jest; dlatego pokazałem jak go wyłączyć specjalnie dla apt-geti specjalnie dla zmiennych niezbędnych, zamiast powiedzieć „po prostu usunąć wiersz”.
DevSolar
@DevSolar: tak, plus 1 za to!
Ari