>> Delete No. 2796 article
No. [수정] tar에 관한 잡다한 팁 몇가지

등록 2002-09-02 13:58:00     조회 4
이름 단n키    

		% 알림 시작 %
split의 카운트 방법이 바뀐 것 같습니다.
예전에는 카운트 횟수에 제한이 없었는데..
지금 살펴보니깐 zz까지 되는군요. --;
덕분에 열심히 짰었던 스크립트가 쓸모 없게 되었군요.
뭐 어차피 그렇게 필요한 스크립트는 아니지만 --;;
% 알림 끝 %
   ## tar.gz -> tar.bz2 형식으로 하려면 (확장자만 바꾸는 것 아님 --;;)
 우선 하드 공간이 넉넉하면
 $ gzip -d some.tar.gz
$ # tar 파일이름을 확인한 후
$ bzip2 some.tar
 하드 공간이 부족하면
 $ gzip -dc some.tar.gz | bzip2 -f - > some.tar.bz2
 저는 이전에 tar.bz2 를 tar.gz 으로 바꾸어야 하는 상황이 있어서 반대로 이용했습니다. bzip2
가 없는 시스템에서 풀어야 했거든요. --;;   ## tar + gzip(or bzip2) + split 으로 다중 압축 아카이
브 만들기 (거창하다.. --;;)  split을 이용한 팁은 이곳에서 찾았습니다.
 다시 한 번 간략하게 쓰면
 tar + gzip 으로 하고.. 50메가씩 나누고 싶다면...
 $ tar -czvf - /lsn | split -b 50m - lsn.tar.gz_
 이렇게 하시면
 lsn.tar.gz_aa
lsn.tar.gz_ab
lsn.tar.gz_ac
.
.
 이런 순으로 파일을 생성시킵니다.
 첫번째 파일은 크기가 지나치게 작지 않다면
 file 명령어로 확인해보면 gzip된 파일이라고 알려줍니다.
나머젼 data로 나오고요.
 그래서 lsn.tar.gz 이라는 텍스트 파일을 만들어서 약간의 정보를 적어두시면 더 도움이 되
리라 생각합니다.(처음 이 파일을 접한 사람을 아리송하겠죠?)   풀려면
 $ cat lsn.tar.gz_* | (cd 풀고싶은곳; tar -xzvf - )
 문제는 lsn.tar.gz_* 은 lsn.tar.gz_aa lsn.tar.gz_ab ... 이런식으로 확장이 되어 cat에게 넘겨주는데
요. 이 순서가 반드시 본래 파일의 byte order로 되어 있어야 합니다. split에 생성된 파일은  
알파벳 순으로 정렬하면 그 순서가 맞습니다.   마지막으로 제가 만든 쉘스크립트 중 가장 
긴 길이를 자랑하는(정말 읽기 짜증나는) mtar.sh 입니다.  $ mtar.sh -czvf lsn.mtgz /lsn -b 50m  하시
면  자동으로
 lsn.mtgz_aa
lsn.mtgz_ab ...
 이렇게 생성을 시켜주고
 lsn.mtgz 이라는 이름으로
약간의 정보와 함께 자동으로 파일을 풀 수 있도록해주는 쉘랩퍼(스크립트)를 만들어줍니
다.  압축을 풀 때는
 $ chmod +x lsn.mtgz
$ cd 풀고싶은곳
$ /lsn.mtgz가있는곳/lsn.mtgz
 이렇게 하시면
 빠진 파일이 없는지 체크하고, 이상이 없으면 파일을 풉니다.
 아직 테스트 중입니다. --;;
만일 쓰시려면 각오하시고 쓰십시오. 적어도 하드 포맷은 안될 것입니다. --;;
테스트 결과 ksh에서도 동작하는 듯 보입니다. --;;
 느끼는 건데 쉘스크립트에서는 bash만한 것도 없네요.
 <a href="http://www.linuxstudy.pe.kr/~donkey/shelldul/mtar.sh"><b>mtar.sh</b></a>
  <b>텍스트로 보기</b>
<a href="http://www.linuxstudy.pe.kr/~donkey/shelldul/mtar.sh.txt"><b>mtar.sh</b></a>
  p.s) chmod +x mtar.sh  # 필수 --+
 --
음.. 모질라로 복귀
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved