检查安装申请之前/之后所做的更改?

时间:2010-08-05 13:05:36

标签: linux installation filesystemwatcher

在Linux上,我需要知道在从源代码编译和安装应用程序后添加/修改/移动/删除了哪些文件,即。命令行,Linux等同于venerale InCtrl5

是否有一个实用程序可以执行此操作,或者我可以运行一组命令并向我显示更改?

谢谢。


编辑:以下命令没有问题,但我不需要知道发生更改或“./ ..”更新的行号:

# ls -aR /tmp > b4.txt
# touch /tmp/test.txt
# ls -aR /tmp > after.txt
# diff -u b4.txt after.txt

2 个答案:

答案 0 :(得分:4)

如果您只需要知道触摸了哪些文件,那么您可以使用find

touch /tmp/MARK
# install application here
find / -newercm /tmp/MARK

这将显示所有文件,其内容或元数据自您触及/tmp/MARK后已更改(包括新添加的文件)。

答案 1 :(得分:1)

我个人会使用像Mercurial(版本控制)之类的东西来做这件事。

主要原因是,它不仅有效而且干净,因为它只会在树的顶部添加一个隐藏目录,以便检查这些更改。

假设您需要知道/etc/中更改了哪些文件。所以在安装之前(你需要安装mercurial)你将目录添加到mercurial:

cd /etc
hg init
hg add
hg ci -m "adding all files in /etc/ to track them down"

以上将有效地“添加”所有文件以跟踪它们。验证没有任何变化:

hg st

不应返回任何文件。

如果您(或安装)修改了文件,您应该看到如下内容:

hg st
M foo.sh

文件前的“M”表示修改了给定文件。

对于新文件,您会在文件之前看到?,如:

? bar.sh

完成后不再需要Mercurial时,只需删除隐藏目录:

cd /etc
rm -rf .hg