如何使用“equivs-build”创建已安装且可“升级”的 Debian 包?

如何使用“equivs-build”创建已安装且可“升级”的 Debian 包?

.deb我已经使用命令创建了一个包equivs-build并提供了必要的control、、preinstpostinst。我注意到version也可以在control文件中提及。现在我想创建一个.deb具有更新源代码的包,并且我想让用户能够在包已安装的情况下升级它(当然是以前的版本),因为我不会更改conf相关文件等。我能想到的一种方法是编写一个脚本,该脚本首先检查已安装的版本,并采取相应的操作(即,如果已安装,则仅更新源代码、数据库迁移等,如果没有,则使用安装包dpkg -i <package-name>)。我想知道是否有一种方法可以dpkg仅使用(类似于dpkg upgrade <package-name>)来根据需要处理安装或升级。

答案1

您正在寻找的命令确实是dpkg -i。这将安装(如果未安装)并升级(如果已安装)。dpkg不会更改用户修改的配置文件。它会询问您如何处理此类情况(保留修改、放弃修改等),并且它将始终保留您放弃的任何内容的备份(软件包提供的新配置文件或旧的用户修改文件 )。软件包安装的任何文件都/etc/被视为dpkg配置文件。

相关内容