使用 Apt-Cacher-NG 加速软件包更新

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

假设您有一个小型网络,连接了几台计算机,并且您希望在每个系统上手动安装和更新软件包。 那么,这将是一项艰巨且耗时的任务。

这就是为什么在任何系统上配置 apt-cacher-ng 都是一个好主意,因为它将所有从互联网下载的软件包缓存在 apt-cache 服务器上,而其余的 Debian 和 Ubuntu 机器从 apt-缓存服务器,这也将节省我们宝贵的时间和互联网带宽。

在这里,我将在 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.tecmint.lan
Default Port : 3142

我的客户端设置
Client OS : Ubuntu 20.04 LTS
Client IP Address : 192.168.0.3
Client Hostname : client.tecmint.lan

步骤1:在Ubuntu服务器上安装Apt-Cacher-NG

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

sudo apt-get install apt-cacher-ng

在 Ubuntu 中安装 apt-cacher-ng在 Ubuntu 中安装 apt-cacher-ng

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

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

打开Apt缓存配置文件打开Apt缓存配置文件

接下来,我们需要按照建议取消注释以下行,如果注释了,请删除 ‘#‘ 从一开始就。 在该目录中,安装或更新软件包时将存储所有 dpkg 软件包。

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

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

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

apt-cacher会监听3142端口,如果需要更改端口,可以更改端口。

Port:3142

配置 apt-cacher-ng配置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

在 Ubuntu 中本地缓存包本地缓存包

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

ReportPage: acng-report.html

启用 Apt 缓存报告启用 Apt 缓存报告

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

VerboseLog: 1

记录 Apt 缓存信息记录 Apt 缓存信息

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

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

启用Apt缓存服务启用Apt缓存服务

删除未引用的文件。

ExTreshold: 4

删除未引用的文件删除未引用的文件

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

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

启动Apt缓存服务启动Apt缓存服务

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

http://192.168.0.125:3142/

Apt 缓存访问报告访问报告
Apt 缓存传输统计转会统计

在这里我们可以看到 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

创建 APT 代理文件创建 APT 代理文件

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

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

添加 Apt 代理存储库添加 Apt 代理存储库

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

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

包更新信息包更新信息

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

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

在 Ubuntu 中本地更新软件包本地更新包
在 Ubuntu 中本地升级软件包本地升级包

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

我什至不在数据中心,我只是使用 256Kbps 的互联网连接,下载速度仅为 50Kbps 到 60Kbps。 但请看下图,了解它如何在 3 秒内获取 104MB。 这是因为它已经缓存在 apt-cacher-ng 服务器中。

Apt Cacher NG 速度Apt 缓存下载速度

如果我们需要查看已下载的缓存计数数据,我们可以在任何网络浏览器中访问 ip:port (192.168.0.125:3142) 来查看统计信息,正如我上面所解释的。

Apt Cacher NG 统计Apt Cacher NG 统计

当我们下载任何软件包以安装在任何 Debian/Ubuntu 计算机中时,如果该软件包在 apt-cache 中可用,它将从 apt-cache-ng 服务器获取,如果没有,它将从互联网获取到本地存储库以供将来使用。

在本文中,我们了解了如何使用 apt-cacher-ng 为 apt 软件包设置本地缓存服务器,许多人希望这种设置可以节省时间和带宽。 我希望这对所有使用 Debian/Ubuntu 机器的人有所帮助。

资讯来源:由0x资讯编译自TECMINT。版权归作者Babin Lonston所有,未经许可,不得转载

资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载

上一篇 2024年 5月 31日
下一篇 2024年 5月 31日

相关推荐