Вопрос В чем разница между .tar.gz и .gz, или .tar.7z и .7z?


Недавно я копировал много своих данных, и я заметил, что я могу сохранять файлы как .gz или .tar.gz, или .7z а также .tar.7z, и т. д. Каковы различия между нормальным и .tar.* вариант? Какой из них рекомендуется при создании резервных копий?


145
2018-04-15 01:09


происхождения




ответы:


Если вы работаете с фоном Windows, вы можете быть знакомы с форматами zip и rar. Это архивы нескольких файлов, сжатых вместе.

В Unix и Unix-подобных системах (например, Ubuntu) архивирование и сжатие являются отдельными.

tar помещает несколько файлов в один (tar) файл.

gzip сжимает один файл (только).

Итак, чтобы получить сжатый архив, вы объединяете два, сначала используйте tar или pax для получения всех файлов в один файл (archive.tar), затем gzip это (archive.tar.gz). Если у вас есть только один файл, который вам нужно сжать (notes.txt), нет необходимости в tar, так что вы просто делаете gzip notes.txt что приведет к notes.txt.gz, Существуют и другие типы сжатия, такие как compress, bzip2 а также xz которые работают так же, как gzip (помимо использования различных типов сжатия, конечно)


173
2018-04-15 01:41



Это имеет смысл, но потом, почему я могу сделать .7z архив из нескольких файлов, в то время как я могу сделать .tar.7z архив из нескольких файлов? - Exeleration-G
@ Exeleration-G 7zip не следует этой схеме. Это больше похоже на zip и rar. Не уверен, что смысл использования tar в сочетании с 7zip заключается в том, что я сам не использовал 7zip. - geirha
@ Exeleration-G. Прочитав другие ответы, я вижу, что SaultDon отвечает на это; 7zip не сохраняет права доступа и права архивированных файлов unix (похоже, в основном это касается Windows, например zip и rar), поэтому имеет смысл объединить его с tar, чтобы получить право собственности и разрешения. - geirha
@geirha Отметьте вопрос как решаемый, если найдете подходящий ответ. - Ravi
По моему опыту 7z намного лучше при сжатии, чем в zip. Когда я протестировал это, мне было что-то вроде 40% дополнительно - Eoin


Это зависит от того, что вы ищете ... Сжатие или архивирование?

Когда я говорю о архивировании, я имею в виду сохранение разрешений, структуру каталогов и т. Д. ...

Сжатие может игнорировать большинство из этого и просто получить ваши файлы в меньших пакетах.

Чтобы сохранить права доступа к файлам, используйте tar:

tar cpvf backup.tar folder

Флаг p будет сохранять права доступа к файлам. Используйте флаг z для сжатия gzip или флаг j для сжатия bzip.

tar czpvf backup.tar.gz folder #backup.tgz is acceptable as well
tar cjpvf backup.tar.bz2 folder #backup.tbz2 works too

Если вы хотите иметь tar-файл, вы можете «обновить» пакет tar, используя флаг P:

tar cpPvf backup.tar folder

Затем, чтобы обновить, замените 'c' на 'u', и при распаковке вы можете использовать 'k' для сохранения уже существующих файлов.

tar upPvf backup.tar folder #updating a tar file
tar xpPkvf backup.tar #extracting a tar with permissions(p) and not extracting(k) files that exist on disk already

Флаг P сохраняет файлы с полными путями, поэтому - / home / username vs home / username (обратите внимание на ведущую косую черту).

Сжатие 7z обеспечивает большее сжатие, но не сохраняет права собственности на файлы, разрешения и т. Д. Rzip - это еще одна утилита сжатия, которая предлагает сопоставимое сжатие с 7z.

Я думаю, файл backup.tar.7z - это только tar-файл (с разрешениями), сжатый 7z-файлом, хотя я не удивлюсь, если произойдет небольшое сжатие, потому что 7z может не удалять метаданные файла. Это способность 7z исключать метаданные файлов, которые могут предложить отличное сжатие (в том числе, конечно, конечно).

Сжатие полностью зависит от типа данных. Некоторые файлы плохо сжимаются, потому что они могут быть сжаты другими способами (например, .mp3, .jpg, .tiff / с lzma, .rpm и т. Д.).


46
2018-04-15 01:45





gzip или bzip2 не знает о file system - имя файла, каталог или древовидная структура. Он просто сжимает входной поток, а затем выводит результат. Даже gzip или bzip2 не могут самостоятельно архивировать каталоги, поэтому его обычно объединяют с tar.

tar (архиватор) - просто архивная файловая структура. gzip, bzip2 (компрессор) - просто сжимайте вход.

Я думаю, что эта стратегия исходила из «хорошо делай» Философия Unix. Тар хорошо работает? Оставьте это как есть. Требуется больше степени сжатия, чем gzip? Вот bzip2 или 7zip.


10
2018-04-15 04:55



На самом деле 7zip может архивировать как zip или rar. - Mait


его разные стили сжатия, дег сам по себе просто архивирован (мало что без сжатия). tar.gz - это tar-архив, но содержимое сжимается с помощью gzip (умеренное сжатие), поэтому сжатие .gz и tar.7z выполняется с использованием 7zip (обычно сверхвысокого сжатия)

при резервном копировании я бы рекомендовал tar.7z, так как он имеет самую высокую степень сжатия, экономя ваше пространство, но использует дополнительную программу (7zip). .tar.gz будет больше файлов и выполнять ту же работу, вы также можете использовать bzip (.tar.bz / bz2), хотя я не уверен, что это подойдет вам лучше, поскольку я использую gzip или 7zip


8
2018-04-15 01:36





Обычно файлы * .tar - это только tar-файлы, созданные tar-программой, * .gz-программы создаются с помощью gzip, * .tar.gz (иногда или * .tgz) - это файлы gziped tar, а * .7z создаются 7zip.

Однако в Linux / Unix можно назвать файл в любом случае так, как он хочет, поэтому он полностью зависит от создателя файлов.


3
2018-04-15 01:21





Tar (Tape Archiver) традиционно использовался в качестве контейнера в Unix / Linux для пакетных файлов для перемещения. Он упаковывает структуру файлов и поддерживает атрибуты файлов, но не сжимает файлы.

Программы сжатия сжимают файл, чтобы сделать его меньше, но они могут не обрабатывать несколько файлов и / или могут не обрабатывать атрибуты файлов, необходимые для Linux. Поскольку tar уже существует и хорошо поддерживается, нет никаких причин для архивирования программ для дублирования этой функциональности, которая зависит от платформы (для разных и для Windows и Linux). Кроме того, различные программы сжатия могут выполняться по-разному на разных типах файлов, поэтому желательно иметь выбор более чем одного.


3
2018-04-15 01:34