Чому 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 дякую.
м3нда

де цей файл apt.conf?
Загублений крокет

@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 проксі-сервер налаштований /etc/environment, тому ми можемо шукати тут.
Чу-Сян Лай

4

Існує не одне місце, де вдало читають конфігураційні файли. Вам слід запустити, 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також може містити інформацію про проксі. Також він може бути написаний з великої літери.
кап

3

Якщо ви не хочете apt-getвикористовувати проксі, використовуйте apt-getяк:

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

2

Можливо, змінна середовища http_proxy встановлена ​​на якийсь проксі. спробуйте очистити змінну (або принаймні подивіться, чи має вона значення)


2

Дурний спосіб примусити його працювати - відключити проксі на деякий час system settings > Network.

Або видаліть конфігурацію проксі з /etc/environmentі/etc/apt/apt.conf

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

І додайте назад конфігурацію проксі-сервера, як тільки вам потрібен проксі-сервер.


Це спрацювало і наслідувати нас дуже просто :)
Анкіт Шубхем,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.