RPM 构建 - 未考虑 %prep(未创建用户)
RPM build - %prep not considered (user not created)
我创建了一个 rpm,在 %prep 的规范文件中我创建了用户和组,因此新安装的文件在该特定用户下执行 运行。然而,看起来 rpmbuild 忽略了我的 %prep 并且在 rpm 安装过程中 im gettin:
Running Transaction
Installing : appdynamics-machineagent-4.0.1.0-1.x86_64 1/1
warning: user appdynamics does not exist - using root
warning: group appdynamics does not exist - using root
warning: user appdynamics does not exist - using root
warning: group appdynamics does not exist - using root
RPM 已安装,但使用 root 用户。我的规范文件(%prep 部分)如下所示:
%define _unpackaged_files_terminate_build 0
%prep
getent group appdynamics >/dev/null || groupadd -r appdynamics || exit 1
getent passwd appdynamics >/dev/null || useradd -r -g appdynamics -d /opt/appdynamics -s /bin/sh -c "appdynamics system user" appdynamics || exit 1
if [ -x /etc/init.d/appdynamics ]
then
/etc/init.d/appdynamics stop || true
fi
if [ -d /opt/appdynamics ]
then
rm -rf /opt/appdynamics || true
fi
exit 0
%setup -q
%build
%install
......
%files
%defattr(-,appdynamics,appdynamics)
%dir /opt/appdynamics
......
有什么建议吗?
万分感谢
%prep
准备 build。它不是 运行 在客户端机器上。您希望在安装时 %pre
或 %post
到 运行。
我创建了一个 rpm,在 %prep 的规范文件中我创建了用户和组,因此新安装的文件在该特定用户下执行 运行。然而,看起来 rpmbuild 忽略了我的 %prep 并且在 rpm 安装过程中 im gettin:
Running Transaction
Installing : appdynamics-machineagent-4.0.1.0-1.x86_64 1/1
warning: user appdynamics does not exist - using root
warning: group appdynamics does not exist - using root
warning: user appdynamics does not exist - using root
warning: group appdynamics does not exist - using root
RPM 已安装,但使用 root 用户。我的规范文件(%prep 部分)如下所示:
%define _unpackaged_files_terminate_build 0
%prep
getent group appdynamics >/dev/null || groupadd -r appdynamics || exit 1
getent passwd appdynamics >/dev/null || useradd -r -g appdynamics -d /opt/appdynamics -s /bin/sh -c "appdynamics system user" appdynamics || exit 1
if [ -x /etc/init.d/appdynamics ]
then
/etc/init.d/appdynamics stop || true
fi
if [ -d /opt/appdynamics ]
then
rm -rf /opt/appdynamics || true
fi
exit 0
%setup -q
%build
%install
......
%files
%defattr(-,appdynamics,appdynamics)
%dir /opt/appdynamics
......
有什么建议吗? 万分感谢
%prep
准备 build。它不是 运行 在客户端机器上。您希望在安装时 %pre
或 %post
到 运行。