URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94225
[ Назад ]

Исходное сообщение
"Архиватор с возможностью восстановления битого архива"

Отправлено Alex_hha , 05-Янв-13 23:45 
Собственно интересует сабж. Как всегда делал по привычке

# tar jxvf archive_name.tar.bz2 /path/to/data/

Но вот на днях столкнулся с проблемой, что архив 16 Гб оказался битый

# bzip2 -tvv archive_www.tar.bz2
    [1: huff+mtf rt+rld]
    [1: huff+mtf rt+rld]
    [1: huff+mtf rt+rld]data integrity (CRC) error in data
...
...
...
You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

Всякие пляски с bzip2recover не помогли. Хорошо, что в итоге оказалось, что архив повредился в процессе закачки с удаленного сервера. Но все же большая вероятность потерять большой объем данных при любом нарушении целостности заставляет задуматься.

Насколько помню у winrar была возможность добавлять в тело архива инф-цию для восстановления. Насколько оно эффективно и есть ли что нибудь подобное под linux?


Содержание

Сообщения в этом обсуждении
"Архиватор с возможностью восстановления битого архива"
Отправлено pavlinux , 07-Янв-13 03:42 
> и есть ли что нибудь подобное под linux?

rar for linux http://www.rarlab.com/download.htm


"Архиватор с возможностью восстановления битого архива"
Отправлено ALex_hha , 07-Янв-13 15:05 
>> и есть ли что нибудь подобное под linux?
> rar for linux http://www.rarlab.com/download.htm

вроде ж платный


"Архиватор с возможностью восстановления битого архива"
Отправлено pavlinux , 08-Янв-13 03:48 
>>> и есть ли что нибудь подобное под linux?
>> rar for linux http://www.rarlab.com/download.htm
> вроде ж платный

а ты не плати :) Он в реестр ниче не пишет.


"Архиватор с возможностью восстановления битого архива"
Отправлено lavr , 07-Янв-13 11:18 
>[оверквотинг удален]
> ...
> You can use the `bzip2recover' program to attempt to recover
> data from undamaged sections of corrupted files.
> Всякие пляски с bzip2recover не помогли. Хорошо, что в итоге оказалось, что
> архив повредился в процессе закачки с удаленного сервера. Но все же
> большая вероятность потерять большой объем данных при любом нарушении целостности заставляет
> задуматься.
> Насколько помню у winrar была возможность добавлять в тело архива инф-цию для
> восстановления. Насколько оно эффективно и есть ли что нибудь подобное под
> linux?

ерунда это все и ничего в случае битости архива не поможет.

- нужно быть уверенным что на носителе целый архив (хранить checksum)
диск поплыл - архив накрылся, что дальше?

- нужно быть уверенным что при передаче по сети все ok
использовать TCP для передачи, и передавать архив кусками, будет проще.
понятно что лучше изначально разбить и хранить архив кусками с checksum

- понято что после передачи проверять checksum кусков и целого

- нужно быть уверенным что на принимающей стороне носители в порядке


"Архиватор с возможностью восстановления битого архива"
Отправлено ALex_hha , 07-Янв-13 15:08 
> ерунда это все и ничего в случае битости архива не поможет.

понятно, что если побито 30%+, то уже ничего не поможет. Но хотелось бы избежать ситуации, когда из-за 1-2 байт - теряешь несколько гигабайт - это не разумно, согласитесь

> - нужно быть уверенным что на носителе целый архив (хранить checksum)
> диск поплыл - архив накрылся, что дальше?

не всегда есть возможность сделать md5 сумму на удаленном сервере

> - нужно быть уверенным что при передаче по сети все ok
> использовать TCP для передачи, и передавать архив кусками, будет проще.
> понятно что лучше изначально разбить и хранить архив кусками с checksum
> - понято что после передачи проверять checksum кусков и целого
> - нужно быть уверенным что на принимающей стороне носители в порядке

ну вы прямо расписали ИДЕАЛЬНЫЕ условия, которых в реальной жизни часто не бывает ;)


"Архиватор с возможностью восстановления битого архива"
Отправлено lavr , 07-Янв-13 15:45 
>> ерунда это все и ничего в случае битости архива не поможет.
> понятно, что если побито 30%+, то уже ничего не поможет. Но хотелось
> бы избежать ситуации, когда из-за 1-2 байт - теряешь несколько гигабайт
> - это не разумно, согласитесь
>> - нужно быть уверенным что на носителе целый архив (хранить checksum)
>> диск поплыл - архив накрылся, что дальше?
> не всегда есть возможность сделать md5 сумму на удаленном сервере

значит нужно закладываться на что-то иное и определять иные граничные
условия и что из них возможно.

>> - нужно быть уверенным что при передаче по сети все ok
>> использовать TCP для передачи, и передавать архив кусками, будет проще.
>> понятно что лучше изначально разбить и хранить архив кусками с checksum
>> - понято что после передачи проверять checksum кусков и целого
>> - нужно быть уверенным что на принимающей стороне носители в порядке
> ну вы прямо расписали ИДЕАЛЬНЫЕ условия, которых в реальной жизни часто не
> бывает ;)

Вы не поняли, я описал узкие места и один из вариантов проверки и если успех,
дальнейшего транспорта.


"Архиватор с возможностью восстановления битого архива"
Отправлено Trolleibus , 09-Янв-13 09:43 
>[оверквотинг удален]
> ...
> You can use the `bzip2recover' program to attempt to recover
> data from undamaged sections of corrupted files.
> Всякие пляски с bzip2recover не помогли. Хорошо, что в итоге оказалось, что
> архив повредился в процессе закачки с удаленного сервера. Но все же
> большая вероятность потерять большой объем данных при любом нарушении целостности заставляет
> задуматься.
> Насколько помню у winrar была возможность добавлять в тело архива инф-цию для
> восстановления. Насколько оно эффективно и есть ли что нибудь подобное под
> linux?

Попробовать вместо tar+gzip/bzip2 afio.
Она создает CPIO-подобные архивы, но сжимает каждый файл по отдельности а не кучей как в случае с tar + gzip/bzip2. Тут будет шанс вытянуть большую часть информации из поврежденного архива. Я где-то встречал утилитку, которая для восстановления использует кодирование по Соломону-Риду, вот только не помню как оно называется. тот-же rar генерирует записи для восстановления используя RS-кодирование


"Архиватор с возможностью восстановления битого архива"
Отправлено Аноним , 13-Янв-13 05:51 

> Насколько помню у winrar была возможность добавлять в тело архива инф-цию для
> восстановления. Насколько оно эффективно и есть ли что нибудь подобное под
> linux?

В Linux информацию для восстановления создает тулза par2 ( или par2cmdline, в федоре есть пакет, например ) http://parchive.sourceforge.net/ . По-сути, тот же код Рида-Соломона, что и в rar используется.