问题描述
我正在为我的一个项目生成 RPM,但是在处理 RPM 时它显示如下错误,
file: Could not find any valid magic files!
file: Could not find any valid magic files!
file: Could not find any valid magic files!
file: Could not find any valid magic files!
file: Could not find any valid magic files!
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: DEV_SAMPLE-1.0-1.el7.x86_64 unkNown,0: Warning: using regular magic file `/bin/share/misc/magic' error: magic_load Failed: Could not find any valid magic files!
RPM build errors:
magic_load Failed: Could not find any valid magic files!
操作系统:CentOS Linux 7.4,我的系统中已经有魔法文件。 我该如何解决这个问题?
解决方法
要执行某些操作,例如在可执行文件上运行 strip
,rpmbuild
使用标准 Linux 命令 file
。听起来您的安装以某种方式损坏了;它使用所谓的“魔术文件”,该文件提示如何根据内容识别不同的文件。你可以用 file $(which file)
试试,它应该会说 x86_64 ELF Executable
之类的。
您可以使用 sudo rpm -V file
明确检查其安装。 (我现在不在 CentOS 机器上,所以无法确认那是包名称 - rpm -q --whatprovides $(which file)
可以告诉你我是否错了。)该命令应该返回 nothing;如果显示任何文件,则它们可能已损坏或丢失。
要重新安装/修复您安装的 file
、sudo yum reinstall file
(或者如果我错了,则不管是什么软件包)。