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


26

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

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

Ответы:


32

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

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


Это работа! Отключил Прокси с помощью 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";

Этого недостаточно, файл /etc/apt/apt.confтакже может содержать информацию о прокси. Также это может быть написано с заглавной буквы.
Кап


2

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


2

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

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

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

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


Это сработало и очень просто следовать :)
Анкит Шубхам
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.