Как восстановить поврежденный “tar.gz” файл

Вот что-то, что должно позволить Вам cd назад, где Вы были (использование Bash), начиная с не упущения сделать так, кажется, цель вопроса:

# Save where you are and cd to other dir
pushd /path/to/dir/that/needs/to/be/current/dir

run-your-command

# Get back where you were at the beginning.
popd

(РЕДАКТИРОВАНИЕ: немного более короткая версия, благодаря @Random832)

11
27.07.2011, 18:59
6 ответов

То, что необходимо попробовать, следующее:

  1. Использовать file команда на архиве, чтобы видеть, распознано ли это как gzip- данные плетеной корзинки.
  2. Выполненный strace gunzip на файле. Это распечатает последние байты, считанные из файла, который мог бы помочь Вам определить точку в файле, где повреждение происходит.
  3. Выполните отладочную сборку gunzip под gdb. Попытайтесь исправить поврежденный раздел (необходимо быть дополнительны удачный смочь сделать это), и посмотрите, может ли он продолжиться в конец файла.

В зависимости от природы повреждения Вы могли бы или не смогли восстанавливать свои данные.

12
27.01.2020, 19:57
  • 1
    gunzip filename.tar.gz работавший для меня. –  Ravi Dhoriya ツ 19.01.2015, 11:00

Выполненный zcat bad.tar.gz > some.tar, и извлеките это. Движение мимо поврежденной части файла будет хитро. Страница справочника дает подсказки к формату, но я искал бы другие опции в Google.

Вы уверены, что это сжато с gzip? Это могло бы жаловаться, потому что это не понимает формат...

1
27.01.2020, 19:57

Некоторую информацию о том, как работает восстановление, можно найти на странице Восстановление поврежденного файла .gz .

Также в этом вам поможет инструмент: gzip Recovery Toolkit, также известный как gzrecover .

3
27.01.2020, 19:57

Восстановление невозможно. Как форматы, такие как .zip обеспечивают лучшую защиту и варианты восстановления, но не заполнены.

.TAR.GZ комки все файлы вместе, а затем применяет сжатие. .zip перезагружает сжатие для каждого файла. Поэтому в файле .zip файл ущерб, сделанный для сжатого блока, влияет на файл, к которому принадлежит этот блок. В .tar.gz Ущерб повлияет на все последующие файлы до тех пор, пока сжатие каким-то образом перезапущено.

2
27.01.2020, 19:57

Все ответы применяются только для извлечения информации от начала файла до точки где произошла ошибка или где файл был вырезан.

К сожалению, ни один получатель не описывает, как восстановить часть файла / потока после области повреждения. Есть кто-нибудь этот получатель?

1
27.01.2020, 19:57

используйте этот:https://github.com/arenn/gzrt

gzrecover foo.tar.gz
cpio -F foo.tar.recovered -i -v
1
27.01.2020, 19:57

Теги

Похожие вопросы