내가 .tar.gz
via 를 만들면
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 여러 파일을 실행해야 함) 이미 압축된 데이터에 압축을 적용하면 크기가 추가로 줄어들지 않을 수 있지만 작동합니다.