Скрипт создания зеркала обновлений для Eset Nod32 на Linux
Если вы занимаетесь администрированием, велика вероятность что рано или поздно встанет вопрос — «На клиентских машинах стоит антивирус Nod32, надо бы создать для них единое зеркало обновлений». И тут возможны несколько путей развития сюжета:
- «Сервер на Windows, денег достаточно». Тут всё довольно просто — покупаем лицензию, ставим нужный дистрибутив Nod32 на сервер, настраиваем, радуемся. Вариант более мифический, так как крайне редко, когда на IT «денег достаточно».
- «Сервер на Windows, денег не достаточно». Тут возможны варианты. Начиная от использования варезных лицензий, до ручного скриптинга и использования Linux-решений (cygwin в помощь).
- «Сервер на Linux». Деньги в этом случае особого значения просто не имеют. У нас есть руки, есть голова, и есть желание сделать всё довольно качественно и надежно.
- Unix-система (тестировался на CentOS 7, FreeNas 9.3 и FreeBSD 8.3);
- Bash (тестировался на версиях 4.1.11(2), 4.2.24(1) и 4.2.45(1));
- Установленные curl, wget, unrar (опционально), и некоторые другие стандартные приложения.
-
Скачиваем крайнюю версию и распаковываем:
- Комплектуется скриптом для автоматического получения рабочего ключа с «пиратских» ресурсов. ВНИМАНИЕ! ДАННЫЙ ФУНКЦИОНАЛ ТОЛЬКО ДЛЯ ОЗНАКОМЛЕНИЯ И ИЗУЧЕНИЯ! ВЫ САМИ НЕСЕТЕ ОТВЕТСТВЕННОСТЬ ЗА ЕГО ИСПОЛЬЗОВАНИЕ! ИСПОЛЬЗУЙТЕ ТОЛЬКО ЛЕГАЛЬНЫЕ И КУПЛЕННЫЕ ВАМИ КЛЮЧИ!
- Если произошла ошибка при обновлении с сервера, который указан, например, в updServer0 — производится попытка обновиться с сервера, указанного в updServer1 , updServer2 .. updServer10 ;
- Скачивает только обновленные файлы обновлений (проверка выполняется с помощью wget --timestamping );
- Работает только с нужными типами обновлений, нужным языком и обновлениями только для нужного ПО (без этого размер базы обновлений составляет чуть более чем 5,2Гб, с указанием типов — 0,6Гб);
- Умеет поддерживать в актуальном состоянии только лишь файл update.ver, не скачивая сами файлы обновлений (при этом зеркало работает, но загрузка происходит не с вашего сервера, а с сервера-источника обновлений);
- В комплекте идет заготовка для веб-интерфейса зеркала обновления (директория ./webface ).
Copyright © 2014 <github.com/tarampampam>
Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:
Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
В config.small.xml указываем необходимые настройки:
Где %%url_updates_server%% — в обоих случаях идентичны и равны адресу нашего сервера обновлений. Самый простой способ получить конфиг — Окно «ESET NOD32 Antivirus» → «Настройки» → «Импорт и экспорт параметров». Из получившего xml-файла удаляем всё, кроме необходимых настроек (благо все секции очень хорошо названы).
Далее скрипт установки install.cmd:
Таким образом, при двойном клике по полученному бинарнику происходит тихая распаковка в %TEMP%\Nod32Install\, запускается install.cmd, который запускает установку ESET_NOD32_Antivirus_4.2.71.3_(32-bit)_(rus).msi с настройками из config.small.xml не спрашивая ничего у пользователя, но отображая процесс установки. Для малоопытных пользователей — самое то.
Если у вас есть какие-либо вопросы, но вы не можете оставлять комментарии к этому посту или написать мне в личку — пишите комментарии к этой записи.
Update: Пост был переписан 09.02.2015, т.к. его прошлая редакция потеряла актуальность в большей своей степени
Update: 09.07.2016 скрипт был переписан чуть менее чем полностью. Если вы использовали ранее старую версию — настоятельно рекомендую обновиться. Исходники там-же как и всегда — на гите