its*_*rty 6 apt proxy apt-cacher-ng
我apt-cacher-ng在我的本地网络中使用客户端上的以下配置:
Acquire::http { Proxy "http://acng-host:3142"; };
Run Code Online (Sandbox Code Playgroud)
一些客户端是笔记本电脑,那么我如何将它们配置为仅在该网络上可用时才使用缓存?
从服务器你可以通过 avahi 向网络宣布有一个 apt-cacher-ng 实例
从客户端,您可以检查是否存在 apt-cacher-ng 服务并相应地修改 apt 代理设置。
安装
$ sudo apt-get install apt-cacher-ng squid-deb-proxy-client
Run Code Online (Sandbox Code Playgroud)
对于早于 14.04 的 Ubuntu 版本,将以下代码段放在 /etc/avahi/services/apt-cacher-ng.service 中:
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">apt-cacher-ng proxy on %h</name>
<service protocol="ipv4">
<type>_apt_proxy._tcp</type>
<port>3142</port>
</service>
</service-group>
Run Code Online (Sandbox Code Playgroud)
安装
$ sudo apt-get install squid-deb-proxy-client
Run Code Online (Sandbox Code Playgroud)
这是安装服务器|客户端的片段,具体取决于是否已经存在 apt-get 代理:
来源:http : //blog.surgut.co.uk/2013/03/avahi-apt-cacher-ng-sbuild.html
这样的事情应该工作:
/etc/NetworkManager/dispatcher.d
#!/bin/bash
ip=10.0.1.13
port=3142
nc -w 1 $ip $port
proxy_file="/etc/apt/apt.conf.d/02local_proxy"
if [ $? -eq 0 ]; then
echo "Acquire::http { Proxy \"http://$ip:$port\"; };" > $proxy_file
echo 'Acquire::https { Proxy "false"; };' >> $proxy_file
else
rm -f $proxy_file
fi
Run Code Online (Sandbox Code Playgroud)
修复权限
sudo chmod +x /etc/NetworkManager/dispatcher.d/99SetAptProxy
Run Code Online (Sandbox Code Playgroud)
笔记:
| 归档时间: |
|
| 查看次数: |
3237 次 |
| 最近记录: |