Tại sao apt-get luôn sử dụng proxy, mặc dù không có proxy nào được cấu hình?


26

Tôi đang cố gắng vô hiệu hóa proxy apt-getnhưng có vẻ như apt-getnó được cấu hình proxy từ một nơi khác /etc/apt/apt.conf, bởi vì mặc dù apt.conftệp trống (và proxy hệ thống được đặt thành None) nhưng nó vẫn cố gắng kết nối với proxy.

Bất cứ ai cũng có một ý tưởng?

Câu trả lời:


32

Tôi đang sử dụng tập lệnh để thay thế các tệp cấu hình khác nhau để dễ dàng chuyển đổi giữa các môi trường proxy và không proxy. Vấn đề là tôi đã thay thế tệp apt.conf proxy bằng một tệp apt.conf trống, sau đó apt bị bỏ qua.

Sau khi viết Acquire::http::Proxy "false";vào apt.conf, nó hoạt động mà không cần proxy :)


Đó là công việc! Vô hiệu hóa Proxy với apt.conf.
Chu-Siang Lai

1
Tôi đã làm việc đơn giản chỉ cần xóa tệp 95proxy.conf khỏi /etc/apt/apt.conf.d/ nhưng tốt hơn để giải thích: D cảm ơn bạn.
m3nda

tập tin apt.conf này ở đâu?
Mất Crotchet

@LostCrotchet/etc/apt/apt.conf
Ahatius

12

Đôi khi, có các biến môi trường proxy vẫn được đặt.

Để tìm hiểu, hãy thực hiện lệnh sau:

env | grep proxy

Nếu bạn thấy một số đầu ra, ví dụ:

http_proxy=http://127.0.0.1:1234/

Sau đó, bạn sẽ cần bỏ đặt biến này.

Để làm như vậy, thực hiện lệnh sau:

unset http_proxy

Thực hiện theo cùng một cách tiếp cận cho tất cả các mục khác, chẳng hạn như https_proxy.


1
Cảm ơn về gợi ý, thật không may, cả http và proxy https đều trống: \
Ahatius

Hừm. Hấp dẫn. Mặc dù tôi nghi ngờ điều đó, nhưng có lẽ biến là HTTP_PROXY(tất cả các chữ hoa), vì vậy hãy thử env | grep -i proxy (-inghĩa là "không phân biệt chữ hoa chữ thường") và xem liệu có bất kỳ đầu ra nào không; nó đáng để thử = /. Ngoài ra, bạn có thể làm gì grep -iR proxy /etc/apt/? Điều này tìm kiếm proxy từ trong tất cả các tệp bên dưới /etc/apt/, vì đôi khi proxy được đặt trong một tệp bên dưới /etc/apt/apt.conf.d/.
Alaa Ali

Nó cũng không phải làm với proxy là tất cả các mũ. Thực thi lệnh grep cũng không tiết lộ bất kỳ tệp nào khác có chứa cấu hình proxy.
Ahatius

Ok, tôi nghĩ rằng tôi đã nhận nó. Tôi đang sử dụng tập lệnh để chuyển tất cả các tệp cấu hình cho proxy. Vấn đề là tôi đã thay thế apt.conf bằng một tệp trống. Apt sau đó rõ ràng luôn tải cấu hình proxy cuối cùng, bởi vì giá trị proxy không được đặt thành false. Dù sao cũng cảm ơn những nỗ lực của bạn!
Ahatius

Maype proxy env đã cài đặt /etc/environment, vì vậy chúng ta có thể tìm kiếm ở đây.
Chu-Siang Lai

4

Không chỉ có một nơi mà các tập tin cấu hình đọc apt-get. Bạn nên chạy grep -i proxy /etc/apt/apt.conf.d/*và nó sẽ cung cấp cho bạn các tập tin chính xác mà có các thiết lập proxy (đây chỉ là một ví dụ chạy với updatethay vì 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";

Điều này là không đủ, tập tin /etc/apt/apt.confcũng có thể chứa thông tin Proxy. Ngoài ra nó có thể được viết bằng chữ in hoa.
kap

3

Nếu bạn không muốn apt-getsử dụng proxy, hãy sử dụng apt-getnhư:

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

2

Có thể biến môi trường http_proxy được đặt thành một số proxy. hãy thử xóa biến (hoặc ít nhất là xem nếu nó có giá trị)


2

Cách ngu ngốc để làm cho nó hoạt động là vô hiệu hóa proxy trong một thời gian sử dụng system settings > Network.

Hoặc xóa cấu hình proxy khỏi /etc/environment/etc/apt/apt.conf

nhập mô tả hình ảnh ở đây

Và thêm cấu hình proxy thủ công trở lại khi bạn cần proxy trở lại.


Điều này đã làm việc và thực sự đơn giản để làm theo :)
Ankit Shubham
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.