Какой именно дистрибутив/среду вы загружаете?
Это может быть простая проверка файловой системы, которая просто обновляет последнюю -проверенную метку времени. Вместо того, чтобы брать хеш-сумму, было бы интереснее сделать 1 :1 копию, а затем сравнить их байт -с -байтом (cmp -l
), чтобы узнать, что именно изменилось.
Обычно файловые системы модифицирует не ядро, а пользовательское пространство, в которое вы загружаетесь. Большинство LiveCD (Live -USB -Sticks ), даже созданные для целей спасения, модифицируют файловые системы, монтируя их в поисках собственных живых данных. С systemd/udev в фоновом режиме также происходит много волшебства, о котором вы, возможно, не подозреваете.
Если вы можете изменить initramfs/раннюю загрузку, попробуйте установить /proc/sys/vm/block_dump
перед чем-либо еще, и вы можете получить некоторые сюрпризы относительно того, что написано где в dmesg
.
Примечание. :Это вызовет проблемы, если вы уже записываете сообщения ядра на диск, так как каждая запись вызовет новую запись только в журнал.
I can manually mount the file system read-only and unmount as much as I want.
Даже монтирование -только для чтения не всегда гарантирует отсутствие -изменений:
# truncate -s 100M foobar.iso
# losetup --find --show foobar.iso
/dev/loop0
# mkfs.ext4 foobar.iso
# md5sum foobar.iso
59dea589bb84855e282d1415b3238230 foobar.iso
# mount -o ro /dev/loop0 loop/
# md5sum /dev/loop0
47c89177d619b55b701a1ddbde352c90 /dev/loop0
Что здесь произошло? Без понятия, правда...
--- a.txt 2018-12-26 20:39:13.578096660 +0100
+++ b.txt 2018-12-26 20:39:18.444742584 +0100
@@ -1536,11 +1536,10 @@
*
03000400 c0 3b 39 98 00 00 00 04 00 00 00 00 00 00 04 00 |.;9.............|
03000410 00 00 10 00 00 00 00 01 00 00 00 01 00 00 00 00 |................|
-03000420 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00 00 |................|
+03000420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
03000430 15 de d5 f7 6f 52 43 9b a9 18 9b 3d 28 65 2d 51 |....oRC....=(e-Q|
03000440 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 |................|
-03000450 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
-03000460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+03000450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
03800400 58 64 00 00 00 90 01 00 00 14 00 00 40 6d 01 00 |Xd..........@m..|
03800410 4d 64 00 00 01 00 00 00 00 00 00 00 00 00 00 00 |Md..............|
Если вы хотите немного усилить идею -только для чтения, используйте mount -o loop,ro
, это добавляет промежуточное устройство -только для чтения. Но даже это не является гарантией чего-либо.
Соответствующее исправление состоит в том, чтобы использовать правильный номер версии, а не пытаться удержать пакет, сняв блокировки в postinst
. Пакет QEMU, который вы заменяете, имеет «эпоху», число перед двоеточием в номере версии, «1 :3.1...». Номер вашей версии тоже нуждается в этом, , т.е.«1 :5.2.50...»
apt
будет считать вашу версию более новой, чем версия в репозиториях.