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/";