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 也不正确。