BLOG ARTICLE 분할압축 | 2 ARTICLE FOUND

  1. 2009/04/22 윈도우에서 tar.gz 분할 압축 파일 풀기 (1)
  2. 2008/03/09 tar 로 분할 압축하기

 
 
 
 

리눅스 서버에서 자동 백업을 해놓을 경우 대개 1GB 이 넘어가게 되면 분할압축 사용하게 된다.

이렇게 여러 개의 파일로 분할 압축된 파일을 윈도우로 다운 받아 놓고 압축을 풀려고 보면 리눅스의 분할 압축 파일을 제대로 인식하는 압축 유틸리티가 없다.

요즘은 거의 모든 압축유틸리티들이 tar, gzip 등의 리눅스/유닉스 압축 파일들을 인식하고 풀어주기는 하지만 여러 개의 파일로 분할 되어있는 경우 처음 파일 만 인식할 뿐 (그것도 파일의 끝에 이상이 있는 것으로 감지함) 이어지는 파일들은 전혀 인식을 하지 못한다. 그러니까 tar 나 tar.gz 형식의 유닉스 압축파일의 경우 단일 압축파일에 한해서만 인식이 가능하고 압축을 풀 수도 있다는 것이다. 윈도우에서 이들 분할 압축된 파일을 풀려면(분할 압축파일을 핸들할 수 있는 유틸이 나오기 전까지는) 우선 여러 개로 분할 된 바이너리 압축파일을 한 개의 파일로 묶어주어야 한다. 그런 다음 널리 쓰이고 있는 압축 유틸로 풀어주면 된다.

유닉스에서의 분할(split)은 바이트 단위로 자르는 형식을 취하므로 파일들을 연결해 주면 되는데  두 개 이상의 파일을 하나로 묶어주는 유틸로는 hjspit 이라는 좋은 유틸리티도 있지만 간단하게 윈도우에 기본으로 탑재되어있는 도스창(CMD윈도우)에서도 copy 명령으로 여러 개의 파일들을 하나로 묶을 수 있다.

예를 들어 리눅스 서버에서 다운로드 받아놓은 백업 파일이 아래와 같이 2개가 있다고 가정하자.

homepage.tar.gza
homepage.tar.gzb

이들 파일을 우선 하나로 묶은 후 생성된 단일 tar.gz 파일을 WinRAR 이나 DaZip 등의 유틸리티로 풀어주면 되는것이다.

아래는 위 두개의 파일들을 윈도우용 도스를 이용해 하나로 묶는 명령이다:

copy /b homepage.tar.gza + homepage.tar.gzb > myhomepage.tar.gz


이렇게 해서 생성된 myhomepage.tar.gz 는 WinZip 이나 WinRAR, DaZip, AlZIP 등의 도구로 풀면 되겠다.


tar 로 분할 압축하기



리눅스에서는 2G 이상되는 파일 을 인식 못합니다.
예를 들어  디렉토리나 압축 대상자 압축 하고 나서 용량이 2G 이상 될수 있는 경우가 있을텐데요, 이때 split 명령으로 압축되고 난후 파일들이 원하는 용량으로 분할되도록 하는것입니다.




[ 분할 압축하기 ]

/install 이라는 디렉토리가 10G 가 넘는데요, 이디렉토리를 700MByte로 분할 압축하려고 합니다.

tar czvf - install/ | split -b 700m - install.tar.gz_

위와 같은 명령으로 700MByte 씩 분할 압축할수가 있습니다.

install.tar.gzaa
install.tar.gzab
install.tar.gzac ....

700MByte 씩 압축되 파일 몇개가 생성 되겠져?



[ 분할 압축 파일 풀기 ]

cat install.tar.gz* | tar zxvf -


 
[ 분할 압축 일부분만 풀기 ]

cat install.tar.gz* | tar zxvf - /home/upload

위 예제의 경우 분할 압축한 파일들 중에서 "/home/upload" 폴더만 풀어냅니다.