내 tar 파일이 내용보다 큰 이유는 무엇입니까?

내 tar 파일이 내용보다 큰 이유는 무엇입니까?

두 개의 파일 xaa, xab(split 명령을 사용한 결과)에서 tar 파일을 다시 만들었습니다. tar 파일의 크기는 내가 예상한 크기이지만, 압축을 풀면 tar 파일 크기의 일부에 불과한 폴더가 생성됩니다. 내 명령 순서는 아래 터미널 출력을 참조하세요. 안타깝게도 원본 tar 파일이나 폴더가 없으므로 이번이 이 데이터를 복구할 수 있는 유일한 기회입니다. 파일 휠에서 아카이브를 열면 압축을 푼 후 명령줄에 표시되는 것과 동일한 폴더가 표시됩니다. 이는 표시될 것으로 예상되는 파일의 하위 집합일 뿐입니다. 왜 이런 일이 발생하는지 제안할 수 있는 사람이 있나요?

~> cat xa* > archive
~> file archive
archive: POSIX tar archive (GNU)
~> ls -la archive
-rw-r--r-- 1 hugo users 24471439360 Jun  1 18:50 archive
~> tar xf archive
~> cd repos
~/repos> du --max-depth 0 -h
83M .
~/repos> cd ../
~> tar cf newarchive repos
~> ls -la newarchive
-rw-r--r-- 1 hugo users 53288960 Jun  1 19:57 newarchive

답변1

tar 파일의 끝을 나타내는 표시가 발견될 때까지 tar 파일이 추출됩니다.물리적으로 아카이브는 두 개의 512 0바이트 블록으로 구성된 아카이브 끝 항목으로 끝나는 일련의 파일 항목으로 구성됩니다.tar 파일 형식 설명에서여기.

따라서 태그를 지정한 후 아카이브에 추출되지 않은 자료가 포함될 수 있습니다.

답변2

추출하려는 디스크에 tar 아카이브의 모든 파일과 디렉터리를 수용할 만큼 충분한 여유 공간이 없는 것 같습니다. df -k .파일을 추출한 디렉토리를 확인하십시오 .

때때로 "누출"이 있는 파일을 tar하면 원본 파일보다 훨씬 큰 tar 아카이브가 생성됩니다. 또한 tar 아카이브 파일에는 파일 데이터뿐만 아니라 메타데이터, 파일 이름, 권한, 소유권 등도 포함됩니다. 따라서 tar 아카이브는 항상 원본 파일보다 약간 더 큽니다.

관련 정보