收集云服务器优惠信息
记录云服务器使用心得

Ubuntu 22.04设置Apt-Cacher-NG本地包缓存实例演示

Apt-Cacher-NG是基Debian发行版(例如Ubuntu、Kubuntu、Xubuntu、Edubuntu、Linux Mint等)的缓存代理服务器(或apt代理),它主要用于将下载的包缓存在本地服务器上。

假设你有一个小型网络,连接了几台计算机,并且你希望在每个系统上手动安装和更新软件包。那么,这将是一项艰巨且耗时的任务。那么,这时候在任何系统上配置apt-cacher-ng是一个不错的方法,因为它会将从互联网下载的所有软件包缓存到apt-cache服务器上,然后其它Debian和Ubuntu机器可以从apt-cache服务器获取,这样可以节省时间和互联网带宽。

在这里,小编在Ubuntu 22.04上设置一个缓存服务器,在该局域网内,同时使用30多个Ubuntu桌面客户端、28个Ubuntu服务器虚拟机(包括版本22.04和20.04)以及4个Linux Mint桌面。

我们使用一台运行Ubuntu 22.04 LTS Server Edition的单独缓存服务器,到目前为止,软件包没有任何冲突。接下来,让我们开始设置apt-cache服务器。

我的服务器设置
Apt Cache Server OS   : Ubuntu 22.04 LTS Server
Apt Cache IP Address  : 192.168.0.125
Apt Cache Hostname    : aptcacher.ecscoupon.lan
Default Port	      : 3142
我的客户端设置
Client OS             : Ubuntu 20.04 LTS
Client IP Address     : 192.168.0.3
Client Hostname       : client.ecscoupon.lan

第一步:在Ubuntu服务器上安装Apt-Cacher-NG

首先,登录服务器并使用“Ctr+Alt+T ”打开终端,并使用以下apt命令安装apt-cacher-ng软件包:

sudo apt-get install apt-cacher-ng

在Ubuntu中安装apt-cacher-ng

安装完成后,apt-cacher-ng将自动启动。现在打开并编辑位于“ /etc/apt-cacher-ng ”目录下的cache-ng配置文件。

sudo vim /etc/apt-cacher-ng/acng.conf

接下来,需要按照建议取消注释以下行,如果注释了,请从开头删除“# ”。在该目录中,所有的dpkg软件包在安装或更新时都会被存储。

CacheDir: /var/cache/apt-cacher-ng

要启用日志,我们需要启用此行,默认情况下它将启用:

LogDir: /var/log/apt-cacher-ng

apt -cacher会监听3142端口,如果需要更改端口,也是可以更改的:

Port:3142

配置Apt缓存器

接下来,在该行下方添加行“ BindAddress: 0.0.0.0 ”条目:

# BindAddress: localhost 192.168.7.254 publicNameOnMainInterface
BindAddress: 0.0.0.0

添加绑定地址

这里我们可以定义Ubuntu、Debian等都需要缓存的发行版,具体如下:

Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian # Debian Archives
Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu # Ubuntu Archives
Remap-debvol: file:debvol_mirror*.gz /debian-volatile ; file:backends_debvol # Debian Volatile Archives

本地缓存包设置

如果我们需要在Web界面中获取apt-cache的报告,我们需要启用以下行,但默认情况下,它是被启用的:

ReportPage: acng-report.html
启用 Apt 缓存报告
启用 Apt 缓存报告

要获取有关“ log ”的更多信息,我们必须取消以下行注释,如果我们将其设置为0,则只会记录包传输的活动类型、时间和大小。

VerboseLog: 1

记录Apt缓存信息

要运行apt-cacher服务,需要在配置中启用pid文件:

PidFile: /var/run/apt-cacher-ng/pid

启用Apt缓存服务

然后删除未引用的文件:

ExTreshold: 4

删除未引用的文件

最后完成了配置,保存并关闭文件。现在可以使用以下命令重新启动apt-cacher-ng服务。

$ sudo /etc/init.d/apt-cacher-ng restart

启动Apt缓存服务

使用以下URL在Web界面中访问apt-cacher-ng的报告页面:

http://192.168.0.125:3142/
apt-cacher访问报告

apt-cacher访问统计

在这里我们可以看到apt-cacher-ng的报告页面,在页面底部点击静态报告和配置页面,以获取下载命中和未命中的情况。

注意,需要从报告主页复制代理URL供以后使用。甚至可以通过apt-cache在该服务器中安装软件包,这些软件包可以在本地配置,只需在/etc/apt/apt.conf.d/02proxy中添加以下条目即可。

Acquire::http { Proxy "http://192.168.0.125:3142"; };

第2步:Ubuntu客户端配置

首先登录客户端计算机(Ubuntu/Debian)并在“ /etc/apt/apt.conf.d/ ”目录下创建“ 02proxy ”文件。

sudo vim /etc/apt/apt.conf.d/02proxy

现在复制获取URL并将其附加到02proxy文件中。你将从apt-cacher-ng访问报告页面获取以下URL: http://192.168.0.125:3142/。

Acquire::http { Proxy "http://192.168.0.125:3142"; };

添加Apt代理存储库

使用wq!保存并退出。这里,如果客户端机器上下载了任何包,都会缓存到apt-cache服务器上。

在小编的客户端机器中,可以更新92个软件包,其中有43个更新可用于安全更新。我们已经对缓存服务器应用了相同的更新。因此,这些包现在将缓存在apt-cacher中。如果我更新这台客户端计算机,那么从互联网获取软件包不会花费太多时间。

包更新信息

现在更新存储库并升级软件包。

$ sudo apt-get update 
$ sudo apt-get upgrade

本地升级包

在上面的截图中,它显示我们需要更新85个软件包,其大小为104MB,让我们看看获取该软件包需要多长时间。

实际上,我只是使用256Kbps的互联网连接,下载速度仅为50Kbps到60Kbps。但请看下图,它可以在3秒内获取104MB,这是因为它已经缓存在apt-cacher-ng服务器中。

Apt缓存下载速度

如果我们需要查看已下载的缓存计数数据,可以在任何网络浏览器中访问ip:port(本文是:192.168.0.125:3142)来查看统计信息,正如上面内容所介绍的那样:

Apt Cacher NG统计

总结

通过上面的使用示例可以知道,当我们下载任何软件包以安装在任何Debian/Ubuntu计算机中时,如果该软件包在apt-cache中可用,它将从apt-cache-ng服务器获取,如果没有,它将从互联网获取到本地存储库以供将来使用,相当的方便的智能。

总之,本文主要介绍了如何使用apt-cacher-ng为apt软件包设置本地缓存服务器,这种设置可以节省时间和带宽,希望对所有使用Debian/Ubuntu机器的人有所帮助。

赞(0)
网站声明:本文内容由趣云笔记原创,部分资源收集于网络,如有侵权请联系企鹅:2472781824删除。
文章名称:《Ubuntu 22.04设置Apt-Cacher-NG本地包缓存实例演示》
文章链接:https://www.ecscoupon.com/5160.html
本站资源仅供个人学习交流,未经允许不得转载,更不允许用于商业用途。如需转载,请注明来源,感谢理解!