Собственно интересует сабж. Как всегда делал по привычке# 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?
> и есть ли что нибудь подобное под linux?rar for linux http://www.rarlab.com/download.htm
>> и есть ли что нибудь подобное под linux?
> rar for linux http://www.rarlab.com/download.htmвроде ж платный
>>> и есть ли что нибудь подобное под linux?
>> rar for linux http://www.rarlab.com/download.htm
> вроде ж платныйа ты не плати :) Он в реестр ниче не пишет.
>[оверквотинг удален]
> ...
> 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 кусков и целого
- нужно быть уверенным что на принимающей стороне носители в порядке
> ерунда это все и ничего в случае битости архива не поможет.понятно, что если побито 30%+, то уже ничего не поможет. Но хотелось бы избежать ситуации, когда из-за 1-2 байт - теряешь несколько гигабайт - это не разумно, согласитесь
> - нужно быть уверенным что на носителе целый архив (хранить checksum)
> диск поплыл - архив накрылся, что дальше?не всегда есть возможность сделать md5 сумму на удаленном сервере
> - нужно быть уверенным что при передаче по сети все ok
> использовать TCP для передачи, и передавать архив кусками, будет проще.
> понятно что лучше изначально разбить и хранить архив кусками с checksum
> - понято что после передачи проверять checksum кусков и целого
> - нужно быть уверенным что на принимающей стороне носители в порядкену вы прямо расписали ИДЕАЛЬНЫЕ условия, которых в реальной жизни часто не бывает ;)
>> ерунда это все и ничего в случае битости архива не поможет.
> понятно, что если побито 30%+, то уже ничего не поможет. Но хотелось
> бы избежать ситуации, когда из-за 1-2 байт - теряешь несколько гигабайт
> - это не разумно, согласитесь
>> - нужно быть уверенным что на носителе целый архив (хранить checksum)
>> диск поплыл - архив накрылся, что дальше?
> не всегда есть возможность сделать md5 сумму на удаленном серверезначит нужно закладываться на что-то иное и определять иные граничные
условия и что из них возможно.>> - нужно быть уверенным что при передаче по сети все ok
>> использовать TCP для передачи, и передавать архив кусками, будет проще.
>> понятно что лучше изначально разбить и хранить архив кусками с checksum
>> - понято что после передачи проверять checksum кусков и целого
>> - нужно быть уверенным что на принимающей стороне носители в порядке
> ну вы прямо расписали ИДЕАЛЬНЫЕ условия, которых в реальной жизни часто не
> бывает ;)Вы не поняли, я описал узкие места и один из вариантов проверки и если успех,
дальнейшего транспорта.
>[оверквотинг удален]
> ...
> 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-кодирование
> Насколько помню у winrar была возможность добавлять в тело архива инф-цию для
> восстановления. Насколько оно эффективно и есть ли что нибудь подобное под
> linux?В Linux информацию для восстановления создает тулза par2 ( или par2cmdline, в федоре есть пакет, например ) http://parchive.sourceforge.net/ . По-сути, тот же код Рида-Соломона, что и в rar используется.