apt.conf Tải lại :: http: Proxy proxy proxyserver: port "dường như không được sử dụng (Ubuntu 13.04 trong Hộp ảo trên Win7)


13

Đây là phần cài đặt Ubuntu 13.04 Desktop trong VirtualBox VM. Tôi đang sử dụng mạng corprate với proxy HTTP tại xyz251: 9090. Tôi đã cấu hình HĐH khách với tập lệnh tự động cấu hình, do đó Firefox hoạt động tốt, nhưng tôi không thể lấy "apt-get" hoặc "Trung tâm phần mềm Ubuntu" để kết nối bằng proxy.

Tôi đã tạo tệp "/etc/apt/apt.conf", giờ đây nó chứa một dòng văn bản duy nhất:

Acquire::http:Proxy "http://x.y.z.251:9090"

đó là những gì tệp proxy.pac mà tôi đã chỉ định trong "Cài đặt hệ thống / Mạng / Proxy mạng" và được áp dụng cho toàn bộ hệ thống.

Khi tôi sử dụng Firefox, theo dõi gói tin cho thấy kết nối TCP được thực hiện thông qua proxy công ty tại cổng 9090, khi tôi chạy "Trung tâm phần mềm Ubuntu" và "apt-get", theo dõi gói tin hiển thị các gói TCP SYN với IP đích cuối cùng địa chỉ và cổng 80. Tất nhiên, không có phản hồi nào đối với các gói SYN, vì tường lửa của công ty chặn các kết nối TCP trên cổng 80 không vào hoặc ra.

Với "sudo apt-get" trong cửa sổ terminal, tôi luôn thấy:

Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/main Translation-en_US
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/main Translation-en
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/restricted Translation-en_US
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/restricted Translation-en
Err http://extras.ubuntu.com raring Release.gpg 
  Could not connect to extras.ubuntu.com:80 (91.189.92.152), connection timed out
Err http://archive.canonical.com raring Release.gpg 
  Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
Err http://us.archive.ubuntu.com raring Release.gpg 
  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
Err http://us.archive.ubuntu.com raring-updates Release.gpg
  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
Err http://us.archive.ubuntu.com raring-backports Release.gpg
  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
59% [Connecting to security.ubuntu.com (91.189.91.14)]

Cuối cùng, tôi thấy:

Err http://security.ubuntu.com raring-security Release.gpg
  Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
Reading package lists... Done                          
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring/Release.gpg  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]

W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-updates/Release.gpg  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]

W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-backports/Release.gpg  Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]

W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/Release.gpg  Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]

W: Failed to fetch http://archive.canonical.com/ubuntu/dists/raring/Release.gpg  Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]

W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/raring/Release.gpg  Could not connect to extras.ubuntu.com:80 (91.189.92.152), connection timed out

W: Some index files failed to download. They have been ignored, or old ones used instead.

Tôi không chắc chắn những gì tôi đang làm sai.

--- Cập nhật ---- Tôi cũng đã thử:

Acquire::http:proxy "http://user:pass@x.y.z.251:9090/"

"Xyz", tất nhiên, là người giữ chỗ; Tôi nghi ngờ nhân viên an ninh của chủ nhân của tôi sẽ nhìn tôi một cách tử tế khi đăng những con số thực tế. Tôi thấy không có sự khác biệt trong theo dõi gói - "apt-get" vẫn đang sử dụng địa chỉ IP thực và cổng 80. Tôi đã mắc lỗi cố ý trong tệp apt.conf và "apt-get" bị lỗi, vì vậy tôi Tôi chắc chắn rằng nó nhìn thấy dòng cấu hình này cho proxy, nó dường như không tôn trọng nó.

Tôi đang sử dụng kết nối mạng "NAT", vì nó chống lại chính sách CNTT ở đây để kết nối giữa các mạng và máy chủ DHCP chỉ cung cấp địa chỉ cho các địa chỉ MAC đã biết. Tôi không muốn bảo mật CNTT đập vào khối của mình (một lần nữa).


Học điều mới mỗi ngày. Có vẻ như "/etc/apt/apt.conf" chỉ được cập nhật nếu bạn sử dụng tùy chọn cấu hình proxy thủ công trong "Cài đặt hệ thống / Mạng / Proxy mạng". Sau đó tôi đã đi vào và nhận xét các mục tôi đã thực hiện trong tệp đó theo cách thủ công và đã tắt IPv6. Các mục được tạo bởi GUI khá giống với những gì tôi đã bắt đầu, nhưng "apt-get" hiện hoạt động. Thật tuyệt khi có thể vô hiệu hóa IPv6 thông qua GUI, nhưng chỉnh sửa "/etc/sysctl.conf" hoạt động tốt. Rất cám ơn @ terry-wang
Daniel Glasser

Bạn có thể thêm nó như là câu trả lời? Vấn đề của bạn là ipv6 không phải là proxy được đặt không chính xác.
Braiam

Có lẽ bạn đã bỏ lỡ một dấu hai chấm :nhiều hơn giữa httpProxy? http::Proxythay vào đó http:Proxy.
Gonmator

Câu trả lời:


18

Dựa trên kinh nghiệm trước đây của tôi, Ubuntu tổng thể (Gnome) không hoạt động tốt với PAC (Cấu hình tự động). Pac (Proxy Auto-config) về cơ bản là logic JavaScript để xác định proxy gần nhất hoặc phù hợp nhất với bạn, tôi thực sự khuyên bạn nên sử dụng trực tiếp các máy chủ proxy (trong trường hợp Mạng của bạn - Proxy mạng).

Một vài điều cần kiểm tra

Kiểm tra /etc/apt/apt.conf của bạn

Network -Network Proxy GUI sẽ cập nhật /etc/apt/apt.confvà đặt thông tin proxy ở đó.

Tìm hiểu thông tin máy chủ proxy từ pac

Bạn vẫn có thể tìm thấy các chi tiết bằng cách đọc các proxy.pactập tin.

Vì vậy, /etc/apt/apt.confgiao diện sẽ giống như bên dưới (giả sử máy chủ proxy là => proxy.company.com cổng 80), KHÔNG sử dụng URL pac.

Acquire::http::proxy "http://proxy.company.com:80/";
Acquire::https::proxy "https://proxy.company.com:80/";
Acquire::ftp::proxy "ftp://proxy.company.com:80/";

LƯU Ý: Nếu không có proxy được chỉ định trong các tệp cấu hình apt, apt-getsẽ quay lại http_proxybiến môi trường.

Từ trang người dùng apt.conf, trả lời nhận xét từ @Braiam

   http
       HTTP URIs; http::Proxy is the default http proxy to use. It is in
       the standard form of http://[[user][:pass]@]host[:port]/. Per host
       proxies can also be specified by using the form http::Proxy::<host>
       with the special keyword DIRECT meaning to use no proxies. If no
       one of the above settings is specified, http_proxy environment
       variable will be used.

Kiểm tra các biến môi trường proxy

Bạn có thể kiểm tra cài đặt proxy bằng cách chạy các mục sau trong thiết bị đầu cuối

echo $http_proxy
echo $https_proxy
echo $ftp_proxy

Nếu bạn đặt biến env chính xác, bạn sẽ có thể cập nhật trong CLI.

Thích IPv4

Tôi nhận thấy apt-getđã cố gắng kết nối với các máy chủ cập nhật bằng địa chỉ ipv6 của họ. Điều này có thể gây ra sự cố (đôi khi địa chỉ IPV6 hết hạn hoặc thay đổi).

Bạn có thể chỉnh sửa /etc/gai.confvà thêm precedence ::ffff:0:0/96 100vào để thích ipv4 hơn ipv6.

Thêm chi tiết


Cảm ơn vì sự trả lời. Giá trị tôi đặt trong "/etc/apt/apt.conf" là URI và ổ cắm thực tế đến từ tệp .pac, không phải là URI của chính tệp .pac (đó là những gì tôi đặt trong "cài đặt hệ thống / mạng / proxy mạng ".
Daniel Glasser

Tôi đã đi vào "Cài đặt hệ thống / Mạng / proxy mạng" và sử dụng cấu hình thủ công; điều này đã cập nhật "/etc/apt/apt.conf". Tôi cũng đã vô hiệu hóa IPv4 bằng cách chỉnh sửa "/etc/sysctl.conf". Điều này dường như đã thực hiện các mẹo. Cảm ơn bạn đã giúp đỡ.
Daniel Glasser

Không đúng, apt-get không bao giờ sử dụng http_proxycũng như bất kỳ biến môi trường nào.
Braiam

@Braiam làm một man apt.confvà xem http::Proxy. Tôi cũng đã cập nhật câu trả lời. Ngoài ra tôi đã sử dụng http_proxyhttps_proxycác biến môi trường để sử dụng apt-gettrong nhiều năm. Làm một số nghiên cứu trước khi bỏ phiếu xuống.
Terry Wang

Ngoài ra, hãy tự nghiên cứu! Chạy sudo apt-get -o Debug::Acquire::http=true updatevà kiểm tra chính mình nếu chỉ thiết lập biến môi trường sử dụng proxy. Và nếu bạn đang sử dụng proxy trong năm, hãy tự cập nhật .
Braiam

5

Tôi tin rằng tôi đã có vấn đề này và câu trả lời rất đơn giản. Cú pháp rất quan trọng. Nó phải trông như thế này:

Acquire::http::Proxy "http://x.y.z.251:9090";

(Có thêm ":" và chấm dứt ";")


1

@Braiam

Tôi nghĩ tốt hơn là bắt đầu một câu trả lời riêng biệt để làm rõ mọi thứ.

Tôi đã thực hiện một thử nghiệm nhanh bằng cách sử dụng Vagrant và máy ảo Ubuntu 13.04 Rared x86_64 đằng sau tường lửa.

phiên bản apt-get là 0.9.7.7ubuntu4

root@raring:~# apt-get --version 
apt 0.9.7.7ubuntu4 for amd64 compiled on Apr 12 2013 23:49:05
Supported modules:
*Ver: Standard .deb
*Pkg:  Debian dpkg interface (Priority 30)
 Pkg:  Debian APT solver interface (Priority -1000)
 S.L: 'deb' Standard Debian binary tree
 S.L: 'deb-src' Standard Debian source tree
 Idx: Debian Source Index
 Idx: Debian Package Index
 Idx: Debian Translation Index
 Idx: Debian dpkg status file
 Idx: EDSP scenario file

Cập nhật: Nó hoạt động theo cách tương tự trên Chính xác 12.04.3

root@support:/etc/apt# uname -a
Linux support 3.8.0-30-generic #44~precise1-Ubuntu SMP Fri Aug 23 17:33:45 UTC 2013 i686 i686 i386 GNU/Linux
root@support:/etc/apt# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.3 LTS
Release:        12.04
Codename:       precise
root@support:/etc/apt# apt-get --version
apt 0.8.16~exp12ubuntu10.14 for i386 compiled on Sep  8 2013 03:26:42

1 - xóa tập tin cấu hình apt

Tôi xóa cài đặt proxy trong /etc/apt/apt.conf. Tôi cũng đã làm ackagquét tất cả các tệp và thư mục con /etc/aptđể đảm bảo không có proxy được đặt trong các tệp cấu hình apt.

Theo mặc định, {http_proxy,https_proxy,ftp_proxy}các biến env không được đặt.

apt-get không thể kết nối với các máy chủ cập nhật.

root@raring:~# apt-get -o Debug::Acquire::http=true update
0% [Connecting to au.archive.ubuntu.com (202.158.214.106)] [Connecting to security.ubuntu.com (91.189.91.13)] [Connecting to ppa.launchpad.net (91.189.95.83)]

2 - đặt biến môi trường

Chỉ cần đặt các biến proxy

export {http_proxy,https_proxy,ftp_proxy}="http://10.xxx.xxx.231:80"

apt-get bây giờ có thể kết nối!

Xem đầu ra gỡ lỗi (đây là điều mà tôi chưa bao giờ thử).

root@raring:~# apt-get -o Debug::Acquire::http=true update
0% [Working]GET http://security.ubuntu.com/ubuntu/dists/raring-security/Release.gpg HTTP/1.1
Host: security.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


GET http://au.archive.ubuntu.com/ubuntu/dists/raring/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


GET http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/raring/Release.gpg HTTP/1.1
Host: ppa.launchpad.net
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


HTTP/1.1 200 OK
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "16e20bb4-3a5-4db2e154a1dc0"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Thu, 25 Apr 2013 11:54:39 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:1 http://au.archive.ubuntu.com raring Release.gpg [933 B]
0% [1 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]GET http://au.archive.ubuntu.com/ubuntu/dists/raring-updates/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


99% [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK             
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "16e20ee7-3a5-4e7594ace9200"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Fri, 27 Sep 2013 08:30:00 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:2 http://au.archive.ubuntu.com raring-updates Release.gpg [933 B]
50% [2 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]GET http://au.archive.ubuntu.com/ubuntu/dists/raring-backports/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


100% [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK             
Date: Fri, 27 Sep 2013 12:12:21 GMT
ETag: "16e0083d-3a5-4e6844f477fc0"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Mon, 16 Sep 2013 18:24:07 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:3 http://au.archive.ubuntu.com raring-backports Release.gpg [933 B]
67% [3 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "3a5-4e75c5d969600"
Server: Apache/2.2.22 (Ubuntu)
Expires: Fri, 27 Sep 2013 13:05:00 GMT
Accept-Ranges: bytes
Cache-Control: max-age=3159, s-maxage=3300, proxy-revalidate
Last-Modified: Fri, 27 Sep 2013 12:10:00 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

......

Thứ 3 - bỏ đặt các biến môi trường

bỏ đặt các env vars => unset {http_proxy,https_proxy,ftp_proxy}

Bây giờ apt-get không thể kết nối.

Phần kết luận

Giống như những gì đã man apt.confnói, nếu http :: Proxy KHÔNG được đặt, http_proxybiến môi trường sẽ được sử dụng.

BTW : Tôi cũng là người dùng Arch Linux. Pacman hoạt động theo cách tương tự, nếu tôi không sử dụng wgethoặc curlcó proxy pacman.conf, nó sẽ sử dụng các biến môi trường `{http_proxy, https_proxy, ftp_proxy} '.

Cập nhật sudo KHÔNG bảo tồn các biến môi trường. Đó là lý do sudo apt-get updatethất bại. Để giải quyết vấn đề (bảo tồn các biến môi trường proxy), hãy sử dụng sudo -E apt-get update.


Btw, tôi không nhận được thông báo về ping trong câu trả lời. Ngoài ra, hãy xem nhận xét của tôi, thử sử dụng sudothay vì đăng nhập bằng root và xem lý do tại sao tôi nói rằng nó không hoạt động.
Braiam

@Braiam Mình làm thêm mấy bài. sudoKHÔNG bảo toàn các biến enConnionment, đó là vấn đề! Nhưng bạn có thể giải quyết nó bằng cách sử dụng sudo -E apt-get update && apt-get dist-upgrade;-)
Terry Wang

Tôi cũng nói như vậy trong bình luận khác của tôi : S
Braiam

Tôi thích cách bạn làm rõ câu trả lời. Giải pháp cho vấn đề của tôi là mẹo "sudo -E". Tôi không nhớ đã từng cần sử dụng tùy chọn -E trong quá khứ.
DaShaun

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.