gpt4 book ai didi

rpm - RPM安装后设置权限

转载 作者:行者123 更新时间:2023-12-03 02:40:04 27 4
gpt4 key购买 nike

我使用此规范文件来使用 RPM 文件

Name:           pack-agent
Version: 1.0
Release: 1%{?dist}
Summary: Linux Agent installation script
Group: Utilities
License: license
Source0: pack-agent-1.0.tar.gz
BuildArch: x86_64
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%description

%prep
%setup -q -n opt

%build

%install
#install -m 0755 -d $RPM_BUILD_ROOT/agent
#cp -ap agent/* $RPM_BUILD_ROOT/agent/

install -m 0755 -d %{buildroot}/opt
#cp -a * %{buildroot}/agent
cp -a * %{buildroot}/opt

%clean
rm -rf $RPM_BUILD_ROOT

%files
/opt
%defattr(-,root,root,-)
%attr(777, root, root) /opt/agent/bin/karaf

%doc
%changelog

但是安装后文件不可执行。我需要启动文件洞察目录树。有没有办法在 RPM 安装后添加 chmod 命令洞察规范文件并使用它来设置权限?

最佳答案

如果您愿意,您可以将 chmod 添加到 %post 部分,但这是解决问题的错误方法。

您应该确保这些文件在安装过程中在 buildroot 中是可执行的,并且它们应该在 RPM 中保持如此(带有 %defattr 条目)并且一旦安装(尽管 %defattr 条目应位于 /opt 行的上方)。

或者,您可以使用 %defattr 宏和 %attr 宏让 RPM 将特定权限应用于 %files 中的特定文件手动部分。

参见Directives For the %files listSpecifying File Attributes了解这些指令的工作原理。

第二个链接的示例:

%files
%attr(-, root, root) %doc README
%attr(4755, root, root) /usr/local/bin/cdp
%attr(-, root, root) /usr/local/bin/cdplay
%attr(-, root, rot) /usr/local/man/man1/cdp.1

关于rpm - RPM安装后设置权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32278158/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com