升级期间合并 /etc 中的 conf 文件的工具?

升级期间合并 /etc 中的 conf 文件的工具?

Gentoo Linux有一套工具来协助合并conf 文件在升级软件包时会发生变化。例如,conf-update工具或dispatch-conf工具。

但是,当我在 Ubuntu 上升级软件包时,我只能获得以下选项:(1)使用新的 conf 文件,(2)使用旧的 conf 文件,(3)启动 shell。

Ubuntu 中没有类似conf-update或的工具吗dispatch-conf

更多解释:

假设有一个服务的配置文件是/etc/something.conf。安装something包将提供一个“默认”配置,其中所有选项均已注释。然后我根据需要修改选项。

然后有一个更新,更新后会安装一个新的“默认”配置。某些选项可能会被弃用,可能会添加新选项,并且可能会更正现有选项的描述。

现在这个“默认”配置显然与已经编辑的/etc/something.conf文件冲突。

Gentoo Linux,新配置将以唯一名称保存,并打印出警告,告知我“配置文件已更改/更新”。然后我运行,conf-update这将帮助我对受影响的配置文件执行双向合并。对于每个更改,我可以选择 (1) 保留我的版本,(2) 使用软件包的版本,或 (3) 手动编辑。通常我选择 (2) 进行注释更改,(1) 保留我的具体更改,以及 (3) 如果我与默认设置有很大差异。

如果可能的话,我希望在 Ubuntu 中拥有相同的控制/交互。

答案1

通过升级时apt-get,通常会提示如何处理配置文件(安装新版本、保留旧版本等)。

如果我们选择保留当前版本,新的配置文件将以扩展名 (.dpkg-dist) 存储。

以下命令可用于列出新文件:

find /etc -type f -name "*.dpkg-dist"

要对这些配置文件采取行动,我们可以使用提供的中佛罗里达大学工具。其语法为:

ucf <new-file> <old-file>

例如,

ucf /etc/sysctl.conf.dpkg-dist /etc/sysctl.conf

也可以看看,

https://raphaelhertzog.com/2010/09/21/debian-conffile-configuration-file-managed-by-dpkg/

相关内容