Перейти к содержимому


Фото
- - - - -

Создание зеркала обновлений на Linux сервере для Windows машин


  • Please log in to reply
203 ответов в этой теме

#41 Axel

Axel

    Member

  • Posters
  • 215 Сообщений:

Отправлено 10 Апрель 2009 - 15:00

:> perl 3drwebupw.pl
403 Forbidden (file http://update.drweb.com/500/windows/drweb32.lst)
can't open ./update/500/drweb32.lst (No such file or directory)
вот так отпинывается....
и тута мне подмогнули с проксей:
my $ua = LWP::UserAgent->new;
	$ua->env_proxy;
	$ua->agent("DrWebUpdate-5.00.3.03020 (windows: 5.00.2195)");
иначе перловка напрямую рвется в инет, а его у меня напрямую нету :)


Нескачивание LST -- это следствие отсутвия коннекта через прокси. Спасибо за тестирование. На выходных, если будет время, поправлю.

#42 polkan

polkan

    Newbie

  • Posters
  • 15 Сообщений:

Отправлено 13 Апрель 2009 - 02:05

без прокси у меня вот так выглядит
:> perl 3drwebupw.pl
500 Can't connect to update.drweb.com:80 (connect: Invalid argument) (file http://update.drweb.com/500/windows/drweb32.lst)
can't open ./update/500/drweb32.lst (No such file or directory)
а 403 - это запрет... то есть дрвебовский сервер отпинывает... думал, что из за версии клиента или ОС... пробовал сменить 03020 на 3020 (побуквенно с версии файла), а также ОС с 2195 на 2600... толку нет.... значит не тут полкан порылся :)

ЗЫ
может я и совсем болван в перловке, но я не вижу куда приткнулся хеш мд5 в запросе на lst-файл (кусок кода с вики)
my $md5 =  Digest::MD5->new->addfile(*FILE)->hexdigest;

# download drweb32.lst
download("$url/drweb32.lst",$basedir.'/drweb32.lst');


#43 Axel

Axel

    Member

  • Posters
  • 215 Сообщений:

Отправлено 13 Апрель 2009 - 07:18

"403" может быть связано с забаненым или просроченным ключом

MD5 используется в функции download

sub download {    my ($url,$file,$crc)=@_;    my $ua = LWP::UserAgent->new;    $ua->agent("DrWebUpdate-5.00.3.03020 (windows: 5.00.2195)");    $ua->default_header(&#39;X-DrWeb-KeyNumber&#39; => <strong class='bbc'>$md5</strong>);


#44 polkan

polkan

    Newbie

  • Posters
  • 15 Сообщений:

Отправлено 13 Апрель 2009 - 09:44

хм... но с виндов то обновляется... и ключ у меня ЛИЦЕНЗИОННЫЙ и ДЕЙСТВУЮЩИЙ до 2010 года :) причем именно с мастер-файла прямую копию сделал... винды тоже с этого же мастерфайла устанавливаются.... мд5 проверил от греха на мастерфайле и на копии для скрипта, совпали до символа

Version=All
Applications=DrWeb386,DrWebWCL,DrWebGUI,SpIDerMe,SpIDerXP,SpIDerMailHome,Update,
Scheduler,TheBatPlugin,DrWebWinMobile
Created=2008-02-01 &#40;01&#58;03&#41; UTC
Expires=2010-02-19 &#40;01&#58;03&#41; UTC
SubscriptionExpires=2010-02-19 &#40;01&#58;03&#41; UTC

ДОПОЛНЕНО:
проблема была в сервере дрвеба!... сменил урл на зеркало и все полетело! :)

Предложение (хотелка): парсить бы урлы с update.drl... было бы полегче... и вопрос: чо за сигнатура в том файле последней строкой? для чего она?

#45 Axel

Axel

    Member

  • Posters
  • 215 Сообщений:

Отправлено 14 Апрель 2009 - 09:31

сменил урл на зеркало и все полетело!


На какой адрес сменили?

чо за сигнатура в том файле последней строкой? для чего она?


Если вы про drl, то это сигнатура DrWeb, по которой он проверяет подлинность файла. Это надо для того, чтобы не было фейковых зон.

#46 polkan

polkan

    Newbie

  • Posters
  • 15 Сообщений:

Отправлено 14 Апрель 2009 - 10:07

my $url	  = &#39;http&#58;//update.msk.drweb.com/500/windows&#39;;
из файла второй... могно и третий и четвертый :)
для автоматизации "могно" и хотелось бы блок перебора адресов узреть... типа if 403 to next-url (школьный бейсик и ничего более :) )

#47 Axel

Axel

    Member

  • Posters
  • 215 Сообщений:

Отправлено 14 Апрель 2009 - 16:50

для автоматизации "могно" и хотелось бы блок перебора адресов узреть... типа if 403 to next-url (школьный бейсик и ничего более wink.gif )


Этот код надо из update.pl взять

Будет время, сделаю вам могнО =)

#48 polkan

polkan

    Newbie

  • Posters
  • 15 Сообщений:

Отправлено 22 Апрель 2009 - 07:16

вот гадость то! :) целый день потерял, но не смог настроить обновление по крону :)

с консоли все отрабатывает, а вот в кроне не живет... и окружение поправил(прокси в sh ввел), и пути добавил в кронтаб (perl портовый и живет в /usr/local/bin а в /usr/bin линк лежит), а не получается каменный цветок :) чо к чому? ничо понять не могу.... хоть бы чо нить типа $log заваять в скрипт перла? чтобы следы его работы и где он затыкается видеть (ну не повар я перловый... совсем не повар)

дополнено: опытным путем выяснено, что не передается окружение (прокси) перлу. Вопрос: как указать явным образом прокси в скрипте? а не через окружение (my $env_proxy)

дополнено: РЕШЕНО

для тех кто за прокси: в блок sub download { требуется дописать прокси явным образом (из переменных оно не отдается) $ua->proxy(['http'], 'http://address:port');

также для мониторинга крона во время тестовых запусков полезно сделать
[min] [hour] * * * /path/to/update.pl > /path/to/log/update.log 2>&1
и тама смотреть вывод работы скрипта

вики дополнил

#49 Axel

Axel

    Member

  • Posters
  • 215 Сообщений:

Отправлено 23 Апрель 2009 - 12:26

дополнено: опытным путем выяснено, что не передается окружение (прокси) перлу. Вопрос: как указать явным образом прокси в скрипте? а не через окружение (my $env_proxy)


Вообще, $ua->env_proxy берет переменные прокси из переменных

gopher_proxy=http&#58;//proxy.my.place/
  wais_proxy=http&#58;//proxy.my.place/
  no_proxy=&#34;localhost,my.domain&#34;
чтобы они передавались перлу, их нужно выставить

export gopher_proxy wais_proxy no_proxy

Сделать это можно при вызове update.pl. НО подразумевается, что они уже выставлены. Поэтому я прописывать прокси и не тороплюсь в скрипте.

также для мониторинга крона во время тестовых запусков полезно сделать
[min] [hour] * * * /path/to/update.pl > /path/to/log/update.log 2>&1
и тама смотреть вывод работы скрипта

При работе крона сперва надо смотреть его лог: /var/cron/log
А, если нужен вывод скрипта в лог можно написать так
open&#40;STDOUT, &#39;|tee log.log&#39;&#41;;
open&#40;STDERR, &#39;>&STDOUT&#39;&#41;;

binmode&#40;STDOUT&#41;;
binmode&#40;STDERR&#41;;

STDOUT->autoflush&#40;&#41;;
STDERR->autoflush&#40;&#41;;
но этого в скрипте я писать не буду :). Если кому-то понадобится вывод, то он сделает так, как вы предложили.

#50 polkan

polkan

    Newbie

  • Posters
  • 15 Сообщений:

Отправлено 28 Апрель 2009 - 03:16

Вообще, $ua->env_proxy берет переменные прокси из переменных

позорище на мою голову :) спутал окружение в целом и переменные, хотя по сути одно и то же "не пашеть" :)
ОС у меня FreeBSD8 шелл для крона sh

/etc/profile
HTTP_PROXY=http&#58;//192.168.0.1&#58;3128; export HTTP_PROXY
FTP_PROXY=http&#58;//192.168.0.1&#58;3128; export FTP_PROXY
назначает прокси в системе для крон-заданий (проверено шелльными скриптами)

в лог крона льется только кроновые события, но никак не ерроры скриптов (если конечно там явно не указано литься в лог крону) и понять по этому логу почему не отрабатывает никак нельзя.

#51 ZYV

ZYV

    Newbie

  • Posters
  • 5 Сообщений:

Отправлено 05 Май 2009 - 20:24

Уважаемые коллеги-админы.

Прикупили в рамках акции для школ серверную версию DrWeb для Windows и пачку клиентских лицензий. Однако старый сервер под Windows через какое-то время будет выведен из употребления, поэтому хотелось бы сделать локальное зеркало обновлений под Linux - канал жалко забивать 20 раз одни и те же обновления скачивая. Читал-читал ваш топик, но так и не понял, а нельзя что-ли сделать зеркало через wget или rsync просто зеркалируя соответствующие папки FTP, а потом на клиентах прописать URL локального HTTP-сервера?

Вот так, например,

0 12 * * * wget -cm -np -l1 -nd -P/usr/local/www/drweb_update/ ftp://ftp.drweb.com/pub/drweb/bases/


как написано тут - http://forum.lissyara.su/viewtopic.php?f=3&t=13430 ? Трафика мне не жалко ибо безлимитный, просто днем канал загружен. А так бы я поставил раз в ночь обновлять зеркало полностью.

В чем засада?

#52 HHH

HHH

    Massive Poster

  • Posters
  • 2 714 Сообщений:

Отправлено 05 Май 2009 - 20:36

...
Читал-читал ваш топик, но так и не понял, а нельзя что-ли сделать зеркало через wget или rsync просто зеркалируя соответствующие папки FTP, а потом на клиентах прописать URL локального HTTP-сервера?
...
В чем засада?

Так вы скачаете только базы, а у DrWeb важно обновлять еще и компоненты. Это можно сделать только с области обновлений, на ftp компоненты не выкладывают.

#53 userr

userr

    Newbie

  • Members
  • 16 310 Сообщений:

Отправлено 05 Май 2009 - 21:14

Читал-читал ваш топик, но так и не понял, а нельзя что-ли сделать зеркало через wget или rsync просто зеркалируя соответствующие папки FTP, а потом на клиентах прописать URL локального HTTP-сервера?

прописать URL локального HTTP-сервера - вот этого нельзя сделать. см http://wiki.drweb.com/index.php/Создание_з...я_Windows_машин

как написано тут - forum.lissyara.su...

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

#54 ZYV

ZYV

    Newbie

  • Posters
  • 5 Сообщений:

Отправлено 05 Май 2009 - 21:24

Спасибо большое за пояснения, грустная какая-то картина вырисовывается. Если, скажем, я возьму скрипт, который лежит в wiki, и буду делать зеркало им, каков риск, что на стороне DrWeb что-то поменяют и всё сломается? Мне не хочется следить постоянно за его обновлениями.

А как-же тогда обновлять клиентские машины, если нельзя прописать и почему так странно сделано? У Касперского, я помню, я прямо в программе прописывал адрес зеркала. Надо отключить автоматическое обновление и добавить в расписание задачу как сказано в wiki? А вместо UNC-пути HTTP-адрес можно указать?

Что-то я склоняюсь к тому, чтобы не делать никакого зеркала. Непонятно чем это так выгодно DrWeb только, с меня же трафик будет в 20 раз больше и нагрузка на их сервера. Ну да ладно.

#55 userr

userr

    Newbie

  • Members
  • 16 310 Сообщений:

Отправлено 05 Май 2009 - 21:36

А вместо UNC-пути HTTP-адрес можно указать?

Для штатной утилиты обновления ? Нет, нельзя.

Что-то я склоняюсь к тому, чтобы не делать никакого зеркала.


А почему? У Вас машины не объединены в локальную сеть Microsoft ? В локальной сети очень просто сделать зеркало на машине под Windows. Зеркало обновлений на Linux сделать потруднее, но в этой теме и на wiki всё подробно расписано. В чём именно проблема?

#56 ZYV

ZYV

    Newbie

  • Posters
  • 5 Сообщений:

Отправлено 05 Май 2009 - 23:45

У меня на старый сервер под Windows поставилась версия 4.x, я так понимаю, что для серверов версии 5.x не существует (пока?). Соответственно, если я захочу сделать зеркало под Windows, то клиенты, на которых 5.x не смогут с него обновляться. Лишней машины под XP для этого дела у меня не завалялось, чтобы туда поставить 5.x и сделать зеркало на ней.

По поводу "под Linux" - вы сами только что ответили, что официально обновление с HTTP не поддерживается, т.е. мне ещё и Самбу там придется поднимать, а кроме того остался не отвеченным вопрос о статусе этого самого скрипта в wiki, а именно, могу ли я его поставить и забыть на весь срок жизни пятерки или мне надо будет постоянно следить, что всё правильно работает. Если второе - то сами посудите, чего мне беспокоиться о трафике на сервера DrWeb и ещё ручками клиенты настраивать на обновление? Не надо, так и не надо.

#57 Borka

Borka

    Забанен за флуд

  • Members
  • 19 512 Сообщений:

Отправлено 06 Май 2009 - 00:04

У меня на старый сервер под Windows поставилась версия 4.x, я так понимаю, что для серверов версии 5.x не существует (пока?).

В стадии беты: http://news.drweb.com/show/?i=266&c=5

Соответственно, если я захочу сделать зеркало под Windows, то клиенты, на которых 5.x не смогут с него обновляться. Лишней машины под XP для этого дела у меня не завалялось, чтобы туда поставить 5.x и сделать зеркало на ней.

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

могу ли я его поставить и забыть на весь срок жизни пятерки или мне надо будет постоянно следить, что всё правильно работает. Если второе - то сами посудите, чего мне беспокоиться о трафике на сервера DrWeb и ещё ручками клиенты настраивать на обновление? Не надо, так и не надо.

Контроль никогда не помешает. Ну а если траффика не жалко, то можно и так.
С уважением,
Борис А. Чертенко aka Borka.

#58 Axel

Axel

    Member

  • Posters
  • 215 Сообщений:

Отправлено 06 Май 2009 - 08:02

По поводу "под Linux" - вы сами только что ответили, что официально обновление с HTTP не поддерживается, т.е. мне ещё и Самбу там придется поднимать,


Либо апач, либо самба.

а кроме того остался не отвеченным вопрос о статусе этого самого скрипта в wiki, а именно, могу ли я его поставить и забыть на весь срок жизни пятерки или мне надо будет постоянно следить, что всё правильно работает.


А вы посмотрите, как скрипт работает. На самом деле, там сейчас не надо думать о компонентах, просто устрашающая надпись осталась. В Dr.Web в плане обновления уже очень давно ничего не менялось на серверах.

Может, polkan, скажет много ли он на администрирование тратит времени.

IMHO: Если вы работаете администратором, а тем более безопасности, то следить, чтобы все правильно работало, это первая задача.

#59 userr

userr

    Newbie

  • Members
  • 16 310 Сообщений:

Отправлено 06 Май 2009 - 09:47

У меня на старый сервер под Windows поставилась версия 4.x, я так понимаю, что для серверов версии 5.x не существует (пока?). Соответственно, если я захочу сделать зеркало под Windows, то клиенты, на которых 5.x не смогут с него обновляться. Лишней машины под XP для этого дела у меня не завалялось, чтобы туда поставить 5.x и сделать зеркало на ней.

1. Зеркало для обновления Drweb 5 в локальной сети можно сделать на любой Windows машине, не важно сервер или нет, и при этом не имеет значения, инсталлирован на этой машине Drweb или нет.
2. Как уже писали, есть бета Drweb 5 для серверов, в состоянии "почти релиз" http://forum.drweb.com/public/style_emoticons/default/smile.png
3. Работа зеркала для обновления Drweb 5 не "напрягает" компьютер

По поводу "под Linux" - вы сами только что ответили, что официально обновление с HTTP не поддерживается, т.е. мне ещё и Самбу там придется поднимать

Ну и что страшного? Раз поднять и забыть ;)

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

Задумывался он именно так, автор Вам ответил.
Но знаете, это только в сказках бывает, что админ всё поставил и забыл, а сеть весь срок жизни сама работает.

#60 Konstantin Yudin

Konstantin Yudin

    Смотрящий

  • Dr.Web Staff
  • 19 552 Сообщений:

Отправлено 06 Май 2009 - 10:47

В Dr.Web в плане обновления уже очень давно ничего не менялось на серверах.

ни что не вечно под луной http://forum.drweb.com/public/style_emoticons/default/smile.png
With best regards, Konstantin Yudin
Doctor Web, Ltd.


Читают тему: 0

0 пользователей, 0 гостей, 0 скрытых