pep*_*uan 7 configuration package-management
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 中有相同的控制/交互。
通过 升级时apt-get
,通常会提示如何处理配置文件(安装新版本、保留旧版本等)。
如果我们选择保留当前版本,新的配置文件将以扩展名(.dpkg-dist)存储。
可以使用以下命令列出新文件:
find /etc -type f -name "*.dpkg-dist"
Run Code Online (Sandbox Code Playgroud)
要对这些配置文件采取操作,我们可以使用提供的ucf工具。其语法为:
ucf <new-file> <old-file>
Run Code Online (Sandbox Code Playgroud)
例如,
ucf /etc/sysctl.conf.dpkg-dist /etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)
也可以看看,
https://raphaelhertzog.com/2010/09/21/debian-conffile-configuration-file-management-by-dpkg/
归档时间: |
|
查看次数: |
1000 次 |
最近记录: |