2016-06-02 2 views
1

Linux에서 주어진 tarball을 만드는 데 사용 된 형식은 어떻게 결정할 수 있습니까?tar 아카이브의 형식을 결정하는 방법

나는 주어진 아카이브가 POSIX 또는 GNU 형식을 사용하여 만들어 졌는지 여부를 감지하고 싶습니다.

이미 작성 중에 형식을 제어하는 ​​방법을 설명하는 man page for GNU tar을 읽었습니다. 그러나 기존 파일의 형식을 보는 방법에 대해서는 아무 것도 보이지 않습니다.

+0

http://superuser.com/questions/759006/how-to-find-tar-format-of-archive 또한 검사를 위해 Windows에서 7zip을 제안합니다. – rrauenza

답변

3

있습니다 (파일은 압축 층을 넘어 피어, 그래서 먼저 압축을 해제하지 않을 것이다) 압축되지 않은 아카이브의 지문을보고 리눅스에서 file을 사용할 수 있습니다 : 아카이브가 압축

$ tar --format=posix -cf posix.tar foo  # create test posix archive 
$ tar --format=gnu -cf gnu.tar foo  # create test gnu archive 
$ file gnu.tar posix.tar 
gnu.tar: POSIX tar archive (GNU) 
posix.tar: POSIX tar archive 

경우, 압축 해제 먼저 :

$ tar --format=posix -czf posix.tar.gz foo # create test gzip posix archive 
$ tar --format=gnu -czf gnu.tar.gz foo # create test gzip gnu archive 
$ gunzip posix.tar.gz 
$ gunzip gnu.tar.gz 
$ file gnu.tar posix.tar 
gnu.tar: POSIX tar archive (GNU) 
posix.tar: POSIX tar archive 

GNU는 이전 POSIX 형식을 기반으로하므로 두 가지 이유가 있습니다.

자세한 내용은 GNU tar 설명서 here 및 자세한 내용 here에 나와 있습니다.

+0

네, 이제 막 내 질문에 답하려고했습니다. 내가 가진 문제는 압축 파일이 압축되어 있으면'file'은 쓸모가 없다는 것입니다. 그래서 먼저 압축을 풀어야했습니다. (빠른) 답변 주셔서 감사합니다! 압축 파일을 먼저 압축 해제해야한다는 점을 알리기 위해 응답을 업데이트하면이를 솔루션으로 사용합니다. – Christopher

+0

@christopher 완료, 감사합니다! – rrauenza

+0

조금 더 확장하도록 수정했습니다. 도움이되는 답변에 감사드립니다. – Christopher