在Ubuntu Linux上设置APT代理服务器Approx

Approx 是 Debian 存档文件的代理服务器。 在具有多个 Debian 类系统的 LAN 中拥有这样的服务将为您提供许多好处,例如更新速度,因为任何更新包只需要下载一次。 这也将降低 Internet 下载使用要求等。

安装Approx

$ sudo apt-get install approx

默认情况下,Approx使用端口9999。

可以确认服务器是否已启动并使用NetStat命令检查端口9999.

$ netstat -ant | grep 9999
tcp        0      0 0.0.0.0:9999            0.0.0.0:*               LISTEN

更改Approx默认端口

编辑/etc/inetd.conf配置文件:

80            stream  tcp     nowait  approx  /usr/sbin/approx /usr/sbin/approx

重新启动inetd superserver使更改生效:

$ sudo /etc/init.d/openbsd-inetd restart
 * Restarting internet superserver inetd                                   [ OK ]

或者使用dpkg-recelfigure命令更改端口:

$ sudo dpkg-reconfigure approx

设置存储库

Approx只有一个配置文件,它是/etc/approx/approx.conf。
这也是我们可以为客户定义Ubuntu存储库的地方。
登录Ubuntu客户端并从/etc/apt/sources.list文件中提取所有当前存储库源。

示例:

$ grep -E "^[^#]" sources.list | cut -d " " -f2 | uniq 
http://au.archive.ubuntu.com/ubuntu/
http://security.ubuntu.com/ubuntu

上述命令的输出会提取您当前的源列表镜像。 只需复制以上几行并将它们粘贴到 /etc/approx/approx.conf 中。 为每个相关镜像添加前缀:

ubuntu http://au.archive.ubuntu.com/ubuntu/
ubuntu-security http://security.ubuntu.com/ubuntu

在 approx 配置中设置所有镜像后,通过重新启动 inetd 超级服务器来重新启动 approx:

$ sudo /etc/init.d/openbsd-inetd restart
 * Restarting internet superserver inetd                                   [ OK ]

approx客户端设置

如果您希望使用一些与近似 IP 地址相关联的主机名,则需要配置您的本地 DNS。 或者,简单地编辑本地 /etc/hosts 文件并添加以下行:

10.1.1.10            approx

其中10.1.1.10是approx服务器的IP地址。

然后编辑客户端的/etc/apt/sources.list以指向 approx:9999APT代理服务器。

新的文件类似下面这样:

deb http://approx:9999/ubuntu/ precise main restricted
deb-src http://approx:9999/ubuntu/ precise main restricted
deb http://approx:9999/ubuntu/ precise-updates main restricted
deb-src http://approx:9999/ubuntu/ precise-updates main restricted
deb http://approx:9999/ubuntu/ precise universe

运行更新以确认我们的设置是否正确:

$ sudo apt-get update
日期:2020-07-07 20:55:51 来源:oir作者:oir