如何从维护者脚本中优雅地退出deb安装?

时间:2016-07-12 00:18:57

标签: debian deb debconf

我正在构建一个deb使用debconf来询问用户是否真的想要安装它(简单的布尔模板)。退出安装的最佳方法是什么,以便以后用户可以apt-get install pkg-name并获得新的配置菜单?

我目前的解决方案是检查preinst脚本中的值,如下所示:

db_get pkg-name/confirm_install
if [ "$RET" = "false" ]; then
      db_purge
      exit 1
fi

exit 1是保持apt-get继续并认为安装软件包所必需的,而db_purge允许用户使用干净的debconf db重新安装。然而,它引发了一个令人讨厌的错误:

dpkg: error processing pkg-name (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 pkg-name
E: Sub-process /usr/bin/dpkg returned an error code (1)

有没有更好的方法来处理从deb维护者脚本中退出安装?

1 个答案:

答案 0 :(得分:1)

我不相信有。从dpkg的角度来看,用户要求安装软件包,如果最终没有发生,则需要尽可能多地给出解释,说明它没有发生,为什么不发生。

相反,您可能有必要允许程序包完全安装,但不启用程序包提供的任何额外行为,直到用户运行特殊的“重新配置”#34;脚本(或标准dpkg-reconfigure $yourpkg)。

相关问题