对于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代理。这种方法目前看来已经没什么必要了。
网友评论