- Solaris (SPARC, X86, X64) 자료실 -

순간을 위해 평생을 준비하라.
기회란 언제나 예고 없이 찾아온다 항상 낚싯대를 던져 놓아라.
전혀 기대하지 않았던 곳에서 고기가 잡히리라.




Vote Reply Modify Forward Prev Next List

  작성자   : 조성환 [ ladmin ] 추천: 3982, 수정: 1, 조회: 10724, 줄수: 41, 분류: Etc.
절대경로로 묶인 tar 파일을 상대경로로 푸는 방법

tar 압축 시에는 압축하고자 하는 파일들의 경로를 어떻게 지정하느냐에 따라서 절대경로로 묶이기도 하고 상대경로로 묶이기도 한다.

(GNU tar는 묶을 때 옵션을 주지 않는 이상 항상 상대 경로로 묶지만 HP-UX 등의 tar는 그렇지가 않다...)



문제는 기본적으로 tar는 묶인대로 풀 수 밖에 없다는 것이다.

즉 절대경로로 묶인 tarball은 임의의 디렉토리 밑에다 풀어주고 싶어도 tar로는 그렇게 풀 수가 없다.



그러면 실수로 /dev, /sbin, /opt 등 중요한 디렉토리를 절대경로로 묶었다면?

어떤 분의 도움으로 좋은 방법을 알게 되었다.



1) 우선 해당file.tar를 풀고자 하는 디렉토리로 옮긴다.

2) 거기에서 pax -r -s ',^/,,' -l -p e -f 해당file.tar 를 실행한다.

   --> -l 은 link가 포함된 경우 link로 고스란히 만들어주고,

         -p e 는 user ID(계정명이 아니라 번호), group ID 및 permission, create time, access time 등도 고스란히 복원해주는 옵션이다.



예)

# /usr/bin/pax -r -s ',^/,,' -f 해당file.tar





출처 : http://blog.naver.com/iykim71?Redirect=Log&logNo=30024364960


이전: (제로보드) 파일을 업로드 하는중 100%에서 멈춰버리는 현상 해결
다음: tar: Removing leading `/' from member names 메시지
2009/03/29(06:27) from 59.30.129.40
CrazyWWWBoard 2000

Vote Reply Modify Forward Prev Next List

(c) Nobreak Technologies, Inc.