Какие форматы архивных файлов обеспечивают защиту от повреждения файлов?

Я использую свой внешний жесткий диск для резервного копирования своих файлов, помещая их в большие архивные файлы.

У меня есть тысячи крошечных файлов и помещаем их в архивы размером от 500 МБ до 4,2 ГБ, прежде чем отправлять их на внешний жесткий диск. Но разрушает ли один жесткий диск весь архив или только один файл в архиве? Я боюсь, что один перевернутый бит может сделать большие части архива бесполезными.

Такие вещи, как проверки CRC, могут предупредить вас о существовании коррупции, но меня больше интересует возможность восстановления неповрежденных файлов из поврежденного архива. Какие форматы архивных файлов будут обеспечивать наилучшую возможность восстановления после таких сбоев, будь то собственный дизайн структуры архива или наличие дополнительных средств восстановления? Есть ли разница в этой возможности между zip и iso-файлами?

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

Переменной будет то, сколько урона вы хотели бы исправить. Если вы хотите защитить от одного бит флип, тогда ваш файл контроля четности будет размером всего 1 бит. Если вы хотите что-то в соответствии с размером дискового сектора, то, очевидно, это будет стоить вам больше.

За этим стоит большая теория (см. « Прямая коррекция ошибок» ), и она широко используется на практике. Например, это то, как компакт-диски могут выдержать определенную степень царапин и как сотовые телефоны могут поддерживать разумное качество связи по сравнению с потерями соединений.

Короче говоря, взгляните на файлы .par .

Bup [1] создает резервные копии и автоматически добавляет в избыточность четности, делая бит-гниль крайне маловероятным. Катастрофический сбой диска все еще есть, поэтому мы можем использовать его с git-приложением.

Git-application [2] управляет файлами, хранящимися во многих репозиториях, некоторые из которых могут быть сохранены на вашем компьютере, флэш-накопители, вход в систему ssh, некоторые облачные службы или резервный репозиторий bup [3], позволяя потоку данных файла в значительной степени прозрачно По запросу или автоматически в любой репозиторий, который вы установили. Это также финансируемый толпой бесплатный проект с открытым исходным кодом, который был написан в Haskell с версиями, запущенными на многих платформах, включая Linux, Mac, Windows и Android.

[1] https://github.com/bup/bup

[2] http://git-annex.branchable.com/

[3] http://git-annex.branchable.com/special_remotes/bup/

Но может ли один жесткий диск уничтожить весь архив или только один файл в архиве?

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

Содержимое несжатых архивов, таких как tarball, все еще может быть обнаружено с помощью программного обеспечения для восстановления файлов, даже если сам файл архива не может быть прочитан (например, из-за поврежденного заголовка).

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

Конечно, можно свести к минимуму риск, не сохраняя сотни файлов в один сжатый архив, а сотни сжатых файлов в один несжатый архив.

 gzip * tar cf archive.tar *.gz 

Хотя я никогда не видел много файлов gzipped в tarball в дикой природе раньше. Популярно только противоположное (например, tar.gz-файлы).

Есть ли разница между zip и iso файлами?

ZIP – это (в основном, но не обязательно) сжатый архив, а ISO – это формат, который указывает необработанные данные, скопированные на низкоуровневом основании с оптического диска в файл. Последнее может содержать буквально все.

Давайте будем гением компьютера.