Проба пера: статья о создании зеркала для NOD32

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Le Travailleur
проходил мимо

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение Le Travailleur » 2008-08-18 15:44:33

Подтверждаю, новый скрипт Гостя работает хорошо, проблем пока не выявлено. Забит в ежечасный crond, обновления скачиваются оперативно, два-три раза за сутки.
Вопрос теперь только в том, что быдет, когда ключик, указанный в скрипте, кончится... :shock: Нельзя ли как-нибудь скрестить поиск ключей в гугле из самого первого скрипта и возможности по закачке из второго? :) Было бы прост чудесно! :"":

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

kryos
проходил мимо

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение kryos » 2008-08-27 10:49:41

Здравствуйте люди, может кто поможет скрипт который с автопоиском ключей почемуто уже не работает.. Пытался переделать другой скрипт для скачки с халявного зеркала не хочет никак . Ругается на отсуцтвие файла на сервере update.ver но если пройти по ссылке то он там есть... Что не так я делал ?

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

#!/usr/bin/perl

use LWP;

# path to store updates
$PATH="/usr/local/www/data";
# way to wget
$WGET="/usr/local/bin/wget";
# username/password for updates registered users
#$LOGIN="EAV-04170633";
#$PASS="a4ju642rvv";

# URL for updates
$URL_UPD="http://nod3.petabyte.ru/";

$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/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");
}

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение hizel » 2008-08-27 15:55:48

если вы закомментировали login и pass то
уберите их везде, включая

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

system("$WGET -P $path --http-user=$login --http-password=$pass $url");
хотя-бы приведите к виду

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

system("$WGET -P $path $url"); 
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.


Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение FenX » 2008-08-30 5:28:08

Если кому интересно:
скрипт из первого поста данной темы,
но качает wget`ом, плюс тянет обновки только с заданного сервера :)
Вложения
upd.zip
(174.23 КБ) 164 скачивания

leo_boy
рядовой
Сообщения: 14
Зарегистрирован: 2007-08-16 16:01:35
Откуда: Украина, Николаев
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение leo_boy » 2008-09-01 16:11:30

binmode() on closed filehandle F at /usr/local/nod32/upd.pl line 116, <AUTHFILE> line 10.
print() on closed filehandle F at /usr/local/nod32/upd.pl line 117, <AUTHFILE> line 10.
binmode() on closed filehandle F at /usr/local/nod32/upd.pl line 116, <AUTHFILE> line 10.
print() on closed filehandle F at /usr/local/nod32/upd.pl line 117, <AUTHFILE> line 10.
binmode() on closed filehandle F at /usr/local/nod32/upd.pl line 116, <AUTHFILE> line 10.
print
У меня также ругалось после того как я удалил все папки которые сам создал скрипт. Вторично почему-то он их создать не смог. Сам добавил руками с все заработало.. попробуй создать eset_upd и download ( в папке довнлоад нужно еще создать engine3 & engine3ess) (в скрипте можно посмотреть)

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение FenX » 2008-09-01 20:56:33

Не смог создать папки - из-за нехватки прав.
смотри под каким юзером запускаешь и смотри,
есть ли у него права на запись в корневую диру.

jesprit
проходил мимо
Сообщения: 6
Зарегистрирован: 2008-05-21 12:48:21

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение jesprit » 2008-09-01 23:24:18

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

Use of uninitialized value in split at ./upd.pl line 116.
--2008-09-02 03:22:48--  http://update.eset.com//eset_updupdate.ver
Resolving update.eset.com... 90.183.101.14, 90.183.101.16, 90.183.101.10, ...
Connecting to update.eset.com|90.183.101.14|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2008-09-02 03:22:48 ERROR 404: Not Found.

Use of uninitialized value in split at ./upd.pl line 116.
Вот что у меня. Но я так понимаю все ж таки адрес официальных обновлений, там явно все есть...и как то у меня 404 Not Found не вяжется со всем.

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение FenX » 2008-09-02 15:12:10

вот за лог спасибо :)
ща поправлю :)

Залил архив с поправленным скриптом.
Вложения
upd.zip
(174.22 КБ) 165 скачиваний

foks
проходил мимо

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение foks » 2008-09-03 13:32:20

1 Файлы и папки несоздаются под любым юзером при полных правах
2 создаёшь всё вручную, начинает фурычить, но не доконца
3 у wget на разных системах видимо по разному принемаетяс параметр password, в данном скрипте, в моём случае --http-password, нужно заменить на --httpd-passwd
4 скачка баз прошла, только почему то объём у папок engine3 скачаных скриптом из первого поста и последним разный.
5

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

-16:40:40--  http://update.eset.com/eset_updupdate.ver
           => `/var/db/eset_mirror/eset_updupdate.ver'
Resolving update.eset.com... 90.183.101.15, 90.183.101.16, 90.183.101.17, ...
Connecting to update.eset.com[90.183.101.15]:80... connected.
HTTP request sent, awaiting response... 404 Not Found
16:40:40 ERROR 404: Not Found.

foks
проходил мимо

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение foks » 2008-09-03 13:37:02

Сорь, файлы создаются, пути заметил потом. Но без файла nod32.auth ---

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

Can't locate object method "decoded_content" via package "HTTP::Headers" at (eval 20) line 1.
его закидываешь с первого скрипта и начинается даунлоад update.ver, а если в корне со криптом не будет папок eset_upd и download c соответствующими подпапками, то дальше скачка не идёт.

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение FenX » 2008-09-03 14:11:07

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

Проверь наличие модулей perl (LWP и URI) в системе.
Если нет, то попробуй поставить их (cpan -i LWP; cpan -i URI)

Le Travailleur
проходил мимо

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение Le Travailleur » 2008-09-03 16:46:59

FenX, потверждаю: со скриптом что-то "не айс". По логам ошибок, вроде, не светит, но тем не менне, НОД с ним не обновляется: вероятно, что-то не так с update.ver. До сих пор пользуюсь последним скриптом Гостя плюс последующая сортировка своим скриптом. Есть одно "маленькое но": в скрипте Гостя в результате создаются два файла: update.tmp и update.ver. Так вот, что бы все работало, как надо, приходится игнорировать update.ver и переименовывать update.tmp в update.ver с последующим переносом в нужную папку.
Может, конечно, и у меня что-то не так, но вот только таким образом все работает. Правда, скрипт Гостя не ищет пароли... :cry:

Да, если инетерсно будет, то могу архивнуть всю папочку со скриптами и притаттачить: вполне может быть, что это я идиот ;)

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение FenX » 2008-09-03 21:49:14

так.
с файлом update.ver проблем быть не должно =\
проверь - создаются ли все папки. проверь, складываются ли файлы в нужные дериктории.
Так же проверь наличае родного файла update.ver в base_dir/eset_upd/

foks
проходил мимо

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение foks » 2008-09-05 18:44:23

Естественно эти модули установлены и функционируют, начальный скрипт то от них и зависит. Впринципе то, если голова варит, заставить его работать можно, но меня смутило то, что размер баз начального скрипта и переделанного различный, хоть и незначительно(не более 1мб).

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение FenX » 2008-09-06 2:25:20

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

хотя у меня лично. в последнее время многие сервера обновления почему-то не доступны =(

Что касается самого скрипта:
по каким причинам именно не ф-ционирует?
где косяк?))
я просто поправлю и перезалью :)

foks
проходил мимо

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение foks » 2008-09-06 9:16:34

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

Но и есть пара моментов:
1 в архиве который ты залил, в директории lib отсутствует файл nod32.auth, содержаший ключ без которого скрипт работать не будет.
2 Пути в скрипте: не у всех wget лежит в usr/local/bin + unrar не всем подходит, но это уже "дело рук самих утопающих"

А зачем собственно убран блок поиска ключей и серверов. Может их лучше оставить + закачка wget'ом при которой недолжны "биться" файлы базы, как в начальном скрипте и не нужно было бы их чистить раз в сутки.

Аватара пользователя
Pez!
старшина
Сообщения: 436
Зарегистрирован: 2008-01-13 20:02:24
Откуда: москва матушка

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение Pez! » 2008-09-17 22:27:02

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

games1# /usr/local/www/eset_www/update_eset.sh
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/eset/lib/keys.pm line 146.
вот такое стало выскакивать при обновлениях, в логе обновы пишет, что гугл просит ввести картинку с капчи.

Ни кто не в курсе как побороть ? до этого месяц работало стабильно :-o
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.

Аватара пользователя
Pez!
старшина
Сообщения: 436
Зарегистрирован: 2008-01-13 20:02:24
Откуда: москва матушка

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение Pez! » 2008-09-17 22:38:41

прописал ключики вручную в файл nod32.auth и вроде обновилось, странно что только сейчас трабл появился
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.

NiTr0
мл. сержант
Сообщения: 109
Зарегистрирован: 2008-08-29 0:05:24

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение NiTr0 » 2008-09-21 0:42:54

Подпилил скрипт отсюда. Основные изменения:
  1. Апдейтит как 2, так и 3 версию; для v2 - можно указать языки программных модулей, которые будут копироваться (думаю, мало кому нужен апдейт для китайской версии ;) ), и ессно можно отключить апдейт для 2 или 3 версии "галочкой"
  2. При ошибке получения файла - не сохраняет битое нечто как файло апдейта, а просто игнорит
  3. Проверка не версий, а билдов (т.к. может быть теоретически свежее билд той же версии - во всяком случае, номер билда всегда больше номера версии, когда - на пару единиц, когда - на сотни, в зависимости от пакета)
  4. Теперь проверяется размер файлов не только для старых файлов, но и для файлов текущей версии (на случай кривого файла на исходном зеркале, недокачанного файла и т.д.)
  5. Сделано "умное" создание директорий (т.е. - директория создается тогда и только тогда, когда в нее требуется поместить файло - раньше было создание набора директорий при первом запуске по глупому условию)
  6. Выбор детализации логов (если откл детализацию - убираются сообщения о проверке сервера и о том, что на у нас база не старее чем на сервере)
  7. Прочие мелкие фиксы (касательно апдейтера, в "кейген" не лез ибо пока не глючил :) )
P.S. выявил и поправил кое-какие мелкие баги
Вложения
eset-updater.tbz
v2/v3 update script (fixed)
(62.63 КБ) 885 скачиваний

Аватара пользователя
cac2s
рядовой
Сообщения: 16
Зарегистрирован: 2008-09-23 17:45:09

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение cac2s » 2008-09-23 17:59:01

NiTr0 писал(а):Подпилил скрипт отсюда. Основные изменения:
  1. Апдейтит как 2, так и 3 версию; для v2 - можно указать языки программных модулей, которые будут копироваться (думаю, мало кому нужен апдейт для китайской версии ;) ), и ессно можно отключить апдейт для 2 или 3 версии "галочкой"
  2. При ошибке получения файла - не сохраняет битое нечто как файло апдейта, а просто игнорит
  3. Проверка не версий, а билдов (т.к. может быть теоретически свежее билд той же версии - во всяком случае, номер билда всегда больше номера версии, когда - на пару единиц, когда - на сотни, в зависимости от пакета)
  4. Теперь проверяется размер файлов не только для старых файлов, но и для файлов текущей версии (на случай кривого файла на исходном зеркале, недокачанного файла и т.д.)
  5. Сделано "умное" создание директорий (т.е. - директория создается тогда и только тогда, когда в нее требуется поместить файло - раньше было создание набора директорий при первом запуске по глупому условию)
  6. Выбор детализации логов (если откл детализацию - убираются сообщения о проверке сервера и о том, что на у нас база не старее чем на сервере)
  7. Прочие мелкие фиксы (касательно апдейтера, в "кейген" не лез ибо пока не глючил :) )
P.S. выявил и поправил кое-какие мелкие баги
Работает отменно, НО заметил два НО:

1. при первом запуске не хочет обновляться, т.к. не имеет фалов "update.ver". приходится качать руками и подсовывать в папки v2 и v3
2. если нет связи с внешним миром - пропадают те самые "подсунутые" или закаченные скриптом "update.ver", приходится опять подсовывать

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение FenX » 2008-09-23 18:03:48

1. Проверил у себя - всё замечательно качается и создаётся.
2. Эта проблема была со всеми предложенными скриптами :)

Аватара пользователя
cac2s
рядовой
Сообщения: 16
Зарегистрирован: 2008-09-23 17:45:09

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение cac2s » 2008-09-23 20:09:13

FenX писал(а):1. Проверил у себя - всё замечательно качается и создаётся.
только что переименовал update.ver - получил: couldn't open the v2/update.ver!
FenX писал(а):2. Эта проблема была со всеми предложенными скриптами :)
какая "эта"? подозреваю, что Вы меня не до конца поняли...
я имел ввиду, что, если запустить скрипт, когда у контупера нет доступа к миру, то пропадают файлы update.ver в папках v2 и v3.
после того, как связь появляется - наступает очередь первой (не закачиваются файлы update.ver)
результат - автоматические обновления становятся неавтоматичскими

З.Ы.: прошу прощения за, может быть, излишнее "разжОвывание", просто хочу быть уверен, что мы говорим об одном и том же ))

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение FenX » 2008-09-23 21:04:43

Да, мы говорим об одном и том же :)
Первая проблема, возможно связанна с нехваткой прав на директорию.
Проверь, есть ли права на запись.

А вот как побороть 2ю проблему (удаление файла) я хз.
Она идёт из-за того, что перед тем, как скачать новый update.ver,
скрипт переименовывает старый в update.ver.old

mymy
проходил мимо

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение mymy » 2008-09-24 5:56:48

Кто-нибудь может объяснить толково,почему стало такое происходить и как побороть это?

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

Use of uninitialized value in concatenation (.) or string at /usr/local/etc/nod-upd/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/etc/nod-upd/lib/keys.pm line 146.
Use of uninitialized value in concatenation (.) or string at /usr/local/etc/nod-upd/lib/keys.pm line 146.
Последний раз редактировалось Alex Keda 2008-09-24 8:03:15, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...