如何显示安装.deb软件包的操作?

我希望能够查看与升级包相关的脚本/触发器,以便我可以告诉,例如,是否会导致Web服务器重新启动。 我找不到aptitude选项向我显示(或apt / dpkg); 我能得到的最好的是内容(文件)。 是否有一些模拟/详细/内容开关的组合,我已经错过了将显示这个?

另外,如果一个包导致某些事情发生 – 比如服务重启 – 我现在不想发生,有没有办法在不运行一些或所有脚本的情况下安装包?

您可以使用dpkg -I package.deb打印控制文件和其他信息,或者使用dpkg -e package.deb来只提取控制信息文件。

此外,你可以做一个干运行,看看什么dpkg会做--dry-run

 dpkg --dry-run -i package.deb 

不,我不知道有什么办法使用aptitude来做到这一点。

您可以直接查看脚本; 在升级期间运行的脚本包含在软件包中。 使用ar打开deb:

 ar -x package.deb 

然后看看control.tar.gz ,它包含脚本。

不,你不能运行维护者脚本的一部分,没有钩子来实现这一点。

你只能通过手工检查脚本来查看脚本会做什么 – 再次,没有“空转”可以准确地告诉你它会做什么,不会做什么,只有“我将运行postinst与这些参数”。

这些是我们分级和testing环境的原因。