rpmbuild - /usr/sbin 符号链接未安装
rpmbuild - /usr/sbin Symlink not installing
我正在为未联网的本地机器设置 Redis RPM。我正在尝试创建一个符号链接:/usr/sbin/redis-server -> /opt/redis/redis-server
但是,当我执行 rpm -Uvh redis-3.2.7-1.rpm
时,它可以很好地安装到 /opt/redis/redis-server
,但从未创建符号链接。这是我的规范文件的相关部分:
%build
# Empty section.
%install
rm -rf %{buildroot}
rm -f /usr/sbin/redis-server
mkdir -p %{buildroot}
# in builddir
cp -a * %{buildroot}
ln -sf /opt/redis/redis-server /usr/sbin/redis-server
%clean
rm -rf %{buildroot}
%files
/opt/redis/*
/etc/init.d/redis
ln -sf /opt/redis/redis-server /usr/sbin/redis-server
需要是 ln -sf /opt/redis/redis-server %{buildroot}/usr/sbin/redis-server
然后 /usr/sbin/redis-server
需要添加到 %files
部分。同时删除 %install
.
中的 rm
ln
而不是 失败的事实告诉我您确实创建了符号链接,并且您正在以 root 身份构建 RPM,这是一个非常糟糕的主意。
我假设 tarball 在顶层用 opt
扩展;如果不是,你的 cp
也不正确。
我正在为未联网的本地机器设置 Redis RPM。我正在尝试创建一个符号链接:/usr/sbin/redis-server -> /opt/redis/redis-server
但是,当我执行 rpm -Uvh redis-3.2.7-1.rpm
时,它可以很好地安装到 /opt/redis/redis-server
,但从未创建符号链接。这是我的规范文件的相关部分:
%build
# Empty section.
%install
rm -rf %{buildroot}
rm -f /usr/sbin/redis-server
mkdir -p %{buildroot}
# in builddir
cp -a * %{buildroot}
ln -sf /opt/redis/redis-server /usr/sbin/redis-server
%clean
rm -rf %{buildroot}
%files
/opt/redis/*
/etc/init.d/redis
ln -sf /opt/redis/redis-server /usr/sbin/redis-server
需要是 ln -sf /opt/redis/redis-server %{buildroot}/usr/sbin/redis-server
然后 /usr/sbin/redis-server
需要添加到 %files
部分。同时删除 %install
.
rm
ln
而不是 失败的事实告诉我您确实创建了符号链接,并且您正在以 root 身份构建 RPM,这是一个非常糟糕的主意。
我假设 tarball 在顶层用 opt
扩展;如果不是,你的 cp
也不正确。