Архивирование файлов размером более 2 ГБ в оболочке bash

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

zip -j $Zipfilename *

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

zip warning: name not matched

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

5
задан Synetech
источник

3 ответов

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 представляет собой деготь (шар), который был дополнительно сжат gzip. Это немного медленнее, чем стандартная операция Tar, но обеспечивает довольно хорошее сжатие для того, что вы получение.

tar -cjf name_of_zip.tar.bz directory/

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

распаковке просто заменить -c переключатель -x переключатель. IE:

тар-официального сайта в /tmp/some_file.смола.gz

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

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

gzip-c файл file2 file3 > newfile.gz'

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

gzip-cr каталог / > новый файл.gz'

создает новый архив gzip из каталога.

распаковка-это просто использование gunzip на gzip папка.

создать Бзыбь

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

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

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

9
отвечен qweet 2012-02-28 13:04:49
источник

распаковать версии 6.0 и zip версии 3.0 поддержка больше, чем 2 ГБ файлов.

новые возможности в UnZip 6.0, выпущенный 20 апреля 2009:

  • поддержка расширений PKWARE ZIP64, позволяющих Zip-архивы и Zip архивные файлы размером более 4 GiBytes и более 65536 записей в один zip-архиве. В настоящее время эта поддержка доступна только для Unix, OpenVMS и Win32 / Win64.
  • поддержка метода сжатия bzip2.

новые возможности в Zip 3.0, выпущенном 7 июля 2008:

  • поддержка больших файлов (т. е. > 2 ГБ)
  • поддержка более 65536 файлов в архиве
  • поддержка нескольких частей архива
  • поддержка сжатия bzip2
1
отвечен Gregory 2014-03-01 01:52:12
источник

в Unix-способ заключается в использовании tar для мультиплексирования файлов вместе и gzip/bzip2/любой-другой-компрессор для сжатия .tar архиве.

0
отвечен Sergey P. aka azure 2012-02-28 11:49:13
источник

Другие вопросы bash shell