如何使用“equivs-build”创建debian包,如果已经安装,可以“升级”?

时间:2014-08-07 05:10:23

标签: package debian upgrade dpkg package-management

我使用.deb命令创建了equivs-build包,并提供了必要的controlpreinstpostinst等。我注意到{{1}也可以在控制文件中提到。现在我想创建一个包含更新源代码的version包,我想让用户升级包(如果已安装)(当然是以前的版本),因为我不会成为更改.deb相关文件等。我能想到的一种方法是编写一个shell脚本,它将首先检查已安装的版本,并相应地采取措施(即如果已安装,只需更新源代码,数据库) -migrations等,如果没有,请使用conf)安装软件包。我想知道是否有办法实现仅使用dpkg -i <package-name>(类似dpkg),它将根据需要处理安装或升级。

1 个答案:

答案 0 :(得分:0)

这已经是它的运作方式。

如果软件包的版本小于0.123,

dpkg -i package_0.123.deb将升级,必要时删除以前的版本(还有强制降级的选项)。 apt-get install package将安装最新版本的软件包,删除旧版本并在必要时升级到新版本。 apt-get upgrade会将所有软件包升级到最新版本。

基本上,每次发布新版本时都要注意单调升级版本号。

如果您之前未指定版本,则默认值为1.0。只要把它做得更大。