Perché apt-get utilizza sempre il proxy, sebbene non sia configurato alcun proxy?


26

Sto cercando di disabilitare il proxy per apt-get ma sembra che apt-getottenga la sua configurazione proxy da un'altra parte /etc/apt/apt.conf, perché sebbene il apt.conffile sia vuoto (e il proxy di sistema impostato su None) sta ancora cercando di connettersi al proxy.

Qualcuno ha un'idea?

Risposte:


32

Sto usando uno script per sostituire diversi file di configurazione al fine di passare facilmente tra ambienti proxy e non proxy. Il problema era che ho sostituito il file apt.conf proxy con un file apt.conf vuoto, che apt ha quindi ignorato.

Dopo aver scritto Acquire::http::Proxy "false";in apt.conf ha funzionato senza proxy :)


È lavoro! Disabilitato il proxy con apt.conf.
Chu-Siang Lai,

1
Im il mio caso ha funzionato semplicemente rimuovendo il file 95proxy.conf da /etc/apt/apt.conf.d/ ma meglio esplicitare: D grazie.
m3nda,

dove si trova questo file apt.conf?
Lost Crotchet,

@LostCrotchet/etc/apt/apt.conf
Ahatius,

12

A volte, ci sono variabili di ambiente proxy che sono ancora impostate.

Per scoprirlo, esegui il seguente comando:

env | grep proxy

Se vedi qualche output, ad esempio:

http_proxy=http://127.0.0.1:1234/

Quindi dovrai disattivare questa variabile.

Per fare ciò, eseguire il comando seguente:

unset http_proxy

Seguire lo stesso approccio per tutte le altre voci, ad esempio https_proxy.


1
Grazie per il suggerimento, sfortunatamente sia il proxy http che https sono vuoti: \
Ahatius,

Hmm. Interessante. Anche se ne dubito, ma forse la variabile è HTTP_PROXY(tutto maiuscolo), quindi prova a env | grep -i proxy (-isignificare "case insensitive") e vedi se c'è qualche output; vale la pena provare = /. Inoltre, puoi fare grep -iR proxy /etc/apt/? Questo cerca la parola proxy in tutti i file in /etc/apt/, perché il proxy è talvolta impostato in un file in /etc/apt/apt.conf.d/.
Alaa Ali,

Inoltre non ha a che fare con il proxy essendo tutto maiuscolo. L'esecuzione del comando grep inoltre non ha rivelato alcun altro file che contiene una configurazione proxy.
Ahatius,

Ok, penso di averlo capito. Sto usando uno script per cambiare tutti i file di configurazione per i proxy. Il problema era che ho sostituito apt.conf con un file vuoto. Apt quindi ovviamente caricava sempre l'ultima configurazione del proxy, perché il valore del proxy non era impostato su false. Grazie comunque per i tuoi sforzi!
Ahatius,

Maype ha impostato il proxy env /etc/environment, quindi possiamo cercarlo qui.
Chu-Siang Lai,

4

Non esiste un solo posto in cui apt-get legge i file di configurazione. Dovresti eseguire grep -i proxy /etc/apt/apt.conf.d/*e ti darà il file esatto che ha le impostazioni proxy (questo è solo un esempio in esecuzione con updateinvece 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";

Questo non è abbastanza, il file /etc/apt/apt.confpuò contenere anche informazioni proxy. Inoltre può essere scritto con la lettera maiuscola.
Kap

3

Se non si desidera apt-getutilizzare un proxy, utilizzare apt-getcome:

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

2

È possibile che la variabile di ambiente http_proxy sia impostata su un proxy. prova a cancellare la variabile (o almeno guarda se ha un valore)


2

Il modo stupido per farlo funzionare è disabilitare il proxy per un po 'di tempo system settings > Network.

Oppure rimuovere la configurazione proxy da /etc/environmente/etc/apt/apt.conf

inserisci qui la descrizione dell'immagine

E aggiungi nuovamente la configurazione manuale del proxy una volta che hai bisogno del proxy indietro.


Questo ha funzionato ed è davvero semplice da seguire :)
Ankit Shubham,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.