Ubuntu 20.04 使用 Apt-Cacher NG 设置 APT-Caching 服务器

Apt-Cacher NG 是基于 Debian 的 Linux 发行版(包括 Ubuntu、Debian、Linux Mint 等)的缓存代理服务器。它创建 Debian 镜像和其他 Linux 发行版的本地缓存。 当我们使用 apt 命令安装任何软件包时,该软件包将从官方存储库中提取,并且 APT 缓存服务器将该软件包缓存在系统中。 当我们再次安装相同的包时,它将从本地缓存服务器下载该包。 这将为我们节省大量时间和互联网带宽。

在这篇文章中,我们将解释 Ubuntu 20.04 上使用 Apt-Cacher NG 设置 APT-Caching 服务器。

先决条件

  • 在 云平台上运行 Ubuntu 20.04 的两台服务器
  • 在两台服务器上配置的 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Ubuntu 20.04 作为至少 2GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到 Ubuntu 20.04 服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

apt-get update -y

第 2 步 – 安装 Apt-Cacher-NG

默认情况下,Apt-Cacher-NG 软件包包含在 Ubuntu 默认存储库中。 我们可以使用以下命令安装它:

apt-get install apt-cacher-ng -y

安装 Apt-Cacher-NG 软件包后,启动 Apt-Cacher-NG 服务并使其在系统重新启动时启动:

systemctl start apt-cacher-ng
systemctl enable apt-cacher-ng

我们可以使用以下命令检查 Apt-Cacher-NG 的状态:

systemctl status apt-cacher-ng

样本输出:

● apt-cacher-ng.service - Apt-Cacher NG software download proxy
     Loaded: loaded (/lib/systemd/system/apt-cacher-ng.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-08-15 07:13:14 UTC; 20s ago
   Main PID: 3748 (apt-cacher-ng)
      Tasks: 1 (limit: 2353)
     Memory: 2.0M
     CGroup: /system.slice/apt-cacher-ng.service
             └─3748 /usr/sbin/apt-cacher-ng -c /etc/apt-cacher-ng ForeGround=1

Aug 15 07:13:13 ubuntu2004 systemd[1]: Starting Apt-Cacher NG software download proxy...
Aug 15 07:13:14 ubuntu2004 systemd[1]: Started Apt-Cacher NG software download proxy.

默认情况下,Apt-Cacher-NG 侦听端口 3142。我们可以使用以下命令检查它:

ss -altnp | grep apt

样本输出:

LISTEN    0         250                0.0.0.0:3142             0.0.0.0:*        users:(("apt-cacher-ng",pid=3748,fd=10))                                       
LISTEN    0         250                   [::]:3142                [::]:*        users:(("apt-cacher-ng",pid=3748,fd=11))                                       

第 3 步 – 配置 Apt-Cacher-NG

默认情况下,Apt-Cacher NG 不提供 HTTPS 存储库,因此我们需要启用它。 为此,请编辑 Apt-Cacher-NG 默认配置文件:

nano /etc/apt-cacher-ng/acng.conf

取消注释以下行:

PassThroughPattern: .*

保存并关闭文件,然后重新启动 Apt-Cacher-NG 服务以应用更改:

systemctl restart apt-cacher-ng

第 4 步 – 配置客户端系统以使用 Apt-Cacher NG

默认情况下,所有 Ubuntu 系统都使用 Ubuntu 存储库来下载和安装软件包,因此我们需要将客户端系统配置为使用 Apt-Cacher NG 进行软件包安装。

为此,请创建一个新的代理配置文件:

nano /etc/apt/apt.conf.d/00aptproxy

添加以下行:

Acquire::http::Proxy "http://wer-server-ip:3142";

完成后保存并关闭文件。

第 5 步 – 验证 APT-Cacher NG

现在,让我们尝试使用以下命令在客户端系统上安装 Apache 包:

apt-get install apache2 -y

上述命令将从 Apt-Cache NG 服务器中查找、下载和安装 Apache 包。

我们可以在服务器系统上使用以下命令进行检查:

tail -f /var/log/apt-cacher-ng/apt-cacher.log

样本输出:

1629012079|I|91694|69.87.221.199|uburep/pool/main/a/apr/libapr1_1.6.5-1ubuntu1_amd64.deb
1629012079|O|91685|69.87.221.199|uburep/pool/main/a/apr/libapr1_1.6.5-1ubuntu1_amd64.deb
1629012079|I|85057|69.87.221.199|uburep/pool/main/a/apr-util/libaprutil1_1.6.1-4ubuntu2_amd64.deb
1629012079|O|85058|69.87.221.199|uburep/pool/main/a/apr-util/libaprutil1_1.6.1-4ubuntu2_amd64.deb
1629012079|I|10880|69.87.221.199|uburep/pool/main/a/apr-util/libaprutil1-dbd-sqlite3_1.6.1-4ubuntu2_amd64.deb
1629012079|O|10894|69.87.221.199|uburep/pool/main/a/apr-util/libaprutil1-dbd-sqlite3_1.6.1-4ubuntu2_amd64.deb
1629012079|I|9071|69.87.221.199|uburep/pool/main/a/apr-util/libaprutil1-ldap_1.6.1-4ubuntu2_amd64.deb
1629012079|O|9078|69.87.221.199|uburep/pool/main/a/apr-util/libaprutil1-ldap_1.6.1-4ubuntu2_amd64.deb
1629012079|I|29280|69.87.221.199|uburep/pool/main/j/jansson/libjansson4_2.12-1build1_amd64.deb
1629012079|O|29279|69.87.221.199|uburep/pool/main/j/jansson/libjansson4_2.12-1build1_amd64.deb
1629012079|I|1180480|69.87.221.199|uburep/pool/main/a/apache2/apache2-bin_2.4.41-4ubuntu3.4_amd64.deb
1629012079|O|1180482|69.87.221.199|uburep/pool/main/a/apache2/apache2-bin_2.4.41-4ubuntu3.4_amd64.deb
1629012079|I|158846|69.87.221.199|uburep/pool/main/a/apache2/apache2-data_2.4.41-4ubuntu3.4_all.deb
1629012079|O|158848|69.87.221.199|uburep/pool/main/a/apache2/apache2-data_2.4.41-4ubuntu3.4_all.deb
1629012079|I|84349|69.87.221.199|uburep/pool/main/a/apache2/apache2-utils_2.4.41-4ubuntu3.4_amd64.deb
1629012079|O|84354|69.87.221.199|uburep/pool/main/a/apache2/apache2-utils_2.4.41-4ubuntu3.4_amd64.deb
1629012079|I|95853|69.87.221.199|uburep/pool/main/a/apache2/apache2_2.4.41-4ubuntu3.4_amd64.deb
1629012079|O|95852|69.87.221.199|uburep/pool/main/a/apache2/apache2_2.4.41-4ubuntu3.4_amd64.deb
1629012079|I|17288|69.87.221.199|uburep/pool/main/s/ssl-cert/ssl-cert_1.0.39_all.deb
1629012079|O|17277|69.87.221.199|uburep/pool/main/s/ssl-cert/ssl-cert_1.0.39_all.deb

Apt-Cache NG 还提供了一个基于 Web 的界面来显示所有报告。 我们可以使用 URL 访问它
http://wer-server-ip:3142/acng-report.html。 我们应该看到以下屏幕:
仪表板页面的 APT 缓存

第 6 步 – 控制 Apt-Cacher NG 使用

我们还可以为 Apt-Cache NG 设置访问控制,以便只有经过身份验证的主机才能从 Apt-Cacher NG 服务器下载包。

我们可以使用 /etc/hosts.allow 和 /etc/hosts.deny 来控制访问。

例如,要允许 192.168.0.10 和 192.168.0.11 使用 Apt-Cacher NG 服务器,请编辑 /etc/hosts.allow 文件:

nano /etc/hosts.allow

添加以下行:

apt-cacher-ng : 192.168.0.10 192.168.0.11

完成后保存并关闭文件。

如果要阻止主机 192.168.1.100 使用 Apt-Cacher NG 服务器,请编辑 /etc/hosts.deny 文件:

nano /etc/hosts.deny

添加以下行:

apt-cacher-ng : 192.168.1.100

完成后保存并关闭文件。

在上面的指南中,我们解释了 Ubuntu 20.04 服务器上安装和使用 Apt-Cache NG 服务器。 我们现在可以在本地网络中设置 Apt-Cache NG 以节省大量 Internet 带宽 – 在 的 VPS 托管上试试吧!

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论