如何强制 upperdir overlayfs 重新读取/重新加载 lowerdir?

如何强制 upperdir overlayfs 重新读取/重新加载 lowerdir?

我在使用 overlayfs 时遇到以下问题:我可以使用以下行顺利挂载 overlayfs /etc/fstab

none /home/student overlayfs lowerdir=/home/student,upperdir=/home/.student_rw 0 0

这很有效并且mount命令正确显示了覆盖:

pc:~$ mount -l -t overlayfs
none on /home/student type overlayfs (rw,lowerdir=/home/student,upperdir=/home/.student_rw)

所以现在当学生退出机器时我会/home/.student_rw使用脚本删除内容——这也能正常工作。

问题是,登录的学生应该找到一个干净的主目录,其中的设置已预先配置,/home/student因为 overlayfs 不会触碰 lowerdir 文件夹。但是 overlayfs“记住”了已删除的文件,并且不会显示它们,即使它们存在于 lowerdir 中。重新启动后,这种方法可以正常工作。但我希望它在注销和登录时也能正常工作。我该如何解决这个问题?对我来说,一个可能的解决方案似乎是让 upperdir 重新读取 lowerdir。我该怎么做?

完全相同的方法对于 aufs 非常有效,但 aufs 不再受精确支持。

答案1

只需执行:

echo 3 > /proc/sys/vm/drop_caches

这将使内核从内存中删除缓存、dentry 和 i-node 数据。

相关内容