Страница 1 из 1

unzip foo.zip > 2gb: Invalid central directory signature

Добавлено: 2015-05-08 18:07:44
n0mad
Собственно, сабж. В поиске - ненашел. С какого то момента времени (между этими моментами была разве что реорганизация системных разделов. в остальном все одинаково.) зип перестал распаковывать большие архивы. менее 2гб - распаковывает как обычно, те что переваливают за 2 гигабайта - отрыгиваются сообщением unzip: Invalid central directory signature. mc в них гуляет, 7z распаковывает, тоесть архивы не битые. грубо говоря - сейчас zip не распаковывает сразу после упаковки.

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

root@admn:/files/backup/xxx-backup # unzip xxx-web.zip 
Archive:  xxx-web.zip
unzip: Invalid central directory signature
root@admn:/files/backup/xxx-backup # 
до того странного момента все работало отлично.
поставил p7zip, попробовал, посмотрел ман и понял что функционалом он до зипа не дотягивает, хочется вернуть работу нормального zip. еще заметил что сейчас при работе unzip всплывает perl, как будто я его звал. и висит при распаковке подольше pid-а c zip-ом - и жрет под 60% 3гц ядра, так должно быть?? - сам не помню, участвовал ли perl ранее при работе zip, когда все работало.

камрады, что можно сделать?

unzip foo.zip > 2gb: Invalid central directory signature

Добавлено: 2015-05-08 18:45:01
guest
n0mad писал(а):Собственно, сабж. В поиске - ненашел. С какого то момента времени (между этими моментами была разве что реорганизация системных разделов. в остальном все одинаково.) зип перестал распаковывать большие архивы. менее 2гб - распаковывает как обычно, те что переваливают за 2 гигабайта - отрыгиваются сообщением unzip: Invalid central directory signature. mc в них гуляет, 7z распаковывает, тоесть архивы не битые. грубо говоря - сейчас zip не распаковывает сразу после упаковки.

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

root@admn:/files/backup/xxx-backup # unzip xxx-web.zip 
Archive:  xxx-web.zip
unzip: Invalid central directory signature
root@admn:/files/backup/xxx-backup # 
до того странного момента все работало отлично.
поставил p7zip, попробовал, посмотрел ман и понял что функционалом он до зипа не дотягивает, хочется вернуть работу нормального zip. еще заметил что сейчас при работе unzip всплывает perl, как будто я его звал. и висит при распаковке подольше pid-а c zip-ом - и жрет под 60% 3гц ядра, так должно быть?? - сам не помню, участвовал ли perl ранее при работе zip, когда все работало.

камрады, что можно сделать?
функционал zip... фигней не нужно заниматься - вот что нужно делать

http://www.info-zip.org/FAQ.html#limits

если архив не битый и сигнатура в начале файла есть, то проблема в лимитах и версии zip которым
создавался архив и которым пытаетесь распаковать.
Да, и при условии что концовка не обрезана и если файл был откуда-то скачан по ftp, то в binaries mode.

Так вот, если проблема в лимитах (в соответствии с FAQ, см выше), должен распаковываться winzip'ом
под Windows 7 и выше, в XP возможны проблемы (32bit и если не ntfs). Якобы можно поискать старую
версию и попробовать ее.

Ну и man zip или доки по Windows версии на предмет коррапт и восстановления, проверки
целостности и тд и тп.

"функционал zip" - давно так не смеялся, thx.

ps. p7zip и ряд других архиваторов, хоть и используют соответствующие алгоритмы, вполне могут
не проверять сигнатуру в конце и соответственно распаковывать, но видимо как получится, за контрольные
суммы не ручаясь.

unzip foo.zip > 2gb: Invalid central directory signature

Добавлено: 2015-05-08 19:15:44
n0mad
ну, все ставлю с портов, после их обновления. собственно

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

root@admn:/ # zip -v
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon.  Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.

Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
as of above date; see http://www.info-zip.org/ for other sites.

Compiled with gcc 4.2.1 Compatible FreeBSD Clang 3.4.1 (tags/RELEASE_34/dot1-final 208032) for Unix (FreeBSD 10.1-RELEASE) on May  2 2015.

Zip special compilation options:
	USE_EF_UT_TIME       (store Universal Time)
	BZIP2_SUPPORT        (bzip2 library version 1.0.6, 6-Sept-2010)
	    bzip2 code and library copyright (c) Julian R Seward
	    (See the bzip2 license for terms of use)
	SYMLINK_SUPPORT      (symbolic links supported)
	LARGE_FILE_SUPPORT   (can read and write large files on file system)
	ZIP64_SUPPORT        (use Zip64 to store large files in archives)
	UNICODE_SUPPORT      (store and read UTF-8 Unicode paths)
	STORE_UNIX_UIDs_GIDs (store UID/GID sizes/values using new extra field)
	UIDGID_NOT_16BIT     (old Unix 16-bit UID/GID extra field not used)
	[encryption, version 2.91 of 05 Jan 2007] (modified for Zip 3)

Encryption notice:
	The encryption code of this program is not copyrighted and is
	put in the public domain.  It was originally written in Europe
	and, to the best of our knowledge, can be freely distributed
	in both source and object forms from any country, including
	the USA under License Exception TSU of the U.S. Export
	Administration Regulations (section 740.13(e)) of 6 June 2002.

Zip environment options:
             ZIP:  [none]
          ZIPOPT:  [none]
make deinstall
make install - делал
архив не распаковывается сразу после упаковки. - ни о каких битых архивах тут наверное, речи нету, проблема явно в другом.

пс. - а чем посмешил слово функционал? да и причем тут алгоритмы - достаточно сравнить объемы официальных руководств и количество аргументов обоих архиваторов. единственный плюс 7z я увидел в том что он практически все может распаковать. и все. а zip не может так много но может с кучей всяких удобных аргументов на все случаи жизни

Отправлено спустя 13 минут 32 секунды:
лимиты для вторых версий вполне могли быть превышены, файлов более 65,536. не нашел по этой ссылке http://www.info-zip.org/FAQ.html#limits лимитов для третий версии

Отправлено спустя 9 минут 32 секунды:
ps. единственное что я знаю - что ранее распаковывал архивы и по 8 гигабайт. никаких проблем не было. а сейчас какой то Invalid central directory signature

unzip foo.zip > 2gb: Invalid central directory signature

Добавлено: 2015-05-08 19:51:06
guest
n0mad писал(а):ну, все ставлю с портов, после их обновления. собственно

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

root@admn:/ # zip -v
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon.  Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.

Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
as of above date; see http://www.info-zip.org/ for other sites.

Compiled with gcc 4.2.1 Compatible FreeBSD Clang 3.4.1 (tags/RELEASE_34/dot1-final 208032) for Unix (FreeBSD 10.1-RELEASE) on May  2 2015.

Zip special compilation options:
	USE_EF_UT_TIME       (store Universal Time)
	BZIP2_SUPPORT        (bzip2 library version 1.0.6, 6-Sept-2010)
	    bzip2 code and library copyright (c) Julian R Seward
	    (See the bzip2 license for terms of use)
	SYMLINK_SUPPORT      (symbolic links supported)
	LARGE_FILE_SUPPORT   (can read and write large files on file system)
	ZIP64_SUPPORT        (use Zip64 to store large files in archives)
	UNICODE_SUPPORT      (store and read UTF-8 Unicode paths)
	STORE_UNIX_UIDs_GIDs (store UID/GID sizes/values using new extra field)
	UIDGID_NOT_16BIT     (old Unix 16-bit UID/GID extra field not used)
	[encryption, version 2.91 of 05 Jan 2007] (modified for Zip 3)

Encryption notice:
	The encryption code of this program is not copyrighted and is
	put in the public domain.  It was originally written in Europe
	and, to the best of our knowledge, can be freely distributed
	in both source and object forms from any country, including
	the USA under License Exception TSU of the U.S. Export
	Administration Regulations (section 740.13(e)) of 6 June 2002.

Zip environment options:
             ZIP:  [none]
          ZIPOPT:  [none]
make deinstall
make install - делал
архив не распаковывается сразу после упаковки. - ни о каких битых архивах тут наверное, речи нету, проблема явно в другом.

пс. - а чем посмешил слово функционал? да и причем тут алгоритмы - достаточно сравнить объемы официальных руководств и количество аргументов обоих архиваторов. единственный плюс 7z я увидел в том что он практически все может распаковать. и все. а zip не может так много но может с кучей всяких удобных аргументов на все случаи жизни

Отправлено спустя 13 минут 32 секунды:
лимиты для вторых версий вполне могли быть превышены, файлов более 65,536. не нашел по этой ссылке http://www.info-zip.org/FAQ.html#limits лимитов для третий версии

Отправлено спустя 9 минут 32 секунды:
ps. единственное что я знаю - что ранее распаковывал архивы и по 8 гигабайт. никаких проблем не было. а сейчас какой то Invalid central directory signature
zip 3.0
собран почему-то gcc:
Compiled with gcc 4.2.1 Compatible FreeBSD Clang 3.4.1

возьмите бинарник из пакета и проверьте результат, что-то изменится?
виртуалка, pkg install zip, ftp zip архив, проверка, вывод.

FAQ внимательно посмотрите, не через 10 строк.

unzip foo.zip > 2gb: Invalid central directory signature

Добавлено: 2015-05-08 20:41:49
f_andrey

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

/usr/local/bin/unzip xxx-web.zip
?
undefined писал(а): возьмите бинарник из пакета
Он там врядли будет иным ;)

unzip foo.zip > 2gb: Invalid central directory signature

Добавлено: 2015-05-08 22:46:31
guest
f_andrey писал(а):

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

/usr/local/bin/unzip xxx-web.zip
?
undefined писал(а): возьмите бинарник из пакета
Он там врядли будет иным ;)
увы :)

остается проводить эксперименты, собрать с debug zip, создать архив и распаковать
с условием что у автора архивы не битые.

unzip foo.zip > 2gb: Invalid central directory signature

Добавлено: 2015-05-08 23:14:54
n0mad
undefined писал(а): /usr/local/bin/unzip xxx-web.zip

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

root@admn:/files # /usr/local/bin/unzip xxx-web.zip
Archive:  xxx-web.zip
replace web/distr/foo.bar? [y]es, [n]o, [A]ll, [N]one, [r]ename: 
ага, так работает как надо! что это, пути сбиты?
undefined писал(а): Compiled with gcc 4.2.1 Compatible FreeBSD Clang 3.4.1
незнаю почему так, при сборке порта вообще нет опций, вроде бы, кроме установки документации. казалось что порт /usr/ports/archivers/zip это то что использует фря по умолчанию, нет?

Отправлено спустя 12 минут 33 секунды:
ах! - анзип. я наверное не то ставил... или на запаковку один на распаковку другой? щас разберемся)

f_andrey, guest, благодарю!

unzip foo.zip > 2gb: Invalid central directory signature

Добавлено: 2015-05-08 23:25:30
f_andrey
n0mad писал(а):
ага, так работает как надо! что это, пути сбиты?

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

% whereis -a unzip
unzip: /usr/bin/unzip /usr/local/bin/unzip /usr/share/man/man1/unzip.1.gz /usr/local/man/man1/unzip.1.gz /usr/ports/archivers/unzip
Вдимо запаковывать одной версией, а распаковывать иной, не самая лучшая идея, ну или поищите ключи, для совместимости.

А вообще, нафига в наше время ZIP?

unzip foo.zip > 2gb: Invalid central directory signature

Добавлено: 2015-05-08 23:46:36
n0mad
f_andrey писал(а): А вообще, нафига в наше время ZIP?
в плане выборки папок файлов и прочего при бекапах хоть руками хоть скриптами - зип/анзип хорошо справляется, на максимальное супер сжатие сильных запросов нет, при существующих объемах накопителей, поэтому - наверное просто как то прижилось. возможно, конечно, тары или гзиппы лучше

unzip foo.zip > 2gb: Invalid central directory signature

Добавлено: 2015-05-09 13:37:38
n0mad
f_andrey писал(а): запаковывать одной версией, а распаковывать иной, не самая лучшая идея
в том то и дело что до определенного момента никаких проблем не было. я даже не был в курсе что это два разных порта. все либо из коробки либо подтягивается с mc, использовал не парился и считал что порт один, а команды разные. видимо повлияла установка каких то портов, возможно расширения php перекрыли чтото. в частности, например в php класс ZipArchive не умеет работать с архивами > 2 ГБ (https://sites.google.com/site/copsfb2/home/settings)