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'.


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


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.