tar, gzip 및 pigz를 사용한 재귀 압축은 안전한가요?

tar, gzip 및 pigz를 사용한 재귀 압축은 안전한가요?

내가 .tar.gzvia 를 만들면

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

안전하게 압축을 풀 수 있어요이미 gzip문서./myfiles/an_old_backup.tar.gz 이내에디렉토리가 ./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

? 이런 종류의 재귀 압축을 안전하게 수행할 수 있습니까?무기한?

답변1

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은 스트림에서 작동한다는 것입니다. 파이프에 연결하기만 하면 됩니다.

답변2

귀하의 질문을 "압축된 아카이브 내에 압축된 아카이브를 포함해도 괜찮습니까?"라고 바꿔 말하면 대답은 "예"입니다.

이것은 가장 편리하지 않을 수 있으며(알고 있듯이 모든 파일의 압축을 풀려면 tar 여러 파일을 실행해야 함) 이미 압축된 데이터에 압축을 적용하면 크기가 추가로 줄어들지 않을 수 있지만 작동합니다.

관련 정보