Почему apt-get всегда использует прокси, хотя прокси не настроен?

26

Я пытаюсь отключить прокси для, apt-getно похоже, что apt-getон получает конфигурацию прокси откуда-то еще /etc/apt/apt.conf, потому что, хотя apt.confфайл пуст (и системный прокси установлен None), он все еще пытается подключиться к прокси.

У кого-нибудь есть идея?

Ahatius
источник

Ответы:

32

Я использую скрипт для замены различных файлов конфигурации, чтобы легко переключаться между прокси и не-прокси средами. Проблема заключалась в том, что я заменил файл прокси apt.conf пустым файлом apt.conf, который затем проигнорировал apt.

После записи Acquire::http::Proxy "false";в apt.conf все работало без прокси :)

Ahatius
источник
Это работа! Отключил Прокси с помощью apt.conf.
Чу-Сян Лай
1
Я в моем случае работал, просто удалив файл 95proxy.conf из /etc/apt/apt.conf.d/, но лучше явно указать: D спасибо.
m3nda
где этот файл apt.conf?
Потерянный Crotchet
@LostCrotchet/etc/apt/apt.conf
Ахатиус
12

Иногда существуют переменные окружения прокси, которые все еще установлены.

Чтобы узнать, выполните следующую команду:

env | grep proxy

Если вы видите какой-то вывод, например:

http_proxy=http://127.0.0.1:1234/

Тогда вам нужно будет сбросить эту переменную.

Для этого выполните следующую команду:

unset http_proxy

Следуйте тому же подходу для всех других записей, таких как https_proxy.

Алаа али
источник
1
Спасибо за подсказку, к сожалению, и http, и https прокси пусты: \
Ахатиус
Хм. Интересный. Хотя я сомневаюсь в этом, но, возможно, переменная HTTP_PROXY(все заглавные), поэтому попробуйте env | grep -i proxy (-iозначать «без учета регистра»), и посмотрите, есть ли какие-либо выходные данные; стоит попробовать = /. Кроме того, вы можете сделать grep -iR proxy /etc/apt/? Это ищет слово proxy во всех файлах в /etc/apt/, потому что прокси иногда устанавливается в файле в /etc/apt/apt.conf.d/.
Алаа Али
Это также не имеет ничего общего с тем, что прокси является заглавными буквами. Выполнение команды grep также не выявило других файлов, содержащих конфигурацию прокси.
Ахатий
Хорошо, я думаю, что понял. Я использую скрипт для переключения всех файлов конфигурации для прокси. Проблема была в том, что я заменил apt.conf пустым файлом. Тогда Apt, очевидно, всегда загружал последнюю конфигурацию прокси, потому что значение прокси не было установлено в false. В любом случае, спасибо за ваши усилия!
Ахатиус
Maype прокси env имеет настройки /etc/environment, так что мы можем искать здесь.
Чу-Сян Лай
4

Нет только одного места, где apt-get читает конфигурационные файлы. Вы должны работать , grep -i proxy /etc/apt/apt.conf.d/*и это даст вам точный файл, содержащий настройки прокси - сервера (это просто пример работает с updateвместо 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
источник
Этого недостаточно, файл /etc/apt/apt.confтакже может содержать информацию о прокси. Также это может быть написано с заглавной буквы.
Кап
3

Если вы не хотите apt-getиспользовать прокси, используйте apt-getкак:

sudo apt-get -o Acquire::http::proxy=false <update/install> 
Прашант Адлинге
источник
2

Возможно, переменная окружения http_proxy установлена ​​на некоторый прокси. попробуйте очистить переменную (или хотя бы посмотрите, имеет ли она значение)

aviran
источник
2

Глупый способ заставить его работать - отключить прокси на время использования system settings > Network.

Или удалите настройки прокси из /etc/environmentи/etc/apt/apt.conf

введите описание изображения здесь

И добавьте обратно ручную настройку прокси, как только вам понадобится прокси обратно.

prayagupd
источник
Это сработало и очень просто следовать :)
Анкит Шубхам