Linux / Ubuntu 指纹识别命令/方法,用于识别两个环境之间硬件/软件包/配置的系统范围差异

Linux / Ubuntu 指纹识别命令/方法,用于识别两个环境之间硬件/软件包/配置的系统范围差异

我有 2 个独立的环境,其中一个环境中出现了一些奇怪的行为,而另一个环境中没有出现。具体来说,错误与 PHP 有关:

Fatal error: Nesting level too deep - recursive dependency?

这只发生在 AWS 上,而不会发生在我们的内部托管(ESXi VM)上。我们尝试同步 PHP、PHP 模块、Apache、Apache 模块版本和配置,但未能消除此 AWS 独有的错误。

因此,我们现在希望将范围扩大,研究依赖关系和系统范围的配置,以尝试进一步消除环境中的差异。同事至少在概念层面上建议我,可能有专门用于此目的的指纹工具。

谢谢您的任何建议。

答案1

dpkg --get-selections结合apt-cache policy会有所帮助;假设两个服务器都使用相同的源镜像,例如

{ for i in $( dpkg --get-selections | grep -v "deinstall" | cut -f1 ); do \
apt-cache policy $i; \
done } > $( cat /etc/hostname ).txt

可能有助于找到特定的包差异。

相关内容