查找自服务器创build以来安装的所

我经常看起来在处理“几乎处女”的Linux安装:虚拟机是为了某个目的而创build的,只是简单的使用,但是过了一段时间,我们并不确定它究竟是什么。

我希望能够快速(按键,如果不是时间的话)快速了解自创build以来盒子上发生了什么。 基本上这将意味着:

  1. 从最初服务器创build以来安装的软
  2. 用户创build的文件夹和文件(特别是在/ usr / local等地方,但实际上可以在任何地方)。

我不知道如何做这些事情。 尤其是第二个:如何区分作为系统活动(日志,pid文件…)的正常部分创build的文件和用户明确创build的文件?

我试过这个*:

find / -printf '%p %u\n' 2>/dev/null | grep -E `users | tr ' ' '|'` 

但是这在/ proc中出现了很多无趣的东西。 我想我可以将search范围缩小到/ home和/ usr,但这可能太过规范。

build议? 更好的方法?

我能想到的最快(也是最稳健的)方式:

  1. 沿着这些线安装radmind或tripwire或其他东西。
  2. 创build一个基准。
  3. 在稍后的时间点对该基线运行该工具,以查看更改的内容(如果使用1radmind`,则可以select性还原更改)。

请注意,(2)的一部分是识别你不关心的事情( /proc/sys/dev/tmp ,日志文件等等) – 期待在这上面花点时间。

您可以尝试使用蓝图等外观对您的系统进行逆向工程。 默认情况下,它将获取包差异和configuration文件更改。 它比一些击键更重,但是是另一种select。

如果你可以得到这个盒子“完成安装”的时间戳(也许来自/var/log/dpkg.log?),你可以做一个find和查找自那时起被修改的文件。