在
Linux环境中,有时我需要以root身份运行脚本,这将在我的fs上添加/修改多个文件.
基本上我想知道确切地修改了哪些文件以及如何打开脚本并尝试猜测代码.
我正在考虑使用像unionfs这样的东西:主要的fs可以在只读模式下访问,所有更改都写在用作分区的文件上,并在写入模式下“挂载”.
是否有其他方法可以实现相同的目标(即unionfs除外)?
解决方法
前面提到的LVM解决方案的示例.
警告:你想要diff的文件系统必须在lvm逻辑卷上!
(而且你必须在磁盘上有一些可用空间.)
# lvcreate --size 2G --name your-fs-snapshot --snapshot /dev/vg0/your-fs Logical volume "your-fs-snapshot" created
这会拍摄/ dev / vg0 / your-fs的快照.然后,执行您想要录制的更改.
您可以将快照作为原始状态的-fs副本进行安装,并使用您选择的工具进行差异,例如:差异.
# mount /dev/vg0/your-fs-snapshot /mnt # diff -q /original/volume/subdir /mnt/subdir
不要忘记卸载并删除快照,因为在执行此操作时,对原始卷的更改将记录为快照的反向差异 – 直到填满为止.
# umount /mnt # lvremove /dev/vg0/your-fs-snapshot Do you really want to remove active logical volume your-fs-snapshot? [y/n]: y Logical volume "your-fs-snapshot" successfully removed
提示:如果您的逻辑卷包含分区表,则可以通过以下方式添加设备条目:
# kpartx -av /dev/vg0/your-disk-snapshot