'squashfs-инструменты' создают неправильно сжатый файл

Я имею 6.3G дамп файловой системы, что я пытался сжать использование squashfs, но после использования unsquashfs, сгенерированный файл отличается от исходного дампа.

Я генерировал различие между исходным файлом и файлом в squashfs системе со следующей командой:

cmp -l /media/daboross/extstorage/backup-2014-12-05/sda7_backup.img \
    /media/daboross/disk/sda7_backup.img  \
    | gawk '{printf "%08X %02X %02X\n", $1, strtonum(0$2), strtonum(0$3)}'  \
    > diff.txt

где /media/daboross/extstorage/backup-2014-12-05/sda7_backup.img исходный файл и /media/daboross/disk/ монтирование squashfs файла. См. https://superuser.com/a/125408 для источника этой команды.

Вот сгенерированный различный файл: http://sprunge.us/BFPS. Мог бы быть некоторый шаблон в этом, которое может помочь диагностировать проблему, я не уверен, каково это было бы, но включая это на всякий случай.

Если бы существует информация, которая была бы полезна, не стесняйтесь просить ее. У меня в настоящее время нет squashfs файловой системы, которая генерировала тот, что файл различия был сгенерирован от, но я могу просто работать mksquashfs снова в случае необходимости - это последовательно создает файл, который не является тем же.

Версия mksquashfs/unsquashfs (от squashfs-инструментов):

mksquashfs version 4.2-git (2013/04/07)
unsquashfs version 4.2-git (2013/03/13)

Любые идеи о том, почему это происходит или что я могу сделать для помощи, значительно ценятся.

Редактирование/Обновление:

После обновления от версии squashfs-инструментов, упакованных с Ubuntu к squashfs v4.3, я все еще получаю ошибку, но не такое количество одного.

Выполнение вышеупомянутой двоичной различной команды производит это для файла сжатое и распакованное использование v4.3: http://sprunge.us/DDAM.

При рассмотрении двоичных различных файлов, Вы видите, что различный файл, произведенный с v4.3, является точно тем же как последней частью файла, произведенного с с 4.2 мерзавцами. Я предположил бы, что это, вероятно, означает, что часть повреждения была зафиксирована в v4.3, но не всем этом.

0
задан 20 March 2017 в 03:18

1 ответ

Очевидный факт - Вы жалуетесь, что Unsquashfs генерирует другой файл, но затем продемонстрируйте это путем монтирования файловой системы Squashfs и сравнения этого....

Если ошибка была в Unsquashfs, Вы были бы, ожидая, что монтирование файловой системы будет работать (предоставление корректного вывода). If и Unsquashfs и монтирование не работают, затем ошибка (если таковые имеются), вероятно, будет в Mksquashfs.

Версия mksquashfs/unsquashfs (от squashfs-инструментов):

версия mksquashfs, с 4.2 мерзавцами (2013/04/07)

версия unsquashfs, с 4.2 мерзавцами (2013/03/13)

Они похожи на снимки от моего дерева разработки мерзавца (они имеют - мерзавец в версии).

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

Необходимо попробовать версии выпуска squashfs-инструментов. Squashfs-инструменты 4.3 были выпущены в этом году, и необходимо попробовать это. Это однако имеет известную ошибку, вызывающую неправильные файловые системы в определенных случаях (представленный в сентябре 2011), но это не похоже на ошибку, которую Вы поражаете.

В зависимости от того, необходимо ли вышеупомянутые Squashfs-инструменты 4,3 работы, также попробовать более ранние Squashfs-инструменты выпуска 4.2 (с 2011), и версия последнего достижения от мерзавца (где одна известная ошибка повреждения файловой системы была исправлена).

Выпуск tarballs и дерево разработки мерзавца могут быть получены от

http://sourceforge.net/projects/squashfs

1
ответ дан 6 October 2019 в 07:39

Другие вопросы по тегам:

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