102 votes

Configurer le proxy pour APT ?

J'ai besoin de configurer le proxy. Il n'y avait pas apt.conf dans etc/apt/ Je l'ai donc créé en utilisant nano .

Mais je ne comprends pas ce que je dois y écrire. J'ai écrit http_proxy = http://lgn:pwd@192.168.1.254:8080/ et ensuite redémarré networking . Mais quand j'essaie de apt-get update - ça ne marche pas.

En fait, je ne comprends pas quels port et ip je dois écrire dans apt.conf (il y avait un exemple avec 192.168.1.254 ip et 8080 J'ai donc décidé de les utiliser).

134voto

Ereck Johan Points 131

Pour utiliser un proxy, vous avez besoin d'un serveur proxy. L'IP et le port doivent provenir de ce serveur proxy. Login et pwd doivent être votre utilisateur et votre mot de passe sur le serveur proxy (si le proxy nécessite une connexion).

De site help.ubuntu.com :

Méthode du fichier de configuration de l'APT

Cette méthode utilise le fichier apt.conf qui se trouve dans votre répertoire /etc/apt/. Cette méthode est utile si vous voulez seulement qu'apt-get (et pas d'autres applications) utilise un http-proxy en permanence.

Sur certaines installations, il n'y aura pas de fichier apt-conf configuré. Editez le fichier apt-conf (ou créez-en un nouveau si vous n'en avez pas encore) en utilisant l'éditeur de votre choix.

sudo nano /etc/apt/apt.conf

Ajoutez cette ligne à votre fichier /etc/apt/apt.conf (remplacez vos coordonnées par votre adresse de proxy et votre proxyport).

Acquire::http::Proxy "http://yourproxyaddress:proxyport";

Sauvegardez le fichier apt.conf.

Si votre proxy a besoin d'un login/mot de passe, remplacez-le :

"http://yourproxyaddress:proxyport";

avec :

"http://username:password@yourproxyaddress:proxyport";

en utilisant le nom d'utilisateur et le mot de passe du serveur proxy.

45voto

matrixisreal Points 815

Il s'agit d'une réponse plus générale avec la configuration d'apt.

Comme il y a beaucoup d'endroits pour configurer les paramètres du proxy, cela peut être déroutant au début. Permettez-moi de résumer certaines choses et de suggérer quelques bonnes pratiques.

Pour les programmes de la console

Ex : wget, git et presque chaque application console qui se connecte à l'internet.

Si vous voulez configurer le proxy à chaque fois que vous exécutez vos commandes pour une raison quelconque, alors définir les variables d'environnement en utilisant les commandes suivantes.

export http_proxy=http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/
export ftp_proxy=http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/

Sinon, si vous voulez utiliser les mêmes paramètres à chaque fois pour tous les utilisateurs, utilisez-les.

Configurer dans bashrc

$ nano /etc/bash.bashrc
export http_proxy=http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/
export ftp_proxy=http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/

Configurer dans /etc/environment

$ nano /etc/environment
https_proxy="http://myproxy.server.com:8080/" 
ftp_proxy="http://myproxy.server.com:8080/" ...

Configurer à l'aide de l'interface graphique

Ouvrez les paramètres du réseau et définissez le proxy du réseau de votre système.

Réseau -> Proxy réseau -> Configurer -> Appliquer à l'ensemble du système.

Mais cela peut ne pas être utile si vous avez une authentification pour le proxy.

Pour apt.

Vous devez faire un peu de travail supplémentaire pour apt, car accessoirement apt ne tient pas compte des variables d'environnement,

$ nano /etc/apt/apt.conf
Acquire::http::Proxy "http://USERNAME:PASSWORD@SERVER:PORT";
Acquire::https::Proxy "https://USERNAME:PASSWORD@SERVER:PORT";

Pour tout ce qui sort de ce cadre, il doit exister une option permettant de configurer les paramètres du proxy dans l'application elle-même. Si ce n'est pas le cas, je suis désolé ;)

23voto

Clyde Points 3881

Quelque chose comme ce qui suit devrait fonctionner :

Acquire::http::proxy "http://lgn:pwd@192.168.1.254:8080/";
Acquire::https::proxy "http://lgn:pwd@192.168.1.254:8080/";

10voto

Frank Qiu Points 101

Ce que vous pouvez faire, c'est aussi essayer d'exécuter la commande avec sudo -E qui prendra les paramètres de l'environnement. Cela semble fonctionner pour moi lorsque j'essaie de mettre à jour, d'ajouter un dépôt d'application et d'installer. Exemple :

sudo -E add-apt-repository ppa:xxxxx

Selon @David Foerster, cela ne fonctionne que pour une interaction manuelle en utilisant Shell, mais cela ne fonctionnera pas sur les tâches automatisées et les services invoquant Apt sans interaction de l'utilisateur.

5voto

j-hap Points 51

Si vous devez utiliser apt derrière un proxy, il est probable que tout le reste nécessite également la configuration du proxy. J'aime gérer mes paramètres de proxy à un seul endroit, qui serait la variable d'environnement.

Pour cela, je crée un /etc/profiles.d/99-proxy.sh qui contient les paramètres de proxy nécessaires (comme larent l'a décrit) :

export http_proxy=http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/
export https_proxy=$http_proxy
export ftps_proxy=$http_proxy

de cette façon, tous les utilisateurs de cette machine ont accès au proxy. (n'oubliez pas chmod a+x )

Lorsque vous utilisez apt ou apt-get en tant qu'utilisateur, cet utilisateur est capable d'utiliser sudo. Comme Frank Qiu l'a décrit, sudo ne passe pas les variables d'environnement. Pour cela, vous pouvez ajouter

Defaults env_keep += "http_proxy https_proxy ftp_proxy"

à (par exemple)

/etc/sudoers.d/00-environment 

ou directement dans le

/etc/sudoers

fichier. Ainsi, vous n'aurez à gérer les paramètres du proxy qu'à un seul endroit.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X