В связи с переходом на новый сервер я сервисы с Ubuntu 18.04 хочу перенести на Ubuntu 20.04 LTS, а значит их нужно разобрать заново возможно что-то, да и изменилось: все же, наверное, новая версия, настройка, и применение. Сегодня это будет сервис кэширования пакет apt-cacher-ng который я применяю на Ubuntu 18.04 Server, но теперь на Ubuntu 20.04. У меня есть место и раз обратившись через данный сервис к установке пакетов deb они кэшируются и вновь при обращении к ним они будут уже скачиваться с моего локального сервера. Я использую сервис apt-cacher-ng совместно с автоматизированной установкой систем Ubuntu, Debian через FOG Project.

Заметка опирается за заметку "Кэширования пакетов apt-cacher-ng на Ubuntu Bionic"

Шаг №1: Произвожу установку сервиса apt-cacher-ng на Ubuntu 20.04 LTS Server:

ekzorchik@srv-us2004:~$ apt-cache show apt-cacher-ng | grep Version

Version: 3.3.1-2build1

ekzorchik@srv-us2004:~$ sudo apt-get install -y apt-cacher-ng

Allow HTTP tunnels through Apt-Cacher NG? Yes

Шаг №2: Файлы пакетов буду хранить на отдельном каталоге (можно выделить отдельный диск):

ekzorchik@srv-us2004:~$ sudo mkdir -p /data/repository

ekzorchik@srv-us2004:~$ sudo mkdir -p /data/log

ekzorchik@srv-us2004:~$ sudo chown -R apt-cacher-ng:apt-cacher-ng /data

ekzorchik@srv-us2004:~$ sudo nano /etc/default/apt-cacher-ng

DISABLED=1

DAEMON_OPTS=" -c /etc/apt-cacher-ng"

Шаг №3: Изменяю конфигурационный файл apt-cacher-ng где изменяю дефолтный путь хранения пакетов:

ekzorchik@srv-us2004:~$ sudo nano /etc/apt-cacher-ng/acng.conf

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

CacheDir: /data/repository

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

LogDir: /data/log

SupportDir: /usr/lib/apt-cacher-ng

Port:3142

ReportPage: acng-report.html

ExThreshold: 4

BindAddress: localhost 172.33.33.112

PassThroughPattern: .*

UserAgent: Debian Apt-Cacher-NG/3.3.1

Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian # Debian Archives

Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu # Ubuntu Archives

Remap-cygwin: file:cygwin_mirrors /cygwin # ; file:backends_cygwin # incomplete, please create this file or specify preferred mirrors here

Remap-sfnet:  file:sfnet_mirrors # ; file:backends_sfnet # incomplete, please create this file or specify preferred mirrors here

Remap-alxrep: file:archlx_mirrors /archlinux # ; file:backend_archlx # Arch Linux

Remap-fedora: file:fedora_mirrors # Fedora Linux

Remap-epel:   file:epel_mirrors # Fedora EPEL

Remap-slrep:  file:sl_mirrors # Scientific Linux

Remap-gentoo: file:gentoo_mirrors.gz /gentoo ; file:backends_gentoo # Gentoo Archives

Remap-secdeb: security.debian.org ; security.debian.org deb.debian.org/debian-security

Шаг №4: Перезапускаю сервис apt-cacher-ng:

ekzorchik@srv-us2004:~$ sudo systemctl is-enabled apt-cacher-ng

enabled

ekzorchik@srv-us2004:~$

ekzorchik@srv-us2004:~$ sudo systemctl restart apt-cacher-ng && sudo systemctl status apt-cacher-ng | head -n 5

● 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 Wed 2021-06-09 19:55:26 UTC; 24ms ago

Main PID: 1511 (apt-cacher-ng)

Tasks: 1 (limit: 4617)

ekzorchik@srv-us2004:~$

Шаг №5: Если нужно ограничить доступ к сервису apt-cacher-ng, то прописываем в файл ниже IP адрес системы которой разрешено или же ограничиваем доступ по FQDN суффиксу, к примеру ALL: .polygon.lan:

ekzorchik@srv-us2004:~$ sudo nano /etc/hosts.allow

172.33.33.0/24 172.33.33.25

Шаг №6: Проверяю, а поднимется ли теперь сервис apt-cacher-ng если система будет перезагружена:

ekzorchik@srv-us2004:~$ sudo reboot

Ответ да, сервис сам поднимается порт (3142) прослушивается:

ekzorchik@srv-us2004:~$ sudo ss -ltu | grep :3142

tcp   LISTEN 0      250                0.0.0.0:3142        0.0.0.0:*

tcp   LISTEN 0      250                   [::]:3142           [::]:*

ekzorchik@srv-us2004:~$

Шаг №7: Прописываю работу установки deb пакетов на системе Ubuntu 20.04 Server где собственно сам сервис apt-cacher-ng:

ekzorchik@srv-us2004:~$ sudo nano /etc/apt/apt.conf.d/00aptproxy

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

Шаг №8: Применяю развернутый сервис apt-cacher-ng на сервере Ubuntu 20.04 Server:

ekzorchik@srv-us2004:~$ sudo apt-get update && sudo apt-get install -y htop

На заметку: ключ -L это вывод на указанную глубину, -d → только дерево директорий.

ekzorchik@srv-us2004:~$ tree -d /data/repository/ -L 4

/data/repository/

├── uburep

│   ├── dists

│   │   ├── focal

│   │   ├── focal-backports

│   │   ├── focal-security

│   │   └── focal-updates

│   └── pool

│       └── universe

│           └── t

└── _xstore

├── qstats

│   ├── i

│   └── o

└── rsnap

14 directories

ekzorchik@srv-us2004:~$

6 directories

ekzorchik@srv-us2004:~$ sudo du -sh /data/repository/

468K /data/repository/

ekzorchik@srv-us2004:~$

Шаг №9: Как применять развернутый сервис apt-cacher-ng? На клиентской системе прописываем, к примеру путь — это будет: Ubuntu 18.04 Server amd64

ekzorchik@srv-bionic:~$ lsb_release -a && uname -a

No LSB modules are available.

Distributor ID:      Ubuntu

Description: Ubuntu 18.04.5 LTS

Release:      18.04

Codename: bionic

Linux srv-bionic 4.15.0-143-generic #147-Ubuntu SMP Wed Apr 14 16:10:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

ekzorchik@srv-bionic:~$

ekzorchik@srv-bionic:~$ sudo nano /etc/apt/apt.conf.d/02proxy

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

или

ekzorchik@srv-bionic:~$ sudo nano /etc/apt/apt.conf

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

или

ekzorchik@srv-us2004:~$ sudo nano /etc/apt/apt.conf.d/00aptproxy

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

ekzorchik@srv-bionic:~$ sudo rm -Rf /var/lib/apt/lists

ekzorchik@srv-bionic:~$ sudo apt-get update && sudo apt-get install -y htop tree

Шаг №10: Проверяю содержимое на Ubuntu 20.04 Server сервис apt-cacher-ng наполнил содержимое каталога /data/repository:

ekzorchik@srv-us2004:~$ tree -d /data/repository/uburep/dists/ -L 2

/data/repository/uburep/dists/

├── bionic

├── bionic-backports

├── bionic-updates

├── focal

├── focal-backports

├── focal-security

└── focal-updates

7 directories

ekzorchik@srv-us2004:~$

Ответ, да, каталог наполняется.

Итого я разобрал как на Ubuntu 20.04 Server установить и начать практически использовать сервис apt-cacher-ng в том виде в котором необходимо мне. А Вам решать использовать так или же погрузиться в параметры конфигурационного файла и достичь того функционала которого требуется у Вас. А пока я прощаюсь, до новых встреч на моем блоге, с уважением автор блога Олло Александр aka ekzorchik.