rpmbuild - / usr / sbin没有安装符号链接

时间:2017-02-16 19:55:25

标签: symlink rpm rpmbuild rpm-spec

我正在为本地的非网络盒子设置Redis RPM。我正在尝试创建一个符号链接:/ usr / sbin / redis-server - >的/ opt / redis的/ redis的服务器

但是,当我执行rpm -Uvh redis-3.2.7-1.rpm时,它安装得很好/opt/redis/redis-server但从不创建符号链接。这是我的spec文件的相关部分:

%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

1 个答案:

答案 0 :(得分:2)

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部分。同时删除rm中的%install

ln 失败的事实告诉我你真的创建了符号链接,并且你正在以root身份构建RPM,这是一个非常糟糕的主意。

我假设tarball在顶层扩展opt;如果不是,cp也不正确。