我维护着一个原生的 Debian 包,它安装了一个应用程序和一个初始的 SQLite 数据库。我希望应用程序能够编辑数据库。
如何防止升级替换数据库?
我认为conffiles
这是解决方案,但Debian 的维护者指南说:
如果您的程序使用了配置文件,但又自己重写了它们,那么最好不要将它们设为 conffiles,因为 dpkg 会一直提示用户验证更改。
什么是最好的选择?
我维护着一个原生的 Debian 包,它安装了一个应用程序和一个初始的 SQLite 数据库。我希望应用程序能够编辑数据库。
如何防止升级替换数据库?
我认为conffiles
这是解决方案,但Debian 的维护者指南说:
如果您的程序使用了配置文件,但又自己重写了它们,那么最好不要将它们设为 conffiles,因为 dpkg 会一直提示用户验证更改。
什么是最好的选择?
如果您真的是在谈论运送数据库,而不是用于访问数据库的配置文件,那么答案在某种程度上在问题陈述中:数据库不是配置文件。
最好的选择(在我看来)是在维护者脚本中安装数据库,而不是直接作为包中的已安装文件。这样你的维护者脚本就可以处理可能出现的各种情况,包括
您可以将数据库运送到包裹中的一个临时位置,即 下的某个位置
/usr/share/yourpackage
,并且仅在必要时才将其移动到其实际位置。不要在 中发送它/tmp
,也不要试图“注销”该文件。另请参阅安装 .deb 包时临时文件去了哪里?对于额外的奖励积分,你可以看看
dbconfig-common
。