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

kyb*_*kyb 2 linux filesystems openwrt overlayfs

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)
Run Code Online (Sandbox Code Playgroud)

不知何故真正的lowerdir是 /rom

# mount | grep rom
mtd:ubi_rootfs on /rom type squashfs (ro,relatime)
Run Code Online (Sandbox Code Playgroud)

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

解决方法

cp /rom/path/to/file /overlay/upper/path/to/file
Run Code Online (Sandbox Code Playgroud)

kyb*_*kyb 5

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

rm /overlay/upper/my/file
mount -o remount /
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,就像魅力一样!我认为我自己的第一个命令是要重新启动路由器,但重新安装显然就足够了,而且速度更快。 (2认同)