如何将 debian 包中的某些文件标记为配置?

aby*_*s.7 6 configuration packaging dpkg

我想制作自己的 Debian 软件包,其中包含一些默认配置文件。我不希望在使用dpkg -i.

有什么方法可以解决我的问题?

and*_*ing 6

您可以创建一个名为 的文件debian/conffiles并列出其中的文件。这将导致dpkg在覆盖文件之前检查文件是否有更改。来自 Debian 政策

对于每个文件,它会检查包中包含的文件版本是否与包的最后版本(正在升级的版本)中包含的版本相同;它还会将系统上当前安装的版本与上一版本附带的版本进行比较。

如果用户和包维护者都没有更改该文件,则该文件将被保留。如果一个或另一个更改了他们的版本,则首选更改后的版本 - 即,如果用户编辑他们的文件,但包维护者没有发布不同的版本,则用户的更改将默默地保留,但如果维护者发布新版本并且用户尚未对其进行编辑,将安装新版本(带有信息性消息)。如果两者都更改了版本,则会提示用户有关问题的信息,并且必须自行解决差异。

如果您真的不想dpkg再次触及该文件,另一种方法是在首次安装时在脚本中创建该文件postinst,并且在升级时不执行任何操作。只需记住还要创建一个相应的postrm脚本,该脚本将在清除时删除该文件。