손상된 .tar.gz 아카이브에서 파일을 복구하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/201392

  •  03-07-2019
  •  | 
  •  

문제

.tar.gz 아카이브에 많은 파일이 있습니다. 명령으로 파일 유형을 확인합니다

file SMS.tar.gz

응답을 제공합니다

gzip compressed data - deflate method , max compression

Gunzip으로 아카이브를 추출하려고 할 때 지연 후 메시지를받습니다.

gunzip: SMS.tar.gz: unexpected end of file

아카이브의 일부조차 복구 할 수있는 방법이 있습니까?

도움이 되었습니까?

해결책

GZIP 파일이라고 확신합니까? 먼저 '파일 sms.tar.gz'를 실행하여 검증 할 것입니다.

그런 다음 나는 읽을 것이다 GZIP 복구 툴킷 페이지.

다른 팁

회복은 가능하지만 부패를 일으킨 원인에 달려 있습니다.

파일이 단지 잘린 경우 부분 결과를 얻는 것이 너무 어렵지 않습니다. 그냥 실행

gunzip < SMS.tar.gz > SMS.tar.partial

마지막에 오류에도 불구하고 약간의 출력이 제공됩니다.

압축 파일에 큰 블록이 큰 경우 기본적으로 불량 블록 후에 희망이 없습니다.

압축 파일이 작은 방식으로 체계적으로 손상된 경우 (예 : 파일 전체에 캐리지 리턴과 최신 라인을 부수는 ASCII 모드로 바이너리 파일을 전송하는 경우) 복구 할 수는 있지만 상당히 많은 사용자 정의 프로그래밍이 필요합니다. 다른 의지가 전혀없고 (백업 없음) 데이터는 많은 노력을 기울일 가치가 있습니다. (성공적으로 해냈습니다.)이 시나리오를 이전 질문.

.zip 파일에 대한 답변은 다소 다소 다릅니다. Zip Archives는 여러 개의 별도로 압축 된 구성원이 있기 때문에 더 많은 희망이 있기 때문에 (대부분의 상업용 도구는 오히려 가짜이지만, 좋은 데이터를 복구하는 것이 아니라 CRC를 패치하여 경고를 제거합니다). 그러나 귀하의 질문은 .tar.gz 파일에 관한 것이며,이 파일은 한 명의 큰 멤버가있는 아카이브입니다.

다음은 우리가 만난 가능한 시나리오 중 하나입니다. 우리는 압축을 피우지 않는 tar.gz 파일을 가지고 있었고, 압축을 풀려고 시도한 오류가 발생했습니다.

gzip -d A.tar.gz
gzip: A.tar.gz: invalid compressed data--format violated

파일을 알아 냈습니다 5월 원래 비 바이너리 FTP 연결을 통해 업로드되었습니다 (확실하지 않음).

솔루션은 UNIX를 사용하여 비교적 간단했습니다 dos2unix 공익사업

dos2unix A.tar.gz
dos2unix: converting file A.tar.gz to UNIX format ...
tar -xvf A.tar
file1.txt
file2.txt 
....etc.

효과가 있었다! 이것은 하나의 얇은 가능성이며, 시도해 볼 가치가 있습니다 - 그것은 누군가를 도울 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top