apt.conf中SOCKS代理的语法
我想将SOCKS代理设置添加到/etc/apt/apt.conf。 它的语法是什么? 它与http和ftp语法相同吗?
谢谢。
一种可能的解决方案是使用tsocks
,这是一种可以通过socks代理重定向网络流量的应用程序。 安装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 $
您可以考虑许多选项,以简化和自动化其使用。
不要忘记领先的点,Manpage有更多的deatails。
编辑 :一种较短的使用方式:
$ sudo tsocks apt-get update $ sudo tsocks apt-get dist-upgrade
使用下一个配置行对我有用:
Acquire::socks::proxy "socks5://server:port";
为了保持apt.conf
清洁并避免Linux升级时出现问题,我创建了一个新文件( /etc/apt/apt.conf.d/12proxy
)并将配置文件添加到其中。
或者你可以把你的/etc/apt/apt.conf放到这样的东西:
Acquire::socks::proxy "socks://user:pass@host:port/";
我在Ubuntu Xenial的apt.conf手册中的Acquire :: socks :: proxy上找不到任何东西。 您可以通过运行支持上游socks代理的本地http代理来解决此问题,例如Polipo。 您需要按如下方式配置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/";