Страница 7 из 9

Re: Зеркало обновлений NOD

Добавлено: 2008-04-08 16:58:08
Dolphin_BSD
Понял, сори ! .....

Тогда буду ждать ответа на мой вопрос )))

Пасиб

Re: Зеркало обновлений NOD

Добавлено: 2008-04-08 21:36:24
Dolphin_BSD
Вопрос снят !

Прогнал я !

Всем пасиб.

Re: Зеркало обновлений NOD

Добавлено: 2008-04-09 11:48:24
demondem10
Выполнил как сказали точно перехода на нужную директорию нет! cd $1 не обрабатывается!
где нужно подпилить?

Re: Зеркало обновлений NOD

Добавлено: 2008-04-09 11:49:36
demondem10
<<<Dolphin_BSD>>> у тебя получилось? Обьясни как?

Re: Зеркало обновлений NOD

Добавлено: 2008-04-09 12:11:14
demondem10
При тщательной проверке скрипта обнаружиль не соответствие регистра в названии конечной папки и поправил путь в правильном регистре!

Код: Выделить всё

#!/bin/sh

DMASTER="/usr/local/bin/wget"
DMLOG="updatever.log"
TMPFILE="filelist.upd"
#Фраза по которой определяем что файл не изменен
PHRASE="Файл на сервере не новее локального файла"

BASEDIR_V3="/usr/local/www/***/***/***/mydomain.ru/nodbase/V3"

HOSTUP_V3="http://nod32.i-files.org/v3/"

#$1 - BASEDIR_V3
#$2 - HOSTUP
dUpdateVer(){
    cd $1
    $DMASTER -nd -m -o $DMLOG ${2}update.ver
    if [ -z `fgrep "$PHRASE" $DMLOG | sed -n '$='` ]; then
        dUpdateFl $2
    else
        echo "Обновления отсутствуют"
    fi
}

dUpdateFl(){
    fgrep "file=" update.ver | sed -e 's/file=//' > $TMPFILE
    $DMASTER -np -N -nH -B $1 -i $TMPFILE
    rm $TMPFILE
}

dUpdateVer $BASEDIR_V3 $HOSTUP_V3

exit 0
и все завелось как надо!
Вопрос снят все спасибо!

Re: Зеркало обновлений NOD

Добавлено: 2008-04-15 10:50:43
Dolphin_BSD
Добрый день !

Сново возвращаю вопрос к НОД.

После нескольких дней попыток и пере настроек вырисовалась такая картина

1) Установив скрипт на Сервер FreeBSD мы указываем качает обновления с официального сайта http://uXX.eset.com/ но тянит он их с http://u26.eset.com/download/win/v2/ххххх ( хотя вроде в первый раз он качает все как надо )
2) После того как он все скачал я влепил запуск скрипта в крон, радостно вздохнул, НО. через день я заметил что мой релиз нода не обновился в при каждом запуске он качает тока 1 файл

http://u26.eset.com/download/win/v2/ххххх -- тут понятно что он тянет 2 версии , а мне надо 3. Но как указать ему в скрипте правильно тянуть я так и не понял.
3) Так же замечено что при обновлении 3 версия потом выдает такую хрень как ( обновить до полной версии ) Я так же проследил что это он тянет с другого сервера и совсем другие файлы ( проследил с винды ) - но Как правильно это реализовать на ФРЕ.

Короче вырисовалась картина что обновлять 3 ветку НОДА я пока с ФРИ немогу.

С данного скрипта уважаемого соратника ))) видно что просто качается обновления не с официального сайта и без ключиков. Тобишь мне он не подходит !
demondem10 писал(а):При тщательной проверке скрипта обнаружиль не соответствие регистра в названии конечной папки и поправил путь в правильном регистре!

Код: Выделить всё

#!/bin/sh

DMASTER="/usr/local/bin/wget"
DMLOG="updatever.log"
TMPFILE="filelist.upd"
#Фраза по которой определяем что файл не изменен
PHRASE="Файл на сервере не новее локального файла"

BASEDIR_V3="/usr/local/www/***/***/***/mydomain.ru/nodbase/V3"

HOSTUP_V3="http://nod32.i-files.org/v3/"

#$1 - BASEDIR_V3
#$2 - HOSTUP
dUpdateVer(){
    cd $1
    $DMASTER -nd -m -o $DMLOG ${2}update.ver
    if [ -z `fgrep "$PHRASE" $DMLOG | sed -n '$='` ]; then
        dUpdateFl $2
    else
        echo "Обновления отсутствуют"
    fi
}

dUpdateFl(){
    fgrep "file=" update.ver | sed -e 's/file=//' > $TMPFILE
    $DMASTER -np -N -nH -B $1 -i $TMPFILE
    rm $TMPFILE
}

dUpdateVer $BASEDIR_V3 $HOSTUP_V3

exit 0
и все завелось как надо!
Вопрос снят все спасибо!

Подскажите может кто решал проблему и использует зеркало нода на ФРЕ, а то я начинаю задумываться о том что бы настроить это на винде с зеркалом и просто перебрасывать порт с ФРИ, или накатать скрипт который будет закидывать эти фалы на ФРЮ в нужную папку , но все это кривые методы. :?

Заранее спасибо.

Р.S - Использую скрипт такой

Код: Выделить всё

#!/usr/bin/perl

use LWP;

# path to store updates
$PATH="/home/www/mail.kk.com/nod";
$WGET="/usr/local/bin/wget"; # Путь к программе wget
# username/password for updates registered users
$LOGIN='AV-6327330';
$PASS='yt8jc2gyb9';
# URL for updates
$URL_UPD="http://u21.eset.com/";

$URL_UPD =~ s/\/$//;
$URL_UPD =~ m/(.*:\/\/)(.*?)(\/.*)/;
$site = "$1$2";
if ($site =~ m//) {
  print "Enter correct URL\n";
  return;
}

unlink("$PATH/update.ver","$PATH/update.tmp");
download($PATH,"$URL_UPD/nod_upd/update.ver",$LOGIN,$PASS);
`/usr/local/bin/unrar e -y $PATH/update.ver $PATH 2> /dev/null`;
rename("$PATH/update.ver","$PATH/update.tmp");

$ver = "$PATH/update.tmp";
$vers = "$PATH/update.ver";

open(VER, "< $ver") or die "Couldn't open $ver for reading: $!\n";
open(VERS, "> $vers") or die "Couldn't open $vers for writing: $!\n";

%files = ();
%urls = ();

while (defined($line = <VER>) )
{
chomp $line;
($par,$val)=split /=/, $line;

$val = substr($val, 0, -1);

if ($par =~ /file/ )
{
  $name = '/'.$val;
  $name =~s/\/.*\///;
  $furl="$URL_UPD/$val";
  $line="file=$name";
}

if ($par =~/size/ )
{
  $size = $val;
  $files{$name} = $size;
  $urls{$name} = "$furl";
}

print VERS "$line\r\n";
}
print "\n";

close(VER);
close(VERS);

foreach $f (keys %files) {
  if ((-s "$PATH/$f") != $files{$f}){
#  $size = (-s "$PATH/$f");
#  print "Not present --> $PATH/$f\t$f\t$files{$f} ---> $size\n";
    unlink("$PATH/$f");
    download($PATH,$urls{$f},$LOGIN,$PASS);
  } else { #print "    Present --> $PATH/$f\t$f\t$files{$f}\n";
  }
}

chmod(0644,"$PATH/*");

sub download()
{
  my ($path, $url, $login, $pass) = @_;
  system("$WGET -P $path --http-user=$login --http-password=$pass $url");
}
А необходимо качать с оф сайта ЧИСТЫЕ новые обновления и дополнения к полной версии !

Re: Зеркало обновлений NOD

Добавлено: 2008-04-15 11:02:27
demondem10
Да верно скрипт дергает с бесплатных источников обновления для 3 ветки, при необходимости конечно а не все подряд , проверяя нужно или нет? мне это подходит у меня ни ключа ни лицензий нет!
Скрипт для "бедных" :mrgreen:
А вам нуна копать скрипт на perl ! он имеет возможность подставлять логины и пароли, а еще мона менять источники от куда качать! А зеркало можно организовать при помощи ftp и направить вывод файлов обновлений туда, или с помощью smb для локалки! это кому как фантазия подскажет! у меня вывот на http://www.xxx.ru/nodbase/
и клиенты все туды конектятся тоесть по http обновляются !

Re: Зеркало обновлений NOD

Добавлено: 2008-04-15 12:16:12
Dolphin_BSD
demondem10 писал(а):Да верно скрипт дергает с бесплатных источников обновления для 3 ветки, при необходимости конечно а не все подряд , проверяя нужно или нет? мне это подходит у меня ни ключа ни лицензий нет!
Скрипт для "бедных" :mrgreen:
А вам нуна копать скрипт на perl ! он имеет возможность подставлять логины и пароли, а еще мона менять источники от куда качать! А зеркало можно организовать при помощи ftp и направить вывод файлов обновлений туда, или с помощью smb для локалки! это кому как фантазия подскажет! у меня вывот на http://www.xxx.ru/nodbase/
и клиенты все туды конектятся тоесть по http обновляются !
Как раздать людям єто мелочь.

Как стянуть с оф сайта все что надо, вот єто вопрос ! :( :twisted:

Re: Зеркало обновлений NOD

Добавлено: 2008-04-15 16:31:46
mrAli
Использовал тот же скрипт что и Dolphin_BSD. Для начачала долго ставил всевозможные LWP, после установки выкачал 180 метров обновлений для различных языков, придется переделывать скрипт..

Re: Зеркало обновлений NOD

Добавлено: 2008-04-15 18:38:48
Dolphin_BSD
mrAli писал(а):Использовал тот же скрипт что и Новое сообщение Dolphin_BSD. Для начачала долго ставил всевозможные LWP, после установки выкачал 180 метров обновлений для различных языков, придется переделывать скрипт..
Может у тебя что-то толковое выйдет ... так как я что-то не могу побороть .. на сегодня меня хватит уже :twisted: :( :?

Re: Зеркало обновлений NOD

Добавлено: 2008-04-15 21:56:58
mrAli
Dolphin_BSD писал(а): Может у тебя что-то толковое выйдет ... так как я что-то не могу побороть .. на сегодня меня хватит уже :twisted: :( :?
Хочешь получать обновления для 3ки, а не 2ки? Решение простое:
меняешь

Код: Выделить всё

download($PATH,"$URL_UPD/nod_upd/update.ver",$LOGIN,$PASS);
на

Код: Выделить всё

download($PATH,"$URL_UPD/eset_upd/update.ver",$LOGIN,$PASS);
Только таже проблема: выкачивает все подряд без разбора (для 2ки всевозможные языковые обновления, в 3 серии не разбирался, но список тоже длинный). Может у кого есть соображения на данный счет?

Re: Зеркало обновлений NOD

Добавлено: 2008-04-15 22:40:36
Dolphin_BSD
Ща пробую ! :P

Re: Зеркало обновлений NOD

Добавлено: 2008-04-15 23:00:23
Dolphin_BSD
Вот что получил после правки той строки :shock: :?

Код: Выделить всё

unix# /usr/local/etc/rc.d/nod32.sh
--22:58:21--  http://u24.eset.com/eset_upd/update.ver
           => `/var/www/NOD32_v3/update.ver'
Resolving u24.eset.com... 89.202.157.134
Connecting to u24.eset.com|89.202.157.134|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2,215 (2.2K) [application/octet-stream]

100%[=================================================================================================================>] 2,215         --.--K/s

22:58:21 (853.63 KB/s) - `/var/www/NOD32_v3/update.ver' saved [2215/2215]


--22:58:21--  http://u24.eset.com/data0001
           => `/var/www/NOD32_v3/data0001'
Resolving u24.eset.com... 89.202.157.134
Connecting to u24.eset.com|89.202.157.134|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
22:58:22 ERROR 404: Not Found.

Re: Зеркало обновлений NOD

Добавлено: 2008-04-16 8:15:54
mrAli
Сам пробовал - работает, но так как 3кй обновления не нужны были обновления, скачав пяток файлов, прервал.
Вот полный текст скрипта:

Код: Выделить всё

#!/usr/bin/perl

use LWP;

# path to store updates
$PATH="/export/www/nod";
 # way to wget
$WGET="/usr/local/bin/wget";
# username/password for updates registered users
$LOGIN="EAV-XXXXXXXX";
$PASS="XXXXXXXXXX";
# URL for updates
$URL_UPD="http://u21.eset.com/";

$URL_UPD =~ s/\/$//;
$URL_UPD =~ m/(.*:\/\/)(.*?)(\/.*)/;
$site = "$1$2";
if ($site =~ m//) {
  print "Enter correct URL\n";
  return;
}

unlink("$PATH/update.ver","$PATH/update.tmp");
download($PATH,"$URL_UPD/eset_upd/update.ver",$LOGIN,$PASS);
`/usr/local/bin/unrar e -y $PATH/update.ver $PATH 2> /dev/null`;
rename("$PATH/update.ver","$PATH/update.tmp");

$ver = "$PATH/update.tmp";
$vers = "$PATH/update.ver";

open(VER, "< $ver") or die "Couldn't open $ver for reading: $!\n";
open(VERS, "> $vers") or die "Couldn't open $vers for writing: $!\n";

%files = ();
%urls = ();

while (defined($line = <VER>) )
{
chomp $line;
($par,$val)=split /=/, $line;

$val = substr($val, 0, -1);

if ($par =~ /file/ )
{
  $name = '/'.$val;
  $name =~s/\/.*\///;
  $furl="$URL_UPD/$val";
  $line="file=$name";
}

if ($par =~/size/ )
{
  $size = $val;
  $files{$name} = $size;
  $urls{$name} = "$furl";
}

print VERS "$line\r\n";
}
print "\n";

close(VER);
close(VERS);

foreach $f (keys %files) {
  if ((-s "$PATH/$f") != $files{$f}){
#  $size = (-s "$PATH/$f");
#  print "Not present --> $PATH/$f\t$f\t$files{$f} ---> $size\n";
    unlink("$PATH/$f");
    download($PATH,$urls{$f},$LOGIN,$PASS);
  } else { #print "    Present --> $PATH/$f\t$f\t$files{$f}\n";
  }
}

chmod(0644,"$PATH/*");

sub download()
{
  my ($path, $url, $login, $pass) = @_;
  system("$WGET -P $path --http-user=$login --http-password=$pass $url");
}

Re: Зеркало обновлений NOD

Добавлено: 2008-04-16 23:17:25
Dolphin_BSD
Выкупил в чем была лажа ! Пасиб ... ща буду начинать юзать и тестить сново )))

Re: Зеркало обновлений NOD

Добавлено: 2008-04-17 8:14:06
demondem10
А в чем трабл? напиши или слабо?

Re: Зеркало обновлений NOD

Добавлено: 2008-04-21 8:36:32
Urgor
Модули LWP нах не нужны, качает же --- wget.
Ниже идет скрипт, которым уже неделю нормально обновляюсь...

Код: Выделить всё

/usr/home/urgor/>cat ./nod3upd.pl
#!/usr/bin/perl

# path to store updates
$PATH="/home/www/mail.kk.com/nod3";
# Путь к программе wget
$WGET="/usr/local/bin/wget"; 
# username/password for updates registered users
$LOGIN='EAV-0265хххх';
$PASS='4v5xh6хххх';
# URL for updates
$URL_UPD='http://u37.eset.com/';

$URL_UPD =~ s/\/$//;
$URL_UPD =~ m/(.*:\/\/)(.*?)(\/.*)/;
$site = "$1$2";
if ($site =~ m//) {
  print "Enter correct URL\n";
  return;
}

unlink("$PATH/update.ver","$PATH/update.tmp");
download($PATH,"$URL_UPD/eset_upd/update.ver",$LOGIN,$PASS);
system("/usr/local/bin/unrar e -y $PATH/update.ver $PATH");
rename("$PATH/update.ver","$PATH/update.tmp");

$ver = "$PATH/update.tmp";
$vers = "$PATH/update.ver";

open(VER, "< $ver") or die "Couldn't open $ver for reading: $!\n";
open(VERS, "> $vers") or die "Couldn't open $vers for writing: $!\n";

%files = ();
%urls = ();

$end = 0;

while (defined($line = <VER>) )
{
  chomp $line;

  if ($line =~ /COMPATLIST/) {
    $end = 1;
  }

  if ($end == 0) {
    ($par,$val)=split /=/, $line;

    $val = substr($val, 0, -1);

    if ($par =~ /file/ ) {
      $name = '/'.$val;
      $name =~s/\/.*\///;
      $furl="$URL_UPD$val";
      $line="file=$name";
    }

    if ($par =~/size/ ) {
      $size = $val;
      $files{$name} = $size;
      $urls{$name} = "$furl";
    }
  }
print VERS "$line\r\n";
}
print "\n";

close(VER);
close(VERS);

foreach $f (keys %files) {
  if ((-s "$PATH/$f") != $files{$f}){
    $size = (-s "$PATH/$f");
    print "Not present --> $PATH/$f\t$f\t$files{$f} ---> $size\n";
    unlink("$PATH/$f");
    download($PATH,$urls{$f},$LOGIN,$PASS);
  } else { #print "    Present --> $PATH/$f\t$f\t$files{$f}\n";
  }
}

chmod(0644,"$PATH/*");

sub download()
{
  my ($path, $url, $login, $pass) = @_;
  system("$WGET -P $path --http-user=$login --http-password=$pass $url");
}

Re: Зеркало обновлений NOD

Добавлено: 2008-04-23 9:33:15
demondem10
Вопрос по серверу обновлений который стоит в скрипте

Код: Выделить всё

HOSTUP_V3="http://nod32.i-files.org/v3/"
обновления перестали приходить ! Почему что то с сервером? кто то что то слышал об этом?

Re: Зеркало обновлений NOD

Добавлено: 2008-04-23 9:50:26
demondem10
И еще ?
поставил и запуслил скрипт для обновления для perl
подключился и сачал фил update.ver но в rar архиве.
это не есть гуд! папка то на сервере просто расшарина как ftp://*****/www/nodupd/v3/
а конекчусь я с локальных машин и он конечно же ничего по этой ссылке не видет!
как это решить? или он и должен в раре какчать? что то я не пойму.
Ранее пользовался др скриптом тут же выше выложен и там оновы в нормальном виде приходили но как писал выше что то с их сервером стало и на этом обновления прекратились!
какие есть идеи?

Re: Зеркало обновлений NOD

Добавлено: 2008-04-23 10:25:55
Urgor
рар-то поставить не забыл?

Re: Зеркало обновлений NOD

Добавлено: 2008-04-23 10:41:37
demondem10
яж говорю что папка зашарена на freebsd через ftp

Re: Зеркало обновлений NOD

Добавлено: 2008-04-23 11:11:09
Urgor
demondem10 писал(а):яж говорю что папка зашарена на freebsd через ftp
ну так проверь наличие /usr/local/bin/unrar и, если его нет, сделай cd /usr/ports/archivers/unrar && make install clean

Re: Зеркало обновлений NOD

Добавлено: 2008-04-23 11:52:49
demondem10
все понял и разобрался большое спасибо!
а вопрос что то не почучается через ftp://10.10.0.1/nodbase/ на нем папка расшарена в которой
скачаные updates лежат и адресс я для обновления в ноде такойже прописываю ftp://10.10.0.1/nodbase/ а он не хочет.
может потому что аез не поддерживает? а?

Re: Зеркало обновлений NOD

Добавлено: 2008-05-28 14:06:44
Andy2k
Хе-хе, давненько я не заглядывал в тему, смотрю народ тут уже много нафлудил....
Однако, так сказать, "возвращаясь к напечатанному": год назад ковырял нодовский updater под фрю тщась заставить его тягать обновления и создавать локальное зеркало. Вроде как что-то у меня получилось (судя по прошлогоднему посту :) ), но скорее всего не так как надо, потому что до прошлой недели никакого локального зеркала у меня не было, тягал я обновы через виндовый сервак откуда придется, самим виндовым нодом создавал зеркало и раздавал в локалке. Однако, последнее время халявные сервера стали косячить, то пароли меняются, то адреса, а поскольку серверов у меня с десяток в разных конторах стоит, пользователи стали доставать звонками "...а у меня в трее красный щит!" (гы, англичанина бы удар хватил). Короче, решил я разобраться с нодом и его обновлениями раз и навсегда - чтоб качал автоматом, только то, что нужно (а не по 8 метров в час), а главное - сам искал ключи для получения обновлений. В итоге нарыл скрипт от Cmyker aka Igorek Vokar. Скрипт предназначен для АВТОМАТИЧЕСКОГО поиска ключей и создания зеркал обновлений для ESET NOD32 v 3.x и ESET Smart Security (антивирь, антиспам и файервол в одном флаконе). Разумеется, без небольшого напильника не обошлось, но в итоге все взлетело.
Итак, по порядку:
1. Скачиваем скрипт тут http://www.mediafire.com/?znjb5btlpjl
2. Скачанный nod.tar.gz распаковываем куда-нибудь, ну например

Код: Выделить всё

/usr/local/nod32_upd_tools
3. Заходим в папку скрипта, видим папку lib, идем в нее и удаляем в ней файл unrar. Это линуховая версия, во фре она не работает.
4. Если unrar еще не установлен, ставим его из портов или пакетов и копируем фревый unrar в папку lib
5. Теперь правим сам скрипт upd.pl, а именно в параметр

Код: Выделить всё

$bases_path
прописываем, куда мы будем складывать обновления. Тут есть одна тонкость, связанная со структурой зеркала обновлений третьего нода - у него теперь update.ver лежит отдельно от самих файлов обновлений, поэтому если хотим раздавать получившееся зеркало по http надо либо сразу складывать все в корень web-сервера или потом делать туда симлинки.
6. Пробуем запустить upd.pl, и бежим смотреть в лог (nod32.log, появится в той же папке, где лежит upd.pl). Если все до этого сделали правильно, в логе увидим, что скрипт не нашел ключей для обновления, смотался за ними в гугль, сложил в файл /lib/nod32.auth а затем с их помощью закачал обновления с оффсайта нода. Ура!
7. Но это еще не все, имеем мы только обновления для "тройки", а для полноты картины хочется еще и для "двойки". Тоже не проблема. Ищем на сайте уважаемого Лиссяры статью про установку и настроку nod32, в конце статьи есть ссылки на скачивание самого нода и (САМОЕ ГЛАВНОЕ!) файла лицензии.
Устанавливаем скачанное (можно подсматривать одним глазом в статью), не забываем кинуть в папку /usr/local/ets/esets/license скачанную лицензию. Если не планируется использовать самого фришного нода, можно выкинуть скрипт его автозапуска из /usr/local/etc/rc.d/. Лично я использую только его фирменный updater, лежит тут - /usr/local/sbin/esets_update
8. Проверяем работу обновлялки для "двойки". Перед этим загляем в nod32.auth и посмотрим там текущий рабочий ключ (они одинаковы для "тройки" и "двойки"). Запускаем

Код: Выделить всё

#/usr/local/sbin/esets_update --username "имя" --password "пароль"
и видим, что обновления благополучно скачались. Далее можно подрихтовать файл /usr/local/etc/esets/esets.cfg на предмет расположения скачанных обновлений и прочих доступных опций, но лично я предпочитаю все перечислять в командной строке самого updater-а, благо по нему есть подробнейший man.
9. Теперь собираем все до кучи. Правим upd.pl, вставляя после строки

Код: Выделить всё

 chomp $password;
свою строчку

Код: Выделить всё

system("/usr/local/sbin/esets_update --base-dir "наш путь" --mirror-dir "наш путь" --username $username --password $password  --add-mod "ENGLISH:RUSSIAN">> $path/nod27.log");
параметр --add-mod заставляет нод помимо обновления антивирусной базы скачивать еще и обновления программных модулей для двух языков - русского и английского.
10. Снова запускаем upd.pl и убеждаемся, что в этот раз обновились оба зеркала, и вдобавок появился еще один лог - nod27.log

Вот собственно и все, можно закурить и оправится :)

Re: Зеркало обновлений NOD

Добавлено: 2008-05-28 14:37:05
Alex Keda
вместо копирования - симлинк не катит?