2
我想添加一个功能,显示Debian的控制文件中当前安装的debian文件的md5sum:preinst,有没有什么办法可以获得debian文件的完整路径?如何在控制脚本中获取当前安装的debian文件的完整路径?
我想添加一个功能,显示Debian的控制文件中当前安装的debian文件的md5sum:preinst,有没有什么办法可以获得debian文件的完整路径?如何在控制脚本中获取当前安装的debian文件的完整路径?
这将是困难的。
Dpkg不会以任何方式(通过环境变量或其他方式)将当前安装文件的名称导出到维护者脚本,并且在运行维护者脚本时,它甚至不会处理原始文件。 deb文件,因此即使/proc/$pid
检查也不起作用。你可以做的东西,将“有时”通过查找其名称文件APT的缓存目录(配置项Dir::Cache
,通常/var/cache/apt/
)的工作是一样的东西
${DPKG_MAINTSCRIPT_PACKAGE}_packageversion_${DPKG_MAINTSCRIPT_ARCH}.deb
..where你在构建硬编码当前包版本时间,省略任何时代领域,因为dpkg不会为您提供preinst。如果您使用APT进行安装,那么这很有用;如果你使用dpkg -i
或别的东西,你运气不好。
更好的答案可能是,为什么你想这样做?可能有更好的方法来解决你的问题。
我们已将应用程序分发给alpha测试用户,他未能安装我们的应用程序并将失败的截图发送给我们,我们怀疑他们下载了损坏的deb文件。如果我们在preinst脚本中打印debian文件的MD5总和,那对我们来说是一个很大的帮助。 – moligaloo
为什么不直接让这个用户得到他试图直接安装的'.deb'的md5sum? –
更好的解决方案也是通过APT分发签名的debs;这样你和用户就可以确定这个软件包的内容没有改变(并且你也获得了安全方面的好处)。 –