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: [email protected]

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!

Mcferry
la source

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:[email protected]: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:[email protected]:80";

Si vous devez utiliser le @symbole dans votre nom d'utilisateur, vous devrez l'échapper avec une barre oblique inverse ( [email protected])

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@[email protected]:portdevient username:my%[email protected]:port. Consultez cette liste de caractères codés URL pour plus d'informations.

Jase
la source
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.

Justin Peter
la source
4

Cela devrait résoudre votre problème:

export http_proxy=http://username:[email protected]:80/
Abasi Bo
la source
EXPORT HTTP_proxy=http://username:[email protected]: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