为什么只读文件系统的 SHA512 哈希会改变?

为什么只读文件系统的 SHA512 哈希会改变?

我按照指南将 Raspberry Pi 引导为只读文件系统。

$ cat /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fastboot noswap ro

$ cat /etc/fstab
proc                  /proc     proc    defaults             0     0
PARTUUID=fb0d460e-01  /boot     vfat    defaults,ro          0     2
PARTUUID=fb0d460e-02  /         ext4    defaults,noatime,ro  0     1
tmpfs                 /tmp      tmpfs   nosuid,nodev         0     0
tmpfs                 /var/log  tmpfs   nosuid,nodev         0     0
tmpfs                 /var/tmp  tmpfs   nosuid,nodev         0     0

当我计算 SD 卡的 SHA512 哈希值时,哈希值在重新启动后会发生变化...为什么?

$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         500.1 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +500.1 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD - Data     340.9 GB   disk1s1
   2:                APFS Volume Preboot                 85.9 MB    disk1s2
   3:                APFS Volume Recovery                529.0 MB   disk1s3
   4:                APFS Volume VM                      3.2 GB     disk1s4
   5:                APFS Volume Macintosh HD            11.3 GB    disk1s5

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.9 GB    disk2
   1:             Windows_FAT_32 boot                    268.4 MB   disk2s1
   2:                      Linux                         15.7 GB    disk2s2

$ sudo openssl dgst -sha512 /dev/rdisk2
...

答案1

这是预期行为,并记录在手册中。在终端类型man 8 mount:

-r, --只读

以只读方式挂载文件系统。同义词是-o ro。请注意,根据文件系统类型、状态和内核行为,系统仍可能写入设备。例如,如果文件系统脏了,Ext3 或 ext4 将重播其日志。为了防止这种写访问,您可能需要使用“ro,noload”挂载选项挂载 ext3 或 ext4 文件系统或将块设备设置为只读模式,请参阅命令区块开发(8)

因此,您很可能正在安装 ext4(或类似的)并且它正在进行预期的更改。

相关内容