메뉴 건너뛰기


Developer > Operating System

Linux/Unix tar 분할 압축 및 해제

2013.12.28 04:54

푸우 조회 수:12469


tar 압축의 경우 2G이상으로 압축이 되지 않기 때문에, 

2G 이상으로 압축 을 하기위해서는 split란 명령을 같이 사용하면 됩니다.
 
[압축 하기]
ex) tar -zcvpf - /home | split -b 2048mb - home.tar.gz
 
* /home : 압축할 디렉토리
* home.tar.gz 압축되어질 이름
 
압축 결과는 tar.gza , tar.gzb 등으로 생성이 됩니다.
 
[압축 풀기]
tar.gza, tar,gzb 등으로 압축된 파일을 풀기 위해서는
 
ex) cat home.tar.gz* | tar -zxvpf -
 

여러개의 tar.gz 파일들을 압축을 풀어야 할경우
tar -zxvf *.tar.gz 등의 방법으로 풀게 되면 에러가 발생합니다.
 
이 경우에는 find 를 이용하시면 쉽게 푸실수 있습니다.
 
find . -name "*.tar.gz" -exec tar zxvf {} \;
 
=======================================================================
위의 내용은 스크랩한 내용이구요.
위의 내용에 더해서..
일반 UNIX에서는  tar에 압축기능이 없는 경우가 있습니다.
그럴 때는 다음과 같이..
 
tar -cvf - ./home | split -b 25m - home.tar
 
를 사용하거나 gzip이라도 있을 경우
 
tar -cvf - ./home | gzip | split -b 25m - home.tar.gz
 
을 사용합니다. 그러면...
 
home.taraa
home.tarab
...
혹은
 
home.tar.gzaa
home.tar.gzab
 
이런식의 파일이 생깁니다.
 
이걸 풀때는
 
cat home.tar* | tar -xvpf -
 
혹은
 
cat instant.tar.gz* | gunzip | tar -xvf -
 
으로 풀수 있습니다.