Overlayfs:从 "lower" 恢复删除或更改的文件

Overlayfs: restore removed or changed file from "lower"

OpenWrt 使用 overlayfs

# mount | grep overlay
/dev/ubi0_2 on /overlay type ubifs (rw,noatime)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)

不知何故真正的 lowerdir 是 /rom

# mount | grep rom
mtd:ubi_rootfs on /rom type squashfs (ro,relatime)

如何恢复文件以使其成为 /rom 中的文件? 从覆盖层中删除记录:whiteouts 和不透明目录。

解决方法

cp /rom/path/to/file /overlay/upper/path/to/file

/overlay/upper 中删除文件,然后重新装载 rootfs。

rm /overlay/upper/my/file
mount -o remount /