临时使用socks代理apt-get的方法

对于mint/ubuntu来说,全局代理对apt-get通常不起作用。

用户可以修改apt-get的配置文件,实现代理——但是这是一件很容易被自己忘记的操作。

因此,最好还是使用临时代理的方法。

假设你已经在本地1080端口建立了一个socks5代理,那么在使用

sudo apt-get update

的时候,改写为:

sudo apt-get -o Acquire::http::proxy="socks5h://127.0.0.1:1080/" update

即可。其他指令的情形以此类推。

此时,apt-get将使用socks5h://127.0.0.1:1080代理所有以http开头的请求。且DNS服务也通过socks代理实现。

参考资料:https://askubuntu.com/questions/35223/syntax-for-socks-proxy-in-apt-conf

以及,网传的

sudo apt-get -o Acquire::socks::proxy="socks://127.0.0.1:1080/" update

或者

sudo apt-get -o Acquire::socks::proxy="socks5://127.0.0.1:1080/" update

或者

sudo apt-get -o Acquire::http::proxy="socks5://127.0.0.1:1080/" update

是无效的方法。一来,apt并不支持一般的socks5代理,二来,Acquire后面的字段也并不代表代理所用的协议。

之前流行的一种方法是:通过tsocks将socks5代理转化为http代理。这种方法目前看来已经没什么必要了。