¿Por qué apt-get siempre usa proxy, aunque no hay un proxy configurado?

26

Estoy tratando de deshabilitar el proxy, apt-getpero parece que apt-getobtiene su configuración de proxy de otro lugar que no sea /etc/apt/apt.conf, porque aunque el apt.confarchivo está vacío (y el proxy del sistema configurado en None) todavía está intentando conectarse al proxy.

Alguien tiene una idea?

Ahatius
fuente

Respuestas:

32

Estoy usando un script para reemplazar diferentes archivos de configuración para cambiar fácilmente entre entornos proxy y no proxy. El problema fue que reemplacé el archivo proxy apt.conf con un archivo apt.conf vacío, que apt luego ignoró.

Después de escribir Acquire::http::Proxy "false";en el apt.conf funcionó sin proxy :)

Ahatius
fuente
Es trabajo! Deshabilitó el Proxy con apt.conf.
Chu-Siang Lai el
1
Mi caso funcionó simplemente eliminando el archivo 95proxy.conf de /etc/apt/apt.conf.d/ pero mejor explícito: D gracias.
m3nda
¿Dónde está este archivo apt.conf?
Lost Crotchet
@LostCrotchet/etc/apt/apt.conf
Ahatius
12

A veces, hay variables de entorno proxy que todavía están establecidas.

Para averiguarlo, ejecute el siguiente comando:

env | grep proxy

Si ve algún resultado, por ejemplo:

http_proxy=http://127.0.0.1:1234/

Entonces necesitarás desarmar esta variable.

Para hacerlo, ejecute el siguiente comando:

unset http_proxy

Siga el mismo enfoque para todas las demás entradas, como https_proxy.

Alaa Ali
fuente
1
Gracias por la sugerencia, desafortunadamente tanto el proxy http como el https están vacíos: \
Ahatius
Hmm Interesante. Aunque lo dudo, pero tal vez la variable es HTTP_PROXY(todo en mayúsculas), así que intente env | grep -i proxy (-isignificar "sin distinción entre mayúsculas y minúsculas"), y vea si hay alguna salida; vale la pena intentarlo = /. Además, ¿puedes hacer grep -iR proxy /etc/apt/? Esto busca la palabra proxy en todos los archivos debajo /etc/apt/, porque el proxy a veces se establece en un archivo debajo /etc/apt/apt.conf.d/.
Alaa Ali
Tampoco tiene que ver con que el proxy sea todo en mayúsculas. La ejecución del comando grep tampoco reveló ningún otro archivo que contenga una configuración de proxy.
Ahatius
Ok, creo que lo tengo. Estoy usando un script para cambiar todos los archivos de configuración para proxies. El problema fue que reemplacé el apt.conf con un archivo vacío. Apt, obviamente, siempre cargaba la última configuración del proxy, porque el valor del proxy no estaba establecido en falso. Gracias de todos modos por sus esfuerzos!
Ahatius
Maype, el entorno proxy se ha establecido /etc/environment, por lo que podemos buscar aquí.
Chu-Siang Lai
4

No hay un solo lugar donde apt-get lea los archivos de configuración. Debería ejecutar grep -i proxy /etc/apt/apt.conf.d/*y le dará el archivo exacto que tiene la configuración de proxy (este es solo un ejemplo que se ejecuta en su updatelugar proxy:

grep -i update /etc/apt/apt.conf.d/*
/etc/apt/apt.conf.d/20apt-show-versions:// When Apt's cache is updated (i.e. apt-cache update)
/etc/apt/apt.conf.d/20packagekit:// Whenever dpkg is called we might have different updates
/etc/apt/apt.conf.d/20packagekit:// i.e. if an user removes a package that had an update
/etc/apt/apt.conf.d/20packagekit:"/usr/bin/test -e /usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedesktop.PackageKit --object-path /org/freedesktop/PackageKit --timeout 1 --method org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo > /dev/null";
/etc/apt/apt.conf.d/20packagekit:// When Apt's cache is updated (i.e. apt-cache update)
/etc/apt/apt.conf.d/20packagekit:"/usr/bin/test -e /usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedesktop.PackageKit --object-path /org/freedesktop/PackageKit --timeout 1 --method org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo > /dev/null";
Braiam
fuente
Esto no es suficiente, el archivo /etc/apt/apt.conftambién puede contener información de Proxy. También se puede escribir con mayúscula.
kap
3

Si no desea apt-getutilizar un proxy, utilícelo apt-getcomo:

sudo apt-get -o Acquire::http::proxy=false <update/install> 
Adlinge prasante
fuente
2

Es posible que la variable de entorno http_proxy esté establecida en algún proxy. intente borrar la variable (o al menos mire si tiene un valor)

aviran
fuente
2

Estúpida forma de hacerlo funcionar es deshabilitar el proxy por un tiempo usando system settings > Network.

O elimine la configuración del proxy de /etc/environmenty/etc/apt/apt.conf

ingrese la descripción de la imagen aquí

Y agregue la configuración manual del proxy nuevamente una vez que necesite el proxy.

prayagupd
fuente
Esto funcionó y es realmente fácil de seguir :)
Ankit Shubham