我正在制作一个deb软件包以安装自定义应用程序。为了避免在安装过程中出现警告,我将所有文件/文件夹的所有权都更改为root,并且在Ubuntu中所有运行都很顺利,因为Ubuntu将文件/文件夹的所有权更改为安装软件包的用户。
但是当我在Debian上安装时,root仍然是所有者。该应用程序使用文件夹写入数据,这就是问题所在。该应用程序以标准用户身份运行,没有在该文件夹上写入的权限。
现在,我该如何处理这个问题?我应该在deb软件包上制作安装后脚本,执行chmod o+w
吗?我是否应该使用已设置的权限打包目录?
还是有什么方法可以将文件的所有者设置为自动安装应用程序的用户(就像Ubuntu一样)?
我不确定Ubuntu的行为如何,但是通常对于.deb
包含具有非标准权限的文件或目录的软件包,您需要确保在 dh_fixperms
运行后设置这些权限。如果您使用dh
-style rules
,则可以按照以下步骤进行操作:
override_dh_fixperms:
dh_fixperms
chmod 777 yourfolder
您也可以在中执行以下操作postinst
:
if [ "$1" = "configure" ]; then
chmod 777 yourfolder
fi
但是这种rules
方法更简单(至少,我更喜欢这样做,而不是依赖维护者脚本)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句