:eek::eek::eek:
:D
Printable View
А чё смешного то ???
http://www.speedtest.net/result/1718025100.png
Оптика от прова прям в квартиру , соеденение к прову по PPTP и всё это без труда переваривает RT-N16 с прошивкой от энтузиастов (низкий им поклонн )
да, полу-bug (
Объясняю. Файл конфига ищется в следующей последовательности:
(1) первый параметр скрипта;
(2) первый попавшийся файл *.conf в папке со скриптом;
(3) /opt/etc/nod32upd.conf
У Вас получается следующее: при ручном запуске подхватывается конфиг, который находится в папке со скриптом. При запуске через run-parts скрипт запускается с параметром start, который он считает именем файла конфига (и поэтому он присутствует в сообщении об ошибке) и пытается его найти, а поскольку такого файла нет, то аварийно завершается.
Что делать и как быть:
- (простой способ) его нет. У себя правил run-parts.
- (средний). Прописать запуск задания в crontab.
03 * * * * root /opt/etc/cron.hourly/nod32upd.sh путь_к_конфигу
- (сложный). В начале скрипта удалить все от строки
# загружаем файл настроек
и до строки:
. "$CONFIG_NAME"
Получится так:
CONFIG_NAME=""
. "$CONFIG_NAME"
Соответственно между кавычек "" указать путь к файлу конфига.
На самом деле я пока так и не решил стоит ли менять способ задания местоположения конфига (мне не нравится run-parts в _классическом_ виде). И мне не приходит в голову более удачное решение, чем то, которое реализовано.
BUG. Точнее так: я не думал, что честный пароль не пройдет проверки (получит отказ от сервера). И поэтому только на начальном этапе не загружается левый ключ, а после "отлупа" сервера - уже никто не смотрит на этот параметр. Как я уже говорил: ключа у меня нет, поэтому не тестировал эту часть.
И еще раз повторю вопрос: Вам не кажется странным, что сервер отвергает легальный ключ?!
Не может быть что использовался другой conf-файл? (учитывая, что они у Вас "на каждом шагу"). Ибо другого объяснения у меня этому нет (
Да это мне просто мозг взрывает :-) Я ж из-за этого и написал, так оно работало и кушать не просило.
С run-parts пропишу в cron, конечно же пофигу как он запускается, разница в реализации не велика.
А вот клюююч...
Т.е он смотрит update.ver, парсит его и начинает сверять файлы.Code:2012-01-21 01:11:19 Start NOD32 Updating script. ver 0.7.1. PID: 457
Downloading update.ver
2012-01-21 01:11:20 URL:http://update.eset.com/eset_upd/update.ver [7017/7017] -> "update.ver" [1]
Read list of Servers...
Checking http://93.184.71.27
2012-01-21 01:11:21 URL:http://93.184.71.27/eset_upd/v5/update.ver [7049/7049] -> "update.ver" [1]
Found new update.ver
Parsing new update.ver
Checking file: http://93.184.71.27/download/engine3/em000_32_l0.nup
Много-много cheking
2012-01-21 01:14:27 URL:http://93.184.71.27/download/beta/em009_32_n6.nup [129552/129552] -> "em009_32_n6.nup" [1]
Checking file: http://93.184.71.27/download/beta/em009_32_n7.nup
2012-01-21 01:14:28 URL:http://93.184.71.27/download/beta/em009_32_n7.nup [155163/155163] -> "em009_32_n7.nup" [1]
Checking file: http://93.184.71.27/download/engine3ess/em010_32_l0.nup
Authorization failed.
Downloading list of keys http://www.esetkeys.net...Ok
Get new username and password from list...Saving...Ok
Loading username & password from file
Username: EAV-58618751
Password: nu4t36svp3
2012-01-21 01:14:34 URL:http://93.184.71.27/download/engine3ess/em010_32_l0.nup [156745/156745] -> "em010_32_l0.nup" [1]
Checking file: http://93.184.71.27/download/engine3ess/em010_32_l1.nup
Еще больше cheking
И для каждого файла запрос идет со связкой имя\пароль, верно?
В единый момент времени проверка идет с одним конкретным сервером, верно?
И на каком-то запросе сервер шлет его, скрипт подбирает новый ключ и дальше заканчивает задачу?
Я все равно не могу понять, почему этот ключ без проблем работает в nod32 на ПК, я не понимаю, почему такие же обычные ключи нормально обрабатываются сервером, но может это из-за разной частоты опроса у скрипта и у ПО на ПК, может это не бан, а какой-нибудь неответ по таймауту...аааа %)
Я тут сегодня подумал и еще раз утвердился в мысли, что в данном случае неправ run-parts. Он навязывает параметр запускаемым программам. Не думаю, что это правильно с точки зрения "идеологии".
Во вложении подправленная версия. Что-то типа беты, поэтому тем, кто не использует ключи не рекомендую обновляться.
Что сделал:
- жесткое следование значению USELEGAL. Теперь поиска ключа не будет в любом случае (я надеюсь ;) ).
- при ошибке авторизации: пауза на AUTH_PAUSE секунд и снова попытка
- после AUTH_COUNT попыток - вываливаемся с ошибкой.
Потестил как мог. Теперь тесты за Вами (с нормальным ключом).
2 GUID
Огромнейшее спасибо за помощь!
Пока 3 раза запустил, базы не обновились еще и работает корректно.
У меня другая проблема.
Я начинающий в линуксовых делах, возможно, вопрос окажется совсем нубским, извиняйте :-)
Прописал в cron
01 * * * * root run-parts /opt/etc/nod32upd/nod32upd /opt/etc/nod32upd/nod32upd.conf
Ежечасно в логах проскакивает запуск, но скрипт не срабатывает.
Никаких сообщений об ошибке нет, как и о работе.
Вручную запускается без проблем.
vnstat каждые 5 минут тоже отрабатывает нормально.
Пробовал без конфига вписывать - аналогично.
----
Судя по логам всегда валится на
Checking file: http://93.184.71.27/download/engine3ess/em010_32_l0.nup
Гуглю em010_32_l0.nup, аналогичная проблема есть у людей, но я пока невкурил чего за дела.
SSN в архивной теме по обновлению писал, что аналогичная причина была из-за того, что при запуске кроном скрипту передаются неверные настройки окружения.
Но я ж его вручную запускаю...
Если открывать ссылку браузером и кормить ему ключ, он его тоже футболит.
Пару раз поймал такой же баг на ключах, выдранных с сайтов.
На 23-ей странице этой темы есть обсуждение, только я не понял решение ли это проблемы http://wl500g.info/showpost.php?p=199850&postcount=325
[QUOTE=Anthrax;244037]
Формат записи достаточно простой: [время][от_имени_кого_выполняется][команда]Code:Прописал в cron
01 * * * * root run-parts /opt/etc/nod32upd/nod32upd /opt/etc/nod32upd/nod32upd.conf
Т.о. должно быть так:
В 01 минуту каждого часа, каждого дня ... от имени root выполнить /opt/etc/nod32upd/nod32upd с параметром /opt/etc/nod32upd/nod32upd.confCode:01 * * * * root /opt/etc/nod32upd/nod32upd /opt/etc/nod32upd/nod32upd.conf
Примерно так...
Т.е. честно делает несколько попыток авторизации и потом падает? И всегда только на одном файле, да? И это постоянно или периодически?Code:Судя по логам всегда валится на
Checking file: http://93.184.71.27/download/engine3ess/em010_32_l0.nup
Что-то мне это напоминает историю с Win95 - ни в коем случае не пользоваться лицензией ;)Code:Если открывать ссылку браузером и кормить ему ключ, он его тоже футболит.
Специально посмотрел - у меня баги были на других файлах (каждый раз новые). Но поскольку их было штуки 3 за 2мес*30дней*24 попыток обновлений (ежечастные), то я как бы забил на это дело.Code:Пару раз поймал такой же баг на ключах, выдранных с сайтов.
А у Вас ключ от EAV или ESS? Может быть действительно в это дело?
Там предлагают его не загружать... моим скриптом (да и последней версией 0.6.хх ветки) не предусмотрено загрузка обновлений разных модулей в зависимости от "типа нода".
Предлагаю тест: если с Вашим ключом это обновление не загружается через браузер, то "вставить" его в нод и посмотреть в about (или где еще), к чему относится ключ. После чего "наковырять" левый ключ и точно также посмотреть к чему он относится и будет ли загружаться этот файл обновления в браузере.
Или поставить ESS и попробовать скормить ему этот ключ...
P.S. На самом деле в упомянутом чуть выше php-скрипте есть занятное место: параметр, который указывает на сколько байт размер принятого файла может отличаться от заявленного в описании. Дело темное....
На том форуме что я приводил выше , повторю ссылку на всякий случай , автор гдето упоминал об этом , правда не помню где точно, нада перечитовать веткуQuote:
P.S. На самом деле в упомянутом чуть выше php-скрипте есть занятное место: параметр, который указывает на сколько байт размер принятого файла может отличаться от заявленного в описании. Дело темное....
Под убунтой работает как танк , одно в нём плохо ,что ключики сам не ищет :( От если бы эту фичу кто взялся прикрутить ,былобы ок как не плохо :)Quote:
посматривать одним глазом в сторону php-скрипта (правда сам его не запускал ни разу).
2 GUID
Честно делает несколько авторизаций и завершается.
У меня ключ от EAV и скорее всего правда дело в этом.
Позже проверю, поставив ESS.
Т.е сделать ничего нельзя? Пусть сам выбирает ключи, на которые не будет ругаться?
На ESS обновляется почти до конца и вылетает с ошибкой логина-пароля.
Видимо, это какой-то файл чисто для ESS.
Нельзя никак целеноправленно исключать этот файл из парсинга?
Вообще-то это не предусмотрено. Нормальное решение - анализ php-скрипта (в нем есть разбиение по модулям в зависимости от "типа нода") и далее модификация этого. Но, не знаю - надо ли это... точнее соотношение усилие/выхлоп (лично для меня) кажется стремящимся к бесконечности.
На выходных постараюсь сделать "костылек" - тупо black list по названию файла.
Что нужно сделать если я имею как бы лицензионный (неофициальный) адрес обновлений без логина и пароля. Просто по адресу и порту. Мне не нужна проверка на логин и пасс. Как ее убрать ?
Оставте поля пустыми и всё !!!