Réponses:
Dans certaines versions, sudo est configuré de manière à ce que toutes les variables d'environnement soient toutes effacées lors de l'exécution de la commande. Pour conserver la valeur de votre http_proxy et résoudre ce problème, vous devez modifier / etc / sudoers, exécutez:
visudo
Ensuite, trouvez une ligne qui dit:
Defaults env_reset
et ajouter après:
Defaults env_keep = "http_proxy ftp_proxy"
Les choses vont commencer à fonctionner comme prévu.
Merci à kdogksu des forums Ubuntu d’avoir trouvé la solution à ce problème .
Afin de corriger non seulement apt-get, mais également les utils graphiques X11 tels que, par exemple, synaptic, mintintall, ...), la ligne suivante /etc/sudoers
devrait faire l'affaire:
Defaults env_keep = "http_proxy https_proxy ftp_proxy DISPLAY XAUTHORITY"
Utilisez ceci.
ubuntu@ubuntu:~$ cat /etc/apt/apt.conf
Acquire::http::Proxy "http://Username:Password@proxy.foo.bar.edu.au:8080";
C'est ce que j'utilise. Fonctionne parfaitement.
Apt permet également de placer des paramètres individuels dans des fichiers sous /etc/apt/apt.conf.d/
. Cela a donc exactement le même effet que précédemment, mais peut être plus facile à gérer si vous avez d'autres lignes dans le .conf
fichier:
ubuntu@ubuntu:~$ cat /etc/apt/apt.conf.d/05proxy
Acquire::http::Proxy "http://Username:Password@proxy.foo.bar.edu.au:8080";
apt.conf
.
/etc/apt/apt.conf
ou utiliser placer un fichier de configuration dans /etc/apt/apt.conf.d
.... soit cela fonctionne! :-)
E: Syntax error /etc/apt/apt.conf:2: Extra junk at end of file
La chose qui a fonctionné pour moi était:
sudo http_proxy=http://yourserver apt-get update
Ce qui est un peu étrange, simplement parce que simplement exporter http_proxy puis exécuter sudo echo $ http_proxy imprimait docilement la valeur exportée
$http_proxy
se développe avant même que sudo ne soit exécuté.
export http_proxy=http://proxyusername:proxypassword@proxyaddress:proxyport
sudo apt-get update
L'exportation ne devrait pas sudo
être nécessaire et si votre proxy est anonyme, abandonnez simplement la proxyusername:proxypassword@
pièce.
wget
?
S'il s'agit d'une configuration temporaire , vous pouvez essayer ceci: sudo bash -c 'http_proxy = "http: // <hôte_proxy>: <proxy_port> /" apt-get update "
Vous en avez besoin, car la variable d'environnement doit être définie pour le compte "racine". Faire et exporter avant ne devrait pas marcher.
Pour une configuration permanente , vous devrez modifier un fichier système. Ceci est déjà décrit dans la réponse suivante à propos de Comment vérifier que le proxy réseau est réellement appliqué? .
Ubuntu est incroyablement hostile à l'authentification des mandataires. J'utilise un ordinateur portable Ubuntu au travail et le nombre de casse est incroyable.
Synaptic, Apt, Firefox, Chromium, etc. utilisent différentes méthodes pour spécifier un proxy et il n’existe nulle part où spécifier des informations d’authentification en toute sécurité.
Quelques bugs sur le sujet: https://bugs.edge.launchpad.net/ubuntu/+source/msttcorefonts/+bug/220070
https://bugs.edge.launchpad.net/ubuntu/+source/apt-cacher/+bug/198138
https://bugs.edge.launchpad.net/ubuntu/+source/apt/+bug/433827
https://bugs.edge.launchpad.net/ubuntu/+source/b43-fwcutter/+bug/683630
La suggestion d'Oli d'utiliser un export est le seul moyen vaguement sécurisé de le faire. Il est également parfois possible de "fudge" la prise en charge du proxy si le serveur proxy utilise une authentification secondaire pour minimiser la charge sur les serveurs d'authentification principaux (par exemple, Active Directory). C'est là que la première connexion proxy est authentifiée par le proxy contre AD, puis pendant une période de temps définie (généralement 5 minutes), toutes les autres connexions sont "approuvées" pour devenir cet utilisateur. Par conséquent, vous pouvez ouvrir Firefox, naviguer sur Internet (n'importe où), puis essayer votre utilitaire (wget, synaptic, ou autre) en spécifiant un proxy, mais en laissant le nom d'utilisateur vide.
Ubuntu est généralement hostile à tout environnement d'entreprise simplement parce qu'il permet de lire les mots de passe aussi facilement. Seahorse est un coupable majeur, mais Network Manager est également choquant - connectez-vous à n’importe quel réseau authentifié PEAP et vous venez de stocker votre mot de passe dans l’applet pour que tout le monde sache qui peut emprunter votre ordinateur portable. Apparemment, le partage d'ordinateurs portables est considéré comme un sacrilège sur Linux, car les développeurs de Seahorse ont rejeté les allégations d'insécurité. Après cela, je n’ai pas eu le courage de contacter les développeurs du gestionnaire de réseau.
Avez-vous essayé l'édition /etc/apt/apt.conf
? J'utilise ceci pour utiliser apt derrière notre proxy d'entreprise.
Acquire::http::proxy "http://user:password@host:port/";
Je crois qu'apt utilise cette valeur sauf si $ http_proxy est défini dans votre environnement shell (c'est-à-dire que $ http_proxy est prioritaire).
apt.conf
devrait toujours être utilisé. Vous pouvez voir quels paramètres de configuration apt pense avoir été définis en utilisant apt-config dump
.
Si vous voulez exécuter “sudo apt-get update” via un proxy en ligne de commande, utilisez la commande ci-dessous,
sudo apt-get -o Acquire::http::proxy="http://user:password@host:port/" update;