LXF134:par2
|
|
|
- 'par2' Установите степень повреждения – и воскрешайте данные
Содержание |
par2: Проверь и почини файлы
- Бен Мартин расскажет, как с помощью par2 собрать маленькую армию восстановительных файлов, которая не даст пропасть вашим данным.
Многим известно, что контрольные суммы CRC32, SHA-1 и MD5 позволяют с высокой степенью вероятности судить о сохранности крупных файлов. С помощью par2 можно определить количество кода для коррекции ошибок, а при необходимости пойти дальше и реанимировать слегка подпорченные файлы. Кто знает: может быть, визит par2 на старый флэш-накопитель или второй DVD с резервной копией диссертации однажды спасёт ваши труды за 10 лет!
Элегантность программы в том, что можно заранее создать для архива «дерево» корректирующих файлов, и в случае порчи архива достаточно будет только загрузить такое количество «ремонтных» данных, которое соответствует уровню повреждения, чтобы архив был починен. То есть, если в 5‑гигабайтный Live-DVD затесалась парочка ошибок, можно загрузить всего один, очень маленький файл для восстановления исправной версии.
Существует три основных режима работы par2: создание, проверка и восстановление. Пакет par2 на машине Fedora Linux называется par2cmdline и состоит из команды par2 и трёх команд-псевдонимов: par2create, par2verify и par2repair. Вызов любой команды оформляется одинаково, тут не запутаешься: par2create par2‑file file1 file2 и т. д., где file1 file2 и им подобные – имена файлов для создания, проверки или восстановления.
За дело...
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Одной командой par2create можно сгенерировать восстановительные файлы аж для 32 000 файлов. Программа строит пирамиду своих файлов, присваивая им имена с префиксом par2‑file. Файлы в составе пирамиды прогрессивно увеличиваются в объёме. Если повреждение незначительно, то небольшого файла окажется достаточно, чтобы спасти положение. Катастрофическую потерю данных может залечить только крупный восстановительный файл.
Для демонстрации я взял файл Fedora-12‑x86_64 DVD.iso. Его объём около 3,3 ГБ, а контрольная сумма md5sum выглядит как 6dd31e292cc2eb1140544e9b1ba61c56. Тестирование выполнялось на машине с процессором 2,4 ГГц Intel Q6600 и массивом RAID. Чтобы создать MD5, понадобилось 39 секунд, а par2 со стандартными параметрами работала около восьми минут. Для создания восстановительных файлов ISO-образа я использовал команду par2create в следующей форме:
par2create Fedora12Par2 Fedora-12-x86_64-DVD.iso
Основной параметр командной строки, интересующий нас при создании файлов par2 – это -r. По умолчанию выставляется -r5, для создания избыточности в 5 %. Этот параметр определяет размер восстановительных файлов и количество ошибок, которые с их помощью можно исправить.
Время, затрачиваемое на создание файлов, зависит от количества генерируемых данных. Например, если вы хотите получить избыточность 10 %, то времени на это уйдёт вдвое больше, чем на файлы с 5 %‑й добавкой.
Восстановительные файлы занимают место и требуют времени для генерации, поэтому неплохо бы выяснить оптимальный объём избыточности. Весьма полезная функция par2 – вырабатывать дополнительный код для восстановления, который можно использовать в сочетании с готовыми файлами par2.
Например, изначально вы сгенерировали файлы par2 с избыточностью 5 %, но вам сообщили о 7 %‑м повреждении. В этом случае с параметром -r5 -fNNN можно сгенерировать 5 %‑ю добавку, начиная с блока NNN. Блок NNN должен быть следующим за имеющимися блоками. Чтобы найти NNN, найдите наибольший файл par2 – скажем, F12.vol063+37.par2. В нем содержится 37 блоков, начиная с блока 63. То есть изначально было создано 100 блоков, и можно создать дополнительный 5 %‑й код для вос-становления, начиная со следующего блока с параметрами -r5 -f101 при запуске par2create.
Найти и починить
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Чтобы узнать, не изменился ли DVD-образ со времени генерации файлов par2, скомандуйте:
par2verify Fedora12Par2.par2 Fedora-12-x86_64-DVD.iso
Если всё в порядке, выведется строка ‘All files are correct, repair is not required [Файлы в порядке, исправлений не требуется]’. Задача par2 – восстановление повреждённых файлов, поэтому я намеренно нарушил часть ISO-образа и восстановил оригинал. Для вставки прямо в файл случайного набора байтов, с заданным смещением от начала файла, можно использовать команду dd. А чтобы dd не обрезала файл до нуля байт, необходимо добавить ключи seek и conv=notrunc. Команды bs (размер блока) и count устанавливают начальную позицию и объём копирования. Следующим набором команд мы введем 4 КБ случайных данных в ISO-образ, начиная со смещения 16 КБ от начала файла.
dd \ if=/dev/urandom \ of=Fedora-12-x86_64-DVD.iso \ bs=1 count=4096 seek=16384 \ conv=notrunc
После разрушения 4 КБ данных команда par2verify должна сообщить о повреждении и количестве блоков, необходимом для его устранения.
par2repair Fedora12Par2.par2 Fedora-12-x86_64-DVD.iso ... Repair is required.[Необходимо исправление] 1 file(s) exist but are damaged. [1 файл(ы) существует, но поврежден] You have 1999 out of 2000 data blocks available.[Вам доступно 1999 из 2000 блоков] You have 100 recovery blocks available.[У вас есть 100 восстановительных блоков] Repair is possible.[Восстановление возможно] You have an excess of 99 recovery blocks.[У вас 99 избыточных восстановительных блоков] 1 recovery blocks will be used to repair.[1 восстановительный блок будет использован для исправления]
Итак, для восстановления понадобится всего один блок.
Как мы уже знаем, наибольший восстановительный файл может иметь название F12.vol063+37.par2; он содержит 37 блоков, начиная с 63‑го. Нет нужды стартовать все блоки с первого – в случае катастрофического повреждения, требующего 30 блоков для восстановления, достаточно загрузить только этот, самый большой файл F12.vol063+37.par2. Если удалось по крайней мере выяснить количество восстановительных блоков, исправить повреждение скорее всего удастся.
Команда на исправление почти не отличается от проверочного варианта: достаточно вместо par2verify набрать par2repair. Проверка длилась минуту, а на восстановление понадобилось около четырёх минут. По завершении работы вы обнаружите старый файл, переименованный в Fedora-12‑x86_64‑DVD.iso.1, и восстановленный Fedora-12‑x86_64‑DVD.iso. Это немного сбивает с толку: логично предположить, что добавку «1» получит новый, восстановленный файл. В итоге контрольная сумма MD5 спасённого файла соответствует исходной, а это здорово.
Недальновидному пользователю par2, конечно, не поможет. Однако небольшие затраты сил и времени на постройку пирамиды восстановительных файлов многократно окупятся, когда настанет час спасать свои труды.
Интернет-стратегия
Восстанавливая файл, полученный из Интернета, лучше начать с загрузки файла par2 и наименьшего по объёму volXX.YY.par2. Если ошибок немного, то par2repair тут же исправит их; в противном случае вы узнаете, сколько дополнительных блоков необходимо для восстановления. Вооружившись этим знанием, загружайте столько дополнительных файлов vol.par2, сколько нужно для восстановления данных.
Как повысить скорость
Количество используемой памяти определяется параметром -m. Стандартное значение -m16 позволяет использовать только 16 МБ ОЗУ, что для современных машин неактуально. Например, имея 8 ГБ ОЗУ, я использую значение -m512, и вместо восьми минут нужное количество восстановительных файлов генерируется за семь.