Intereting Posts
Извлечение аудио из видео без преобразования в пользовательских действиях Thunar Обеспечение простого Linux-сервера, который содержит базу данных MySQL? Где продолжение строки bash после && и || документально? EBtables не работает Получение сообщения об ошибке: «Ошибка необработанной блокировки (-3)» при попытке подключить iPhone SE к Linux Debian Почему используется && в 75 раз быстрее, чем если … fi и как сделать код более понятным wget конвертировать файл tgz в HTML Как ключи передаются на emacs и терминал gnome? Вызов нескольких обратных ссылок в вызове sed Поиск и замена пути стиля Windows с помощью sed Утилита для проверки ожидающих обновлений в Arch Копировать файлы из одного каталога в другой, игнорируя файлы, в которых файл назначения был изменен за последний час? Каким образом можно фильтровать текстовый файл для удаления пустых строк? Получение привилегий IO в Linux Сценарий с использованием CURL для ежемесячного добавления информации на сайт

Безопасно ли рекурсивное сжатие с помощью tar, gzip и pigz?

Если я сделаю .tar.gz через

tar czvf - ./myfiles/ | pigz -9 -p 16 > ./mybackup.tar.gz tar czvf - ./myfiles/ | pigz -9 -p 16 > ./mybackup.tar.gz ,

Могу ли я безопасно распаковать файл ./myfiles/an_old_backup.tar.gz ./myfiles каталоге ./myfiles через

 gzip -d mybackup.tar.gz tar -xvf mybackup.tar cd myfiles gzip -d an_old_backup.tar.gz tar -xvf an_old_backup.tar 

? И можно ли сделать это рекурсивное сжатие безопасным до бесконечности ?

Если ваш вопрос можно перефразировать как «ОК, чтобы иметь сжатые архивы в сжатых архивах?», Тогда ответ «да».

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

 tar czvf - ./myfiles/ | pigz -9 -p 16 > ./mybackup.tar.gz 

является эквивалентом

 tar cvf - ./myfiles/ | gzip | pigz -9 -p 16 > ./mybackup.tar.gz 

Вы не получаете tar.gz а tar.gz.gz , архив сжатый дважды, а не сжатый архив сжатых файлов.

Это бессмысленно. Сжатый выход не сжимается. Вы не получите какого-либо значительного увеличения пространства, дважды нажав. И для извлечения, вам нужно также распаковать

 gunzip < mybackup.tar.gz | gunzip | tar xf - 

Или

 gunzip < mybackup.tar.gz | tar xzf - 

Если вы хотите использовать pigz вместо простого gzip для сжатия, просто выполните:

 tar cvf - ./myfiles/ | pigz -9 -p 16 > ./mybackup.tar.gz 

Что вы можете распаковать с помощью tar zxvf mybackup.tar.gz

Также обратите внимание, что вам никогда не придется распаковывать файл tar.gz и хранить несжатую версию на диске. Весь смысл компрессоров, таких как gzip / pigz , bzip2 / pbzip2 , xz / pixz заключается в том, что они могут работать на потоках, вы просто вставляете их в конвейер.