Форум OlegON > Программы и оборудование для автоматизации торговли > Кассовые программы > УКМ-4

Проблема с обновлением с 51й на 53ю версию : УКМ-4

22.11.2024 8:41


28.08.2013 21:37
Доброго времени суток.
Вышла 53я версия УКМа и решили мы перейти на неё с нашей 50й.С 50й на 51ю версию обновление прошло в штатном режиме,а вот с 51ой и далее на 52-53 застопорилось.Всё дело в том,что я пользуюсь предварительной закачкой обновления на кассы(думаю как и многие),ввиду того что каналы между кассами в магазинах-сервером довольно хилые(серверов магазинов у меня нет) и пока каждая касса будет закачивать минут по 30-40 обновление ждать не хочется. Проще закачать заранее и обновиться в 1 день.Вот тут то и закралась проблема-на 51 версии обновление,честно скачанное с ftp С+ вдруг отказалось предварительно качаться на кассы(проверил несколько),выдав следующее:
"//192.168.1.166/ukmupdates не найдены пакеты обновлений для текущей версии"
Хотя все пакеты лежат там где нужно.Звонок в С+ не дал ничего...мол качайте на кассы ручками,не работает-признаём.Магазины все удалены друг от друга и очень накладно развозить в каждый обновление и закатывать руками(2 обновления весят около 800 с лишним метров и по ВПН качаться будет до вторго пришествия).И собсно вопрос-может кто знает как решить кроме вышеописанных методов/заставить заработать предварительную закачку?И вопрос два-заметил что обновление,которое выкачивает касса меньше чем всё обновление С+(1.3 ГБ-обновление С+ с 50й на 51ю версию,а у кассы в папке всего лишь 100МБ),соответственно как дёрнуть нужное кассе из обновления,чтобы не тащить на неё всё?
29.08.2013 01:12
Так,а почему так уверен, что кассе не хватает обновлений?
Во вторых через putty можно на кассу всё закачать.
29.08.2013 03:38
Цитата:
Artem_sdw Проще закачать заранее и обновиться в 1 день.Вот тут то и закралась проблема-на 51 версии обновление,честно скачанное с ftp С+ вдруг отказалось предварительно качаться на кассы(проверил несколько),выдав следующее:
"//192.168.1.166/ukmupdates не найдены пакеты обновлений для текущей версии"
Хотя все пакеты лежат там где нужно.
Мы обновлялись сходу с 50sp1 до 52sp1, была такая же проблема с предварительной закачкой. После пара-тройка-часовых экспериментов на стенде был выработан следующий порядок действий:

1. Скопировать в %programfiles%\ukmserver\ukmupman\updates пакеты zip и md5 (как обычно), на всякий случай, удалить лишнее. У нас получилось так:

00005001-00005002.ops.s.zip
00005001-00005002.ops.s.zip.md5
00005002-00005003.ops.s.zip
00005002-00005003.ops.s.zip.md5
00005003-00051000.ops.s.zip
00005003-00051000.ops.s.zip.md5
00005003-00051000.prg.s.zip
00005003-00051000.prg.s.zip.md5
00052000.bin.s.zip
00052000.bin.s.zip.md5
00052000.dat.s.zip
00052000.dat.s.zip.md5
00052001.bin.s.zip
00052001.bin.s.zip.md5
00052001.dat.s.zip
00052001.dat.s.zip.md5
bottoms\

2. При запуске закачки пакетов на кассы, если всё проходит без ошибок, то Апач сначала извлекает из этих zip-пакетов tgz и их md5 для касс в папку %programfiles%\Apache Group\Apache2ukm\htdocs\ukmupdates. Но если возникает ошибка, то надо положить эти файлы туда вручную. Извлекаем в эту папку (предварительно очистив её) из zip-пакетов файлы tgz и md5, а так же кладём туда же файлы md5 самих zip-пакетов - почему-то это оказалось важно!! У нас получилось так:

00005001-00005002.ops.c.tgz
00005001-00005002.ops.c.tgz.md5
00005001-00005002.ops.s.zip.md5
00005002-00005003.ops.c.tgz
00005002-00005003.ops.c.tgz.md5
00005002-00005003.ops.s.zip.md5
00005003-00051000.ops.c.tgz
00005003-00051000.ops.c.tgz.md5
00005003-00051000.ops.s.zip.md5
00005003-00051000.prg.c.tgz
00005003-00051000.prg.c.tgz.md5
00005003-00051000.prg.s.zip.md5
00052000.bin.c.tgz
00052000.bin.c.tgz.md5
00052000.bin.s.zip.md5
00052000.dat.c.tgz
00052000.dat.c.tgz.md5
00052000.dat.s.zip.md5
00052000.lin.php.bin.c.tgz
00052000.lin.php.bin.c.tgz.md5
00052000.lin.ukmcdisplaygr.bin.c.tgz
00052000.lin.ukmcdisplaygr.bin.c.tgz.md5
00052000.lin.ukmclient.bin.c.tgz
00052000.lin.ukmclient.bin.c.tgz.md5
00052000.web.bin.c.tgz
00052000.web.bin.c.tgz.md5
00052001.bin.s.zip.md5
00052001.dat.s.zip.md5

всякие лишние пакеты типа ukmsrv, lillo, pchsrv я поудалял, перепаковав так же zip-пакеты и обновив им md5.

3. перезапустить службу Апача. При возникновении ошибки распаковки в Апаче что-то залипает и повторная попытка копирования файлов не происходит - рестарт службы выводит его из оцепенения. После этого файлы должны зазакачиваться.

Странной для меня осталась необходимость класть md5 zip-пакеты в папку htdocs\ukmupdates.. Но поэкспериментируй. Во всяком случае, этого не потребовалось при подготовке пакетов версии 52sp3, до которой мы обновились в минувший понедельник.

Ещё нам когда-то давно приходилось делать настройку в файле phpukm\php.ini:

memory_limit = 512M ; Maximum amount of memory a script may consume (128MB)

прежнее маленькое значение не позволяло пакетам распаковываться..

Вообще, стенд - великая вещь, все обновления мы обкатываем на отдельном стенде, это позволяет выработать оптимальный план обновления и подготовиться/предотвратить любые косяки, заодно оттестировать новый функционал и по возможности - используемый базовый, оперативно выпросив у С+ патч с исправлением выявленного критичного или подготовив затычки для относительно безболезненного ожидания исправлений менее критичных багов. В итоге обновляем за одну ночь всю сеть: СГО (+ реплику MySQL), 38 СМов и 277 касс в 140 магазинах.
29.08.2013 10:43
а можно upman.log с кассы в студию?
29.08.2013 11:41
Цитата:
whitewizard Так,а почему так уверен, что кассе не хватает обновлений?
Во вторых через putty можно на кассу всё закачать.
Уверен благодаря этой надписи:
"//192.168.1.166/ukmupdates не найдены пакеты обновлений для текущей версии"
появляющейся через пару секунд после начала предварительной закачки и обследования каталога кассы /usr/local/ukmclient/ukmupman/update.:)
А мой вопрос как раз и заключался в том чтобы ручками(через putty или winscp и т.д.,неважно чем) закачать обновления на кассу,но не все,что в архиве С+,а те что нужны именно кассовому терминалу.
29.08.2013 11:49
Цитата:
Onesoft 2. При запуске закачки пакетов на кассы, если всё проходит без ошибок, то Апач сначала извлекает из этих zip-пакетов tgz и их md5 для касс в папку %programfiles%\Apache Group\Apache2ukm\htdocs\ukmupdates. Но если возникает ошибка, то надо положить эти файлы туда вручную. Извлекаем в эту папку (предварительно очистив её) из zip-пакетов файлы tgz и md5, а так же кладём туда же файлы md5 самих zip-пакетов - почему-то это оказалось важно!! У нас получилось так:

00005001-00005002.ops.c.tgz
00005001-00005002.ops.c.tgz.md5
00005001-00005002.ops.s.zip.md5
00005002-00005003.ops.c.tgz
00005002-00005003.ops.c.tgz.md5
00005002-00005003.ops.s.zip.md5
00005003-00051000.ops.c.tgz
00005003-00051000.ops.c.tgz.md5
00005003-00051000.ops.s.zip.md5
00005003-00051000.prg.c.tgz
00005003-00051000.prg.c.tgz.md5
00005003-00051000.prg.s.zip.md5
00052000.bin.c.tgz
00052000.bin.c.tgz.md5
00052000.bin.s.zip.md5
00052000.dat.c.tgz
00052000.dat.c.tgz.md5
00052000.dat.s.zip.md5
00052000.lin.php.bin.c.tgz
00052000.lin.php.bin.c.tgz.md5
00052000.lin.ukmcdisplaygr.bin.c.tgz
00052000.lin.ukmcdisplaygr.bin.c.tgz.md5
00052000.lin.ukmclient.bin.c.tgz
00052000.lin.ukmclient.bin.c.tgz.md5
00052000.web.bin.c.tgz
00052000.web.bin.c.tgz.md5
00052001.bin.s.zip.md5
00052001.dat.s.zip.md5

всякие лишние пакеты типа ukmsrv, lillo, pchsrv я поудалял, перепаковав так же zip-пакеты и обновив им md5.

3. перезапустить службу Апача. При возникновении ошибки распаковки в Апаче что-то залипает и повторная попытка копирования файлов не происходит - рестарт службы выводит его из оцепенения. После этого файлы должны зазакачиваться.

Странной для меня осталась необходимость класть md5 zip-пакеты в папку htdocs\ukmupdates.. Но поэкспериментируй. Во всяком случае, этого не потребовалось при подготовке пакетов версии 52sp3, до которой мы обновились в минувший понедельник.

Ещё нам когда-то давно приходилось делать настройку в файле phpukm\php.ini:

memory_limit = 512M ; Maximum amount of memory a script may consume (128MB)

прежнее маленькое значение не позволяло пакетам распаковываться..

Вообще, стенд - великая вещь, все обновления мы обкатываем на отдельном стенде, это позволяет выработать оптимальный план обновления и подготовиться/предотвратить любые косяки, заодно оттестировать новый функционал и по возможности - используемый базовый, оперативно выпросив у С+ патч с исправлением выявленного критичного или подготовив затычки для относительно безболезненного ожидания исправлений менее критичных багов. В итоге обновляем за одну ночь всю сеть: СГО (+ реплику MySQL), 38 СМов и 277 касс в 140 магазинах.
Спасибо за ответ,но хотелось бы подробнее по поводу второго пункта:
Разархивировал 7 zipом обновление 52 от С+:
00052000.bin.c.tgz
00052000.bin.c.tgz.md5
00052000.bin.s.zip.md5
00052000.dat.c.tgz
00052000.dat.c.tgz.md5
00052000.dat.s.zip.md5
00052000.lin.php.bin.c.tgz
00052000.lin.php.bin.c.tgz.md5
00052000.lin.ukmcdisplaygr.bin.c.tgz
00052000.lin.ukmcdisplaygr.bin.c.tgz.md5
00052000.lin.ukmclient.bin.c.tgz
00052000.lin.ukmclient.bin.c.tgz.md5
00052000.web.bin.c.tgz
00052000.web.bin.c.tgz.md5
00052001.bin.s.zip.md5
00052001.dat.s.zip.md5
этих файлов не увидел,откуда их достать?
29.08.2013 11:53
можно tgz и их md5 закачать на кассу ручками. вариантов несколько:
- сейчас у касс есть фтп - ftp://<ip-кассы> туда закачиваем, на кассе они лежат в /var/ftp/pub/
- через ssh (winscp/pscp/в новый far такая фича тоже встроена) - попадает в любое указанное место на кассе
- если пакеты уже лежат в %programfiles%\Apache Group\Apache2ukm\htdocs\ukmupdates, то зайти на кассы
через putty и выполнить wget http://192.168.1.166/ukmupdates/*.tgz ... wget http://192.168.1.166/ukmupdates/*.md5
скачается в ту папку, из которой выполнены команды

3ий описанный способ используется УКМом штатно.
Вызывает небольшое подозрение приведенное сообщение об ошибке - проверь "Путь для скачивания обновлений" - должен быть http://192.168.1.166/ukmupdates/

на кассе пакеты обновлений складываются в /usr/local/ukmclient/ukmupman/updates/
29.08.2013 11:53
Цитата:
joutchik а можно upman.log с кассы в студию?
вот лог
Вложения
Тип файла: zip ukmupman.zip (5.1 Кб, 106 просмотров)
29.08.2013 11:56
Цитата:
Artem_sdw этих файлов не увидел,откуда их достать?
tdz-файлы лежат внутри zip-файлов

архивировать 7zip'ом не самая лучшая идея - просто так на кассе не разархивируешь, лучше tgz или zip - тот же 7zip умеет архивировать в этих форматах
29.08.2013 12:06
Цитата:
Павел Сосновских ...
По поводу пути для скачиваний обновлений-проверил стоит правильный.
За способы перемещения на кассы обновлений спасибо,но у меня в Апаче на 52 и 53 версии есть только :
00052000.bin.s.zip.md5
00052000.dat.s.zip.md5
00053000.bin.s.zip.md5
00053000.dat.s.zip.md5
откуда и вопрос-как достать/заставить Апач достать файлы,нужные для предварительной закачки кассам,чтобы не тащить на кассы 800 метров этих архивов.
Часовой пояс GMT +3, время: 08:41.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.