apt.conf“ Acquire :: http:Proxy” proxyserver:port”は使用されていないようです(Win7のVirtual BoxのUbuntu 13.04)


13

これは、VirtualBox VMにUbuntu 13.04デスクトップをインストールするためのものです。私は、xyz251:9090にHTTPプロキシを備えた企業ネットワークにいます。ゲストOSを自動構成スクリプトで構成したため、Firefoxは正常に動作しますが、プロキシを使用して接続するために「apt-get」または「Ubuntu Software Center」を取得できません。

ファイル「/etc/apt/apt.conf」を作成しましたが、これには1行のテキストが含まれています。

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

これは、「システム設定/ネットワーク/ネットワークプロキシ」で指定し、システム全体に適用したproxy.pacファイルです。

Firefoxを使用すると、パケットトレースは、ポート9090で企業プロキシを介してTCP接続が行われたことを示し、「Ubuntu Software Center」および「apt-get」を実行すると、パケットトレースに最終的な宛先IPを持つTCP SYNパケットが表示されますアドレスとポート80。もちろん、企業ファイアウォールがポート80のTCP接続の出入りをブロックするため、SYN​​パケットへの応答はありません。

ターミナルウィンドウで「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」がエラーで終了したため、プロキシのこの設定行が表示されることは確かですが、それを尊重していないようです。

ネットワーク間をブリッジするITポリシーに反しているため、「NAT」ネットワーク接続を使用しています。DHCPサーバーは既知のMACアドレスにのみアドレスを提供します。ITセキュリティがキューブを叩きたくありません(もう一度)。


毎日新しいことを学びましょう。「/etc/apt/apt.conf」は、「システム設定/ネットワーク/ネットワークプロキシ」で手動プロキシ設定オプションを使用した場合にのみ更新されるようです。その後、そのファイルに手動で作成したエントリをコメントアウトし、IPv6を無効にしました。GUIによって作成されたエントリは、私が始めたものとほとんど同じでしたが、「apt-get」が機能するようになりました。GUIを介してIPv6を無効にできたのは良かったのですが、「/ etc / sysctl.conf」の編集は正常に機能します。@テリー王に感謝
ダニエル・グラッサー

それを答えとして追加してもらえますか?問題は、プロキシが正しく設定されていないipv6でした。
Braiam

たぶん、あなたはコロンを逃し:、より間httpProxyhttp::Proxy代わりにhttp:Proxy
ゴンマトール

回答:


18

私の過去の経験に基づいて、Ubuntu(GNOME)全体はPAC(Automatic Config)でうまく機能しません。Pac(Proxy Auto-config)は基本的にJavaScriptロジックであり、最も近いプロキシまたは最も適切なプロキシを決定します。プロキシサーバーを直接使用することを強くお勧めします(この場合、ネットワーク-ネットワークプロキシ)。

確認するいくつかのこと

/etc/apt/apt.confを確認してください

ネットワーク-ネットワークプロキシGUIは/etc/apt/apt.conf、そこでプロキシ情報を更新および設定します。

pacからプロキシサーバー情報を見つける

proxy.pacとにかくファイルを読むことで詳細を見つけることができます。

したがって、/etc/apt/apt.conf以下のようになります(プロキシサーバーが=> proxy.company.comポート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構成ファイルでプロキシが指定されていない場合、環境変数にapt-getフォールバックしhttp_proxyます。

apt.confのmanページから、@ 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

env変数を正しく設定すると、CLIで更新できるはずです。

IPv4を優先

apt-getipv6アドレスを使用して更新サーバーに接続しようとしていることに気付きました。これにより、問題が発生する可能性があります(IPV6アドレスが期限切れになるか、変更される場合があります)。

ipv6よりもipv4を優先/etc/gai.confするprecedence ::ffff:0:0/96 100ように編集および追加できます。

詳細


回答ありがとうございます。「/etc/apt/apt.conf」に入れる値は、.pacファイル自体のURIではなく、.pacファイルから来る実際のURIとソケットです(これは「システム設定/ネットワーク/ネットワークプロキシ」。
ダニエル・グラッサー

「システム設定/ネットワーク/ネットワークプロキシ」に入り、手動設定を使用しました。これにより、「/ etc / apt / apt.conf」が更新されました。また、「/ etc / sysctl.conf」を編集してIPv4を無効にしました。これでうまくいったようです。ご協力いただきありがとうございます。
ダニエルグラッサー

真実ではありません。apt-getはhttp_proxy環境変数も使用しません。
ブライアム

@Braiamはa man apt.confを参照してくださいhttp::Proxy。私も答えを更新しました。また、私は使用してきたhttp_proxyhttps_proxyして使用する変数を環境apt-get年間の。投票する前に調査を行ってください。
テリー王

また、自分で調べてください!環境変数の設定のみがプロキシを使用する場合は、実行sudo apt-get -o Debug::Acquire::http=true updateして確認してください。また、プロキシを1年間使用していた場合は、更新してください。
ブライアン

5

私はこの問題を抱えていたと信じており、答えは簡単です。構文は重要です。次のようになります。

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

(追加の「:」と終了の「;」があります)


1

@ブライアム

物事を明確にするために別の回答を開始する方が良いと思います。

VagrantとUbuntu 13.04 Raring 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

更新:Precise 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-apt構成ファイルをクリアする

でプロキシ設定をクリアしました/etc/apt/apt.conf。私もやったackし、agすべてのファイルとサブディレクトリのスキャン/etc/aptaptの設定ファイルには、プロキシ設定されていないことを確認します。

デフォルトでは、{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 {http_proxy,https_proxy,ftp_proxy}

これで、apt-getは接続できませんでした。

結論

man apt.conf言うように、http :: Proxyが設定されていない場合、http_proxy環境変数が使用されます。

ところで:私はArch Linuxユーザーでもあります。Pacmanは同様の方法で機能します。プロキシを使用しない場合、wgetまたはcurlでプロキシを使用しない場合はpacman.conf、 `{http_proxy、https_proxy、ftp_proxy} '環境変数を使用します。

更新で sudoは、環境変数は保持されません。それがsudo apt-get update失敗する理由です。問題を回避するには(プロキシ環境変数を保持)、を使用しますsudo -E apt-get update


ところで、私は答えのpingの通知を受け取りません。また、私のコメントを参照し、sudo代わりにrootとしてログインを使用してみて、なぜ機能しないと言ったのかを確認してください。
ブライアム

@ブライアム私はさらにテストを行いました。sudo環境変数を保存しません、それが問題です!しかし、あなたが使用することによって、それを回避することができますsudo -E apt-get update && apt-get dist-upgrade;-)
テリー王

は他のコメントでも同じことを言った:S
Braiam

私はあなたが答えを明らかにした方法が好きです。私の問題の解決策は、「sudo -E」のヒントでした。過去に-Eオプションを使用する必要があったことを覚えていません。
DaShaun

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.