我必须使用 rpm 包安装二进制文件。我创建了以下规范文件来使用 RPM 包安装我的二进制文件。
-bash-4.1# cat nxtqos.spec
Summary: test Management Utility
Name: test
License: GPL
Vendor: test Limited
Version: 212.0.1.0
Release: 1
%description
%install
cp -rf /home/ahmed/nxtqos/nxtqos /usr/local/bin
%files
nxtqos
-bash-4.1#
当我尝试使用以下命令创建 RPM 包时,出现以下错误提示。
-bash-4.1# rpmbuild --buildroot bnxtqos-tmp/ -bi bnxtqos.spec
error: failed to stat /home/ahmed/nxtqos/bnxtqos.spec: No such file or directory
-bash-4.1# rpmbuild --buildroot bnxtqos-tmp/ -bi nxtqos.spec
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.iuhGJm
+ umask 022
+ cd /root/rpmbuild/BUILD
+ '[' /bnxtqos-tmp '!=' / ']'
+ rm -rf /bnxtqos-tmp
++ dirname /bnxtqos-tmp
+ mkdir -p /
+ mkdir /bnxtqos-tmp
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cp -rf /home/ahmed/nxtqos/nxtqos /usr/local/bin
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: test-212.0.1.0-1.x86_64
error: File must begin with "/": nxtqos
RPM build errors:
File must begin with "/": nxtqos
-bash-4.1#
如果我在规范文件中遗漏了某些内容,有人可以告诉我吗?
在
%files
部分,您应该提供安装时可找到文件的完整路径:
%files
/usr/local/bin/nxtqos
我遇到了类似的问题,但就我而言,文件名之前有一个空格,这导致在构建 RPM 时出现问题,因此请确保在您的任何提交中都有任何带有非法文件名。罪魁祸首的文件路径是这样的。
“我的/文件/路径/ message_en_properties”
所以我从文件名中删除了空格,它起作用了。