Por que o apt-get está sempre usando proxy, embora nenhum proxy esteja configurado?

26

Estou tentando desativar o proxy, apt-getmas parece que apt-getele obtém a configuração do proxy de outro lugar /etc/apt/apt.conf, porque, embora o apt.confarquivo esteja vazio (e o proxy do sistema definido como None), ele ainda está tentando se conectar ao proxy.

Alguém teve uma ideia?

Ahatius
fonte

Respostas:

32

Estou usando um script para substituir arquivos de configuração diferentes, a fim de alternar facilmente entre ambientes proxy e não proxy. O problema foi que substituí o arquivo apt.conf do proxy por um arquivo apt.conf vazio, que o apt ignorou.

Depois de escrever Acquire::http::Proxy "false";no apt.conf, ele funcionou sem proxy :)

Ahatius
fonte
É trabalho! Desabilitou o Proxy com o apt.conf.
Chu-Siang Lai
1
No meu caso, trabalhei simplesmente removendo o arquivo 95proxy.conf do /etc/apt/apt.conf.d/, mas é melhor explicitar: D obrigado.
M3nda
onde está esse arquivo apt.conf?
Lost Crotchet
@LostCrotchet/etc/apt/apt.conf
Ahatius
12

Às vezes, existem variáveis ​​de ambiente proxy que ainda estão definidas.

Para descobrir, execute o seguinte comando:

env | grep proxy

Se você vir alguma saída, por exemplo:

http_proxy=http://127.0.0.1:1234/

Então você precisará desmarcar essa variável.

Para fazer isso, execute o seguinte comando:

unset http_proxy

Siga a mesma abordagem para todas as outras entradas, como https_proxy.

Alaa Ali
fonte
1
Obrigado pela dica, infelizmente, o proxy http e https estão vazios: \
Ahatius 13/13
Hmm. Interessante. Embora eu duvide, mas talvez a variável seja HTTP_PROXY(todas maiúsculas), tente tentar env | grep -i proxy (-i"sem distinção entre maiúsculas e minúsculas") e veja se há alguma saída; vale a pena tentar = /. Além disso, você pode fazer grep -iR proxy /etc/apt/? Ele procura a palavra proxy em todos os arquivos em /etc/apt/, porque o proxy às vezes é definido em um arquivo em /etc/apt/apt.conf.d/.
Alaa Ali
Também não tem a ver com o proxy estar em maiúsculas. A execução do comando grep também não revelou nenhum outro arquivo que contenha uma configuração de proxy.
Ahatius 13/09/13
Ok, acho que entendi. Estou usando um script para alternar todos os arquivos de configuração para proxies. O problema foi que substituí o apt.conf por um arquivo vazio. O Apt, obviamente, sempre carregava a última configuração de proxy, porque o valor do proxy não estava definido como falso. Obrigado de qualquer maneira por seus esforços!
Ahatius
Talvez o ambiente proxy esteja configurado /etc/environment, para que possamos procurar aqui.
Chu-Siang Lai
4

Não há apenas um lugar onde o apt-get lê os arquivos de configuração. Você deve executar grep -i proxy /etc/apt/apt.conf.d/*e ele vai te dar o arquivo exato que tem as configurações de proxy (isto é apenas um exemplo funcionando com updateao invés 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
fonte
Isso não é suficiente, o arquivo /etc/apt/apt.conftambém pode conter informações de proxy. Também pode ser escrito com letra maiúscula.
kap
3

Se você não deseja apt-getusar um proxy, use apt-getcomo:

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

É possível que a variável de ambiente http_proxy esteja configurada para algum proxy. tente limpar a variável (ou pelo menos veja se ela tem um valor)

aviran
fonte
2

A maneira estúpida de fazê-lo funcionar é desabilitar o proxy por um tempo system settings > Network.

Ou remova a configuração do proxy de /etc/environmente/etc/apt/apt.conf

insira a descrição da imagem aqui

E adicione a configuração manual de proxy novamente quando precisar de proxy novamente.

prayagupd
fonte
Isso funcionou e é realmente simples de seguir :)
Ankit Shubham