изменяет ли ядро ​​Linux размонтированные разделы ext4?

Используйте escape-последовательность в стиле ANSI C $ '\ n' для обозначения новой строки:

$ string=xyababcdabababefab

$ echo "${string/abab/$'\n'}"
xy
cdabababefab

Или используйте zsh , чтобы использовать только \ n :

% string=xyababcdabababefab

% echo "${string/abab/\n}"
xy
cdabababefab
3
26.12.2018, 18:22
1 ответ

Какой именно дистрибутив/среду вы загружаете?

Это может быть простая проверка файловой системы, которая просто обновляет последнюю -проверенную метку времени. Вместо того, чтобы брать хеш-сумму, было бы интереснее сделать 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, это добавляет промежуточное устройство -только для чтения. Но даже это не является гарантией чего-либо.

1
27.01.2020, 21:24

Теги

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