как я могу смонтировать и размонтировать файл как устройство цикла и иметь точно такую же контрольную сумму MD5 впоследствии? (Linux)
Вот рабочий процесс:
- Я беру свежую копию фиксированного шаблона файла, который содержит подготовленный
ext2 корневая файловая система.
- Файл монтируется с
mount -t ext2 <file> <mountpoint> -o loop,sync,noatime,nodiratime
- (Здесь некоторые файлы будут добавлены в будущем - но на мгновение проигнорируйте это и сконцентрируйтесь на mount / umount)
umount
- Возьмите MD5 сумму файла.
- Я ожидаю одну и ту же воспроизводимую контрольную сумму каждый раз, когда выполняю точно такие же шаги.
Однако, когда я повторяю процесс (помните: беря свежую копию файла шаблона), я всегда получаю другую контрольную сумму.
Я предполагаю, с одной стороны, что некоторые временные метки все еще устанавливаются внутренне (я пытался избежать этого с помощью опции noatime
), или, с другой стороны, Linux управляет файловой системой по-своему, где я не имею никакого влияния , Это означает, что файлы и временные метки внутри могут быть одинаковыми, но способ размещения файловой системы внутри файла может отличаться и поэтому может быть случайным.
Для сравнения, когда я создаю zip-файл из файлового дерева, и я касаюсь всех файлов с определенной временной меткой, контрольная сумма zip-файла воспроизводима.
Есть ли способ сохранить доступ к монтируемому файлу или файлу, который контролируется так, как мне нужно?