apt.conf "अधिग्रहण :: http: प्रॉक्सी" प्रॉक्सीवर: पोर्ट "का उपयोग नहीं किया जा रहा है (Win7 पर वर्चुअल बॉक्स के तहत Ubuntu 13.04)


13

यह एक VirtualBox VM में Ubuntu 13.04 डेस्कटॉप की स्थापना के लिए है। मैं xyz251: 9090 में HTTP प्रॉक्सी के साथ एक corprate नेटवर्क पर हूँ। मैंने अतिथि OS को ऑटोकैफिगरेशन स्क्रिप्ट के साथ कॉन्फ़िगर किया है, इसलिए फ़ायरफ़ॉक्स ठीक काम करता है, लेकिन प्रॉक्सी का उपयोग करने के लिए मुझे "apt-get" या "Ubuntu Software Center" नहीं मिल सकता है।

मैंने फ़ाइल "/etc/apt/apt.conf" बनाई, इसमें अब पाठ की एक पंक्ति शामिल है:

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

वह क्या है जो प्रॉक्सी। pac फ़ाइल है जिसे मैंने "सिस्टम सेटिंग्स / नेटवर्क / नेटवर्क प्रॉक्सी" में निर्दिष्ट किया है और पूरे सिस्टम पर लागू किया है।

जब मैं फ़ायरफ़ॉक्स का उपयोग करता हूं, तो एक पैकेट ट्रेस दिखाता है कि पोर्ट 9090 में कॉर्पोरेट प्रॉक्सी के माध्यम से टीसीपी कनेक्शन किया जाता है, जब मैं "उबंटू सॉफ्टवेयर सेंटर" और "एप्ट-गेट" चलाता हूं, तो पैकेट ट्रेस अंतिम गंतव्य आईपी के साथ टीसीपी SYN पैकेट दिखाता है। पता और पोर्ट 80। निश्चित रूप से, SYN पैकेट की कोई प्रतिक्रिया नहीं है, क्योंकि कॉर्पोरेट फ़ायरवॉल टीसीपी कनेक्शन को पोर्ट 80 पर या बाहर जाने से रोकता है।

टर्मिनल विंडो में "sudo apt-get" के साथ, मैं हमेशा देखता हूं:

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)]

आखिरकार, मैं देख रहा हूँ:

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.

मैं बिल्कुल भी नहीं हूँ कि मैं क्या गलत कर रहा हूँ।

--- अपडेट ---- मैंने भी कोशिश की है:

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

"xyz", निश्चित रूप से, स्थान-धारक हैं; मुझे संदेह है कि मेरे नियोक्ता के सुरक्षा लोग मुझ पर वास्तविक संख्याओं को पोस्ट करने की कृपा करेंगे। मुझे पैकेट ट्रेस में कोई अंतर नहीं दिखता है - "apt-get" अभी भी वास्तविक IP पते और पोर्ट 80 का उपयोग कर रहा है। मैंने apt.conf फ़ाइल में जानबूझकर की गई गलती और "apt-get" को एक त्रुटि के साथ बाहर निकाल दिया, इसलिए हम यह निश्चित है कि यह प्रॉक्सी के लिए इस कॉन्फ़िगरेशन लाइन को देखता है, यह सिर्फ इसे सम्मानित नहीं करता है।

मैं "एनएटी" नेटवर्किंग कनेक्शन का उपयोग कर रहा हूं, क्योंकि यह आईटी नीति के खिलाफ नेटवर्क के बीच पुल के लिए है, और डीएचसीपी सर्वर केवल ज्ञात मैक पते को पते प्रदान करता है। मैं अपने क्यूब (फिर से) पर आईटी सिक्योरिटी बैंग नहीं करना चाहता।


प्रति दिन कुछ नया सीखें। ऐसा लगता है कि "/etc/apt/apt.conf" केवल तभी अपडेट होता है जब आप "सिस्टम सेटिंग्स / नेटवर्किंग / नेटवर्क प्रॉक्सी" में मैन्युअल प्रॉक्सी कॉन्फ़िगरेशन विकल्प का उपयोग करते हैं। मैंने तब अंदर जाकर उन प्रविष्टियों की टिप्पणी की, जो मैंने उस फ़ाइल में मैन्युअल रूप से की थीं, और IPv6 को अक्षम कर दिया था। जीयूआई द्वारा बनाई गई प्रविष्टियाँ मेरे द्वारा शुरू की गई चीजों से बहुत मिलती जुलती थीं, लेकिन अब "उपयुक्त" हो जाती हैं। यह अच्छा होता कि वह GUI के माध्यम से IPv6 को निष्क्रिय कर सकता था, लेकिन संपादन "/etc/sysctl.conf" ठीक करता है। @ टेरी-वैंग के लिए बहुत धन्यवाद
डैनियल ग्लासर

क्या आप इसे उत्तर के रूप में जोड़ सकते हैं? आपकी समस्या ipv6 थी न कि प्रॉक्सी गलत तरीके से सेट की गई थी।
Braiam

शायद आप के :बीच एक बृहदान्त्र अधिक याद किया httpऔर Proxy? http::Proxyइसके बजाय http:Proxy
गनमेटर

जवाबों:


18

मेरे पिछले अनुभव के आधार पर, कुल मिलाकर उबंटू (GNOME) पीएसी (स्वचालित कॉन्फ़िगरेशन) के साथ बहुत अच्छा काम नहीं करता है। पीएसी (प्रॉक्सी ऑटो-कॉन्फिगरेशन) मूल रूप से आपके लिए निकटतम या सबसे उपयुक्त प्रॉक्सी का निर्धारण करने के लिए जावास्क्रिप्ट तर्क है, मैं सीधे प्रॉक्सी सर्वर का उपयोग करने की सलाह देता हूं (सीधे आपके मामले में नेटवर्क - नेटवर्क प्रॉक्सी)।

जाँच करने के लिए कुछ बातें

अपने /etc/apt/apt.conf की जाँच करें

Network -Network प्रॉक्सी GUI अपडेट करेगा /etc/apt/apt.confऔर वहां प्रॉक्सी जानकारी सेट करेगा ।

पीएसी से प्रॉक्सी सर्वर की जानकारी प्राप्त करें

आप proxy.pacवैसे भी फ़ाइल को पढ़कर विवरण पा सकते हैं ।

तो /etc/apt/apt.confनीचे की तरह दिखना चाहिए (मान लीजिए कि प्रॉक्सी सर्वर = >xy.company.com port 80 है), pac URL का उपयोग न करें।

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

नोट: यदि कोई प्रॉक्सी उपयुक्त कॉन्फिग फाइलों में निर्दिष्ट नहीं है, apt-getतो http_proxyपर्यावरण चर पर वापस आ जाएगी ।

Apt.conf मैन पेज से, @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.

प्रॉक्सी वातावरण चर की जाँच करें

आप टर्मिनल में निम्नलिखित चलाकर प्रॉक्सी सेटिंग्स की जांच कर सकते हैं

echo $http_proxy
echo $https_proxy
echo $ftp_proxy

यदि आप एनवी चर को सही ढंग से सेट करते हैं, तो आपको सीएलआई में अपडेट करने में सक्षम होना चाहिए।

IPv4 को प्राथमिकता दें

मैंने देखा apt-getकि वे अपने आईपीवी 6 पते का उपयोग करके अपडेट सर्वर से जुड़ने की कोशिश कर रहे थे। यह समस्याएँ पैदा कर सकता है (कभी-कभी IPV6 पते समाप्त या बदल जाते हैं)।

आप ipv6 पर ipv4 पसंद करने के लिए संपादित /etc/gai.confऔर जोड़ सकते precedence ::ffff:0:0/96 100हैं।

अधिक जानकारी


जवाब देने के लिए धन्यवाद। जो मूल्य मैं "/etc/apt/apt.conf" में डालता हूं वह वास्तविक URI और सॉकेट है जो .pac फ़ाइल से आता है, .pac फ़ाइल का URI नहीं है (यह वही है जो मैंने "सिस्टम सेटिंग / नेटवर्किंग" में डाला है। नेटवर्क प्रॉक्सी "।
डैनियल ग्लासर

मैं "सिस्टम सेटिंग्स / नेटवर्किंग / नेटवर्क प्रॉक्सी" में चला गया और मैनुअल कॉन्फ़िगरेशन का उपयोग किया; इसने "/etc/apt/apt.conf" अपडेट किया। मैंने "/etc/sysctl.conf" संपादन करके IPv4 को भी अक्षम कर दिया। ऐसा लगता है कि चाल चली गई है। आपकी सहायता के लिए धन्यवाद।
डैनियल ग्लासर

सच नहीं है, उपयुक्त-उपयोग कभी नहीं http_proxyऔर न ही किसी भी पर्यावरण चर।
Braiam

@Braiam करते हैं man apt.confऔर देखते हैं http::Proxy। मैंने जवाब भी अपडेट कर दिया है। इसके अलावा, मैं का उपयोग कर रहा हूँ http_proxyऔर https_proxyवातावरण चर के साथ उपयोग करने के लिए apt-getसाल के लिए। मतदान से पहले कुछ शोध करें।
टेरी वांग

इसके अलावा, अपने आप को अनुसंधान करो! रन sudo apt-get -o Debug::Acquire::http=true updateऔर अपने आप को जांचें अगर केवल पर्यावरण चर सेट करना प्रॉक्सी का उपयोग करता है। और यदि आप वर्ष के लिए प्रॉक्सी का उपयोग कर रहे थे, तो अपने आप को अपडेट करें
ब्रियाम

5

मेरा मानना ​​है कि मुझे यह बहुत समस्या लगी है और इसका उत्तर सरल है। वाक्य विन्यास महत्वपूर्ण है। यह इस तरह दिखना चाहिए:

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

(एक अतिरिक्त ":" और एक समाप्ति ";")


1

@Braiam

मुझे लगता है कि चीजों को स्पष्ट करने के लिए एक अलग उत्तर शुरू करना बेहतर है।

मैंने वैग्रांत और एक उबंटू 13.04 रेयरिंग x86_64 VM का उपयोग कर फ़ायरवॉल के पीछे एक त्वरित परीक्षण किया।

apt-get संस्करण है 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

अद्यतन: यह ठीक उसी तरह काम करता है जैसे १२.०४.३

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 - स्पष्ट उपयुक्त विन्यास फाइल

मैंने प्रॉक्सी सेटिंग्स को मंजूरी दे दी /etc/apt/apt.conf। मैं भी किया था ackऔर agसभी फ़ाइलों और उप-निर्देशिका के स्कैन /etc/aptयकीन है कि वहाँ उपयुक्त विन्यास फाइल में कोई प्रॉक्सी सेट है बनाने के लिए।

डिफ़ॉल्ट रूप से {http_proxy,https_proxy,ftp_proxy}env चर सेट नहीं होते हैं।

apt-get अपडेट सर्वर से कनेक्ट करने में सक्षम नहीं था।

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 सेट पर्यावरण चर

बस प्रॉक्सी चर सेट करें

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

apt-get अब जुड़ने में सक्षम है!

डीबग आउटपुट देखें (यह कुछ ऐसा है जिसे मैंने कभी आज़माया नहीं है)।

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

......

3 - पर्यावरण चर को परेशान करना

env vars को unset => unset {http_proxy,https_proxy,ftp_proxy}

अब apt-get कनेक्ट नहीं हो पा रहा था।

निष्कर्ष

ठीक उसी तरह जैसे क्या man apt.confकहता है, अगर http :: प्रॉक्सी सेट नहीं है, तो http_proxyपर्यावरण चर का उपयोग किया जाएगा।

BTW : मैं भी एक आर्क लिनक्स उपयोगकर्ता हूँ। Pacman एक समान तरीके से काम करता है, अगर मैं उपयोग नहीं करता wgetया curlप्रॉक्सी के साथ pacman.conf, यह `{http_proxy, https_proxy, ftp_proxy} 'पर्यावरण चर का उपयोग करेगा।

अद्यतन sudo पर्यावरण चर को संरक्षित नहीं करता है। इसीलिए sudo apt-get updateविफल हो जाता है। समस्या को हल करने के लिए (प्रॉक्सी वातावरण चर को संरक्षित करें), उपयोग करें sudo -E apt-get update


Btw, मुझे उत्तरों में पिंग की सूचना नहीं मिलती है। इसके अलावा, मेरी टिप्पणी देखें, sudoरूट के रूप में लॉगिन करने के बजाय उपयोग करने का प्रयास करें और देखें कि मैंने क्यों कहा कि यह काम नहीं किया।
ब्रह्म

@Braiam मैंने कुछ और परीक्षण किया। sudoएनवायरनमेंट चर को संरक्षित नहीं करता है, यही समस्या है! लेकिन आप इसका उपयोग करके इसे सरल बना सकते हैं sudo -E apt-get update && apt-get dist-upgrade;-)
टेरी वैंग


मुझे पसंद है कि आपने उत्तर को कैसे स्पष्ट किया। मेरी समस्या का हल "सुडो-ई" टिप था। मुझे याद नहीं है कि अतीत में ई विकल्प का उपयोग करने की आवश्यकता हो।
Dahahaun

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.