首页

让内网Ubuntu系统更新更轻松

还是起了原来的标题名称,今天在找内网Ubuntu系统更新的方案时,看到了网站上的一篇帖子,很是兴奋。可拿来一看却发现这个apt-proxy的东东已经不在ubuntu 12.04(LTS)的发布版本里了,看来这篇帖子又是有点跟不上潮流的那种。查了一下资料,目前发布版本中提供了approx。官方的描述如下:

Approx is an HTTP-based proxy server for Debian-style package archives. It fetches files from remote repositories on demand, and caches them for local use.

Approx saves time and network bandwidth if you need to install or upgrade .deb packages for a number of machines on a local network. Each package is downloaded from a remote site only once, regardless of how many local clients install it. The approx cache typically requires a few gigabytes of disk space.

Approx also simplifies the administration of client machines: repository locations need only be changed in approx's configuration file, not in every client's /etc/apt/sources.list file.

Approx can be used as a replacement for apt-proxy, with no need to modify clients' /etc/apt/sources.list files, or as an alternative to apt-cacher.

approx看来确实是替代了apt-proxy,在10.04之后就不再提供apt-proxy了。

approx部署起来也是简单至极,首先部署approx:

sudo apt-get install approx

通过下边的指令获取当前/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://cn.archive.ubuntu.com/ubuntu

ubuntu-extras http://extras.ubuntu.com/ubuntu

ubuntu-partner http://archive.canonical.com/ubuntu

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

$ sudo /etc/init.d/openbsd-inetd restart

* Restarting internet superserver inetd [ OK ]

重新启动之后,服务就已经在9999端口运行了。

在客户端的配置,其实就是把客户端的/etc/apt/sources.list文件变更为你approx的地址就可以了:

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

deb-src http://approx:9999/ubuntu/ precise universe

deb http://approx:9999/ubuntu/ precise-updates universe

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

deb http://approx:9999/ubuntu/ precise multiverse

deb-src http://approx:9999/ubuntu/ precise multiverse

deb http://approx:9999/ubuntu/ precise-updates multiverse

deb-src http://approx:9999/ubuntu/ precise-updates multiverse

deb http://approx:9999/ubuntu/ precise-backports main restricted universe multiverse

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

deb http://approx:9999/ubuntu precise-security main restricted

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

deb http://approx:9999/ubuntu precise-security universe

deb-src http://approx:9999/ubuntu precise-security universe

deb http://approx:9999/ubuntu precise-security multiverse

deb-src http://approx:9999/ubuntu precise-security multiverse

其他地址就可以删除掉了。剩下的就是sudo apt-get update ~~~