Четверг, 19.02.2026 19:00

Локальный сервер обновлений для ПК с РЕДОС Linux на базе apt-cacher-ng. Часть 1.

Локальный сервер обновлений для ПК с РЕДОС Linux на базе apt-cacher-ng. Часть 1.

В прошлой статье мы рассмотрели сборку apt-cacher-ng из исходного кода в РЕДОС Linux. Сегодня мы рассмотрим его настройку и настройку клиентских ПК на получение обновлений через собранный ранее кэширующий прокси-сервер.

Стоит обратить внимание, что при первом обновлении скорость загрузки пакетов на клиенте будет низкой, но после окончания загрузки всех пакетов, при обновлении следующих ПК, при условии что на них установлено одинаковое ПО и они постоянно обновляются, загрузка увеличиться будет в разы, а то и на порядок!

Настройка клиента для обновления РЕДОС linux с apt-cacher-ng

Для того, чтобы клиенты могли использовать прокси-сервер для загрузки обновлений, нам нужно указать адрес прокси-сервера в настройках утилиты dnf.

На ПК клиента с установленным РЕДОС Linux в файл:

/etc/dnf/dnf.conf

Добавим строку:

proxy=http://192.168.1.4:3142

Обратите внимание! Замените:

192.168.1.4

На адрес вашего сервера apt-cacher-ng!

Для внесения изменений запустим:

echo -e "\nproxy=http://192.168.1.4:3142\n" | sudo tee -a /etc/dnf/dnf.conf

Обратите внимание! В файле может быть несколько записей вида:

proxy=http://192.168.1.4:3142

Но только последняя из них будет использована при настройке сервера!

Запустим

sudo dnf update

DNF выдаст ошибку:

RedOS - Base                                                                                                                                                                                                 0.0  B/s |   0  B     00:00
Errors during downloading metadata for repository 'base':
  - Curl error (56): Failure when receiving data from the peer for https://mirror.yandex.ru/redos/8.0/x86_64/os/repodata/repomd.xml [CONNECT tunnel failed, response 403]
Error: Не удалось загрузить метаданные для репозитория «base»: Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
RedOS - Updates                                                                                                                                                                                              0.0  B/s |   0  B     00:00
Errors during downloading metadata for repository 'updates':
  - Curl error (56): Failure when receiving data from the peer for https://mirror.yandex.ru/redos/8.0/x86_64/updates/repodata/repomd.xml [CONNECT tunnel failed, response 403]
Error: Не удалось загрузить метаданные для репозитория «updates»: Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Игнорируются репозитории: base, updates
Зависимости разрешены.
Отсутствуют действия для выполнения.
Выполнено!

Прокси сервер не смог выполнить запрос!

Всё дело в том, что для подключения к apt-cacher-ng мы используем протокол HTTP, а для соединения с серверами обновления HTTPS. Для использования HTTPS нужна дополнительная настройка сервера apt-cacher-ng.

Настройка apt-cacher-ng для загрузки обновлений по HTTPS

В настоящее время в сети Интернет повсеместно используется протокол HTTPS, поэтому для загрузки любой информации из сети глобальной сети, я рекомендую использовать HTTPS.

Для загрузки обновлений с серверов Яндекса по протоколу HTTPS нам потребуется произвести настройку apt-cacher-ng.

В файл:

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

Добавим строку:

Remap-mirror-yandex-os: http://mos.ya.ru ; file:backends_ya_os

Для этого запустим:

echo -e "\nRemap-mirror-yandex-os: http://mos.ya.ru ; file:backends_ya_os\n" | tee -a /etc/apt-cacher-ng/acng.conf

Здесь мы добавили команду для переназначения (подмены) адреса:

http://mos.ya.ru

на любой из адресов указанные в файле:

/etc/apt-cacher-ng/backends_ya_os

На сервере apt-cacher-ng создадим файл

/etc/apt-cacher-ng/backends_ya_os

С содержимым:

https://mirror.yandex.ru/redos/8.0/x86_64/os

Для этого запустим:

echo "https://mirror.yandex.ru/redos/8.0/x86_64/os" | sudo tee /etc/apt-cacher-ng/backends_ya_os

Давайте рассмотрим, как это работает:

При получении запроса от клиента, через прокси сервер заменит часть адреса:

http://mos.ya.ru

Т.е. будет произведена подмена части адреса на:

https://mirror.yandex.ru/redos/8.0/x86_64/os

При этом остальная часть запроса останется неизменной.

Таким образом адрес:

http://mos.ya.ru/repodata/269af7f579eea2bd2d741d0ad8d3c4276ac017c2b8cb6e7c15438c93e1a96f3f-comps.xml

Будет преобразован в:

https://mirror.yandex.ru/redos/8.0/x86_64/os/repodata/269af7f579eea2bd2d741d0ad8d3c4276ac017c2b8cb6e7c15438c93e1a96f3f-comps.xml

Добавим такие же настройки для репозитория обновлений:

Запустим:

echo " https://mirror.yandex.ru/redos/8.0/x86_64/updates" | sudo tee /etc/apt-cacher-ng/backends_ya_up
echo -e "\nRemap-mirror-yandex-update: http://mup.ya.ru ; file:backends_ya_up\n" | tee -a /etc/apt-cacher-ng/acng.conf

Перезапустим службу:

sudo systemctl restart apt-cacher-ng

Настройка клиентского ПК с РЕДОС linux на обновление через apt-cacher-ng

На клиентском ПК изменим файлы c настройками репозиториев.

Откроем файл:

sudo mcedit /etc/yum.repos.d/RedOS-Base.repo

Заменим содержимое на:

[base]
name=RedOS - Base
baseurl=http://mos.ya.ru
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RED-SOFT
enabled=1

Откроем файл:

sudo mcedit /etc/yum.repos.d/RedOS-Updates.repo

Заменим содержимое на:

[updates]
name=RedOS - Updates
baseurl=http://mup.ya.ru
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RED-SOFT
enabled=1

Запустим обновление:

sudo dnf update

В консоли на сервере начнут появляться строки:

1770348180|I|614632|192.168.1.21|mirror.yandex.ru/redos/8.0/x86_64/os/repodata/269af7f579eea2bd2d741d0ad8d3c4276ac017c2b8cb6e7c15438c93e1a96f3f-comps.xml
1770348180|O|614316|192.168.1.21|mirror.yandex.ru/redos/8.0/x86_64/os/repodata/269af7f579eea2bd2d741d0ad8d3c4276ac017c2b8cb6e7c15438c93e1a96f3f-comps.xml
1770348220|I|17174609|192.168.1.21|mirror.yandex.ru/redos/8.0/x86_64/os/repodata/4f44a969e75281a6e25cb775eb1c407132fe50ecbb52780a6896a6c7036eb9a8-primary.xml.zst
1770348220|O|17174291|192.168.1.21|mirror.yandex.ru/redos/8.0/x86_64/os/repodata/4f44a969e75281a6e25cb775eb1c407132fe50ecbb52780a6896a6c7036eb9a8-primary.xml.zst

Каждая строка начинается с даты в формате Epoch.

С помощью онлайн калькуляторов можно проверить, что число:

1770348220

На самом деле:

Wed Feb 18 2026 03:06:14 GMT+0000

Значения:

O или I

Означают

Input
Output

Это направление загрузка/отдача.

Далее следует размер загружаемого файла, ip-адрес ПК, который запрашивает файл и полный путь до файла.

Данные строки будут появляться после окончательной загрузки файла с вышестоящего сервера обновлений.

На сервере все файлы будут сохраняться в папку:

/var/cache/apt-cacher-ng/mirror.yandex.ru/

Заключение

Сегодня мы рассмотрели настройку локального сервера обновлений  в РЕДОС Linux:

Рассмотрели настройку сервера apt-cacher-ng;

Рассмотрели настройку клиента для работы с apt-cacher-ng.

Категория РЕД ОС Linux
Теги РЕДОС Linux

Добавить комментарий

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
Просмотров: 163