Тк нод32 в последнее время не вызывает у меня доверия... я стал пользоваться KIS 2010 (антивирус + файрвол от Касперского)... и возникла необходимость в собственном сервере обновлений в локалке. В ходе поиска я наткнулся на вот эту тему. Все поставил/изменил пути чуток и все заработало! Теперь поподробнее.
1. Устанавливаете пакет unzip - ipkg install unzip
2. Скачиваете вложение к этому посту - kav_update.zip
3. Кидаете файл (естественно то что в архиве а не сам архив) куда вам угодно на роутер - я кинул в kav_update.sh прямо в корень /opt/etc/
4. Даете права на исполнение - командой chmod +x путь до скрипта
5. Запускаете на роутере этот скрипт с командой all (это нужно для первичной загрузки антивирусных баз) - ./путь до скрипта/kav_update.sh all
6. Скачиваете архив kav_update_d.zip и копируете его содержимое в /opt/etc/cron.daily
7. Скачиваете архив kav_update_w.zip и и копируете его содержимое в /opt/etc/cron.weekly
ВНИМАНИЕ! Если вы скопировали скрипт kav_update.sh НЕ в /opt/etc/ - вам нужно будет подредактировать файлы kav_update_d.sh и kav_update_w.sh
8. Дайте права этим двум скриптам - kav_update_d.sh и kav_update_w.sh (по аналогии с пунктом 4)
С роутером манипуляции закончены. Теперь что касается настроек антивируса.
Открываете окно настроек -> Вкладка обновление -> Источник обновления -> Нажимаете кнопку настройка -> Снимаете галку "Сервера обновления касперского" -> Жмете кнопку Добавить -> В поле источник вводите адрес http://айпи и порт (при необходимости) вашего сервера/kav/ (пример - http://192.168.1.1/kav/)
PS Код прикрепленных файлов
kav_update.sh:
Code:
#!/bin/sh
#
# kavupdater.sh
# v.0.2
# by k2 at 2008
#
# Description:
# Script for updating antivirus bases for KAV from zip-files
#
# Ussage:
# kavupdater.sh [-s serverpath] [-b bases] [-t tmp]
# [-i|--ids {yes|no}] [-r|--remove-unpacked {yes|no}]
# {daily|weekly|cumul|all}
#
# Example of Cron ussage:
#
# 05 06 * * * admin /opt/sbin/kavupdater.sh daily
# 00 06 * * 7 admin /opt/sbin/kavupdater.sh weekly
# 10 06 1 * * admin /opt/sbin/kavupdater.sh -b /opt/home/kav/cumul cumul
#
## Default settings:
## Full http-path to zips
serverpath="http://dnl-eu11.kaspersky-labs.com/zips"
## Include IDS-signs ("yes" or "no")
withids=yes
## Temp. path
tmp=/opt/share/www/kav/tmp
## Path for bases
bases=/opt/share/www/kav
## Remove unpacked files ("yes" or "no")
remove=yes
## With proxy
#http_proxy=http://127.0.0.1:3128/; export http_proxy
ussage() {
echo "Ussage: $0" >&2
echo " [-s serverpath] [-b bases] [-t tmp]"
echo " [-i|--ids {yes|no}] [-r|--remove-unpacked {yes|no}]"
echo " {daily|weekly|cumul|all}"
exit 3
}
while [ -n "$*" ]; do
case "$1" in
"-s") shift && serverpath=$1;;
"-b") shift && bases=$1;;
"-t") shift && tmp=$1;;
"-i"|"--ids") shift && withids=$1;;
"-r"|"--remove-unpacked") shift && remove=$1;;
*) action=$1;;
esac
shift
done
mkdir -p "$tmp"
[ ! -d "$tmp" ] && echo "Can't find temp directory $tmp" && exit 2 >&2
#mkdir -p "$bases"
[ ! -d "$bases" ] && echo "Can't find bases directory $bases" && exit 2 >&2
downloadFile() {
[ -z "$1" ] && echo "File name not defined!" && exit 1 >&2
rm -f "$tmp/$1"
wget -q -P "$tmp" --read-timeout=30 --connect-timeout=10 --dns-timeout=10 -t 0 --waitretry=10 -c "$serverpath/$1"
r=$?
return $r
}
unpackFile() {
[ -z "$1" ] && echo "File name not defined!" && exit 1 >&2
unzip -o "$tmp/$1" -d "$bases" >/dev/null
r=$?
return $r
}
getFiles() {
for f; do
downloadFile $f || ( echo "Error while downloading $f!" && exit 4 >&2 )
done
for f; do
unpackFile $f || ( echo "Error while unpacking $f!" && exit 5 >&2 )
done
[ ! "$remove"="yes" ] && return 0
for f; do
rm -f "$tmp/$1" || ( echo "Error while removing $f!" && exit 6 >&2 )
done
}
if [ "$withids"="yes" ]; then
prefix="av-i386&ids-"
else
prefix="av-i386-"
fi
case "$action" in
d|daily)
getFiles "$prefix"daily.zip
;;
w|weekly)
getFiles "$prefix"weekly.zip
;;
c|cumul)
getFiles "$prefix"cumul.zip
;;
a|all)
getFiles "$prefix"cumul.zip "$prefix"weekly.zip "$prefix"daily.zip
;;
wd|dw)
getFiles "$prefix"weekly.zip "$prefix"daily.zip
;;
*)
ussage
;;
esac
kav_update_d.sh:
Code:
#!/bin/sh
/opt/etc/kav_update.sh d
kav_update_w.sh:
Code:
#!/bin/sh
/opt/etc/kav_update.sh w
PS я еще буду делать (на всякий пожарный) команду /opt/etc/kav_update.sh w не уверен в ее необходимости, но благо трафик не ограничение - хуже не будет
PSS 99,99% скрипта взято тут (я только подредактировал пути чуть чуть)
PSSS был бы очень рад видеть обновлялку Каспера в супер-установочном скрипте, которому посвящена эта тема форума =)