我使用.deb
命令创建了equivs-build
包,并提供了必要的control
,preinst
,postinst
等。我注意到{{1}也可以在控制文件中提到。现在我想创建一个包含更新源代码的version
包,我想让用户升级包(如果已安装)(当然是以前的版本),因为我不会成为更改.deb
相关文件等。我能想到的一种方法是编写一个shell脚本,它将首先检查已安装的版本,并相应地采取措施(即如果已安装,只需更新源代码,数据库) -migrations等,如果没有,请使用conf
)安装软件包。我想知道是否有办法实现仅使用dpkg -i <package-name>
(类似dpkg
),它将根据需要处理安装或升级。
答案 0 :(得分:0)
这已经是它的运作方式。
如果软件包的版本小于0.123, dpkg -i package_0.123.deb
将升级,必要时删除以前的版本(还有强制降级的选项)。 apt-get install package
将安装最新版本的软件包,删除旧版本并在必要时升级到新版本。 apt-get upgrade
会将所有软件包升级到最新版本。
基本上,每次发布新版本时都要注意单调升级版本号。
如果您之前未指定版本,则默认值为1.0。只要把它做得更大。