.png)
SuSe 10.3 Server 버전에서 생성된 tarball에 문제가 있습니다.
.tar 파일의 크기는 6.5GB이지만 Ubuntu 9.10에서 압축을 풀면 결과 폴더의 크기는 1.5GB에 불과합니다.
사용된 명령: tar cvf
포장, tar xvf
포장 풀기.
아마도 누군가가 이 문제를 어떻게 해결할 수 있는지 알고 있다면 좋을 것입니다.
건배.
답변1
디렉토리에 심볼릭 링크나 하드링크가 있는 경우 tar는 각각을 별도의 파일로 추가할 수 있습니다. 그런 다음 Linux 파일 시스템에서 압축을 풀면 링크가 복원되고 모든 것이 더 적은 공간을 차지하게 됩니다.
Tar는 압축용이 아니라 여러 파일을 포함하는 파일을 생성하기 위한 것입니다. 그렇기 때문에 일반적으로 gzip 또는 bzip을 통해 파이프되는 것을 발견합니다.
답변2
cpio를 사용하면 더 나은 결과를 얻을 수 있으며, 대규모 백업에 훨씬 더 적합하고 기호 링크 및 특수 파일을 올바르게 처리하도록 스크립트를 작성할 수 있습니다.
답변3
작은 파일이 많으면 tar에서 차단 및 디렉터리 오버헤드가 발생할 수 있습니다. 중요한 정보는 소스 디렉터리의 크기입니다. tar는 파일에 블록을 할당하지 않음으로써 파일의 빈 공간을 압축했을 수 있습니다. --apparent-size
옵션 을 사용해 보십시오 du
.
생성된 파일 목록을 tar -tf
추출된 파일과 비교해 볼 수 있습니다. tar -xf
추출 시 오류가 발생하는지 확인하려면 로 추출하세요 . tar의 복사본을 다시 만들어 크기가 얼마나 큰지 확인해보세요.
답변4
나는 시도하는 것이 좋습니다팍스. 적어도 CentOS에서는 이렇게 호출됩니다. IIRC에서는 유효하지 않은 tar 멤버를 건너뛰어 손상된 TAR 파일을 처리할 수 있습니다. 그렇지 않으면 다음을 실험해 보는 것이 좋습니다.tar 파일Python 표준 라이브러리의 모듈을 프로그래밍 방식으로 수행합니다. 나는 몇 년 전에 그런 일을 한 적이 있었습니다.