如何找出两个独立安装的 Ubuntu/Linux 系统的配置差异?

如何找出两个独立安装的 Ubuntu/Linux 系统的配置差异?

AMI我有一个基于公共 AMI定制的旧版(Amazon Machine Image) ubuntu-trusty-14.04-amd64-server。我计划用最新的公共映像替换此定制映像ubuntu-bionic-18.04-amd64-server

我计划根据这些图像设置简单的系统,比较并列出主要的配置差异,并逐一检查必要的更改。

有没有什么推荐的方法可以快速找出两个独立的 Ubuntu/Linux 系统之间的差异,例如比较某些配置目录和文件?

答案1

如果所有这些都基于 ubuntu,您可以比较/etc文件夹及其内容以进行配置。但是,这可能不是全部。某些软件可以下载到自定义文件夹(例如/usr/share或其他文件夹),这可能需要进一步调查。

您也可以使用以下命令开始检查已安装的软件:( apt list --installed它还会为您提供具体版本)

您可以使用软件包来比较文件夹meld,它具有三向比较功能,但您需要运行 WindowManager 才能实现此目的。除此之外,建议使用简单的 diff 工具。

答案2

以下是我所做的:

  • 初始化了 2 个独立实例,一个使用定制的 Ubuntu AMI,另一个使用公共 Ubuntu 14.04 AMI
  • 将两个实例的根目录挂载到本地系统,并比较整体文件和目录的差异,但差异太大。
  • 将比较范围缩小到某些目录,如、,/etc并重点关注: /home/opt
    • 用户和组(/etc/group
    • 安装信息 ( /etc/fstab)
    • 已安排作业 ( /etc/cron*)
  • 比较已安装软件包的列表。发现大量软件包存在差异,因为列出所有已安装软件包时,它包括了主软件包及其依赖项。
  • 开发了一个脚本来构建已安装包的依赖结构,以获取主要安装包的差异。

上述步骤缺少很多精确的比较,但帮助我进一步了解了两个系统的区别。进一步调查可能会给出更好的想法。

相关内容