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

необходимо:
в связи с неустойчивой и низкопропускной способностью каналов интернета в организации, создать локальную базу продуктов и антивирусных баз.
раздавать по сети через вэб сервер.
необходимо только определённые языки.

и так начну по порядку.
под это дело я собрал отдельный компьютер и поставил там вин7. адрес компьютера в сети назначил 192.168.1.20 (потом просто где надо меняете на свой адрес)
на нем же поставил Oracle VM VirtualBox и поставил на него виртуальную машину на базе CentOS с ERA6, установил как службу VirtualBox с автоматическим запуском ERA6. в инете инструкций полно, как это сделать.

на компьютере под это дело установил отдельный жесткий диск на 500 ГБ. и его первое время не хватала под репозиторий (об этом чуть позже).

с веб сервером сильно заморачиваться не стал, скачал сборку Wampserver64 и настроил её на работу в качестве вэб сервера. путь к папке с файлами e:\srv\www\

в ней сделал папку - rep под репозиторий, под антивирусные базы программа сама создаст папку  eset_upd и соответствующие подпапки внутри.

ещё один нюанс, с которым я столкнулся и мой путь решения.
интернет у нас мало того, что не скоростной, так ещё и обрывается. а программа при повторном запуске начинает всё сначала, а не продолжает докачивать, что ещё не скачала.
выход нашёл следующий - кэширующий прокси сервер HandyCache - настроил его так, чтоб он скачивал все дистрибутивы себе в папку в виде кэша, а при повторном запросе брал этот фаил не с инета, а из кэша. инструкция что и как есть на сайте программы. некоторые пункты могу прокомментировать, если надо.

теперь переходим непосредственно к созданию зеркала и репозитория.
скачиваем самую последнюю версию программы MirrorTool с национального сервера (на руском сайте антивируса лежит старая версия, не поддерживающая некоторые команды)
https://download.eset.com/com/eset/apps/business/era/tools/mirror/latest/win32.zip

справка по программе, точнее какие команды она воспринимает:
Скрытый текст

создаём зеркало

для этого сделал папку e:\temp\mirrorTemp для временных файлов при загрузке
через ELA получил фаил офлайн лицензии и положил его по адресу e:\temp\offline.lf (в нем хранится логин и пароль вашей лицензии)

сделал бат фаил с кодом
Код
MirrorTool.exe --proxyHost 127.0.0.1 --proxyPort 8080 --mirrorType regular --intermediateUpdateDirectory e:\temp\mirrorTemp --offlineLicenseFilename e:\temp\offline.lf --outputDirectory e:\srv\www
и положил его рядом с файлом MirrorTool.exe из архива с программой
--proxyHost 127.0.0.1 - адрес моего кэширующего прокси сервера
--proxyPort 8080 порт моего кэширующего прокси сервера
--mirrorType regular - тип обновлений - выбрал регулярные (см справку)
--intermediateUpdateDirectory e:\temp\mirrorTemp  - папка с временными файлами
--offlineLicenseFilename e:\temp\offline.lf - путь до файла офлайн лицензии
--outputDirectory e:\srv\www - конечная папка для обновлений, которые вы будете раздавать клиентам

в планировщике сделал задачу по запуску данного батника раз в два часа
на этом с зеркалом всё.
в настройках ERA указал источником обновлений
Код
 http://192.168.1.20/eset_upd/ep7/
сейчас эксперементирую с 7 версией, когда была 6 - путь был
Код
http://192.168.1.20/eset_upd/ep6/
теперь создаю репозиторий

нюанс, в старых версиях MirrorTool нельзя было при создании репозитория указать прокси сервер, его порт, и какие версии продуктов и языки нужно скачать, в последней версии это исправили.

создал батник со следующим кодом
Код
MirrorTool.exe --proxyHost 127.0.0.1 --proxyPort 8080 --repositoryServer AUTOSELECT --intermediateRepositoryDirectory e:\temp2 --outputRepositoryDirectory e:\srv\www\rep --languageFilterForRepository en_US --languageFilterForRepository ru_RU
pause
--proxyHost 127.0.0.1 - адрес моего кэширующего прокси сервера
--proxyPort 8080 порт моего кэширующего прокси сервера
--repositoryServer AUTOSELECT - адрес откуда скачиваем дистрибутивы - в данном случае выбирать автоматически
--intermediateRepositoryDirectory e:\temp2 папка под временные файлы
--outputRepositoryDirectory e:\srv\www\rep конечная папка
--languageFilterForRepository en_US - выбираем и скачиваем только английские дистрибутивы
--languageFilterForRepository ru_RU - выбираем и скачиваем только русские дистрибутивы

при выборе языков столкнулся с тем, что нужно каждый язык отдельно писать после параметра --languageFilterForRepository , то есть если у вас 10 языков надо, о вы должны написать на каждый --languageFilterForRepository , а вот к примеру --languageFilterForRepository en_US ru_RU не проканает.
есть ещё параметр --productFilterForRepository , в котором можно указать, что именно скачивать, но с ним я так и не разобрался.

когда не работал выбор языка в параметрах, приходилось мало того, что качать всё, так ещё и все языки.
и 500 гигов не хватало, так как у меня на диске было всё в трёх экземплярах. папка кэша прокси сервера, папка временных файлов и конечная папка.

при повторном запуске с временной папки программа ничего не подхватывает повторно и не чистит её, зато полностью удаляет всё содржимое конечной папки и начинает всё качать заново. с этой проблемой частично решил вопрос следующим образом, сделал батник, который отчищает временную папку через каждые 180 секунд, и запускаю его во время скачивания репозитория.
Код
:_script_del
for /d %%i in (e:\temp2\*-*-*-*) do rd /s /q %%i
TIMEOUT /T 180 /NOBREAK
goto :_script_del
e:\temp2 это папка под временные файлы

таким образом у меня скачиваются через кэширующий прокси сервер только русские и английские дистрибутивы (но всех продуктов есет).

раздаю через вэб по адресу
Код
http://192.168.1.20/rep/

эти адреса прописал в ERA в качастве источника обновления и источника репозитория