2

Я пытался сжать все файлы в отдельном каталоге в один zip-файл и затем передать его на целевой сервер. Команда, которую я использовал, похожа на

zip -j $Zipfilename *

иногда проблема в том, что общий размер всех файлов достигает> 2 ГБ, поэтому я получаю предупреждение ниже

zip warning: name not matched

и файлы не архивируются.Есть ли другой способ сделать это, не получая вышеуказанную ошибку? Пожалуйста, помогите мне!

3 ответа3

9

Не известно, что Zip может создавать ZIP-файлы размером более 2 ГБ. Хорошо это или плохо, но в Linux есть и другие инструменты, такие как tar , gzip , bzip и другие, которые вы можете использовать и которые имеют гораздо более высокий предел того, что они могут создать. Однако, если вы настаиваете на том, чтобы придерживаться ZIP, вы можете попробовать использовать директиву --split-size следующим образом:

zip -j --split-size 2g $zipfilename *

В случае, если вам интересно об альтернативах ...

Создание с помощью Tar

tar -cf name_of_zip.tar directory/

Это создаст простой файл Tar(ball). Подходит для работы на лету и когда вам нужно что-то быстро достать.

tar -czf name_of_zip.tar.gz directory/

Это создает Tar-Gzipped файл каталога. tar-gz - это Tar(шар), который был дополнительно сжат gzip . Это немного медленнее, чем стандартная операция Tar, но обеспечивает довольно хорошее сжатие для того, что вы получаете.

tar -cjf name_of_zip.tar.bz directory/

Это создает Tar-BZipped файл каталога. tar-bz - самый медленный вариант tar, который вы можете использовать, но он обеспечивает наибольшее сжатие поверх tar.

Untarring - это простой вопрос замены ключа -c ключ -x . IE:

tar -xzf /tmp/some_file.tar.gz

Который распаковывает /tmp/some_file.tar.gz tar(ball) в любой каталог, в котором я сейчас нахожусь.

Создание с помощью gzip

gzip -c file file2 file3> newfile.gz`

Создает новый файл gzip из файла или группы файлов.

gzip -cr каталог /> newfile.gz`

Создает новый GZIP из каталога.

Распаковка - это просто использование gunzip в вашем файле gzip .

Создание с помощью bzip

BZip не выполняет обратный путь в каталогах, поэтому он подходит только для архивации одного или нескольких файлов.

bzip2 -ck file -<number> > compress.bz

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

1

распакуйте версию 6.0 и zip версию 3.0 поддерживают более 2 ГБ файлов.

Новые функции в UnZip 6.0, выпущенные 20 апреля 2009 года:

  • Поддержка расширений PKWARE ZIP64, позволяющих архивировать Zip и записи Zip архива размером более 4 ГБ и более 65536 записей в одном Zip архиве. Эта поддержка в настоящее время доступна только для Unix, OpenVMS и Win32/Win64.
  • Поддержка метода сжатия bzip2.

Новые функции в Zip 3.0, выпущенном 7 июля 2008 года:

  • поддержка больших файлов (например,> 2 ГБ)
  • поддержка более 65536 файлов на архив
  • поддержка нескольких частей архива
  • поддержка сжатия bzip2
0

unix-way - использовать tar для мультиплексирования файлов и gzip/bzip2/any-other-compress для сжатия архива .tar .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .