我使用.deb命令创建了一个equivs-build包,并提供了必要的control、preinst、postinst等。我注意到在control文件中也可以提到version。现在我想用更新的源代码创建一个.deb包,如果它已经安装(当然也是以前的版本),我想让用户升级它,因为我不会更改conf相关的文件等等。我可以想到的一种方法是编写一个脚本,它将首先检查已安装的版本,然后采取相应的操作(如果安装了,只需更新源代码、数据库迁移等等,如果没有,则使用dpkg -i <package-name>安装软件包)。我想知道是否有一种方法可以实现仅使用dpkg (类似于dpkg upgrade <package-name>),它将根据需要处理安装或升级。
发布于 2014-08-07 08:19:25
您要查找的命令确实是dpkg -i。这将安装,如果没有安装和升级,如果已经安装。dpkg不改变用户修改的配置文件.它会问你如何处理这些案件(保留修改,放弃修改,等等)。而且它将始终保留对您丢弃的任何内容的备份(包提供的新配置文件,或旧的用户修改的文件)。/etc/中的包安装的任何文件都被dpkg视为配置文件。
https://askubuntu.com/questions/507933
复制相似问题