为什么在删除Umountfs脚本之前重新安装文件系统以读取



在带有ext4的嵌入式linux分布上,我有以下umountfs脚本:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          umountfs
# Required-Start:
# Required-Stop:     
# Default-Start:
# Default-Stop:      0 6
# Short-Description: Turn off swap and unmount all local file systems.
# Description:
### END INIT INFO
PATH=/sbin:/bin:/usr/sbin:/usr/bin
echo "Deactivating swap..."
[ -x /sbin/swapoff ] && swapoff -a
# We leave /proc mounted.
echo "Unmounting local filesystems..."
grep -q /mnt/ram /proc/mounts && mount -o remount,ro /mnt/ram
mount -o remount,ro /
umount -f -a -r > /dev/null 2>&1
: exit 0

我对以下行有一个问题:

mount -o remount,ro /
umount -f -a -r > /dev/null 2>&1

问题是:为什么我们需要在Umount之前重新安装Rootfs?

我看到了一些解释,好像我们需要将rootfs重新安装到ro,以强迫所有未决的写入请求要闪烁在磁盘上。但这不满足我,因为待处理的写作请求的闪烁是Umount命令的一部分。

所以问题:有人理解吗,为什么我们需要在卸载之前重新安装rootfs到ro

通常您 删除了根文件系统,因为至少一个使用文件系统 - init或systemd的当前运行的过程。重新安装根文件系统仅读取所有肮脏的数据并防止其再次修改,以使文件系统保持一致。通常,在那时,内核重新启动而没有实际卸载根文件系统。

相关内容

  • 没有找到相关文章

最新更新