FC54 Apt-Cache-NG
出自Full Circle 中文项目主页
HOWTO - APT-CACHER-NG
作者:Artemy Vysotsky
翻译:蒙卓
校对:吴云 张志宇
曾经,有两台运行着Ubuntu的电脑摆在我面前,那时每个同样的软件包都要下载两次,我忍了。但现在,我想再多搞一、两台电脑,这岂不是就要浪费更多的时间和流量。所以,我开始寻找解决方案,找啊找,就找到了apt-cacher。装上了这玩意儿后,直到我的服务器升级到了Ubuntu 11.04前,我都挺满意的……然而当我升级后启用apt-cacher,所有的更新都会运行出错。于是乎,我继续挖啊挖,就遇到了另一个deb包代理——apt-cacher-ng,我就让这家伙取代了原来的apt-cacher,现在给第二台电脑更新毫不费时了。
那么,什么是apt-cacher-ng,这玩意是干嘛的呢?这软件会把你下载的.deb文件缓存起来,然后同局域网中的其他电脑共享缓存文件,这样就解决了从源里一遍又一遍地下载软件这个问题了。
接下来,我将一步步说明安装过程和在我的网络中配置的步骤。
这个论坛的帖子是我这些步骤的来源,仅供大家参考:http://ubuntuforums.org/showthread.php?t=1327179。
因为之前装了apt-cacher,所以:
• 我把所有apt-cacher缓存(/var/cache/apt-cacher/packages)里的文件复制到家目录下的一个临时文件夹里。
• 完全移除了apt-cacher。
如果你没装apt-cacher,就略过刚才提到的那两步。
接着,就用你最喜欢的方法给服务器装上apt-cacher-ng吧。
启动程序。进入终端模式,运行命令:
sudo /etc/init.d/apt-cacher-ng start
给你其他电脑配置一下,把apt-cacher-ng作为软件包更新源的代理——有很多种方法,我觉得自己的方法简单又好使——修改/etc/apt/apt.conf这个配置文件。如果不存在就创建一个。在终端模式下使用如下命令:
sudo nano /etc/apt/apt.conf
你当然可以用自己喜欢的文本编辑器(比如说gedit)来替换命令里面的nano。在文件中添加下面一行语句:
Acquire::http { Proxy "http://192.168.2.11:3142"; };
在此,将192.168.2.11换成你服务器的IP地址。当然,局域网中的每台电脑都要这样做。
接着,使用包管理软件进行“更新”(update)操作。比如,在终端模式下,可以使用如下命令进行更新:
sudo apt-get update
这么做是为了确保让apt-cacher-ng建立起包索引,现在它将知道哪些包应该存放在缓存里。
事实上,做到这步后,apt-cacher-ng代理就准备就绪可以进行正常工作了,但因为还没下载过软件,所以缓存是空的,通过下载缓存软件还是需要一定的时间。但是别急——此时我已经有了一些软件的deb文件(之前用apt-cacher得到的),到了好好利用它们的时候啦:
• 进入/var/cache/apt-cacher-ng目录,创建一个_import子目录。
• 将家目录临时文件夹里的东西统统复制到/var/cache/apt-cacher-ng/_import中(并删除原有文件)。(译注:也可以使用ln软链接)
• 由于我的Ubuntu上还有些本地的apt缓存,所以在两台电脑里我把/var/cache/apt/archives里的文件也统统复制到了服务器的/var/cache/apt-cacher-ng/_import下面。
现在,是时候真正运行导入程序了。apt-cacher-ng这个程序是通过网页端控制的,所以要打开 http://<服务器IP地址>:3142
这时,你会得到一个关于apt-cacher-ng用法的网页,在“Related links”(相关链接)区域,有个“Statistics report and configuration page”(统计报告及配置页面)的链接。点击后会进入:
http://<服务器IP地址>:3142/acng-report.html
鼠标向下滚动,点击“Start Import”(开始导入)按钮。就会打开另一个页面,可以获知目前软件包导入进程的详细情况。导入的包越多,花费时间也就越长。
此后,就不会出现一个包要从源里下载几次的事咯。需要进一步阅读的话,你可以看看apt-cacher-ng安装附带的文档,也可以在服务器电脑上直接浏览:
http://localhost/doc/apt-cacher-ng/html/index.html (译注:当然也可以man)。还有一点要注意的是,如果你要在局域网里其他电脑上查看服务器的文档,还需修改Apache2的默认配置。步骤如下:
• 以root身份编辑/etc/apache2/sites-enabled/000-default文件。比如使用如下命令:sudo nano /etc/apache2/sites-enabled/000-default ,当然可以把nano换成你喜欢的文本编辑器。
• 找到以Alias /doc/开始的段落,修改“Allow from”条目使得你局域网中的所有电脑获得访问权。比如:Allow from 10.1.0.0/255.255.0.0 ,这样在10.1.x.y段内的所有IP的电脑均可通过apache2 web服务器访问文档目录。
最后,我希望这篇指南能让你的家庭网络更加高效可用。