在软件包升级过程中会发生什么?

我最近开始在Launchpad上为我的软件构建Ubuntu软件包。它们非常简单;大部分只包含一些通过.install、.preinst、.postinst、.prerm和.postrm文件触发的文件和脚本。安装和卸载似乎都正常工作。然而,从一个版本升级到下一个版本就有点棘手。
当一个软件包正在升级时,究竟会发生什么?它是卸载之前的版本然后安装新版本吗?之前软件包中的所有文件都会被删除,并用新软件包中的.install列表中的文件替换吗?所有的.prerm、postrm、preinst、postinst脚本都会执行吗?我如何区分只应该在“新安装”和升级期间发生的事情?
1个回答

Debian Wiki非常有用,可以帮助理解过程(详细说明在这里)。

例如:

  • 简单安装软件包的情况

    enter image description here

    • 升级软件包的情况

enter image description here


真不敢相信你是第一个给我指出这个页面的人。谢谢,这真的很有帮助。 - Jeroen Ooms