我想在debian的控制文件中添加一个显示当前安装debian文件的md5sum的功能:preinst,有没有办法获得debian文件的完整路径?
问问题
755 次
1 回答
2
这将是困难的。
Dpkg 不会通过环境变量或其他方式以任何方式将当前安装文件的名称导出到维护者脚本,并且在维护者脚本运行时,它甚至不再具有原始 .deb 文件的句柄,所以即使/proc/$pid
检查也行不通。您可以通过在 apt 的缓存目录(配置项Dir::Cache
,通常是/var/cache/apt/
)中查找名称类似于
${DPKG_MAINTSCRIPT_PACKAGE}_packageversion_${DPKG_MAINTSCRIPT_ARCH}.deb
..您在构建时对当前包版本进行硬编码,省略任何纪元字段,因为 dpkg 也不会在 preinst 中为您提供。如果您使用 APT 安装,这将在很多时候起作用;如果你使用dpkg -i
或其他东西,你就不走运了。
一个更好的答案可能是,你为什么要这样做?可能有更好的方法来解决您的问题。
于 2013-03-29T16:55:23.420 回答