查找自服务器创建以来安装的所有内容

查找自服务器创建以来安装的所有内容

我似乎经常处理“几乎是原始的”Linux 安装:为某个目的而创建的虚拟机,短暂使用过,但过了一段时间我们就不确定上面到底有什么了。

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

  1. 自初始服务器创建以来安装的软件包
  2. 用户创建的文件夹和文件(尤其是在 /usr/local 这样的地方,但它们实际上可能在任何地方)。

我不确定如何做这两件事。特别是第二件事:有什么好方法可以区分作为系统活动正常部分创建的文件(日志、pid 文件……)和用户明确创建的文件?

我尝试了这个*:

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

但这会在 /proc 中出现很多无趣的内容。我想我可以将搜索范围缩小到 /home 和 /usr,但这可能太过规范。

有什么建议吗?还有更好的方法吗?

答案1

我能想到的最快(也是最强大)的方法:

  1. 安装radmind或者绊线或类似的规定。
  2. 创建基线。
  3. 稍后根据该基线运行该工具以查看发生了哪些变化(如果您使用 1radmind`,则可以选择恢复更改)。

请注意, (2) 的部分是识别您不关心的内容(日志文件中的内容/proc/sys/dev——/tmp预计需要花费一些时间在这上面。

答案2

您可以尝试使用类似蓝图对您的系统进行逆向工程。默认情况下,它会拾取软件包差异和配置文件更改。这比几次击键要麻烦,但也是另一种选择。

答案3

如果您可以获得盒子“完成安装”的时间戳(可能来自 /var/log/dpkg.log?),您可以执行find并找到自那时以来被修改过的文件。

相关内容