答案1
这可能是联合文件系统可能会有用。使用 unionfs,您应该能够以某种方式挂载东西,将主文件系统视为只读,并将所有文件写入/修改重定向到另一个目录或文件系统。这是 livecds 上常用的工具,用于将更改保存到 USB 记忆棒或其他存储设备。
如果您使用 LVM 并且有空闲区,另一个选择是拍摄快照。运行您的程序,然后将文件系统上的所有内容与快照中的内容进行比较。
答案2
您可以使用strace
来监视程序正在做什么。使用 限制列出的操作-e trace=file
并查看程序的手册页。但请注意,列表将包括全部文件操作,包括读取共享库的操作。
除此之外,您还可以研究inotify
内核的基础结构,它更适用于扩展操作,strace
主要用作调试工具。