我们正在使用dpkg-deb为war文件和一些脚本创建一个简单的二进制包。
其中一个问题是,假设我们以名为"goofy"的本地用户身份进行此操作,那么包中的文件将由goofy拥有。
当我们稍后尝试以root身份安装此包时,我们惊讶地发现它放在/opt/ourpackage中的文件仍然由goofy拥有。
现在,大多数人的机器上都不会存在goofy用户,那么处理这个问题的最佳方法是什么?
我们假设有两种选择:
1. 将所有文件的所有者设置为我们可以假定在所有服务器上都存在的用户,即root。 2. 创建一些预安装脚本,首先创建goofy(或适当的)用户。
哪种方法被推荐?
如果答案是第2种,是否有人有任何经过验证的脚本可以添加到包中来执行此操作?
我们本来会选择第1种选项,但由于将创建和构建包的"用户"是jenkins,所以无法轻松创建属于root的文件。
其中一个问题是,假设我们以名为"goofy"的本地用户身份进行此操作,那么包中的文件将由goofy拥有。
当我们稍后尝试以root身份安装此包时,我们惊讶地发现它放在/opt/ourpackage中的文件仍然由goofy拥有。
现在,大多数人的机器上都不会存在goofy用户,那么处理这个问题的最佳方法是什么?
我们假设有两种选择:
1. 将所有文件的所有者设置为我们可以假定在所有服务器上都存在的用户,即root。 2. 创建一些预安装脚本,首先创建goofy(或适当的)用户。
哪种方法被推荐?
如果答案是第2种,是否有人有任何经过验证的脚本可以添加到包中来执行此操作?
我们本来会选择第1种选项,但由于将创建和构建包的"用户"是jenkins,所以无法轻松创建属于root的文件。
dh_fixperms
将会自动运行,并且除非另有指定,它会将所有者更改为root:root
。请参考:http://unix.stackexchange.com/a/254266/70524 - murudh_auto_configure
、dh_auto_build
等步骤。其余的步骤可以按照通常的方式进行。 - muru