如何为使用“install -D”创建的目录设置用户/组/模式

如何为使用“install -D”创建的目录设置用户/组/模式

当安装文件时,如果-D选择包含创建父目录,如何指定要用于创建目录的用户、组和模式?这是在 RPM 规范文件的上下文中,例如:

%install
install -m 750 -D %{_sourcedir}some/path/functions.sh %{buildroot}/opt/some/path/functions.sh

%files
%defattr(640, root, somegroup, 750)
/opt/some/path/functions.sh

目录结构some/path在 下创建/opt,并functions.sh正确放置在新目录中,具有正确的权限和所有者。但是,some和目录均以 模式、所有者和 组path创建(注意,我以 身份安装)。755rootrootroot

如何更新命令以确保使用模式、所有者和组install创建父目录?750rootsomegroup

答案1

搞清楚了。需要在%files指令中包含目录,并将它们标记为%dir,例如...

%files
%defattr(640, root, somegroup, 750)
%dir /opt/some/path
/opt/some/path/functions.sh

相关内容