Цитата: 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 магазинах.