apt-get behind proxy sur VirtualBox Ubuntu

Réponses:

8
http_proxy="http://host:port" apt-get something

devrait marcher.

Si vous avez besoin d'une authentification, essayez

http_proxy="http://user:pass@host:port" apt-get something

Et si vous voulez que cela soit permanent, vous devez probablement définir les variables http_proxy (et ftp_proxy?) Dans votre ~/.bashrcafin que toutes vos applications compatibles proxy fonctionnent à l'avenir, par exemple 'wget'.

Cher
la source
2
une autre chose à noter est que si le mot de passe contient '@', remplacez-le par '% 40' (sans guillemets), sinon cela ne fonctionnera pas
dotslash
8

dans /etc/apt/apt.conf, ajoutez la ligne:

Acquire::http::Proxy "http://MYDOMAIN\MYNAME:[email protected]:MYPORT"

De: http://ubuntuforums.org/showthread.php?t=96802

(Remarque: complètement volé de cette réponse à ma question similaire sur SF. Cred à Grizzly )

squillman
la source
La ligne doit se terminer par un;
Verma
Mon nom de fichier était différent mais c'est ce qui a fonctionné pour moi/etc/apt/apt.conf.d/01proxy
Jackie
4

Un proxy est spécifié en définissant les variables d'environnement http_proxy, ftp_proxyet all_proxylocalement (par exemple dans ~/.bashrc) ou globalement (par exemple dans /etc/bash.bashrc). Ces paramètres sont respectés par pratiquement tous les packages de logiciels Internet (comme apt-get, wget, curl, etc.):

# HTTP proxy without authentification
export http_proxy="http://host:port"
# HTTP proxy with authentification
export http_proxy="http://user:pass@host:port"

Cependant, les définir de cette façon n'aide pas lors de l'exécution sudo apt-get ...- et cela est dû à cette ligne dans /etc/sudoers:

Defaults env_reset

Cette ligne réinitialise toutes les variables d'environnement lors de l'utilisation sudo, pour des raisons de sécurité. Afin de conserver les valeurs de http_proxyetc. dans une sudoinvocation, vous pouvez spécifier des exceptions à env_resetvia 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"

De cette façon, vous obtenez apt-getd'honorer le paramètre global pour http_proxy, au lieu de dupliquer le paramètre pour apt-getdans un fichier de configuration spécifique à apt arcane.

DevSolar
la source
C'est la vraie réponse à mon avis, car vous utiliserez tout le temps sudo apt-get ...pour tout. Donc, sans cette entrée /etc/sudoers, cela ne fonctionnera pas.
mliebelt
Cette env_resetligne est /etc/sudoersvraiment importante!
Ari
1
@Ari: Oui, c'est le cas; c'est pourquoi j'ai montré comment le désactiver spécifiquement pour apt-getet spécifiquement pour les variables nécessaires, au lieu de dire "juste supprimer la ligne".
DevSolar
@DevSolar: oui, et plus 1 pour ça!
Ari