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

Такой брандмауэр не существует в Linux. Система брандмауэра netfilter / IPtables не может фильтровать приложения.

Пользователи Ubuntu просят создать программу, которая может фильтровать приложения и регистрировать интернет-соединения. В настоящее время есть предложения и обсуждение возможности использования AppArmor в сочетании с IPtables для удовлетворения этой потребности. Вы можете участвовать в обсуждении и выступать за создание такого программного обеспечения. Вы можете зарегистрироваться и узнать больше о списке обсуждений здесь: https://lists.ubuntu.com/mailman/listinfo/Ubuntu-devel-discuss

146
задан 15 April 2012 в 06:09

6 ответов

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

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

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

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

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

165
ответ дан 25 May 2018 в 12:41
  • 1
    Это имеет смысл, но тогда почему я могу сделать архив .7z из нескольких файлов, в то время как я также могу создать архив .tar.7z из нескольких файлов? – Exeleration-G 15 April 2012 в 06:46
  • 2
    @ Exeleration-G 7zip не следует этой схеме. Это больше похоже на zip и rar. Не уверен, что смысл использования tar в сочетании с 7zip заключается в том, что я сам не использовал 7zip. – geirha 15 April 2012 в 06:53
  • 3
    @ Exeleration-G. Прочитав другие ответы, я вижу, что SaultDon отвечает на это; 7zip не сохраняет права доступа и права архивированных файлов unix (похоже, в основном это касается Windows, например zip и rar), поэтому имеет смысл объединить его с tar, чтобы получить право собственности и разрешения. – geirha 15 April 2012 в 07:02
  • 4
    @geirha Отметьте вопрос как решаемый, если найдете подходящий ответ. – Ravi 15 April 2012 в 10:14
  • 5
    По моему опыту 7z намного лучше при сжатии, чем в zip. Когда я протестировал это, мне было что-то вроде 40% дополнительно – Eoin 9 February 2018 в 15:51

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

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

Чтобы сохранить права доступа к файлам, используйте 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 и т. Д.).

43
ответ дан 25 May 2018 в 12:41

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

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

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

10
ответ дан 25 May 2018 в 12:41
  • 1
    На самом деле 7zip может архивировать как zip или rar. – Mait 15 April 2012 в 09:56

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

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

8
ответ дан 25 May 2018 в 12:41

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

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

3
ответ дан 25 May 2018 в 12:41

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

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

3
ответ дан 25 May 2018 в 12:41

Другие вопросы по тегам:

Похожие вопросы: