回答:
可能な解決策はtsocks
、ソックスプロキシを介してネットワークトラフィックをリダイレクトできるアプリケーションを使用することです。tsocks
パッケージをインストールし/etc/tsocks.conf
、socksプロキシのアドレスとポート番号を設定するように変更して、実行します:
$ sudo -s
# tsocks apt-get update
# tsocks apt-get dist-upgrade
# exit
$
または
$ sudo -s
# . tsocks -on
# apt-get update
# apt-get dist-upgrade
# . tsocks -off # not really necessary, given the exit
# exit
$
その使用を簡素化および自動化するために、多くのオプションを考えることができます。
先頭のドットを忘れないでください、マンページはこの詳細deatailsを持っています。
編集:それを使用するための短い方法:
$ sudo tsocks apt-get update
$ sudo tsocks apt-get dist-upgrade
tsocks
、インストールしてから:)
Acquire::http::Proxy "socks5h://hostname:port/"
。anonscm.debian.org/gitweb/?p=apt/apt.git;a=blob;f=debian/…
apt-get something
!
Acquire::socks::Proxy "socks5h://hostname:port/";
トリックを行います。Httpはそうではありません -Torで試してみると、「TorはHTTPプロキシではありません」という標準的な応答が表示されるため、http
代わりにsocks
-が機能します。
Acquire::http::proxy "socks5h://server:port";
これはUbuntu 18.04で動作します。manページにあるように、aptではsocks5ではなくsocks5hがサポートされています。これは、DNS解決機能を備えたsocks5プロキシを意味します。
Acquire::https::proxy "socks5h://server:port";
をapt.conf.d
ファイルに追加する(など/etc/apt/apt.conf.d/12proxy
)のは問題ありません。特に必要がない限り、httpsに固執することをお勧めします。
Acquire::http::proxy "socks5h://user:pass@server:port";
ます。上記のルールは、Ubuntu 18.04では問題なく機能します。ここsocks5h
では、プロキシサーバーでDNS解決を強制します。
次の設定行を使用するとうまくいきます:
Acquire::socks::proxy "socks5://server:port";
apt.conf
Linuxのアップグレード時の問題を回避し、問題を回避するために、新しいファイル(/etc/apt/apt.conf.d/12proxy
)を作成し、構成ファイルを追加しました。
Ubuntu Xenialのapt.confマニュアルのAcquire :: socks :: proxyには何も見つかりませんでした。これを修正するには、Polipoなどのアップストリームソックスプロキシをサポートするローカルhttpプロキシを実行します。次のようにPolipoを構成する必要があります。
proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "sockshost:socksport"
socksProxyType = socks5
次に、apt.confファイルでhttpプロキシを設定します。
Acquire::http::proxy "http://127.0.0.1:8118/";
Acquire::https::proxy "https://127.0.0.1:8118/";
または、touは/etc/apt/apt.confに次のように入力できます。
Acquire::socks::proxy "socks://user:pass@host:port/";
Acquire::http::proxy "socks://user:pass@host:port/";
Acquire::socks
で始まるURLのプロキシを設定するためのものであると確信していますsocks://
。だから、あなたがインターネットへのアクセスにプロキシを必要としない、と手段apt
のための任意のプロキシを使用していないftp://
、http://
またはhttps://
...は apt
唯一のHTTPプロキシ、すなわちをサポートしていますAcquire::http::proxy "http://localhost:8118
。
Debianでは、マンページapt-transport-http(1)
を読んで、サポートされているURIスキームを探すことができます。前に答えたように、
Acquire::http::proxy "socks5h://server:port";
に
/etc/apt/apt.conf.d/12proxy
一般的なAPT-configの詳細と、マンページの最後apt.conf(5)
に/usr/share/doc/apt/examples/configure-index.gz
記載されている例を読むことができます。
これを組み合わせてssh -D <LOCAL PORT> <USER>@<HOST>
別のシステムへのSOCKSプロキシを作成し、aptがすべてを発信したかのようにプロキシを使用できるようにし<HOST>
ます。
あなたが使用している場合ssh -D 0.0.0.0:<LOCAL PORT> <USER>@<HOST>
やssh -D [::]:<LOCAL PORT> <USER>@<HOST>
(IPv6用)上でSOCKSプロキシを使用する他のシステムを有効にするために、すべてのインターフェイス。これは、セキュリティリスクまたは(企業の)ポリシー違反の可能性があります。何をしているかを確認してください。
sudo tsocks apt-get install tsocks
。