我正在只读 ext4 卷上运行 Raspbian。我还有一个通过 fstab 安装的读/写 USB 闪存卷(ext4、sync),它运行一个简单的应用程序,预计偶尔会写入。虽然我不担心根分区(它是只读的),但我担心 rw 分区。
如果我假设目前没有写入该卷并且没有 stdout/stderr 重定向,那么切断电源是否安全?
关闭电源会导致重新启动时进行系统完整性检查吗?
如果在打开的进程上有 stdout/stderr 重定向(到 rw 分区上的文件),这是否意味着只要进程正在运行,该文件就保持打开状态?
答案1
如果我假设目前没有写入该卷并且没有 stdout/stderr 重定向,那么切断电源是否安全? // 如果在打开的进程上有 stdout/stderr 重定向(到 rw 分区上的文件),这是否意味着只要进程正在运行,该文件就保持打开状态?
您对 Linux 如何处理待处理缓冲区的理解是错误的。这与打开的文件根本无关。当创建缓冲区的进程早已消失时,缓冲区可能会处于挂起状态。确保所有数据都位于介质上的唯一方法是卸载或重新挂载只读文件系统。
关闭电源会导致重新启动时进行系统完整性检查吗?
未正确卸载/重新安装为只读的文件系统将被检测为肮脏的在下一个山上。因为这是 ext4,所以安装这样一个脏文件系统是可能的 - 然后驱动程序将坚持日志。断电前的最后更改将丢失。