1

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

4

1 回答 1

0

这已经是它的工作原理了。

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

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

如果您之前没有指定版本,则默认值为 1.0 之类的简单版本。只是让它比那个更大。

于 2014-08-07T05:35:16.157 回答