Debian 配置文件替代方案

Debian 配置文件替代方案

我维护一个本机 Debian 软件包,它安装了一个应用程序和一个初始 SQLite 数据库。我希望应用程序能够编辑数据库。

如何防止升级替换数据库?

我想conffiles将是解决方案,但是Debian 的维护者指南说:

如果您的程序使用配置文件,但也自行重写它们,则最好不要将它们设为配置文件,因为 dpkg 会一直提示用户验证更改。

最好的选择是什么?

答案1

如果您真正谈论的是传送数据库,而不是访问数据库的配置文件,那么答案就在问题陈述中:数据库不是配置文件。

最好的选择(在我看来)是在维护者脚本中安装数据库,而不是直接作为包中的安装文件。这样您的维护者脚本就可以处理可能出现的各种情况,包括

  • 初始安装无数据库;
  • 使用应按原样保留的现有数据库进行升级;
  • 使用需要迁移的现有数据库进行升级。

您可以将数据库发送到包中的临时位置(位于 下的某个位置)/usr/share/yourpackage,并且仅在必要时将其移动到其真实位置。不要将其运送到/tmp,也不要尝试“取消注册”该文件。也可以看看安装 .deb 包时临时文件在哪里?

如需额外奖励积分,您可以查看dbconfig-common

相关内容