プロキシが設定されていないのに、apt-getは常にプロキシを使用するのはなぜですか?


26

私はプロキシを無効にしようとしていますが、ファイルが空(およびシステムプロキシがに設定されている)でもプロキシに接続しようとしているため、以外の場所からプロキシ設定を取得しapt-getているようです。apt-get/etc/apt/apt.confapt.confNone

誰もがアイデアを思いつきましたか?

回答:


32

プロキシ環境と非プロキシ環境を簡単に切り替えるために、スクリプトを使用してさまざまな構成ファイルを置き換えています。問題は、プロキシのapt.confファイルを空のapt.confファイルに置き換えましたが、aptはそれを無視していました。

Acquire::http::Proxy "false";apt.confに書き込んだ後、プロキシなしで機能しました:)


仕事だ!apt.confでプロキシを無効にしました。
チュアンライ14

1
私の場合、95proxy.confファイルを/etc/apt/apt.conf.d/から削除するだけでうまくいきましたが、明示的にする方が良いでしょう:Dありがとう。
m3nda

この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プロキシの両方が空です:\
Ahatius

うーん 面白い。私はそれを疑いますが、おそらく変数はHTTP_PROXY(すべて大文字)なので、env | grep -i proxy (-i「大文字と小文字を区別しない」という意味を試してください)、出力があるかどうかを確認してください。試してみる価値はあります= /。また、できますかgrep -iR proxy /etc/apt/?これは、下のすべてのファイルでproxyという単語を検索し/etc/apt/ます/etc/apt/apt.conf.d/
アラアアリ

また、プロキシがすべて大文字である必要はありません。grepコマンドを実行しても、プロキシ設定を含む他のファイルは表示されませんでした。
アハティウス

わかりました。スクリプトを使用して、プロキシのすべての構成ファイルを切り替えています。問題は、apt.confを空のファイルに置き換えたことです。プロキシ値はfalseに設定されていないため、Aptは明らかに最後のプロキシ構成を常にロードしました。とにかくあなたの努力に感謝します!
アハティウス

プロキシenvの設定が/etc/environmentである可能性があるため、ここで検索できます。
チュアンライ14

4

apt-getが設定ファイルを読み込む場所は1つだけではありません。実行する必要が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。ファイルにはプロキシ情報を含めることもできます。また、大文字で書かれている場合があります。
KAP

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

ここに画像の説明を入力してください

プロキシバックが必要になったら、手動プロキシ設定を追加し直します。


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