我需要找出安装程序所做的所有文件系统修改.很可能安装的软件包是rpm或deb,但是应用程序当然可以简单地复制或编译并使用configure; make; make install方式安装.即使rpm和deb具有文件列表,它们的安装后脚本也可以进行其他文件系统修改.
我首先去寻找一个可以监视另一个应用程序的应用程序来查找其他应用程序所做的所有文件系统修改.我还没找到.
接下来,我研究了分层文件系统,在开始应用程序安装之前考虑我放入分层文件系统,然后在分层文件系统上安装应用程序,然后找出层中发生的所有修改.我能找到的最好的是mini_fo,但它似乎自2006年以来一直没有得到维护.它似乎也不会被覆盖/(这隐藏了一些东西).
然后我研究了基于inotify的解决方案,但似乎从/开始监控所有内容是不切实际的.例如,inotifywatch(linux.die.net/man/1/inotifywatch)默认提到手表的限制只有8k.安装观察者也需要一些时间.似乎还存在错误,新创建的目录不会立即被监视,因此可能会错过它们的更改.