¿Cómo usar "apt-get" a través de "Http-proxy" como este?

20

Estoy tratando de usar el apt-getcomando en una red que usa un proxy, como este:

Usamos 10.114.7.7 en el puerto 80 como proxy HTTP, y luego aparece una ventana de autenticación que solicita nombre de usuario y contraseña.

Nuestro nombre de usuario / dominio es así: [email protected]

Me pregunto, ¿cómo puedo usar http_proxy=http://User:Pass@Proxyserver:Porten esta situación? También probé ambos, 10.114.7.7 y urmia.ac.ir como servidor proxy, ¡pero ningún resultado!

Mcferry
fuente

Respuestas:

35

Para usar apt-get a través de un proxy, cree un archivo /etc/apt/apt.conf.d/llamado proxy o algo que reconocerá, o cree (si no existe) /etc/apt/apt.confe inserte la siguiente línea:

Acquire::http::Proxy "http://username:[email protected]:port/";

Simplemente reemplace el nombre de usuario y la contraseña con sus datos de inicio de sesión, y reemplace proxy.server: puerto con la dirección correcta (en su caso, 10.114.7.7:80), para que su línea termine de la siguiente manera:

Acquire::http::Proxy "http://username:[email protected]:80";

Si debe usar el @símbolo en su nombre de usuario, tendrá que escapar con una barra invertida ( [email protected])

Si bien el escape de caracteres mediante el uso de la reacción no funciona (por ejemplo, \@en exporty wget), se pueden escapar caracteres especiales con codificación de URL. Por ejemplo, se username:my@[email protected]:portconvierte username:my%[email protected]:port. Consulte esta lista de caracteres codificados en URL para obtener más información.

Jase
fuente
La solución propuesta para agregar una entrada de proxy dentro de / etc / apt funcionó para mí, pero observo que si su servidor proxy almacena en caché las credenciales, puede evitar incrustar sus credenciales en el archivo de configuración simplemente autenticándose a través de su servidor proxy en un proceso diferente ( por ejemplo, navegador web en Windows), antes de ejecutar los comandos apt en su shell bash. Al hacer esto, pude especificar la entrada de proxy dentro de / etc / apt como " servidor: puerto " en lugar de " nombre de usuario: contraseña @ servidor: puerto ".
Peter Sanza
6

Alternativamente, puede colocar lo siguiente en /etc/apt/apt.conf

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

8080 es el número de puerto y creo que es estándar.

No olvide las comillas o el punto y coma final.

Justin Peter
fuente
4

Esto debería solucionar tu problema:

export http_proxy=http://username:[email protected]:80/
Abasi Bo
fuente
EXPORT HTTP_proxy=http://username:[email protected]:80/ejecutar en Bash resulta en EXPORT: command not found.
David Foerster
Tanto exportar como http en minúsculas. Bash distingue entre mayúsculas y minúsculas. De lo contrario, debería funcionar. Al menos me ha funcionado durante dos años.
s3lph
66
funciona para curl, pero no para apt.
MGF