Debian – 升级包和configuration文件有什么变化?

我是系统pipe理新手,我正在帮助pipe理一个学生组的服务器。 我想知道什么是当你升级包和configuration文件有变化的最佳做法。 我一直在看差异,然后通常只是离开旧版本,除非它看起来有什么重要的添加,否则手动合并configuration文件与kdiff3,但有没有更好的方法来做到这一点?

另外,我必须自己备份旧文件还是dpkg自动备份? 我有时会注意到旧版本configuration文件的某些目录中的.old文件。

这个问题很复杂,因为我是这个组的新手,我不知道为什么有些改变是他们的方式,但如果有疑问,我已经推迟到现有的版本。

顺便说一下,我想要一些特殊性。 例如,当dpkg提示整个Y / N / I / O / D /等事情时,你会怎么做? 你是否备份旧文件,安装新文件,然后合并,还是有更好的方式来合并文件,当你在ncurses提示的事情?

这似乎是一个合理的做法。 类似于我已经做了大约15年(自1994年以来一直使用debian)。 它总是为我工作:)

我从基本假设开始,如果我修改了一个configuration文件,那么我有一个很好的理由,我的改变可能比新的默认configuration文件中的任何东西更好/更重要。

然后我检查我的configuration和新的打包版本,并且:

  1. 完全忽略任何差异,因为它们或者不重要,或者与我的设置不相关。

  2. 将新configuration中有用的东西合并到我现有的configuration中。

  3. 如果有很多新的东西,只有我想要保留的一小部分我的更改,然后我做相反,并将我的更改合并到新的configuration文件,然后使用它。

我不使用任何专门或GUI工具。 我只是使用'diff -u'和less以及vi偶尔会使用一些标准的文本处理工具,如sed或perl。 colordiff也不错,当差异输出比screenful多。

虽然我同意Craig Sanders的回答,但是我必须补充一点:在很多升级过程中(通常是在版本之间 – 比如Hardy – > Intrepid),当我没有改变它们的时候,apt会报告configuration文件的变化。 如果我确信我没有更改configuration文件,我只会select转储旧的configuration文件,并保留包维护者的版本。

刚刚发现这个post寻找我的类似问题的答案。

毕竟我最终做的是select打开一个terminal,做一个三合一的融合,

meld file.conf file.conf.dpkg-old file.conf.dpkg-new 

保存结果到file.conf并继续

是的,最好的办法是,恕我直言,获得维护者的版本,并在其中报告定制的价值。

这样,您可以确保拥有最新的configuration文件,更新的注释,注释掉的默认值等等。

当你在更新过程中由于一个新的configuration文件版本而最终需要保持最佳状态时,请记住要检查的文件,然后手动编辑文件以合并不同的文件( vimdiff是一个非常强大的方式,但kdiff也是一个不错的select:)

要记住的非常重要的是避免自定义configuration文件过时

我2美分:)