我使用.deb命令创建了一个equivs-build包,并提供了必要的control、preinst、postinst等。我注意到在控制文件中也可以提到version。现在我想用更新的源代码创建一个.deb包,如果它已经安装(当然也是以前的版本),我想让用户升级它,因为我不会更改conf相关的文件等等。我可以想到的一种方法是编写一个shell脚本,它将首先检查安装的版本,然后采取相应的措施(如果安装了,只更新源代码、数据库迁移等等,如果没有,就使用dpkg -i <package-name>安装包)。我想知道是否有一种方法可以实现仅使用dpkg (类似于dpkg upgrade <package-name>),它将根据需要处理安装或升级。
发布于 2014-08-07 05:35:16
已经是这样的了。
如果包的版本小于0.123,dpkg -i package_0.123.deb将进行升级,必要时删除以前的版本(也可以选择强制降级)。apt-get install package将安装最新版本的软件包,删除旧版本,并在必要时升级到新版本。apt-get upgrade将把所有软件包升级到最新版本。
基本上,每次发布新版本时,只需注意单调升级版本号即可。
如果您以前没有指定版本,那么默认的版本将是类似于1.0的简单版本。把它做得更大。
https://stackoverflow.com/questions/25174610
复制相似问题