如何从覆盖文件系统中删除更改?

如何从覆盖文件系统中删除更改?

overlayfs我有一个运行 BusyBox 的嵌入式设备,使用以下命令风格安装了许多目录,其中工作目录和数据目录安装在单独的 UBI 分区上。

主根文件系统是squashfs只读映像,已使用较新版本进行更新。我需要删除对某些文件所做的更改,以便更改squashfs生效。我怎样才能做到这一点?

mount -t overlay etc_overlay -o lowerdir=/etc,upperdir=/mnt/config/.data,workdir=/mnt/config/.work /etc

答案1

/mnt/config/.data 和 /mnt/config/.work 中的文件夹包含您的更改。您可以将它们移开以创建新的。卸载覆盖层并使用干净的上层目录重新安装它:

umount /etc
mv /mnt/config/.data /mnt/config/.data.old
mv /mnt/config/.work /mnt/config/.work.old
mkdir /mnt/config/.data
mkdir /mnt/config/.work
mount -t overlay etc_overlay -o lowerdir=/etc,upperdir=/mnt/config/.data,workdir=/mnt/config/.work /etc

/mnt/config/.data.old如果您需要的话,您可以在其中找到对旧覆盖的所有更改。/mnt/config/.work.old如果正确卸载,除了工作文件夹之外应该是空的。

相关内容