如何比较软件安装前后的文件结构?

我正在为我保留的一些软件应用程序创建一个新的 Homebrew 公式,作为我筛选的一部分,我当然想保证文件是只是包括在安装时的正确位置,并且全部数据在卸载时被删除。

在我的测试安装和卸载之前和之后设置对比文档结构的最佳方法是什么?

5
2022-06-07 14:38:09
资源 分享
答案: 3

我喜欢在这种工作中使用“find”和“shasum”。 2 个不同的变法,1 个用于结构,还有一个附加的 sha - 1 是文件:

find -s /path/to/directory -ls > files-before.txt
find -s /path/to/directory -type f -exec shasum \{} \+ >> files-before.txt

运行您的安装/卸载,然后对“files - after.txt”使用相同的过程。 然后。

diff files-before.txt files-after.txt
2
2022-06-07 20:38:43
资源

有两种方法让我大吃一惊:

  • fseventer 是一个应用程序,它使用 Apple 的 FSEvents 结构来实时观察文件系统的变化。 请务必阅读程序员网站上的警告和注意事项
  • 在执行操作之前,复制相应的目录站点(到某个无忧无虑的地方,例如您的台式计算机)。 然后,您可以使用 FileMerge(具有设计器实用程序的功能)来比较目录站点
0
2022-06-07 15:08:12
资源

在终端中,我可以考虑 2 个选择:

  1. ls -R

  2. tree directory-name/(安装后;即 brew install tree)。 最后的较低部分保护输出保存到的文件中的独特个性的屏幕。

在这两种情况下,您都可以在安装前后将输出重定向到一个文件,并可能使用 Xcode 附带的 Apple FileMerge.app 比较两个文档。

2
2022-06-07 15:07:16
资源