这边人多问个问题

nadleeh 2017-04-27 01:39:36
用dd 读出来的flash分区放到 ramdisk上,居然md5sum的值可能会不同,而且几率不小

例如 dd if=/dev/mtd6 of=/1 然后2 3 4 5 6 7 多生成几个内容相同,名字不同的文件,然后看他们md5值,居然可能不同。
/文件系统是ramdisk,这个问题简直日了狗了,谁遇到过类似的?
...全文
188 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 6 楼 zhao4zhong1 的回复:
[quote=引用 5 楼 DelphiGuy 的回复:] 只读只是对用户操作,文件系统层面还是有写的。
比如更新文件的上次访问时间……[/quote] 还有log之类的,除了FAT、FAT32这种过于简单的文件系统,稍微复杂点的都支持log,linux上一般叫journal。
  • 打赏
  • 举报
回复
你用diff比较一下两个md5不同的文件就知道哪里不同了。
nadleeh 2017-04-28
  • 打赏
  • 举报
回复
引用 5 楼 DelphiGuy 的回复:
只读只是对用户操作,文件系统层面还是有写的。
环境我没描述清楚,我dd的mtd分区只是一个uboot分区,系统起来后不该去读写里面的数据,而且该mtd分区也没有挂载,只是奇怪dd 同一个分区的数据 到 ramdisk上面 结果 md5sum 值可能不同,或许真的是在ramdisk上生成的时间不同 导致md5sum值有差异
赵4老师 2017-04-27
  • 打赏
  • 举报
回复
引用 5 楼 DelphiGuy 的回复:
只读只是对用户操作,文件系统层面还是有写的。
比如更新文件的上次访问时间……
  • 打赏
  • 举报
回复
只读只是对用户操作,文件系统层面还是有写的。
nadleeh 2017-04-27
  • 打赏
  • 举报
回复
引用 1 楼 DelphiGuy 的回复:
很正常啊,分区还包括文件访问时间之类的数据,当然可能发生变化。
不会 dd 的读取对象是flash的一个分区,flash是用的mtd的形式,那个分区是ro的,所以不会有改变,只是奇怪为什么读出来放到ramdisk上面 多读几次 然后就会出现MD5sum的结果不同
  • 打赏
  • 举报
回复
如果你用软件监控NTFS分区的访问就会发现,$MFT、$BITMAP、$LOG之列的系统文件读写是非常频繁的,一天写成千上万次很正常。Linux的文件系统也应该差不多。
赵4老师 2017-04-27
  • 打赏
  • 举报
回复
dd可能不适用于ramdisk
  • 打赏
  • 举报
回复
很正常啊,分区还包括文件访问时间之类的数据,当然可能发生变化。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧