答案1
apt 源代码中根本没有提到 SOCKS:
/tmp/apt-1.0.9.1ubuntu1$ grep -ir socks .
/tmp/apt-1.0.9.1ubuntu1$
apt 还可以有扩展插件,例如apt-transport-https
。这些插件会将文件添加到/usr/lib/apt/methods/
。所以我曾经apt-file find
寻找过任何其他将文件提供到此目录的软件包。这也没有发现任何与 SOCKS 相关的东西。
虽然无法证明这一点,但我可以肯定地说,apt 本身目前不支持 SOCKS。看来 tsocks 是唯一真正的出路。
我很困惑其他人是如何得出这个结论Acquire::socks
的,但我找不到任何证据。如果我漏掉了什么,那么我猜这个答案是完全错误的(我会删除它)。
答案2
我刚刚测试了 Acquire::http::proxy,它可以正常工作(如果代理关闭则不能正常工作),但 :socks: 直接进入网络,跳过任何(无论是否存在)代理。
因此看起来不可能通过 socks 使用 apt,至少在 Ubuntu 16.04.2 上是这样。