Comment utiliser "apt-get" via "Http-proxy" comme ceci?


20

J'essaie d'utiliser la apt-getcommande sur un réseau qui utilise un proxy, comme ceci:

Nous utilisons 10.114.7.7 sur le port 80 en tant que proxy Http, puis une fenêtre d'authentification apparaît, demandant le nom d'utilisateur et le mot de passe.

Notre nom d'utilisateur / domaine est comme ceci: username@urmia.ac.ir

Je me demande, comment je peux utiliser http_proxy=http://User:Pass@Proxyserver:Portdans cette situation!? J'ai également essayé les deux, 10.114.7.7 et urmia.ac.ir comme serveur proxy, mais aucun résultat!

Réponses:


35

Pour utiliser apt-get via un proxy, créez un fichier /etc/apt/apt.conf.d/appelé proxy ou quelque chose que vous reconnaîtrez, ou créez (s'il n'existe pas) /etc/apt/apt.confet insérez la ligne suivante:

Acquire::http::Proxy "http://username:password@proxy.server:port/";

Remplacez simplement le nom d'utilisateur et le mot de passe par vos informations de connexion et remplacez proxy.server: port par la bonne adresse (dans votre cas, 10.114.7.7:80), afin que votre ligne se termine comme suit:

Acquire::http::Proxy "http://username:password@10.114.7.7:80";

Si vous devez utiliser le @symbole dans votre nom d'utilisateur, vous devrez l'échapper avec une barre oblique inverse ( username@urmia.ac.ir)

Bien que l'échappement de caractères à l'aide de la barre oblique inverse ne fonctionne pas (par exemple \@dans exportet wget), les caractères spéciaux peuvent être échappés avec le codage URL. Par exemple, username:my@pass@server.com:portdevient username:my%40pass@server.com:port. Consultez cette liste de caractères codés URL pour plus d'informations.


La solution proposée pour ajouter une entrée proxy dans / etc / apt a fonctionné pour moi, mais je note que si votre serveur proxy met en cache les informations d'identification, vous pouvez éviter d'incorporer vos informations d'identification dans le fichier de configuration en vous authentifiant simplement via votre serveur proxy dans un processus différent ( par exemple, navigateur Web sous Windows), avant d'exécuter les commandes apt dans votre shell bash. Ce faisant, j'ai pu spécifier l'entrée proxy dans / etc / apt comme " serveur: port " au lieu de " nom d'utilisateur: mot de passe @ serveur: port ".
Peter Sanza

6

Vous pouvez également placer les éléments suivants dans /etc/apt/apt.conf

Acquire::http::Proxy "http://proxy.server.port:8080";

8080 est le numéro de port et je pense qu'il est standard.

N'oubliez pas les guillemets ou le point-virgule de fin.


4

Cela devrait résoudre votre problème:

export http_proxy=http://username:password@10.114.7.7:80/

EXPORT HTTP_proxy=http://username:password@10.114.7.7:80/exécuter dans Bash entraîne EXPORT: command not found.
David Foerster

Exporter et http en minuscules. Bash est sensible à la casse. Sinon, cela devrait fonctionner. Au moins, cela fonctionne pour moi depuis deux ans.
s3lph

6
fonctionne pour curl, mais pas pour apt.
FGM
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.