보관 파일을 만들 때 -W를 수행 할 수 있지만 보관 파일을 확인하고 이미 만든 방법은 무엇입니까? tvWf는 유효한 tar 아카이브가 아니라고 말합니다.
$ mkdir tmp
$ echo asdkfjh > tmp/a
$ echo qweroiu > tmp/b
$ ls
tmp
$ tar cvf archive.tar tmp
tmp/
tmp/a
tmp/b
$ tar tvWf archive.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: VERIFY FAILURE: 1 invalid header detected
tar: Error exit delayed from previous errors
tar 1.15 (centos 5의 시스템 기본값)와 1.26 (gnu의 최신 버전) 모두에서 동일한 상황이 발생합니다.
답변
W
와 함께 사용할 수 없습니다 t
.
mkdir tmp
echo bdb > tmp/a
echo bdb > tmp/b
tar cvf archive.tar tmp
tmp/
tmp/a
tmp/b
ls -l archive.tar
-rw-r--r-- 1 tony tony 10240 Jun 23 05:57 archive.tar
tar tvf archive.tar
drwxr-sr-x tony/tony 0 2011-06-23 05:57 tmp/
-rw-r--r-- tony/tony 4 2011-06-23 05:57 tmp/a
-rw-r--r-- tony/tony 4 2011-06-23 05:57 tmp/b
tar tvWf archive.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
나는 t
혼자서 아카이브를 테스트하기에 충분 하다고 생각 합니다.
답변
GNU tar
에는 --compare
옵션이 있습니다. 자세한 내용은 문서 의 파일 시스템과 아카이브 멤버 비교 섹션을 참조하십시오.
답변
Joerg Schillings 는 tar 아카이브의 파일을 원본과 비교할 수 star
있는 diff 옵션을 제공합니다. 차이점으로 인식해야 할 사항을 진술 할 수 있습니다.
0 1 newt pts/1 ~ 17> :> tmp/testfile
0 1 newt pts/1 ~ 19> star -cz tmp > tmp.tar
0 1 newt pts/1 ~ 19> echo bla > tmp/testfile
0 1 newt pts/1 ~ 20> star -z -diff diffopts=not,times < tmp.tar
diffopts=perm,symperm,type,nlink,uid,gid,uname,gname,size,data,rdev,hardlink,symlink,sympath,sparse,dir,acl,xattr,fflags
tmp/testfile: different size,data
star: 115 blocks + 0 bytes (total of 1177600 bytes = 1150.00k).
testfile
크기와 데이터가 다른 것으로 언급 했습니다. 시간 (접근 시간 포함)을 제외하지 않았다면 액세스 시간도 명시했을 것이고 시간을 변경하여 파일을 보는 모든 파일도 나열했을 것입니다.
BerliOS의 소멸 이후, sourceforgestar
에서 찾을 수 있습니다 . 휴대 성이 뛰어나고 대부분의 유닉스 시스템과 유닉스 모양의 모양에서 고통없이 컴파일됩니다.