Last edited by max2007; 19-01-2012 at 22:28.
Asus RT-N16 FW:1.9.2.7-rtn-r2944 + HDD 1 TB WD WD10EARS + Mobile Rack AgeStar SUB3AHT
USB Flash 2 Gb Программы для чайника + nShaper + Poptop + Онлайн радио + Egreat EG-R1
да, полу-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-файл? (учитывая, что они у Вас "на каждом шагу"). Ибо другого объяснения у меня этому нет (
WL500gp-1.9.2.7-d-r2624
Да это мне просто мозг взрывает :-) Я ж из-за этого и написал, так оно работало и кушать не просило.
С 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 попыток - вываливаемся с ошибкой.
Потестил как мог. Теперь тесты за Вами (с нормальным ключом).
WL500gp-1.9.2.7-d-r2624
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
Last edited by Anthrax; 22-01-2012 at 22:29.
[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-скрипте есть занятное место: параметр, который указывает на сколько байт размер принятого файла может отличаться от заявленного в описании. Дело темное....
Last edited by GUID; 23-01-2012 at 17:02.
WL500gp-1.9.2.7-d-r2624
На том форуме что я приводил выше , повторю ссылку на всякий случай , автор гдето упоминал об этом , правда не помню где точно, нада перечитовать веткуP.S. На самом деле в упомянутом чуть выше php-скрипте есть занятное место: параметр, который указывает на сколько байт размер принятого файла может отличаться от заявленного в описании. Дело темное....
Asus RT-N16 FW:1.9.2.7-rtn-r2944 + HDD 1 TB WD WD10EARS + Mobile Rack AgeStar SUB3AHT
USB Flash 2 Gb Программы для чайника + nShaper + Poptop + Онлайн радио + Egreat EG-R1
WL500gp-1.9.2.7-d-r2624
Под убунтой работает как танк , одно в нём плохо ,что ключики сам не ищетпосматривать одним глазом в сторону php-скрипта (правда сам его не запускал ни разу).От если бы эту фичу кто взялся прикрутить ,былобы ок как не плохо
![]()
Asus RT-N16 FW:1.9.2.7-rtn-r2944 + HDD 1 TB WD WD10EARS + Mobile Rack AgeStar SUB3AHT
USB Flash 2 Gb Программы для чайника + nShaper + Poptop + Онлайн радио + Egreat EG-R1
2 GUID
Честно делает несколько авторизаций и завершается.
У меня ключ от EAV и скорее всего правда дело в этом.
Позже проверю, поставив ESS.
Т.е сделать ничего нельзя? Пусть сам выбирает ключи, на которые не будет ругаться?
На ESS обновляется почти до конца и вылетает с ошибкой логина-пароля.
Видимо, это какой-то файл чисто для ESS.
Нельзя никак целеноправленно исключать этот файл из парсинга?
Last edited by Anthrax; 24-01-2012 at 21:59.
Вообще-то это не предусмотрено. Нормальное решение - анализ php-скрипта (в нем есть разбиение по модулям в зависимости от "типа нода") и далее модификация этого. Но, не знаю - надо ли это... точнее соотношение усилие/выхлоп (лично для меня) кажется стремящимся к бесконечности.
На выходных постараюсь сделать "костылек" - тупо black list по названию файла.
WL500gp-1.9.2.7-d-r2624
Что нужно сделать если я имею как бы лицензионный (неофициальный) адрес обновлений без логина и пароля. Просто по адресу и порту. Мне не нужна проверка на логин и пасс. Как ее убрать ?
Оставте поля пустыми и всё !!!
Asus RT-N16 FW:1.9.2.7-rtn-r2944 + HDD 1 TB WD WD10EARS + Mobile Rack AgeStar SUB3AHT
USB Flash 2 Gb Программы для чайника + nShaper + Poptop + Онлайн радио + Egreat EG-R1